matlab中tunx"/>
matlab中tunx
Matlab数学规划问题求解
1.线性规划
线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB6.0解 决的线性规划问题的标准形式为: min ffx, xe R"
sub.to: A-x
Aeq ? x = beq lb
其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。
其它形式的线性规划问题都可经过适当变换化为此标准形式。
在MATLAB6.0版中,线性规划问题(Linear Programming)己用函数
linprog取代了 MATLAB5.X版中的Ip函数。当然,由于版本的向下兼容性,一 般说来,低版本中的函数在6.0版中仍可使用。
函数 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,xO)
x=linprog(f,A,b,Aeq,beq,lb,ub,xO,options)
[x,fval]=linprog(…)
[x,fval,exitflag]=linprog(...)
[x,fval,exitflag,output]=linprog(...)
说明:x=linprog(f,A, b) 值x为最k解向量。
说明:
x=linprog(f,A, b) 值x为最k解向量。
%求min f ’ *x,sub.to A线性规划的最优解。返回 x=linprog(f,A,b,Aeq, beq) %含有等式约束心…a: =/?叫,若没有不等式
约束则令 A=[],b=[]。
x = linprog(f,A,b, Aeq, beq, lb, ub) %指定 x 的范围
x=li叩rog(f,A,b,Aeq, beq, lb, ub, xO) %设置 xO 为初值点。
x=linprog(f,A,b,Aeq, beq, lb, ub, xO, options) % options 为指定的优化参
数。下面将进行专门描述。
[x,fval] = linprog(…)%返回目标函数最优值,即fval=f,*x。
[x,lambda,exitflag] = linprog(…)% lambda 为解 x 的 Lagrange 乘子。
[x,lambda, fval, exitflag] = linprog(…)% exitflag 为终止迭代的错误条 件。
[x,fval,lambda, exitflag,output] = linprog(…)% output 为关于优化的一
些信息。
若exitflag>0表示函数收敛于解x,exitflag=O表示超过函数估值或迭代的最 大数字,exitflag<0表示函数不收敛于解x;
lambda=lower (lambda.lower)表示下界 lb, lambda=upper (lambda.upper) 表示上界 ub,lambda=ineqlin (lambda.ineqlin)表示不等式约束,lambda=eqlin (lambda.eqlin)表示等式约束,lambda中的非0元素表示对应的约束是有效约束;
output=iterations表示迭代次数,output=algorithm表示使用的运算规则, output=cgiterations 表示 PCG 迭代次数。
Options函数描述:
对于优化控制,MATLAB提供了 18个参数,这些参数的具体意义为: opti(ms(l)?参数显示控制(默认值为0)。等于1时显示一些结果。 options(2)?优化点x的精度控制(默认值为le-4)。
options(3)?优化函数F的精度控制(默认值为le-4)。 options(4)?违反约束的结束标准(默认值为le-6)。 options(5)?算法选择,不常用。
options(6)?优化程序方法选择,为0则为BFCG算法,为1则采用DFP算
算法oPtionS(7)?线性插值算法选择,为0则为混合插值算法,为1则采用立方插
算法
;o
options(8)?函数值显示(目标一达到问题中的Lambda )
opti(mS(9)?若需要检测用户提供的梯度,贝蠟为1。
options(lO)?函数和约束估值的数目。
options( 11)-函数梯度估值的个数。
options(12)-约束估值的数目。
options(13)?等约束条件的个数。
options(14)-函数估值的最大次数(默认值是100X变量个数) options(15)?用于目标一达到问题中的特殊目标。 oPtions(16)-优化过程中变量的最小有限差分梯度值。 opti
更多推荐
matlab中tunx
发布评论