我的任务是编写一个线性程序,告诉用户在圆柱形鼓上增加重量的位置,以平衡重心。重量为2磅和5磅,最多10磅可以添加到一个位置。 2磅重量为2英寸高,5磅重量为6英寸高。我认为最好的方法是使用极坐标并假设一个完美的cyinder,因为它将在完美的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