我的任务是编写一个线性程序,该程序将告诉用户在哪里向圆柱形滚筒添加重量以平衡重心。重量为 2 磅和 5 磅,一个位置最多可添加 10 磅。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