管理运筹学实验

发布 2022-09-15 12:45:28 阅读 3002

一、实验目的。

1.了解、使用matlab中的优化命令求解线性规划、非线性规划、二次规划等问题;2.编制程序“一维搜索中的fibonacci算法”.二、实验原理。

1.实际问题的最优化问题,在数学上表现为求极值问题;

2.极值问题总体上可分为两大类:一类为线性规划(目标函数和约束都为线性的)另一类为非线性规划(目标与约束之一为非线性的);

3.解决极值问题的数学方法有:一维搜索中的fibonacci法、**分割法;多元极值中的最速下降法、牛顿法、广义牛顿法、外点法和内点法等。

4.根据不同的实际优化问题,采用适当的方法求解。三、阅读以下matlab优化命令,**例1—例4的函数、命令。

matlab中提供了许多优化命令,这些命令都是根据数学上的基本算法,或经过改进而编制的,使用方便,是人们解决问题的好帮手。1.线性优化(含单元,多元函数)

完整格式:[x,fval]=linprog(f,a,b,aeq,beq,lb,ub,x0)基本格式:[x,fval]=linprog(f,a,b)用于解以下线性规划问题。

minzftx

axb,不等式约束aeqxbeq,等式约束,以下各命令格式中的意义相同。st

lbxub,下上界x0初值。

x1x2x320

3x2x4x42123

例1求解线性规划minz5x24x26x3,st。

3x12x230x1,x2,x30

解命令程序如下f=[-5;-4;-6];

a=[1,-1,1;3,2,4;3,2,0];b=[20;42;30];lb=zeros(3,1);

x,fval]=linprog(f,a,b,lb) %未取初值。

注:上述命令也可用于目标规划的求解。例如。

minzpdp(dd)pd1122233

2x1x211

x1x2d1d10

stx12x2d2d210

8x10xdd233561

x,x0,d,d0,i1,2,3

ii12f=[0 0 0 300 200 200 100 0]';价值系数a=[2 1 0 0 0 0 0 0];%不等式约束b=[11]';不等式资源限制。

ae=[1 -1 1 -1 0 0 0 0;1 2 0 0 1 -1 0 0;8 10 0 0 0 0 1 -1];%等式约束be=[0 10 56]';等式资源限制lb=zeros(8,1);%变量下限。

x=linprog(f,a,b,ae,be,lb) %未取初值。

2.非线性优化。

1)一元非线性极小值(有界区间上的函数最小值)只有区间约束,无所谓初值格式:[x,fval] =fminbnd(fun,x1,x2)

x3cosxxlogx

例2求函数f(x)在[0,1]上的最小值。x

e解法一*用**定义函数的方法求解,即。

fun=inline('(x^3+cos(x)+x*log(x))/exp(x)')x,fval]=fminbnd(fun,0,1);

解法二用函数定义目标函数(可带参数)function y=myfun(x,a)

y=(x^3+cos(x)+a*x*log(x))/exp(x);然后用。

a=1.2; [x,fval]=fminbnd(@(x)myfun(x,a),0,1)

2)多元函数极小值(i)无约束。

格式1:[x,fval]=fminsearch(fun,x0)(较适合非线性次数<=2)格式2:[x,fval]=fminunc(fun,x0)(较适合非线性次数》2)

例3求y2x1的最小值。 x0=[0,0]4x1x210x1x2x2

解法一用**定义函数的方法,命令如下。

fun=inline('2*x(1)^3+4*x(1)*x(2)^3-10*x(1)*x(2)+x(2)^2');x,fval]=fminsearch(fun,[0;0])%无约束的初值自由度较大。

解法二函数文件(可带参数)function y=myfun(x)

y=2*x(1)^3+4*x(1)*x(2)^3-10*x(1)*x(2)+x(2)^2;然后发命令。

x,fval]=fminsearch(@(x)myfun(x),[0;0])

ii)有约束(线性不等式、等式约束,下上界;非线性不等式、等式约束)问题标准形式为。

minf(x),g

xg格式:[x,fval]=fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon)例4求下面问题在初始点(0,1)处附近的最优解。

minzx12x2x1x22x15x2非线性目标函数。

x11)2x20

2x13x260

一个非线性不等式约束,另一个线性不等式约束。

解法一:先建立如下非线性的不等式和等式约束函数文件function [c,ceq]=mycon(x)

c=(x(1)-1)^2-x(2);%不等式非线性约束ceq=等式非线性约束为空然后在命令窗口中键入。

f=inline('x(1)^2+x(2)^2-x(1)*x(2)-2*x(1)-5*x(2);'x0=[0;1]; 可行域里的点。

a=[-2,3]; b=6; aeq=beq=lb=ub=线性约束[x,fval]=fmincon(f,x0,a,b,aeq,beq,lb,ub,@mycon)解法二:

function [c,ceq]=mycon(x)

c(1)=(x(1)-1)^2-x(2);%非线性不等式约束c(2)=-2*x(1)+3*x(2)-6;%也视作非线性不等式约束。

ceq=等式非线性约束为空。

然后x0=[0;1]; x,fval]=fmincon(f,x0mycon)

四、实验内容。

1.(1)求解6.25题(初始条件为x0=[0;1];(2)求解6.26(1)题(初始条件为x0=[1.5;1];(3)求解6.27题(初始条件为x0=[2;1];

2.编制程序“一维搜索中的fibonacci算法”,要求显示每一步的区间左右端点、两个试点、试点上的函数值,对程序的语句要作必要的注释。并应用自编的程序求解下列问题。

minf(x)x2x8st.1x6

五、实验报告。

要求缩短后区间为原区间的5%.

对“实验内容1”,直接写结果(写上对应的题号);

对“实验内容2”的自编程序,用email发至对“实验内容2”的例子,写出程序的中间输出和最终结果。

运筹学实验

1.9题。解 设表示名司机和乘务人员第k班次开始上班,由题意有,c 1 1 1 1 1 1 a 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 lb 0 0 0 0 0 0 b 60 70 60 50 2...

运筹学实验

运筹学的实际应用。爸爸去哪儿 择房中的层次分析法。主题概述。我们这次报告的主题是 层次分析法 层次分析法 analytic hierarchy process简称ahp 是将与决策总是有关的元素分解成目标 准则 方案等层次,在此基础之上进行定性和定量分析的决策方法。我们通过最近热播的节目 爸爸去哪儿...

运筹学实验

运。筹。学。学部 院 经济与管理学部。专业 人力资源管理。学号 3220120426 姓名谈家强。2014年 5月23日。实验一管理运筹学软件。一 实验目的和要求。1 了解管理运筹学的软件的用途。2 掌握管理运筹学的软件的使用方法。二 实验步骤。1 了解管理运筹学的软件的安装及相关界面。2 使用管理...