1、线性规划
举个栗子
c=[2;3;-5];
aeq=[1,1,1];
beq=7;
a=[-2,5,-1];
b=-10;
x=linprog(-c,a,b,aeq,beq,zeros(3,1));%x的取值下界
value=c'*x %,一撇就是转置
结果:Optimization terminated.
value =
14.5714
2、非线性规划
举两个栗子:
②
fun.m
function f=fun(x);
f=x(1)^2+x(2)^2-x(1)*x(2)-2*x(1)-5*x(2)
mycon.m
function [g,ceq]=mycon(x);
g=[(x(1)-1)^2-x(2)];
ceq=[];
op.m
x0=[0 1];
A=[-2 3];%线性不等式约束
b=6;
Aeq=[];%无线性等式约束
beq=[];
lb=[];%上下界
ub=[];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,lb,ub,'mycon')
如果:
x =
2.9994 3.9992
fval =
-13.0000