1、我们首先需要知道,matlab中用于线性规划优化计算的是linprog()函数,公式是[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beq,lb,ub);,其中各个参数的意思可以看下面的注释,如下图所示:
2、线性规划优化计算求最优解的方法很多,有单纯形法,大M法,内点法等,linprog函数集中了这几种线性规划算法,如果感兴趣的话,可以去了解一下这几种算法,下面通过一个实例来介绍linprog()函数求线性规划问题最优解,如下图所示:
3、我们根据目标函数和约束条件,可以得出目标函数系数矩阵f=,不等式约束系数矩阵A =,不等式约束常向量b=,lb=zeros(3,1),如下图所示:
4、我们打开matlab,在命令行窗口中,输入f,A,b,lb,最后通过“[x,fval,exitflag,output,lambda]=linprog(f,A,b,,,lb)”求最优解,如下图所示:
5、按回车键之后,我们可以看到求出的最优解x,目标函数最优值fval,其中exitflag =1代表求解的结果是成功的,如果是其他数字代表失败,如下图所示:
6、我们也可以看一下优化过程中的各种输出信息output,结构体,包含最优解处的拉格朗日乘子lambda,如下图所示: