どうしても看護品質・ケア品質は落としたくない場合は、スタッフの予定を変更せざるえません。そんなとき、スタッフと調整するときに別解を持っておけば、調整し易いでしょう。
上の例では、4つの予定変更が余儀なくされていて、その別解を求めています。
赤枠部がそれになりますが、微妙に、しかし確実に異なる組み合わせの解のみが掲示されています。この例では、設定を100解にして、62解まで求まりました。実用的には、GUIの速度的に、数解まででしょう。
同じ、パラメータで、Algorithm0(旧SC2)でやってみると、21個のエラーに対する別解を求めていました。
同じ、パラメータで、Algorihtm4でやってみると、厳密解が3であることが5秒足らずで判明しました。
コンパイルの準備中ソルバを呼び出し中です。 Algorithm 4 Solving Process Started. Compling nurse 1 Combination Space on Nurse 1 =5.32257e+11 Compling nurse 2 Combination Space on Nurse 2 =4.19788e+11 Compling nurse 3 Combination Space on Nurse 3 =4.7214e+11 Compling nurse 4 Combination Space on Nurse 4 =1.26248e+11 Compling nurse 5 Combination Space on Nurse 5 =6.41217e+11 Compling nurse 7 Combination Space on Nurse 7 =1.20307e+11 Compling nurse 9 Combination Space on Nurse 9 =5.13837e+11 Compling nurse 11 Combination Space on Nurse 11 =4.30146e+11 Compling nurse 14 Combination Space on Nurse 14 =4.6134e+11 Compling nurse 15 Combination Space on Nurse 15 =5.11604e+11 Compling nurse 16 Combination Space on Nurse 16 =5.12742e+11 Compling nurse 17 Combination Space on Nurse 17 =6.49804e+11 Compling nurse 0 Combination Space on Nurse 0 =3.39036e+11 Compling nurse 6 Combination Space on Nurse 6 =2.57e+11 Compling nurse 8 Combination Space on Nurse 8 =4.14028e+11 Compling nurse 10 Combination Space on Nurse 10 =3.80578e+11 Compling nurse 12 Combination Space on Nurse 12 =4.14248e+11 Compling nurse 13 Combination Space on Nurse 13 =7.09886e+11 充足解を書き込みました。C:\Users\sugaw\Documents\Visual Studio 2017\Projects\schedule_nurse_ver3\WindowsFormsApplication1\test\sim_engine32\solution1.txt 3.697(CPU秒) *********UB=249000(0) 3.697(cpu秒) 充足解を書き込みました。C:\Users\sugaw\Documents\Visual Studio 2017\Projects\schedule_nurse_ver3\WindowsFormsApplication1\test\sim_engine32\solution1.txt 3.785(CPU秒) *********UB=130138(0) 3.785(cpu秒) ov=130138 ext=18 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=63943.3 ext=36 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=39247 ext=54 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=23382.6 ext=72 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=11637 ext=90 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=7072.13 ext=108 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=5912.01 ext=126 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=2403.56 ext=144 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=306.022 ext=162 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=281.892 ext=180 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=270.299 ext=198 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=235.73 ext=216 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=200.077 ext=234 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=166.915 ext=252 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=145.496 ext=270 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=116.713 ext=288 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=97.3505 ext=306 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=84.9907 ext=324 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=75.5003 ext=342 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=67.7986 ext=360 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=58.5907 ext=378 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=53.0225 ext=396 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=48.538 ext=414 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=37.0741 ext=432 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=28.4404 ext=450 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=20.165 ext=468 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=16.3962 ext=486 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=13.6106 ext=504 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=10.8996 ext=522 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=9.56909 ext=540 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=7.82315 ext=558 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=6.40981 ext=576 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=5.66453 ext=594 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=5.08227 ext=612 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=4.2991 ext=630 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=3.78261 ext=648 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=3.49199 ext=666 del=0 depth=0 LB=1.79769e+308 UB=130138 ov=3.3186 ext=684 del=0 depth=0 LB=1.79769e+308 UB=130138 充足解を書き込みました。C:\Users\sugaw\Documents\Visual Studio 2017\Projects\schedule_nurse_ver3\WindowsFormsApplication1\test\sim_engine32\solution1.txt 5.358(CPU秒) *********UB=3(0) 5.358(cpu秒) ov=3 ext=702 del=0 depth=0 LB=1.79769e+308 UB=3 *********LB=3(0) 5.381(cpu秒) Algorithm 1 Solving Process Started. c output terms=0 weight=1000 c output terms=0 weight=10 o 3 0.104(sec) c Bloop 1 c output terms=3 weight=1 Status Optimum. 充足解を書き込みました。C:\Users\sugaw\Documents\Visual Studio 2017\Projects\schedule_nurse_ver3\WindowsFormsApplication1\test\sim_engine32\solution1.txt 5.586(CPU秒) branch_node_map.size()=0 Algorithm 1 Solving Process Started. c output terms=0 weight=1000 c output terms=0 weight=10 o 3 0.112(sec) c Bloop 1 c output terms=3 weight=1 Status Optimum. 充足解を書き込みました。C:\Users\sugaw\Documents\Visual Studio 2017\Projects\schedule_nurse_ver3\WindowsFormsApplication1\test\sim_engine32\solution1.txt 5.727(CPU秒) _____________________________________ | | | | | Weight | Errors | Cost | |___________|___________|_____________| | | | | | 1000 | 0 | 0 | | 10 | 0 | 0 | | 1 | 3 | 3 | |___________|___________|_____________| | | | | Total | 3 | |_______________________|_____________| *********Final UB=3 充足解を書き込みました。C:\Users\sugaw\Documents\Visual Studio 2017\Projects\schedule_nurse_ver3\WindowsFormsApplication1\test\sim_engine32\solution1.txt 5.730(CPU秒) 解探索が終了しました。 5 (秒) 解が得られました。
(これより、Algorithm1の解は近似解であることが分かります。)
歩みは遅いですが、確実に性能向上しています。
0 件のコメント:
コメントを投稿