数学建模社区-数学中国
标题:
Xpress-IVE 建模问题
[打印本页]
作者:
cy411522
时间:
2012-7-5 16:06
标题:
Xpress-IVE 建模问题
哪位高人能帮小弟解决这个问题,小弟不甚感激!!!
: H% M. Q$ A- z: v, p
model "Burglar 1"
+ v5 @" x# [/ n4 l4 k3 ~
uses "mmxprs"
G1 d6 ^1 n/ l9 j
declarations
6 Q8 f. J5 B( v4 Y2 `& y9 x
ITEMS = 1..8 ! 物品标号范围
# o* y3 e) g4 q) h% R
WTMAX = 102 ! 允许携带的重量最大值
' Z# F- F, l- x) L
VALUE: array(ITEMS) of real ! 物品价值
# n8 ]5 u2 e: W) `1 Y
WEIGHT: array(ITEMS) of real ! 物品重量
# j; d: u8 ]0 `* w- J
take: array(ITEMS) of mpvar ! 1 表示带走物品i,0 表示不带走物品i
$ i# ?0 Z& _/ U+ V' W
end-declarations
2 @5 |9 R* O2 d b3 U1 k: W. B3 [
! 物品: 1 2 3 4 5 6 7 8
0 F# x+ y f0 ?; ?) z
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
* `! W9 E; C; j+ v5 f7 Q
WEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
0 i5 t+ ?- Y4 x ^) o- L4 O
! 目标: 使带走的总价值最大
* O. A4 M8 Q8 C" ~; X, k
MaxVal:= sum(i in ITEMS) VALUE(i)*take(i)
: i: Z) L" R. J7 B: F* C" ]
! 重量限制
! W2 z7 |) ^1 J: o( a
sum(i in ITEMS) WEIGHT(i)*take(i) <= WTMAX
5 y. H) q( s) b
! 所有变量取值都为0 或1
+ v8 y2 z8 x& E: Z% X G; f9 t% o
forall(i in ITEMS) take(i) is_binary
& ?8 U6 k, E, i8 Y j
maximize(MaxVal) ! 求解混合整数问题
* b V2 R( o9 [6 V! [9 U* |/ }
! 打印输出结果
( K6 K/ p1 ~. C. {# Y+ y& c2 \- h
writeln("Solution:\n Objective: ", getobjval)
% V3 z( U9 j5 H: ?
forall(i in ITEMS) writeln(" take(", i, "): ", getsol(take(i)))
4 j8 [0 ^- U4 t5 f* |5 Z0 j
end-model
- ~% e5 Y" d& }% n# D' n6 \
这段程序运行不了
* ?7 o. s# R m/ J5 q
作者:
yunyun842
时间:
2012-7-18 18:09
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
+ z/ J0 L; G2 s+ u+ ?. {2 h, I7 I
WEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
7 d0 {) Y% N2 B' s& w- z4 e- `* h
换成
7 X7 A) n# m6 z" A. o, q& [, Q
VALUE :: [ 15, 100, 90, 60, 40, 15, 10, 1]
1 n, d, ]" h/ s+ n d) p, G. {8 l7 [
WEIGHT :: [ 2, 20, 20, 30, 40, 30, 60, 10]
@2 }- |7 h! x4 ~ X
试试!
作者:
空木葬花
时间:
2014-2-25 08:45
非常感谢楼主的福利!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5