在Matlab中解形如下式的线性规划问题:
其中包括优化对象 f’ * x, 不等式约束,等式约束,以及约束变量的上下界。
在Matlab中提供了linprog函数进行线性优化的求解:
eg:
[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb,ub,options)
函数的输入f, 即为优化对象f, A,b, Aeq, beq, lb,ub 均为上式中的具体表达。最后的options是对优化过程进行参数设置,主要的包括:
options = optimoptions(‘linprog’,‘Algorithm’,‘interior-point’,‘Display’,‘iter’,‘MaxIterations’,10)
选择优化方法: 线性优化
选择优化算法: 内点法(线性优化中还提供其他算法)
显示: 显示循环次数
限制循环次数
还有其他参数可以设置:具体的搜索Matlab reference中的 Optimization Options Reference获得。
举个例子:
我们解下面的线性规划问题:
f = [-2;-1;1];
A = [1 4 -1; 2 -2 1];
b = [4;12];
Aeq =