数学实验三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验报告
实验课程名称
开课实验室
学院专业班
学生姓名刘蛰学号
开课时间至学年第学期
数学与统计学院制
开课学院、实验室:实验时间:年月日
课程名称实验项目
名称
实验项目类型
验证演示综合设计其他
指导
教师
成绩
实验目的
[1] 学习最优化技术和基本原理,了解最优化问题的分类;
[2] 掌握线性规划的建模技巧和求解方法;
[3] 学习灵敏度分析问题的思维方法;
[4] 熟悉MATLAB软件求解线性规划模型的基本命令;
[5] 通过范例学习,熟悉建立线性规划模型的基本要素和求解方法。
基础实验
一、实验内容
1,(运输问题)从Toronto和Detroit两市分别有两批货物
途径Chicago和Buffalo最终到达New York、Phila.和St.louis市.之间的路线表述如下图:
其中Toronto和 Detroit 分别有600和500的货物需要运出,New York、Phila. 和St.louis的货物需求分别是450、350和300.每一段上的运输单价如下面两表:
To
From Chicago Buffalo Supply
Toronto Detroit
$4
$ 5
$ 7
$ 7
600
500 To
From New York Phila. St.louis
Chicago Buffalo Demand $3
$ 1
450
$ 2
$ 3
350
$ 2
$ 4
300
问:如何进行运输安排使整个的运输费用最少?试建立问题的数学模型并求出最优解。
2.M文件:
x0=[1,1,1,1,1];
a=[-2.3;-2.3;-2.3;-2.3;-2.3];
b=[2.3;2.3;3.2;3.2;3.2];
[x,fmin]=fmincon('zhishu',x0,[],[],[],[],a,b,'feixianxingyueshu')名字为zhishu的M文件:
function f=zhishu(x);
f=exp(x(1)*x(2)*x(3)*x(4)*x(5));
名字为feixianxingyueshu的M文件:
function [c,ceq]=feixianxingyueshu(x);
c=[];ceq(1)=0;
for i=1:5
ceq(1)=ceq(1)+x(i)*x(i);
end
ceq(1)=ceq(1)-10;
ceq(2)=x(2)*x(3)-5*x(4)*x(5);
ceq(3)=x(1)*x(1)*x(1)+x(2)*x(2)*x(2)+1;
运行结果截图:
3.第一小题M文件:
a=[29.74 4.9 69.32 65.0 98.3 55.27 40.0 19.8 62.5 73.3 37.58 0.98 41.98 75.37 79.38 92.0 84.47 36.77 62.08 73.13];
b=[19.39 90.48 56.92 63.18 23.44 54.88 93.16 33.5 65.5 39.19 62.73 69.9 39.72 41.37 65.52 83.75 37.16 42.52 59.46 56.58];
[x,fmin]=fminsearch('huayuan',[20,20])
scatter(a,b,'*')
grid on
hold on
scatter(x(1),x(2))
名字为huayuan的M文件:
function f=huayuan(x);
f=0;
a=[29.74 4.9 69.32 65.0 98.3 55.27 40.0 19.8 62.5 73.3 37.58 0.98 41.98 75.37 79.38 92.0 84.47 36.77 62.08 73.13];
b=[19.39 90.48 56.92 63.18 23.44 54.88 93.16 33.5 65.5 39.19 62.73 69.9 39.72 41.37 65.52 83.75 37.16 42.52 59.46 56.58];
for i=1:20
f=f+sqrt((x(1)-a(i))^2+(x(2)-b(i))^2);
end
运行结果截图:
第二小题M文件:
a=[29.74 4.9 69.32 65.0 98.3 55.27 40.0 19.8 62.5 73.3 37.58 0.98 41.98 75.37 79.38 92.0 84.47 36.77 62.08 73.13];
b=[19.39 90.48 56.92 63.18 23.44 54.88 93.16 33.5 65.5 39.19 62.73 69.9 39.72 41.37 65.52 83.75 37.16 42.52 59.46 56.58];
[x,fmin]=fminsearch('huayuan1',[20,20])
scatter(a,b,'*')
grid on
hold on
scatter(x(1),x(2))
名字为huayuan1的M文件:
function f=huayuan1(x);
f=0;
a=[29.74 4.9 69.32 65.0 98.3 55.27 40.0 19.8 62.5 73.3 37.58 0.98 41.98 75.37 79.38 92.0 84.47 36.77 62.08 73.13];
b=[19.39 90.48 56.92 63.18 23.44 54.88 93.16 33.5 65.5 39.19 62.73 69.9 39.72 41.37 65.52 83.75 37.16 42.52 59.46 56.58];
c=[1 1 2 4 4 2 5 1 6 1 1 1 4 2 6 2 1 2 4 5];
for i=1:20
f=f+sqrt((x(1)-a(i))^2+(x(2)-b(i))^2)*c(i);
end
运行结果截图:
应用实验(或综合实验)
一、实验内容
(人员组织安排)随着电话银行等业务的开展,香港汇丰银行在美国的服务中心需要雇佣一批话务员处理相关业务。通过对以往数据的分析,发现一天中不同的时段打进电话的数量是不同的,通过估计从上午9时到下午5时每个小时的话务员需要量分别是10,12,14,16,18,17,15和10人。话务员可以使用全职雇员和临时雇员,全职雇员的薪水是每天120美元,临时雇员是每小时10美元。全职雇员从上午9时工作到下午5时,但中间有一个小时的休息时间。一般地,一半的雇员在11时开始休息,一半的雇员在12时休息。临时雇员每次是工作连续的四小时,中间没有休息时间。公司可用的全职雇员不超过12人。同时要求一半以上的工作由全职雇员完成。试给出一个人员的雇佣方案,使得公司所支付的薪水总数最少。(要求使用Lingo得到问题的整数解。)
二、问题分析
雇佣的人员的多少决定了公司所支付的薪水数量,本题的目标是设计适当的雇佣方案,使得所支付的薪水最少。决定这个目标值的量就是两类雇员的数量,全职雇员的数量假设为x1,由于临时雇员