私は、重心のバランスをとるために、円筒形のドラムのどこに重りを追加するかをユーザーに伝える線形プログラムを作成する任務を負っています。重量は 2 ポンドと 5 ポンドで、最大 10 ポンドを 1 つの場所に追加できます。2 ポンドのウェイトは高さ 2 インチ、5 ポンドのウェイトは高さ 6 インチです。これを行う最善の方法は、極座標を使用して、完全な円柱の 1% 以内であるため、今のところ完全な円柱を想定することだと思います。また、X 軸と Y 軸だけを変更して、Z 軸は今のところ 0 のままにしておくべきだと思います。私を正しい方向に導くためのヒントをいただければ幸いです。
!Drum weight problem;
!sets;
Sets:
Weight: Pounds, Height;
Location: X, Y, Angle;
Set(Weight, Location): PX, PY, PAngle;
Endsets
!data;
Data:
Weight = W1 W2 W3 W4;
Location = L1 L2 L3 L4;
!attribute values;
Pounds = 2 4 5 10;
Height = 2 4 6 12;
X = 0 1 2 3;
Y = 0 1 2 3;
Angle = 0 90 180 270;
Enddata
!objective;
Min = @MIN(Set(I, J): Weight (I, J), Location (K, L, M);
!constraints;
@FOR( Weight(I): [Weight_row]
Pounds >= 2;
Height >= 2;
@FOR( Location(J): [Location_row]
X >=0;
Y >=0;
Angle >=0;
End