ダイナミックプランニング-組立ラインスケジューリング
1521 ワード
問題の説明:
工場の組立ラインを通過する最も速い方法の製造問題を見つけます.2本の組立ラインがあり、各組立ラインにはn個の組立ステーションがあり、番号はj=0、1、...、n–1である.組立ラインi(i=0または1)は、組立ステーションS[i][j]に必要な組立時間をa[i][j]と記す.1つの自動車のシャーシが工場に入り、その後、組立ラインiに入る進入時間はe[i]であり、1つのラインのj番目の組立ステーションを通過した後、このシャーシはいずれかのラインのj+1番目の組立ステーションに来た.同じ組立ラインに残ると、移動のオーバーヘッドはありません.組立ステーションS[i][j]の後、別のラインに移動した場合、時間t[i][j]がかかる.1ライン目のn番目の組立ステーションを離れた後、完成した自動車が組立ラインiから離れる時間はx[i]である.
状態遷移方程式:
コード実装:
工場の組立ラインを通過する最も速い方法の製造問題を見つけます.2本の組立ラインがあり、各組立ラインにはn個の組立ステーションがあり、番号はj=0、1、...、n–1である.組立ラインi(i=0または1)は、組立ステーションS[i][j]に必要な組立時間をa[i][j]と記す.1つの自動車のシャーシが工場に入り、その後、組立ラインiに入る進入時間はe[i]であり、1つのラインのj番目の組立ステーションを通過した後、このシャーシはいずれかのラインのj+1番目の組立ステーションに来た.同じ組立ラインに残ると、移動のオーバーヘッドはありません.組立ステーションS[i][j]の後、別のラインに移動した場合、時間t[i][j]がかかる.1ライン目のn番目の組立ステーションを離れた後、完成した自動車が組立ラインiから離れる時間はx[i]である.
状態遷移方程式:
コード実装:
// , #include using namespace std; //e1,e2 x1,x2 ,a1[i] i ,t1,t2 //f1[i] i ,L1[i] i , //length void FastWay(int e1,int e2,int *a1,int *a2,int x1,int x2,int *f1,int *f2,int *L1,int *L2,int &L,int *t1,int *t2,int length) { f1[1]=e1+a1[1]; f2[1]=e2+a2[1]; int i; for(i=2;i=2;j--) { if(i==1) { i=L1[j]; } else { i=L2[j]; } cout<
:
: -- c++ -http://blog.csdn.net/liuzhanchen1987/article/details/7831a723