0
 objective: max sum(solution(i,9))
---------------------------------------------
 while T>Tmin
  for iteration=100
    for i=1:61
       function(generate_possible_solutions)
       random_value = generate random value
       solution(i) = generate_possible_solution(random_value, :)
       feasible = sum(solution(i, 9))
    next

    SA:
        check feasible
        if feasible > previous_feasible
           update best
        else 
           check acceptance function
        end
        if iteration == limit
           update (T)
        end

   end For

end While

コードは以上です。

仕事のスケジュールに問題があります。私のヒューリスティック アルゴリズムは、possible_solution マトリックスを使用して、各ジョブをラインに割り当てます。たとえば、6 番目のジョブには 140 の異なるオプションがあり、7 番目のジョブには possible_solution マトリックスに 30 の異なるオプションがあります。

シミュレーテッド アニーリングでは、反復ごとに、ソリューション ラインの 1 つを possible_solution マトリックスにランダムに使用します。ただし、GAMS/Cplex ソルバーと比較すると、解はせいぜい 50% に達します。

シミュレーテッド アニーリングを使用するために、ソリューション マトリックスからのランダムな選択を使用できますか? そして私が逃したものは何ですか?

4

1 に答える 1