9 W- U1 I! ^6 e- L fii)对第 j 类物品的报价低于 的投标人将不能获得第 j 类物品; 2 F* R0 Y9 s4 D! | \; E* H0 |) E) o& }3 N
iii)如果成交的第 j 类物品的数量少于 ( j=1,2,...,n ),可以认为 (除非拍卖方另外指定一个低的保护价);+ J# q; r7 K9 a, l( K
9 O( I3 _% G2 N5 ]7 K# _: {3 x
iv)对第 j 类物品的报价高于 的投标人有权获得第 j 类物品,但如果他有权获得的物品超过3件,那么我们假设他总是希望使自己的满意度大(满意度可以用他的 报价与市场清算价之差来衡量)。3 x1 F e+ O: v. _7 U+ a# `
( B' W( ]1 [& G7 c! H- U: r/ m(3)优化模型3 W/ V0 q: G3 e. Z2 z3 o9 G
+ [( s" C5 a% E$ W) e8 b
用 0−1 变量 表示是否分配一件第 j 类物品给投标者i,即 表示分配,而 表示不分配。目标函数仍然是虚拟的中间商的总利润(认为这些利润全部是拍卖行的利润也可以),即 & a5 [4 z- L) V7 C G o7 Y6 c' l: l% ` (1) 5 S* \& k5 Y4 \: b# e2 Y& z ' l3 n# R" J9 V' Y+ W 除变量取值为0或1的约束外,问题的约束条件主要是两类:每类物品的数量限制 和每个投标人所能分到的物品的数量限制,即 # d# X* M! o3 N+ B( k (2) % r2 j3 v* A2 u' w* Q1 C ) t4 Y& L, A/ a1 K+ |* l8 A' j (3) & V1 {$ s0 b- q! H- x , S& [& k" {" Z+ a" L模型就是在约束(2)、(3)下最大化目标函数(1)。 ' o: k$ e2 c# A 0 c. S- b5 N/ K4 h/ j(4)模型求解 8 E$ f! M# Y+ [$ G$ q3 _) {+ E- Z. c$ t
编写的LINGO程序如下: ) g1 I* x' t. N" O 9 @% X! N& q; j# U' G! DMODEL: / A" I; t3 o% [2 g: Y3 }
TITLE 拍卖与投标; * N- M8 M! o* C% ^: P
SETS: 9 I4 x+ ]! i$ Q7 E9 R* D1 c# e, m v
AUCTION/1..5/: S; * S% k& Z3 J8 t
BIDDER/1..4/ : C; 1 d" c: T1 i2 k5 V8 Y$ {. A& K, d
LINK(BIDDER,AUCTION): B, X; 0 G- r: g, H% ]
ENDSETS 5 x: O+ I& T: b) @6 XDATA: 6 {! ?6 g2 B% X3 p$ N) X
S=1 2 3 3 4; 1 s. C! S1 J% s! q7 b1 ` C=3 3 3 3; . }9 V3 ]8 t: {! M6 a B= 9 2 8 6 3 + U3 n3 r0 q! K& b3 w 6 7 9 1 5 # F9 ~# u6 t+ ~6 E7 i
7 8 6 3 4 + Z/ @9 r) d5 Q( Y 5 4 3 2 1 ; ' Q8 K% Q: q2 gENDDATA 0 L9 t: g7 d* n' e4 iMAX=@SUM(LINK: B*X); " E% j a1 P# c: ~: x! W4 C5 q
@FOR(AUCTION(J): & D- [& N- A R( a* Y3 [ K
[AUC_LIM] @SUM(BIDDER(I): X(I,J)) < S(J) ); + c; m: }4 \& j8 o* d! I
@FOR(BIDDER(I): 6 @# T, I2 K6 k- q. R8 m
[BID_LIM] @SUM(AUCTION(J): X(I,J)) < C(I) ); 6 L5 b8 @4 f- C: ]5 K/ s: p; |) V% n
@FOR(LINK: @BND(0,X,1)); ! s: K- N9 B! U9 b- q
END 9 E% p+ b3 Y7 V" C* S! |: `. v; c; t(5)求解结果解释 - u* _" Z0 Q; w/ y1 y' @# a+ s: x0 w3 R) @+ M% H @9 P5 ~& v
可以看到,优解为: / [ @# m8 |2 a5 ? {$ k8 C. b ]8 F! k/ T$ N: r" P% i# ]4 i3 Q7 k
投标人1得到艺术品1,3,4, 3 E p5 n/ `* A" K. b2 I. ] H# N
投标人2,3都得到艺术品2, 3,5, 5 J3 J( U0 a0 p- a% B" X1 I H' n# h4 R) V* X
投标人4得到艺术品4,5。 ( r0 W: A+ g4 {* w( ~6 C$ H " `+ s6 N5 L# P6 b结果,第4,5类艺术品各剩下1件没有成交。 那么如何才能确定清算价格呢?与例1和例2类似,约束“AUC_LIM”是针对每类 艺术品的数量限制的,对应的影子价格就是其清算价格:即5类艺术品的清算价格分别 是5,5,3,0,0。第4,5类艺术品有剩余,所以清算价格为0,这是符合前面的假设 的。 8 e: M [1 E; g0 c, x! w" z
1 P6 E. I* A/ x w可以指出的是:即使上面模型中不要求 为 0−1 变量(即只要求取0~1之间的实数),由于这个问题的特殊性,优解中 也会要么取0,要么取1,不可能取0~1之间的其它数,所以可以将LINGO模型中“@BIN(X)”改为“@BND(0,X,1)”,这个线 性规划的结果将与 0−1 整数线性规划得到的结果相同。# x% k D% ^; {) B$ A) w
0 K2 H, S- u- `最后,大学生的选课问题与此是类似的,即把课程看成招标(拍卖)项目,而把学生愿意付出的选课费看成投标。据说国外有些大学的选课系统就是使用这个模型确定每 门课程的清算价格(选课费用)的,而且取得了成功。 8 z7 |+ e2 b& o6 s
———————————————— ) e, A& J* P/ q. [2 |1 ^版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。" z/ j! ^, |# k$ A
原文链接:https://blog.csdn.net/qq_29831163/java/article/details/894035593 }" e# G$ f ] ^* J {( T) v
- Z) O C4 p" r: `/ ~+ h