数学建模社区-数学中国

标题: Xpress-IVE 建模问题 [打印本页]

作者: cy411522    时间: 2012-7-5 16:06
标题: Xpress-IVE 建模问题
哪位高人能帮小弟解决这个问题,小弟不甚感激!!!
: H% M. Q$ A- z: v, pmodel "Burglar 1"
+ v5 @" x# [/ n4 l4 k3 ~uses "mmxprs"
  G1 d6 ^1 n/ l9 jdeclarations6 Q8 f. J5 B( v4 Y2 `& y9 x
ITEMS = 1..8 ! 物品标号范围
# o* y3 e) g4 q) h% RWTMAX = 102 ! 允许携带的重量最大值
' Z# F- F, l- x) LVALUE: array(ITEMS) of real ! 物品价值
# n8 ]5 u2 e: W) `1 YWEIGHT: array(ITEMS) of real ! 物品重量# j; d: u8 ]0 `* w- J
take: array(ITEMS) of mpvar ! 1 表示带走物品i,0 表示不带走物品i
$ i# ?0 Z& _/ U+ V' Wend-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 ?; ?) zVALUE := [ 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  jmaximize(MaxVal) ! 求解混合整数问题* b  V2 R( o9 [6 V! [9 U* |/ }
! 打印输出结果
( K6 K/ p1 ~. C. {# Y+ y& c2 \- hwriteln("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 jend-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 IWEIGHT := [ 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