数学建模社区-数学中国
标题:
Xpress-IVE 建模问题
[打印本页]
作者:
cy411522
时间:
2012-7-5 16:06
标题:
Xpress-IVE 建模问题
哪位高人能帮小弟解决这个问题,小弟不甚感激!!!
( A7 e# Q6 J4 `
model "Burglar 1"
+ m/ |3 j- w$ W. }5 R
uses "mmxprs"
" z" Z! K# t/ h2 A; Y2 k4 \8 f( E/ S! u
declarations
) e0 h' s9 ~ W. j9 S
ITEMS = 1..8 ! 物品标号范围
' r2 ?4 i6 j5 K6 q3 c6 _
WTMAX = 102 ! 允许携带的重量最大值
% M/ H* U. d$ w+ K! J
VALUE: array(ITEMS) of real ! 物品价值
# C! H: R. {1 h; l5 Z1 h
WEIGHT: array(ITEMS) of real ! 物品重量
( u1 R% l+ _' N! z: Y' M( s) |; h
take: array(ITEMS) of mpvar ! 1 表示带走物品i,0 表示不带走物品i
1 I2 y6 n( u4 o& w6 Z
end-declarations
9 C1 y, K w5 r0 Z
! 物品: 1 2 3 4 5 6 7 8
& J% ~$ x+ N2 V! ^$ w$ b
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
3 |9 F8 B* ^0 m5 X. _+ E. B
WEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
3 a# d) B0 R3 ]% C, {
! 目标: 使带走的总价值最大
/ M g) p" F, P5 t# L3 N
MaxVal:= sum(i in ITEMS) VALUE(i)*take(i)
+ U- s M3 _2 u5 @% l+ o* I K0 o5 X1 [
! 重量限制
) k0 I) m1 h2 x! ~2 C3 D- L
sum(i in ITEMS) WEIGHT(i)*take(i) <= WTMAX
{; Y& i1 i1 Y: C9 w8 {& |" \
! 所有变量取值都为0 或1
8 C+ L- c# H: ? r
forall(i in ITEMS) take(i) is_binary
1 ~ K& x @% y( M$ h& [- b; C6 Z
maximize(MaxVal) ! 求解混合整数问题
" ?2 \6 ^ Q. B: E" S
! 打印输出结果
$ s* N" _2 J: u" u2 G6 Y
writeln("Solution:\n Objective: ", getobjval)
; }) e; R6 {+ N: x
forall(i in ITEMS) writeln(" take(", i, "): ", getsol(take(i)))
2 }8 B8 b* f6 `* e/ t% B6 w9 K
end-model
1 F7 C& I1 k" n! ~; X3 o
这段程序运行不了
! S% U9 _3 N- F6 } g2 F/ X/ d
作者:
yunyun842
时间:
2012-7-18 18:09
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
0 E- N# u/ |6 I( Y6 G& j
WEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
( s/ V* f; ~2 n* J6 s
换成
% _) N9 E* `: a v) Z+ {/ s4 a3 {
VALUE :: [ 15, 100, 90, 60, 40, 15, 10, 1]
% ^, e$ ^4 t; d" f
WEIGHT :: [ 2, 20, 20, 30, 40, 30, 60, 10]
7 v7 U- q% R- a
试试!
作者:
空木葬花
时间:
2014-2-25 08:45
非常感谢楼主的福利!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5