有时候我们在使用matlab进行数据计算的时候,需要用到线性规划优化计算出最优解,怎么使用呢,下面来分享一下方法
第一步我们首先需要知道,matlab中用于线性规划优化计算的是linprog()函数,公式是[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beq,lb,ub);,其中各个参数的意思可以看下面的注释,如下图所示:
第二步线性规划优化计算求最优解的方法很多,有单纯形法,大M法,内点法等,linprog函数集中了这几种线性规划算法,如果感兴趣的话,可以去了解一下这几种算法,下面通过一个实例来介绍linprog()函数求线性规划问题最优解,如下图所示:
第三步我们根据目标函数和约束条件,可以得出目标函数系数矩阵f=[-5; -4; -6],不等式约束系数矩阵A =[1 -1 1;3 2 4;3 2 0],不等式约束常向量b=[20; 42; 30],lb=zeros(3,1),如下图所示:
第四步我们打开matlab,在命令行窗口中,输入f,A,b,lb,最后通过“[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)”求最优解,如下图所示:
第五步按回车键之后,我们可以看到求出的最优解x,目标函数最优值fval,其中exitflag =1代表求解的结果是成功的,如果是其他数字代表失败,如下图所示:
第六步我们也可以看一下优化过程中的各种输出信息output,结构体,包含最优解处的拉格朗日乘子lambda,如下图所示:
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!