文档详情

MATLAB在线性规划中的应用.doc

发布:2025-05-23约6.22千字共9页下载文档
文本预览下载声明

MATLAB在线性规划中的应用

摘要

在各类经济活动中,经常遇到这样的问题:在生产条件不变的情下,如何通过统筹安排,改良生产组织或方案,合理安排人力、物力资源,组织生产过程,使总的经济效益最好。这样的问题常常可以化成或近似地化成所谓的“线性规划”〔LinearProgramming,简记为LP〕问题。线性规划是应用分析、量化的方法,对经济管理系统中的人、财、物等有限资源进行统筹安排,为决策者提供有依据的最优方案,以实现有效管理。利用线性规划我们可以解决很多问题。如:在不违反一定资源限制下,组织安排生产,获得最好的经济效益〔产量最多、利润最大、效用最高〕。也可以在满足一定需求条件下,进行合理配置,使本钱最小。同时还可以在任务或目标确定后,统筹兼顾,合理安排,用最少的资源〔如资金、设备、原材料、人工、时间等〕去完成任务。常规的手工解法复杂且运算量大,而MATLAB语言可以很好的处理线性规划问题,既能进行数值的求解,又能绘制有关线性图形,非常方便实用,利用其可以减少工作量,节约时间,加深理解,同样可以培养应用能力。

关键词:线性规划优化求解MATLAB语言

一、线性规划问题的在实际中的应用

线性规划问题的在实际应用中的作用

任何资源都是有限的,如何通过分配有限的资源获得人们所期望的效果,在工农业生产、交通运输、资本增值等各项经济活动中,如何提高经济效益,做到消耗较少的人力物力财力,创造出较多的经济价值,这些问题涉及分配,而线性规划为最优分配提供了工具。

线性规划主要研究的两类问题

一是一项任务确定后,如何统筹安排,尽量做到用最少的人力物力资源去完成这一任务。

二是已有一定数量的人力物力资源,如何安排使用它们,使得完成任务最多。常见的线性规划问题如:运输问题,生产的组织与方案问题,合力下料问题,配料问题、布局问题、分派问题等。

MATLAB在线性规划中的应用

1.MATLAB在线性规划中的指令

线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog[1]对如下式描述的LP问题求解:

%minfx

%s.t.(约束条件):Ax=b

%(等式约束条件):Aeqx=beq

%lb=x=ub

linprog函数的调用格式如下:

x=linprog(f,A,b)

x=linprog(f,A,b,Aeq,beq)

x=linprog(f,A,b,Aeq,beq,lb,ub)

x=linprog(f,A,b,Aeq,beq,lb,ub,x0)

x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)

[x,fval]=linprog(…)

[x,fval,exitflag]=linprog(…)

[x,fval,exitflag,output]=linprog(…)

[x,fval,exitflag,output,lambda]=linprog(…)

相关说明

x=linprog(f,A,b)返回值x为最优解向量。

x=linprog(f,A,b,Aeq,beq)作有等式约束的问题。假设没有不等式约束,那么令A=[]、b=[]。

x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)中lb,ub为变量x的下界和上界,x0为初值点,options为指定优化参数进行最小化。

Options的参数描述:Display显示水平;选择’off’不显示输出;选择’Iter’显示每一步迭代过程的输出;选择’final’显示最终结果。

MaxFunEvals函数评价的最大允许次数。Maxiter最大允许迭代次数。TolXx处的终止容限。

[x,fval]=linprog(…)左端fval返回解x处的目标函数值。

[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beg,lb,ub,x0)的输出局部。

exitflag描述函数计算的退出条件:假设为正值,表示目标函数收敛于解x处;假设为负值,表示目标函数不收敛;假设为零值,表示已经到达函数评价或迭代的最大次数。

output返回优化信息:output.iterations表示迭代次数;output.algorithm表示所采用的算法;outprt.funcCount表示函数评价次数。

lambda返回x处的拉格朗日乘子。它有以下属性:

lambda.lower-lambda的下界;

lambda.upper-lambda的上界;

lambda.ineqlin-lambda的线性不等式;

lambda.eqlin-lambda的线性

显示全部
相似文档