数学建模社区-数学中国
标题:
Xpress-IVE 建模问题
[打印本页]
作者:
cy411522
时间:
2012-7-5 16:06
标题:
Xpress-IVE 建模问题
哪位高人能帮小弟解决这个问题,小弟不甚感激!!!
3 z) m! L7 L, P0 U2 V% O5 [
model "Burglar 1"
" a/ b& F0 }8 c; `* U
uses "mmxprs"
6 l# _6 l) B. m! a D* l
declarations
0 Z, k( m1 A! j# n2 O* P) X) j/ J
ITEMS = 1..8 ! 物品标号范围
6 y9 _4 R5 F) v" V
WTMAX = 102 ! 允许携带的重量最大值
% e: y1 e9 ]8 Z) |, K0 Z" x& k7 a* I
VALUE: array(ITEMS) of real ! 物品价值
" T! Y- d5 w2 ~5 D
WEIGHT: array(ITEMS) of real ! 物品重量
' ]. S8 u: `- Z
take: array(ITEMS) of mpvar ! 1 表示带走物品i,0 表示不带走物品i
/ f' K$ X4 L) ~% Y X+ \3 b% P/ {
end-declarations
5 B2 V% d% t! e* l6 [
! 物品: 1 2 3 4 5 6 7 8
9 u3 Y/ J# P9 f
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
. X+ U) B# }- a* H
WEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
$ |7 w1 K# B m% P7 s4 h
! 目标: 使带走的总价值最大
; I$ S5 p! w& x1 @4 }% Y
MaxVal:= sum(i in ITEMS) VALUE(i)*take(i)
$ g( x' _6 G, t8 L9 Z6 V F
! 重量限制
6 J* N" L* d7 X6 l4 E$ U3 c3 P4 b
sum(i in ITEMS) WEIGHT(i)*take(i) <= WTMAX
. l+ z y" O0 b2 [! R
! 所有变量取值都为0 或1
( J! A2 }1 Z6 o$ t7 D2 [
forall(i in ITEMS) take(i) is_binary
/ K$ g8 K/ a" `. b
maximize(MaxVal) ! 求解混合整数问题
1 r2 }0 Q F7 I( d" P3 B
! 打印输出结果
1 {8 t& S4 z0 S9 g4 Z( S6 K' v6 ?5 h+ O
writeln("Solution:\n Objective: ", getobjval)
. G, b' |- d% o
forall(i in ITEMS) writeln(" take(", i, "): ", getsol(take(i)))
: i0 I( `5 r$ C; k9 F" J: b
end-model
$ H1 M9 J% i; T& S7 f. J- Z! f
这段程序运行不了
) O7 S- f9 G' J' }; |3 b* u! o, w7 r
作者:
yunyun842
时间:
2012-7-18 18:09
VALUE := [ 15, 100, 90, 60, 40, 15, 10, 1]
6 x9 \' S) u1 [9 B
WEIGHT := [ 2, 20, 20, 30, 40, 30, 60, 10]
, i/ A# o1 @8 i" V' M
换成
4 S0 u0 X& z: c7 x
VALUE :: [ 15, 100, 90, 60, 40, 15, 10, 1]
. R7 M1 w( C/ q F& [
WEIGHT :: [ 2, 20, 20, 30, 40, 30, 60, 10]
8 l% D4 R- `' V8 m @3 [, b7 R
试试!
作者:
空木葬花
时间:
2014-2-25 08:45
非常感谢楼主的福利!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5