数模-会议筹备优化模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模作业小组人员:
会议筹备优化模型
一、摘要
本问题属于优化问题,要求我们从组委会的角度出发制定出预订客房,租借会议室,租用客车的最佳方案。
我们以宾馆数量少,宾馆相对集中为目标,在满足与会代表具体要求的前提下,逐步得到了该问题的相关结果。
具体结果如下:
首先我们对附件数据做了必要的分析,采用线性回归和假设数据服从正态分布的两种方法分别计算出了与会人数,但由于往年资料有限,我们排除了线性回归的方法,在用卡方检验出第二种方法更合理,预测出实际与会人数为656人。
然后按回执中各类房间所占的不同比重来确定最终订房类别及数量,具体结果如下:双人间1、双人间2、双人间3、单人间1、单人间2、单人间3预定的数目分别为:99间、69间、22间、142间、88间、54间。
具体在各个宾馆的预定方案可以参见正文部分的表7.
其次从满足代表住房要求的原则出发,尽量选择数量最少的宾馆以保证人员相对集中,建立整数规划模型,确定目标、约束条件,选取最优解。
最终选定了1、2、3、7四家宾馆,同时求出了代表满意度。
关于会场租赁及租车问题,由于需要6个会场,且每个会场与会人数不确定,我们只考虑了一种平均意义下的结果。
利用整数规划模型借助LINGO软件求出最优解,最终选择①号宾馆中150人的会议室两间;②号宾馆中180人、130人的会议室各一间;⑦号宾馆中140人的会议室两间。
根据代表入住每个宾馆的人数情况,我们得到需要租45座车2辆,33座车4辆。
优化后两项合计总费用为20000元。
关键词:正态分布卡方检验线性回归整数规划 LINGO 代表满意度
二、问题的重述
会议服务公司承办某专业领域的一届全国性会议,会议筹备组要为与会代表预订宾馆客房,租借会议室,并租用客车接送代表。
由于预计会议规模庞大,而适于接待这次会议的几家宾馆的客房和会议室数量均有限,所以只能让与会代表分散到若干家宾馆住宿。
1.基本信息:
⑪筹备组已筛选出10 家宾馆作为备选,代号是①至⑩,相对位置见附图,并给出了客房及会议室的规格、间数、价格等数据见附表1。
⑫从以往几届会议情况看,有一些发来回执的代表不来开会,同时也有一些与会的代表事先不提交回执,相关数据见附表3。
附表2,3 都可以作为预订宾馆客房的参考。
⑬如果预订客房的数量大于实际用房数量,筹备组需要支付一天的空房费,若出现预订客房数量不足,则将引起代表的不满。
⑭会议期间有一天的上下午各安排 6 个分组会议,筹备组需要在代表下榻
的某几个宾馆租借会议室。
由于事先无法知道哪些代表准备参加哪个分组会,筹备组还要向汽车租赁公司租用客车接送代表。
现有45 座、36 座和33 座三种类型的客车,租金分别是半天800 元、
700 元和600 元。
2.基本要求:为了便于管理,除了尽量满足代表在价位等方面的需求之外,所选择的宾馆数量应该尽可能少,并且距离上比较靠近。
3.提出问题:通过数学建模方法,从经济、方便、代表满意等方面,为会议筹
备组制定一个预订宾馆客房、租借会议室、租用客车的合理方案。
三、问题分析
这是一个优化问题,要解决会议的筹备问题,需要解决宾馆的选择,客房的选择,会议室的租借,客车的租借四个问题。
在解决此会议筹备的模型时,我们分为四个步骤讨论:宾馆的选择,客房的预定,会议室的租借和客车的租借。
步骤1、本届会议与会代表数量的预测。
步骤2、确定在哪些宾馆预订客房及预订各类客房的数量。
步骤3、对问题二的进一步讨论——代表满意度。
步骤4、宾馆会议室的选择以及租车方案的确定。
因这四个步骤彼此之间环环相扣,为解决这四个模型,首先需要解决的是本届会议与会代表数量问题,才能解决客房,会议室以及客车的租用问题。
对于本届会议与会代表数量的问题,我们建立了模型一,二,并且确定了模型二更加合理。
对于确定在哪些宾馆预订客房及预订各类客房的数量问题,我们分为三个小部分讨论。
人数与房间数确定后该考虑的就是宾馆的确定了。
其中,所选宾馆应尽量相对集中,因为客房房费由与会代表自付,所以关于这方面的经济花费问题我们可以忽略不考虑。
为了兼顾方便的原则,会议室的选定一定是在我们已选定的宾馆中选择,这样才能减少因开会而导致的与会代表走动的数量。
由于宾馆会议室的半天的费用和包车的费用相近,所以既可以先确定会议室,再安排车辆,也可以把会议室租赁和包车的费用结合起来考虑并进行优化。
下面将就两种方法分别讨论。
客车的选定是根据代表所住的宾馆到他要去开会所在宾馆的距离和人数的多少来预定安排的。
事实上,在一定的距离之内,代表是可以步行与会的,我们规定:在300米以内,不安排车辆接送。
以节省租车费用。
并规定在选定会议室之后,由于代表并不熟悉会议室的具体位置,所以采用针对每组会议安排客车接送代表的方式。
即每组会议有特定的车辆安排,开会前将该组会议住在需要接送宾馆的所有代表接至会场,会后将代表分别送回宾馆。
四、模型假设
(1)所有代表上午、下午各参加一组会议且6个分组会议同时进行. (2)每位代表参加任何分组会议是随机的;
(3)客车行进时无阻碍,没有意外事故而需额外再增加费用,正常到达目的地. (4)所有代表均是在同一天入住宾馆,并在所有会议结束的第二天退房离开. (5)前四届会议代表出席情况相互独立.
(6)所有会议为平均分组会议,即上午和下午的六组会议规模相同. (7)未发回执前来与会的代表住房要求与已发回执的情况相同.
(8)300米以内不用车接送,车辆在指定的会议室与宾馆之间接送,中途不停车即
不考虑中途有人上车情况。
五、符号说明
符号
说明
0()(0,1,2,...10)1()i x i ⎧==⎨⎩
宾馆i 不被选中宾馆i 被选中
表示宾馆i 是否被选中
i 0i X =i=1i ⎧⎨⎩(会议室
不被选中)(1,2,...11)(会议室被选中) 表示会议室i 是否被选中
Y1
会议室租借总价格 M
租接送车的总价格 0(i j )
U 1i j ij ⎧=⎨⎩
从会议室到宾馆不需要接送(从会议室到宾馆需要接送) 表示从会议室i 到宾馆j 是否需要接送
ij P 从宾馆j 到会议室i 开会的人数 i m
第i 个会议室价格
123,,i i i A A A 到会议室i 的座位数是45、36、
33的客车租用的数量
123,,v v v
45、36、33座客车的租金
六、模型的建立与求解
步骤一:本届会议与会代表数量的预测
模型一:
根据以往四届会议回执和与会情况,可以计算得到以往四届会议的实到人数(实到人数=发来回执的代表数量-发来回执但未与会的代表数量+未发回执而与会的代表数量)。
将实到人数作为因变量y,发来回执的代表人数作为自变量x,作散点图如下。
图一
图1中散点位置提示两变量之间可能存在线性关系,故对其线性拟合。
线性回归方程:y0.810x26.962
=+
相关系数R 2=0.999,说明线性拟合效果很好。
将本届发来回执代表数量作为自变量x 进行预测,得到本届实到预测人数为638人。
但事实上,预测本届会议的与会代表数量时,用往届实际到会人数对发来回执人数的回归模型,根据统计学的知识,若用线性回归,结果通常偏低,如不加调整,会有较大的偏差。
于是我们提出下面的模型二。
模型二:
对题给出的前几届会议代表回执和与会情况数据进行统计发现,发来回执但未与会的代表比例稳定,为30%,未发回执而与会的代表比例约为17.6%。
与会代表比例、均值和方差见表1。
可以认为,发来回执未与会的代表比例和未发回执而与会的代表比例服从正态分布,并取置信度为95%,则应取置信区间下分位点作为发来回执未与会的代表预测数量,取置信区间上分位点作为未发回执而与会的代表预测数量。
其计算公式为:
2
1.96
Z n
ασ
μ=+
表1 历届与会代表比例、均值和方差
选项 第一届(比例) 第二届(比例) 第三届(比例) 第四届(比例) 均值 方差 发来回执
但未与会的代表 0.2825
0.3230
0.2966
0.2996
0.3004
0.0145
未发回执而与会的代表
0.1810 0.1938 0.1838 0.1463 0.1762 0.0179
将数据代入上式计算得到与会代表总数为655.25人,向上取整数为656 人。
同时对方差较大的未发回执而与会的代表比例进行正态分布的卡方检验(见表2 ),以证实其假设的合理性。
表2 未发回执而与会的代表比例的卡方检验
分段点 F 值 概率 理论频数 x 2 卡方值 临界值 0.16 0.1830 0.1830 0.7318 0.0983 0.1846
3.8415
0.19 0.7789 0.5959 2.3837 0.0618 0.22
0.9927
0.2138
0.8552
0.0245
从卡方检验的检验的结果来看,模型二求得的结果是科学,合理的。
因此,把模型一的结果修正为:本届实到预测人数为656人。
步骤二:确定在哪些宾馆预订客房及预订各类客房的数量
1.确定各类客房预定的数量
表3 本届会议的代表回执中有关住房要求的信息(单位:人)
合住1 合住2 合住3 独住1 独住2 独住3 男 154 104 32 107 68 41 女
78
48
17
59
28
19
将本届实到预测人数(656人)按表3中的比例分配得:
表4:本次会议代表对于住房要求的预测信息(单位:人)
合住1 合住2 合住3 独住1 独住2 独住3 男 128 96 28 92 62 37 女
70
42
16
50
26
17
注:表4中数据的得出采用了四舍五入的方法,以便使总人数接近预测值。
我们根据表4中的数据确定了各类客房(合住1、合住2、合住3、独住1、独住2、独住3)的需求量,得表5,如下:
表5:代表要求的各种规格的住房需求总数
2.确定在哪几个宾馆预订客房
目标:a.选择宾馆数量少
b.选择的宾馆之间的距离短
在到场人员数量估算好的前提下,首先我们只考虑目标a 选择宾馆数量少,来确定选择的宾馆书数序号。
采用0-1规划,
设i x =⎩
⎨⎧个宾馆被选种第个宾馆未被选中第i i 10
(i=1,2,3,4,5,6,7,8,9,10)
考虑到如果单人间的数量不够,就可以让一个代表单独住一个双人房,因此,我们确定如下的规划步骤:
Step1:选取某一个宾馆的组合,先检验其各价位双人间的总数是否满足代表们的要求。
Step2:在检验该组宾馆的各价位的单人间与双人间的数量总和是否满足代表们的需求。
合住1 合住2 合住3 独住1 独住2 独住3 房间需求量
99
69
22
142
88
54
Step3:求解上述规划模型,得到一组或是多组的最优解,在这机组最优解里面挑选宾馆聚集度最高的一组(为后面节省预订客车费用做铺垫)。
作为最终的决策。
具体表达式如下: 规划目标:∑=i x N min
约束条件:2345781
234568169102345678123456816791085505070504099
5065244545404069
30306010022
857750704090402418065244540708515750303012010076
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +++++≥⎧++++++≥+++≥++++++≥++++++≥++++≥⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩
用LINGO 求解上述模型,具体代码及软件求解结果参见附录1。
结果如下:
被选定的宾馆序号为①、②、③、⑦。
3.确定各价位,各种类客房的预定方案
下面以满足代表住房要求作为第一指标进行分配。
Step1:将宾馆的各种房间根据价格和单双间分为六种规格,制表6,并将房间需求量加入表6中。
表6 10家宾馆的客房情况和与会代表的房间需求量
宾馆 双人间1 双人间2 双人间3 单人间1 单人间2 单人间3 ① 0 50 30 0 30 20 ② 85 65 0 0 0 0 ③ 50 24 0 27 0 0 ④ 50 45 0 0 0 0 ⑤ 70 40 0 0 0 0 ⑥ 0 40 30 40 30 0 ⑦ 50 0 0 40 0 30 ⑧ 40 40 0 0 45 0 ⑨ 0 0 60 0 0 60 ⑩ 0 0 0 100 0 0 房间需求量
99
69
22
142
88
54
注:双人间1—3和单人间1—3分别对应合住1—合住3和独住1—独住3
Step2:根据选定的宾馆和预测的不同价位要求的代表数量来分配宾馆房间,分配情况如表7所示:
(代表应尽量集中在宾馆①、②中,因为这两个宾馆距离较近,可以节省接送费用)
表7 选中宾馆的房间分配
宾馆序号
住房类别 ① ② ③ ⑦
合住1 85间(170人) 14间(28人)
独住1
66间(66人) 76间(76人)
合住2
65间(129人) 4间(8人)
独住2
80间(80人) 8间(8人) 合住3 22间(44人)
独住3 28间(28人) 26间(26人) 总计人数
152人
299人
82人
130人
步骤三:对问题二的进一步讨论——代表满意度
事实上,虽然我们已经在问题一中用线性回归法预测了本届会议与会代表数量,并用概率统计的方法进行了修正,从而较为精确、可信的求出了本届会议与会代表的预测数量。
但是,仍有很小的一部分概率会有如下情况发生:即实际与会代表的数量比预测的大,从而使预定的房间数目不够,造成代表的不满意。
解决这一问题的办法是,适当的多定一些客房。
由于造成与会代表的数量比预测大的原因大部分是未提交回执而实际到来的代表数目超过预期,因此对这部分代表组委会也无从事先预知他们对住宿的要求,因此可以假设住宿条件对这部分代表的满意度影响不大。
对于多预定的那部分套房,由于组织方各种房间都会预订,假设每种套房预定的数量一样多(即平均一间套房住1.5个人),由附表中的数据可以看出,平均每种客房每间大约180元,为方便起见,把这作为多定一间套房的平均成本。
定义描述组办方多定套房损失以及代表不满意造成的名誉成本损失之和“损失函数”180S
d a =⨯+ (其中,d 是多预订客房的数量,a 是未能安排到客房的代
表数量,a 越大,组办方名誉成本损失越大。
)
设K 是实际与会代表的数量比预测值多的量,由假设(9),K 服从二项分布。
(),1k k m k
k m p P K k C p q q p -====-
(m 是与会代表可能数量的上限,p 是代表未寄回执而来的概率。
) 而且:
1.5( 1.5)0( 1.5)K d K d a K d -⨯>⎧=⎨<⎩
由以上表达式即可求出 180 1.5( 1.5)180( 1.5)d K d K d S d K d +->⎧=⎨<⎩
S 的期望为 1.50
1.5180(180 1.5)d
k k
K K d
S
d p d K d p ∞
===⨯+
+-⨯∑∑
(1)
要求出d ,使S 最小。
(1)式无法解析的求解。
我们设定几组数据,用MATLAB 作数值计算,得如下几点结论:
1)对于所取的m ,p ,k ,S 都是随着d 先减小,再增大,在最小值附近变化很小。
所以应该参考S 的最小值,给定约束条件可以确定的m ,确定合适的S . 2)综合考虑经济效益和社会声誉,对于m=700,若p 取0.05,则d 可取5,若
p 取0.01,则d 可取3.
步骤四:宾馆会议室的选择以及租车方案的确定
模型三
(1)会议室的安排
在平均分组会议的前提下,依据假设(2),可得每组会议的人数为110左右。
会议室应尽量选在代表居住的宾馆内。
在①②③⑦宾馆中找到容量大于等于110人的会议室。
并根据容量进行排序得到。
表8 ①②③⑦号宾馆的会议室情况
分组会议所选间数 规模 间数 价格
(半天) 宾馆代号
X1 200人 1 1500元 1 X2 200人 1 1200元 3 X3 200人 1 1000元 7 X4 180人 1 1500元 2 X5 150人 2 1200元 1 X6 150人 1 1000元 3 X7 140人 2 800元 7 X8
130人
2
1000元 2
根据表8可以得到,对于①②③⑦宾馆组合,其会议室费用(半天)的函数可以分别表示为:
=+++++++
Y X X X X X X X 11500X11200210003150041200510006800710008其中,X1,X2,X3,X4,X6在(0,1)中取值(表示不选择此种规格会议室或只选择一间);X5,X7,X8在(0,1,2)中取值(表示不选择此种规格会议室,选择一间或选择两间)
同时需要满足X1X2X3X4X5X6X7X86
+++++++=
运用Lingo编程来进行最优化选择以后,得到结果:(见附录2)
对于①②③⑦的组合:
=,此时X21,X31,X72,X82,
min Y15600
====其余自变量为0;
(2)针对会议室的客车安排
在选定会议室之后,由于代表并不熟悉会议室的具体位置,所以采用针对每组会议安排客车接送代表的方式,即每组会议有特定的车辆安排,开会前将所有代表接至会场,会后将代表分别送回宾馆。
通过上述安排可知,两种组合的客车安排相同,故只需进行客车组合的最优化安排。
备选客车情况如表9所示:
表9 备选客车情况
座位数45 36 33
价格(半天)800 700 600
A
单个会议所选数量1A2
A3
可得费用(半天)的函数为:
=
+
M+
700b
800a
600c
限制条件为:
45A136A233A3110
++>=
根据Lingo的最优化选择,得到结果:(见附录3)
===。
2000
minM=,此时A11,A20,A32
全天费用总计为:(单位:元)
Sum1=min Y1× 2+min M × 6× 2=35200
(3)模型三的评价
这种建模方法把会议室和租车分开来求解,虽然也能求得较为满意的结果,但是租车的费用与租会议室的费用相近,如果先只考虑会议室费用而忽略会议室地址对租车费用的影响的话,可能会对全局的最优解产生影响。
同时如果距离较近,我们可以不安排车辆接送,以节省费用。
因此我们提出了如下的改进模型。
模型四
综合考虑会议室选址对开会费用以及租车费用的影响。
规定:300米以内不安排车辆接送。
会议室应尽量选在代表居住的宾馆内。
宾馆①②③⑦中容量大于等于110人的会议室有11间,将它们分别设为
X1、X2 (X11)
具体如下:
会议室 规模 价格 (半天)
宾馆代号 X1
200人 1500元 1 X2
150人 1200元 1 X3 150人 1200元 1
X4
180人 1500元 2 X5 130人 1000元 2
X6 130人 1000元 2
X7 200人 1200元 3
X8 150人 1000元 3
X9 140人 800元 7
X10 140人 800元 7
X11
200人 1000元 7 这样,依据300米以内不安排车辆接送的原则,并规定在选定会议室之后,由于代表并不熟悉会议室的具体位置,所以采用针对每组会议安排客车接送代表的方式,即每组会议有特定的车辆安排,开会前将该组会议住在需要接送宾馆的所有代表接至会场,会后将代表分别送回宾馆。
可得下表:
会议室
宾馆
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
① 0 0 0 0 0 0 1 1 0 0 0 ②
0 0 0 0 0 0 1 1 1 1 1 ③
1 1 1 1 1 1 0 0 1 1 1 ⑦ 0 0 0 1 1 1 1 1 0 0 0
注:表中,0表示不需用车接送,1表示需要用车接送,设为ij U ,表示从宾馆j 到会议室i 是否需要车子接送。
同时,根据问题二求解的结果,可得住在每个宾馆中的代表占代表总人数的百分比,如下表所示:
表10 个宾馆居住代表占总人数的比例
宾馆
① ② ③ ⑦
居住人数 (比例)
0.23 0.45 0.12 0.20
由于我们事先不知道多少代表参加哪个分组会议,因此可以按照平均的、随机的方式处理。
即:
1).在每个会议室的容量至少为与会总人数的1/6;
2).在一个会议室里开会的代表按照表10中的比例分布在各个宾馆中。
继而我们提出如下规划模型:
设i X =01i i ⎧⎨⎩第个会议室未被选中第个会议室被选中
(i=1,2,3,4,5,6,7,8,9,10,11)
设i m 是第i 个会议室价格,到会议室i 的座位数是45、36、33的客车租用的数量分别是123,,i i i A A A ,它们的费用分别是123,,v v v .
设从宾馆i 到会议室j 的人数分别为:
ij P (1,2,3,7;1,2,......11)i j ==
则可得: 规划目标:111122331min{()}
i i i i i i i m X v A v A v A =+++∑∑
约束条件:
11
1
123,i1i2i36
()(1,2,...11,1,2,3,7)
A A A 6i i i i i ij ij i
i j i X A A A P U i j =⎧=⎪⎪⎪++≥==⎨⎪⎪++≥⎪⎩∑∑∑∑()
用LINGO 软件求解上述规划模型,代码和结果参见附录4。
结果显示,选择会议室:2345910,,,,,X X X X X X ,即挑选①号宾馆中150人的会议室两间;②号宾馆中180人、130人的会议室各一间;⑦号宾馆中140人的会议室两间。
一共要派45座的车2辆,33座的车4辆。
一天的总费用一共是20000元。
七、模型的评价
对人员的预测用两种不同的方法进行分析,而对宾馆和房间的确定也综合考虑了经济、方便、数量少、代表满意、少支付空房费等多种因素,分别建立了两种数
学基本模型求解。
但也忽略了部分实际生活中的因素,模型偏于理想化。
主要表现在:
1. 对实际问题及现实的交通情况的考虑不够,实际的情况会影响对客车的预定的问题,比如说堵车,而汽车行驶也不一定沿路直线行驶,可能会斜穿马路。
2. 没有考虑万一出现与会代表人数大大超出会议室规模的情况的解决方案。
3. 在实际问题中我们还应考虑交通问题、客车的加速行驶到减速停车过程的时间、上下车完毕的时间,将它们的总和与正常人在一定小距离内步行的时间作比较,以此来确定在多远的距离内不需要客车接送代表,从而改进模型,使其更加符合要求。
4. 在确定会议室和安排客车方面,能够在满足实际需求的基础上,更好的为筹委会节省开支,故方案更佳。
但是,该模型本身还是有一些不完善的地方的,首先就是我们没有考虑,在距离很近的时候,可以采用代表步行的方式参会,从而可以省去一大笔车费。
例如①②之间仅有150米远的距离,此时再采用客车接送显得有点牵强。
其次就是,我们方案中没有给突发情况留有较大的余地,每辆车的乘坐率很高,每趟车基本仅剩下几个空座,实际情况可能不是我们预测的那样代表完全等可能的参加各分组会议,此时就会出现一些车拥挤不堪的而另外一些车剩座较多的情况。
此时这个方案就显得有些不完善。
参考文献
[1] 全国大学生数学建模竞赛组委会,数学建模的实践:2006年全国大学生数学建模夏令营论文集,北京:高等教育出版社,2007.8
[2]张文彤,世界优秀统计工具spss11.0统计分析教程(高级篇),北京:北京希望电子出版社,2002年6月
[3]杨启帆,何勇,谈之奕。
数学建模竞赛。
浙江大学出版社。
2006年5月
[4] 袁新生等,LINGO和Excel在数学建模中的应用,北京:科学出版社,2007
附录
附录1
model:
min=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10;
85*x2+50*x3+50*x4+70*x5+50*x7+40*x8>=99;
50*x1+65*x2+24*x3+45*x4+40*x5+40*x6+40*x8>=69;
30*x1+30*x6+60*x9+100*x10>=22;
85*x2+77*x3+50*x4+70*x5+40*x6+90*x7+40*x8>=241;
80*x1+65*x2+24*x3+45*x4+40*x5+70*x6+85*x8>=157;
50*x1+30*x6+30*x7+120*x9+100*x10>=76;
@bin(x1);@bin(x2);@bin(x3);@bin(x4);@bin(x5);@bin(x6);@bin(x7);@bin(x8) ;@bin(x9);@bin(x10);
求解结果
Global optimal solution found.
Objective value: 4.000000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X1 1.000000 1.000000
X2 1.000000 1.000000
X3 1.000000 1.000000
X4 0.000000 1.000000
X5 0.000000 1.000000
X6 0.000000 1.000000
X7 1.000000 1.000000
X8 0.000000 1.000000
X9 0.000000 1.000000
X10 0.000000 1.000000
Row Slack or Surplus Dual Price
1 4.000000 -1.000000
2 86.00000 0.000000
3 70.00000 0.000000
4 8.000000 0.000000
5 11.00000 0.000000
6 12.00000 0.000000
7 4.000000 0.000000
附录2
model:
min=1500*X1+1200*X2+1000*X3+1500*X4+1200*X6+1000*X7+800*X9+1000*X10;
X1+X2+X3+X4+X6+X7+X9+X10=6;
x1<1.1;
x2<1.1;
x3<1.1;
x4<1.1;
X6<2.1;
X7<2.1;
X9<2.1;
X10<2.1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x6);@gin(x7);@gin(x9);@gin(x10) ;
End
求解结果
Global optimal solution found.
Objective value: 5600.000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X1 0.000000 1500.000
X2 0.000000 1200.000
X3 1.000000 1000.000
X4 0.000000 1500.000
X6 0.000000 1200.000
X7 1.000000 1000.000
X9 2.000000 800.0000
X10 2.000000 1000.000
Row Slack or Surplus Dual Price
1 5600.000 -1.000000
2 0.000000 0.000000
3 1.100000 0.000000
4 1.100000 0.000000
5 0.1000000 0.000000
6 1.100000 0.000000
7 2.100000 0.000000
8 1.100000 0.000000
9 0.1000000 0.000000
10 0.1000000 0.000000
附录3
model:
min=800*a+700*b+600*c;
a*45+36*b+33*c>=106;
@gin(a);@gin(b);@gin(c);
end
求解结果
Global optimal solution found.
Objective value: 2000.000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
A 1.000000 800.0000
B 0.000000 700.0000
C 2.000000 600.0000
Row Slack or Surplus Dual Price
1 2000.000 -1.000000
2 5.000000 0.000000
附录4
代码:
model:
sets:
meetingroom/m1..m11/:price,select,peoplenumber;
bus/x1..x3/:money,number;
endsets
min=@sum(meetingroom:price*select)+@sum(bus:money*number);
number(1)*45+number(2)*36+number(3)*33>=@sum(meetingroom:select*peoplen umber); !number(1),number(2),number(3);
@sum(meetingroom:select)=6;
@for(meetingroom:@bin(select));
@for(bus:@gin(number));
@sum(bus:number)=6;
data:
price=1500 1200 1200 1000 1000 1500 1200 1000 800 800 1000; peoplenumber=12 12 12 32 32 32 97 97 63 63 63;
money=800 700 600;
enddata
end
money=800 700 600;
enddata
end
求解结果
Global optimal solution found.
Objective value: 10000.00
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
PRICE( M1) 1500.000 0.000000
PRICE( M2) 1200.000 0.000000
PRICE( M3) 1200.000 0.000000
PRICE( M4) 1000.000 0.000000
PRICE( M5) 1000.000 0.000000 PRICE( M6) 1500.000 0.000000 PRICE( M7) 1200.000 0.000000 PRICE( M8) 1000.000 0.000000 PRICE( M9) 800.0000 0.000000 PRICE( M10) 800.0000 0.000000 PRICE( M11) 1000.000 0.000000 SELECT( M1) 0.000000 1500.000 SELECT( M2) 1.000000 1200.000 SELECT( M3) 1.000000 1200.000 SELECT( M4) 1.000000 1000.000 SELECT( M5) 1.000000 1000.000 SELECT( M6) 0.000000 1500.000 SELECT( M7) 0.000000 1200.000 SELECT( M8) 0.000000 1000.000 SELECT( M9) 1.000000 800.0000 SELECT( M10) 1.000000 800.0000 SELECT( M11) 0.000000 1000.000 PEOPLENUMBER( M1) 12.00000 0.000000 PEOPLENUMBER( M2) 12.00000 0.000000 PEOPLENUMBER( M3) 12.00000 0.000000 PEOPLENUMBER( M4) 32.00000 0.000000 PEOPLENUMBER( M5) 32.00000 0.000000 PEOPLENUMBER( M6) 32.00000 0.000000 PEOPLENUMBER( M7) 97.00000 0.000000 PEOPLENUMBER( M8) 97.00000 0.000000 PEOPLENUMBER( M9) 63.00000 0.000000 PEOPLENUMBER( M10) 63.00000 0.000000 PEOPLENUMBER( M11) 63.00000 0.000000 MONEY( X1) 800.0000 0.000000 MONEY( X2) 700.0000 0.000000 MONEY( X3) 600.0000 0.000000 NUMBER( X1) 2.000000 800.0000 NUMBER( X2) 0.000000 700.0000 NUMBER( X3) 4.000000 600.0000
Row Slack or Surplus Dual Price
1 10000.00 -1.000000
2 8.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000。