第三讲 Matlab优化工具一、简介在建模过程中,许多问题都可归结为“最优化(optimization)”问题,如最大利润、最小成本、最短路径等,最优化问题也称数学规划。要描述一个最优化问题,应明确三个基本要素:决策变量(decisionvariables):它们是决策者所控制的变量,它们取什么值需要决策者来决策,最优化问题的求解就是找出决策变量的最优取值。约束条件(constraints):它们是决策变量在现实世界中所受到的限制,或者说决策变量在这些限制范围之内取值才有实际意义。目标函数(objectivefunction):它代表决策者希望对其进行优化的那个指标,目标函数是决策变量的函数。最优化问题的分类,按决策变量是否是时间的函数分为 动态优化和静态优化。按目标函数与约束条件是否是决策变量的线性函数分为线性规划和非线性规划,按决策变量是否为整数分为整数规划和非整数规划,此外还有0-1规划、二次规划、多目标优化、最小最大优化问题等。可行解(feasiblesolution):满足全部约束条件的决策向量。可行域:全部可行解构成的集合。最优解:使目标函数达到最优值(最大或最小值,并且有界)的可行解。无界解:若求极大化则目标函数在可行域中无上界, 若求极小化则目标函数在可行域中无下界。二、线性规划(Linearprogramming)Matlab中,线性规划问题的标准形式为minst..TcxAxbAeqxbeqlb x ub其中c(c1,c2,T),x(x1,x2,Lxn)T思考:最大值问题 maxcTx和不等式约束Axb怎样转化为上述标准形式?(加负号;两边同乘-1)Matlab中解上述线性规划问题的指令:x=linprog(c,A,b,Aeq,beq,lb,ub)或[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)说明:当上述指令中某个输入参数缺省时应在相应位置填上空矩阵[],若从某项输入参数开始往后各项参数都缺省,则可以将其全部省略而不用补上[]。例如线性规划问题minTcx,st..Ax b,可以表示为x=linprog(c,A,b);而问题minTcx,st..Ax blb x ub则必须表示为x=linprog(c,A,b,[],[],lb,ub)例:解下列线性规划问题1、minst..zx13x13x1xi5x1 4x2x2 x3 202x2 4x32x2 300,i1,2,36x3422、maxz 400x12x2 x32x1 3x2st..3x1 4x20 x3 5x1 0,x21000x2x4 016240,x4 0300x3200x4解:1、>>c=[-5-4-6];A=[1-11;324;320];>>b=[204230];lb=zeros(3,1);>>[x,fval]=linprog(c,A,b,[],[],lb)2、>>c=[4001000300-200];c=-c;>>A=[2300;3400];b=[1624];>>Aeq=[0-211];beq=[0];>>lb=zeros(4,1);ub=[infinf5inf]';>>[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)三、非线性规划(Nonlinearpro
(完整版)第三讲Matlab优化工具 来自淘豆网www.taodocs.com转载请标明出处.