필터 지우기
필터 지우기

How to find a better neighbor in simulated annealing?

조회 수: 4 (최근 30일)
snr matlb
snr matlb 2020년 6월 19일
편집: snr matlb 2020년 6월 19일
I am using SA to minimize delay of each job. However, I use random solution in each iteration, so it may lead some move to different part of the solution space.
In each iteration, I generate random solution by controlling for-loop step. step is changing in each iteration and for each job i. So, I get a new solution as random generated one.
step = randi([lowerbound, upperbound],1);
for i = 20 : -step : 0
delay_save = i;
end
I tried to generate neighbor solution for 1 job in each iteration. I made it as changing delay_saving between lower and upper bound for random selected job, and I leave the algorithm free to goes down or up. But, the algorithm, due to constraints, choose the going down, mostly. Then the solution goes worse, so I left generating neighbor. Manipulating is a choice but the algorithm is approaching to the more greedy one, that is not an wished approach.
However, if go with random solution in each iteration, it lost their SA meaning.
Is there any idea for both I will generate random solution in each iteration and the algorithm does not make giant jump from best feasible solution (bfs) to different part of the solution space? or Is there any idea to generate better neighbor? What are the neighbor techniques?

답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulated Annealing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by