- 在线时间
- 2 小时
- 最后登录
- 2012-7-10
- 注册时间
- 2012-7-5
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 14 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 6
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 3
- 主题
- 3
- 精华
- 0
- 分享
- 0
- 好友
- 2
升级   1.05% 该用户从未签到
 群组: 数学建摸协会 |
哪位高人能帮小弟解决这个问题,小弟不甚感激!!! ) X$ n0 H% W# m# W
model "Burglar 1"/ i, c& E; @6 U" G Z
uses "mmxprs"
: V O+ g7 i( U, y* [. G z7 }declarations3 D; }, \- \/ Q# b* a. w
ITEMS = 1..8 ! 物品标号范围, d9 Q! u) \+ M" X: x
WTMAX = 102 ! 允许携带的重量最大值
/ I" k* G% I" R3 \" P. PVALUE: array(ITEMS) of real ! 物品价值. l. g% f# r# H( j. N) ~
WEIGHT: array(ITEMS) of real ! 物品重量% [' ], {' x! W$ M+ \2 f% J
take: array(ITEMS) of mpvar ! 1 表示带走物品i,0 表示不带走物品i5 P1 a7 U& W6 V) ?
end-declarations
, d4 U* C; A: b" s) d! 物品: 1 2 3 4 5 6 7 85 R$ \9 }: d% G+ n7 \0 L9 X9 t
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
& d6 R7 \8 O4 S) P% ZWEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
& D; k* i; h0 g# d; |/ H( B( M! 目标: 使带走的总价值最大
- G8 z1 z `! s( ZMaxVal:= sum(i in ITEMS) VALUE(i)*take(i)
) ^0 d, U$ k7 x! 重量限制& w" l& O: [( M' ~
sum(i in ITEMS) WEIGHT(i)*take(i) <= WTMAX
U3 S n2 O# |8 W" Y! 所有变量取值都为0 或1
7 r# n+ Z1 I. b' z$ o7 M3 pforall(i in ITEMS) take(i) is_binary
8 b, j% E$ y5 y9 o8 K% z& smaximize(MaxVal) ! 求解混合整数问题
, X$ O! @& I1 l) l, o: M! 打印输出结果
( `2 U/ Z" j* O& q# {$ ?" rwriteln("Solution:\n Objective: ", getobjval)
* H. Y4 c }6 M. J7 G% m3 d& ?5 N' Jforall(i in ITEMS) writeln(" take(", i, "): ", getsol(take(i)))
( x- v5 z2 ?# E3 U2 y6 S0 Dend-model
G! [' ~( H' t这段程序运行不了8 ]* P0 h3 p" R8 T1 C% E/ S7 Z) l
|
zan
|