哈工大运筹学实验报告实验一,实验二x
时间:2020-10-12 12:49:16 来源:勤学考试网 本文已影响 人
实验一
一、实验目的
了解 Excel 的基本功能,熟悉界面,掌握基本的操作命令;
熟悉 Matlab 编程环境,了解 Matlab 的基本功能,掌握基本的编程语言;
用 Excel 和 Matlab 求解话务排班线性规划问题。
二、实验器材
PC机:20 台。
Microsoft Excel 软件(具备规划求解工具模块) : 20用户。
Matlab 软件(具备优化工具箱) : 20 用户。
三、实验原理:
话务排班属于线性规划问题,通过对问题建立数学模型,根据 Excel 自身特 点把数学模型在电子表格中进行清晰的描述, 再利用规划求解工具设定相应的约 束条件,最终完成对问题的寻优过程,具体可参见;在 Matlab 中,根据 Matlab 提供的线性规划求解函数, 将数学模型转换成线性规划求解函数可传递的数值参 数,最终实现对问题的寻优求解过程, 具体可参见 2 中 linprog 函数描述和示例。
四、实验内容和步骤:
某寻呼公司雇佣了多名话务员工作,他们每天工作 3 节,每节 3小时,每节 开始时间为午夜、凌晨 3点钟、凌晨 6点钟,上午 9点、中午 1 2点,下午 3点、 6 点、9 点,为方便话务员上下班,管理层安排每位话务员每天连续工作 3 节,
根据调查,对于不同的时间,由于业务量不同,需要的话务员的人数也不相同, 公司付的薪水也不相同,有关数据如下表所示。
工作时间
0~3点
点
6?9点点12?15点15?让点 囲~刀点
21?。点
最低需 求人数(人)
8
6
15
20
25
23
18
10
薪水〔元)
26
30
28
22
20
20
22
24
问:如何安排话务员才能保证服务人数,又使总成本最低
第一步:建立线性规划模型
设Xi为0点开始工作的人数,X2是3点开始工作的人数,x3是6点开始工作 的人数,X4……,X8是21点开始工作的人数。Z为所支付的总薪水。算出每个 时间段的最低需求人数,如xi+x2 + x3为6-9点工作的人数。由题意列出约束方 程为:
x + x7 +沧》8
TOC \o "1-5" \h \z x, +x2 + x3》6
x, + x2 + x3 > 15
X2 + X3 + & > 20
x3 + x4 + x5 > 25
X4 + x5 + X5 》23
x5 +x6 + x7 > 18
X5 + x7 + x8 > 10 xi > 0 (i=1,..…8)
目标函数 min z =84x1 +80x2+70x3 +62x4 +62x5 +66x6 +72x7+80x3
Excel求解过程描述 打开 Excel ,选择“ Excel 选项”通过“工具”菜单的“加载宏”选项打开“加 载宏”对话框来添加“规划求解” 。将约束条件的系数矩阵输入 Excel 中,如下 图所示,然后将目标函数的系数输入约束矩阵下方, 最下方为最优解的值, 输入 “0”或不输入。系数矩阵的右端一列为合计栏,点击合计栏中单元格并在其中 输入“ =sumproduct (”,用鼠标左键拖动合计栏所在行的系数, 选定后输入“,”, 然后拖拉选定最下方的空白行,输入“) ” ,输入“ Enter ”。用此方法依次处理整 个系数矩阵每一行和目标函数行, 合计栏右端输入约束条件右端项, 在合计栏和 约束条件右端项之间可以输入“三”符号,也可以不输入。
上述步骤完成后, 在菜单栏点击 “数据” 菜单,选择最右端“规划求解” 选项, 弹出“规划求解参数” 对话框, 目标单元格选择目标函数系数所在行和合计栏交 叉处的单元格, 选择求最小值, 可变单元格选择解所在行。
点击“添加约束条件” 按钮,单元格引用位置选择合计那一列,约束关系选择“三” ,约束值选择右端
项系数所在列,点击确定。在“选项”中勾选“采用线性模型”和“假定非负” , 如果是用EXCEL201操作,步骤与基本相同,个别界面会有些区别。
1(
c
□
敏感性报告:
I噫?曲対1乩百
1 Ucnatftlicri HO
-邛I: [I^]5tetG
.姜詡蚯血训5 IBM
J J J J _J -■■::.耳□讀狼f itSE
f
tr吐
■ * f
7 擔
ft *■ >
± B :: i ;(
::J
E L X
5 0
n H 3 n
r Q 3 S
T I
r
飞
1)
11
ii
TB
13
life
-狒£
IB
垦
Q
13
OL
諭(
t
:瑚
BJ
M/1
■i
躍?
MB 2
2
[脚
li
W
m 9
9
:剧
趴
i
(c-kt
f'S 9
9
:瑚
ff)
W.4
1"
飜fl
E
:曲
E
M誰e
6
购
13
盘
ae t
(
lk-i
IEp
aw i
0
恥
00
00
抚砒迢
_?吗■■! ft L( Ji ,_"- * - -w
j J -2 J! _J
y丞a k 、 i
H就*
EHSlVilV
芻怏舞彗婷删 ASKKS9O 就昶, t t '
L^jfcrz
匚 Fl * 1
>
w
t B C
D E f
C B I : E L I B D F Q 1 E 7 2
*■*. *
1 ficEOidt httl 111 iSt^D
EUHI: ClSlJSrril
?
冊雒
s m m ttfi m 首瞬翱Si 0
慨帥碉
4 o孙他刖
?is MS 涮
io
幽谿闌 £ 0
7D 1P 50
m制期? o
观 领 期
邮豳询8 0
虺 6 0
圧皿 $
啦It乍曲?扌0
?2 劭 別
阴貓诩E 30
別1!+即印
別 fiO 10
刖 些腸般an
b 轴甜 asai g: o
一孔一 S3】詈一密一霜』即一 H
咗3^ ■R-- 1 票.
运算结果报告:
Matlab 求解过程:
先在comma nd win dow对建立模型中各个参数矩阵进行赋值,同一行数字用 空格分开,换行时用分号分开,矩阵用“【】”表示,分别将目标函数系数c,系 数矩阵A,右端项b输入,lb值均取零。输入A和b时,原先的正数均加负号后 输入;输入完成后加分号,输入“ Enter ”,矩阵被储存并在workspace中显示出 来。最后调用线性规划的函数[x,fval]=li nprog(c,A,b,[],[],lb); 回车,即可
得求解结果
n'AiL'jnp Eci- 渤吗 Tp
n'AiL'j
J d § ■ ■吓导乎F * 口盯柿论賈;「枷円时Hln洛ijM&b'Tn ■二汩
出orb卿!CanmvUMito? tf 1 U:!? <=[£, DO "?]
出orb卿!
CanmvUMito
? tf 1 U
:!? <=[£, DO "?] 4? 6:皈 二册]?
g
丫*膺 Mn Klfi
:=■; jtH 0 K 1 >] -1 4 -L -1 0 : '] . (1 -Irl -1
-J -15 <0 -:』:-:-■:
dojbf - -T 0
习Is
和咗.量闿乜■-年 4
5> lfe[l D.I.O.t 虬
±|C
妆 :1A,i [J.丄览
二或】8 1?n3.TUtfi
-b
梆细搞 D 0
A "1
Hi.
真测驰圮9L 询一
^nrin ? How id J^- ? gg
匚 ^THi^dri£t:ry
nj
t*
j>- ::J i'5 二;二-S
l址整H腔.E龙:2 it]
.t -H 0 C Q - -1 -] -l -K 0 : E C -L -1 -[ -L 1J fl G :>: kMW -jl如相T -Hi
1WMM O.d].
[i tvOh^i尊 l&M 乩[1』:
#仙
r-J ?二1.上」吐w HF怎-u k- IJ
r-J ?二1.上」吐w HF怎
-u k- IJ
最优解为花=4, X2=2, x3=9, X4=9, xs=8,冷=6, x7 =4,禺=0,表示当 4 个人从零点开始工作,2人从3点开始工作, ,0人从21点开始工作,目
标函数即支付薪水取得最小值,为 2864元。
Excel和matlab优劣性比较:
Excel模型直观明了,但是输入单元格较多,设置参数多,过程较复杂,而 matlab有编程的意思,采用专门的操作语言,界面不够清晰明了,但是功能强 大,输入快捷,运算迅速。Excel可用于求解变量较少,较为简单的模型,用于 日常使用,matlab则是比较专业的软件,适用于较为复杂的问题求解。
实验二
一、实验目的:
1) 熟练掌握在Excel和Matlab环境下求解线性规划问题。
2) 用Excel和Matlab求解转运线性规划问题。
二、实验器材
1) PC机:20 台。
2) Microsoft Excel 软件(具备规划求解工具模块):20用户
3) Matlab软件(具备优化工具箱):20用户。
三、实验原理:
转运属于线性规划问题,通过对问题建立数学模型,根据 Excel自身特点把
数学模型在电子表格中进行清晰的描述,再利用规划求解工具设定相应的约束条 件,最终完成对问题的寻优求解过程,具体可参见;在 Matlab中,根据Matlab
提供的线性规划求解函数,将数学模型转换成线性规划求解函数可传递的数值参 数,最终实现对问题的寻优求解过程,具体可参见2中linprog函数描述和示例。
四、实验内容和步骤:
A1、A2两煤矿产的煤运往 B1、B2、B3三个城市销售,各煤矿的供应量、
各城市的需求量以及煤矿与城市之间、 煤矿与煤矿之间、城市与城市之间的单位
运费如下表所示:
单 \城市
位、、帀 煤矿费
A
A
Bi
B2
B3
供应量
(t)
A
0
45
90
70
95
200
A
50
0
80
65
75
230
B1
95
55
0
45
70
0
B2
75
60
30
0
30
0
B3
85
80
30
60
0
0
需求量(t)
0
0
100
150
180
问:如何安排各城市与城市之间、各煤矿与煤矿之间、各煤矿与城市之间的
运输量,使得总的运输成本最低
建立模型:
设Xj为上述表格中对应位置的从 A地到Bj地的运输量,设Z为运输的总费
用。对于两个煤矿来说,运出总量 =运入总量+产量;对于城市,运入总量=运出 总量+需求量。列出约束不等式:
X12 + X13 + X14 + X15 - X21X31=200-X12+
X12 + X13 + X14 + X15 - X21
X31
=200
-X12
+ X21 + X23 + X24 + X25
X32
X42
X52 =230
X14
X15
+ X23
+ X24
+ X25
X31 - X32 - X34 - X35
+ X43
+ X53 =100
+ X34
+ X35
X41-
X42 - X43 - X45
+ X54 =150
+ X45 - X51 - X52 - X53 - X54 =180
目标函数 minz=45 X12 +90 X13+70 x14 +95 x15 +50 x21 +80 x23
目标函数 minz=45 X12 +90 X13
+95 x31 +55 x32 +45 x34 +70 x35 +75 x41 +60 x42 +30 x43 +30 x45 +85 x51 +80 x52 +30 x53 +60
X54
Excel求解过程: 打开 Excel ,选择“ Excel 选项”通过“工具”菜单的“加载宏”选项打开“加 载宏”对话框来添加“规划求解” 。将约束条件的系数矩阵输入 Excel 中,如下 图所示,然后将目标函数的系数输入约束矩阵下方, 最下方为最优解的值, 输入 “0”或不输入。系数矩阵的右端一列为合计栏,点击合计栏中单元格并在其中 输入“ =sumproduct (”,用鼠标左键拖动合计栏所在行的系数, 选定后输入“,”, 然后拖拉选定最下方的空白行,输入“) ” ,输入“ Enter ”。用此方法依次处理整 个系数矩阵每一行和目标函数行, 合计栏右端输入约束条件右端项, 在合计栏和 约束条件右端项之间可以输入“三”符号,也可以不输入。
上述步骤完成后, 在菜单栏点击 “数据” 菜单,选择最右端“规划求解” 选项, 弹出“规划求解参数” 对话框, 目标单元格选择目标函数系数所在行和合计栏交 叉处的单元格, 选择求最小值, 可变单元格选择解所在行。
点击“添加约束条件” 按钮,单元格引用位置选择合计那一列,约束关系选择“ =”,约束值选择右端项 系数所在列,点击确定。在“选项”中勾选“采用线性模型”和“假定非负” , 如果是用EXCEL201操作,步骤与基本相同,个别界面会有些区别。
了
n
II
刊(Itx 卫耐总奴更Ji SJ0 朋
-牟詡1寺S?] ? Bill ■ 1£ ■
上 ^ 一
BoriiL - IhcioEnft fic&l
接虑辛阳車朋
flf*
H八*1 , Xll佰期jjfti墙仁MM溜ifr証翩腮蹌E.弘就?也■灿爲,「
言寻寻孝察电” |弓■霽「划爲
■> ? ?| 卫*
T : E
¥
? j 1 ] 申『 T
l
j p P T y 7 f T
;
;
11 Jilt a-s:
A-l:
4?W JT-l- ih? J3-53 dE; f l^-i5 P7-*C W
Tn-
比峙 w is-j- ra-i: m- 的阵 r ? = ■
Li L I
k -L *1
-i
*1 M SQ
运算结果报告:
HP 一JiEBMmg
I h>
卅:
I搞一旨」「S.M
ill V
Mi _
4hH
帮勺卩;■■:,■'
垄酬蚪 繩?哉 徵班IUQ1
il ■
Ui
L±l f
吊TH
■
1
i siTs^i
1 ^1 Hi*
1 -lit
呃!
wli 決*|?
*
徐
■蛊Biud JU 聲需
r」sS粹二国Fs 二謹^a雷更琴
q 鑑1墨士 as. I 小s^ n
『嚴i一
■ MM 倉-
二券二豊
S&
一 =sg 翼黑蛊 hdrJMU 二
「芽!■碁蛊測SI1H譚也吕囲二覽型
=mJ課录ISIS一
「SI-團閤.
3
I
I
2
善
&
3
n
2
1
P
1
4? >|i
g 步
■— ■? 1—pirn T -_O -~J~t 3'
>&i Itt*.
2=|i
■那
■3-.
i<
■亠
■ ■
0! i
RLJ
■q
<_s-i 盏
■ n
?_■
■■ ■
■;.i
G^tr
4 l?
—
■ a
zfwIa o 畐丨丨丨— 誌
4
敏感性报告:
U m >iss - Mmatt;icef
目 Mm 珈 4<*S MM J
*@ 遏 il
iZ$勺北岂?斗二
1 licroEsft Ilcel 1L0 WlftK
工ftJi.:【I.自th ttedftertl
3 鳩2013/^5
06 Mal^lla”-llff&6廿■ gs-taitaI3-I2S■篁邸■
苜
姑
目禅
毒
班
闻0
111
0
D
0
1E+38
G
W
112
0
3
11+33
E
■::.
xk-
50
0
和
1J
5
川
150
0
TO
5
加
X15
0
10
95
11怕
10
郦0
0
旳
so
(■tin
0
0
D
11*33
b
皿尹
即
?
9)
5 12
T?)
0
、
厢
5
旧山
tS
fi
讪
s
sujj
远
Q
…
±1
il'-J
血
W
胞
0
S5
lh:ij
13&
刚]0
tE
0
D
0
1P33J
0
师Q
jM
<5
11*33
G
13S
0
TO
11^1
T5
Tt
p
币
U*3)
It-
闵0
i<2
1£4?
l嚣
唯
_JL
33
E
1&
I
Kn b
0
Matlab求解过程:
先在comma nd win dow对建立模型中各个参数矩阵进行赋值,同一行数字用
空格分开,换行时用分号分开,矩阵用“【】”表示,分别将目标函数系数c,系
数矩阵Aeq,右端项beq输入,lb值均取零。输入一个命令完成后加分号,输入
“ Enter ”,矩阵被储存并在 workspace中显示出来。最后调用线性规划的函数
[x,fval]=li nprog(c,[],[],Aeq,beq,lb); 回车,即可得求解结果
最优解:
最优解为 x13 =50, x14 =150, x23 =50, x25 =180,其余变量均为零。表示当煤
矿A1向B1运输量为50, A1向B2运输量为150, A2向B1运输量为50, A2向
B3运输量为180时,目标函数即运输成本取得最小值为 32500元。
Excel 和 matlab 优劣性比较:
Excel 模型直观明了,但是输入单元格较多,设置参数多,过程较复杂,而 matlab 有编程的意思,采用专门的操作语言,界面不够清晰明了,但是功能强 大,输入快捷,运算迅速。
Excel 可用于求解变量较少,较为简单的模型,用于 日常使用, matlab 则是比较专业的软件,适用于较为复杂的问题求解。