【OR】Matlab求解最优化问题(1) 线性规划

【OR】Matlab求解最优化问题(1) 线性规划

导航线性规划问题求解linprog函数

案例

含参数线性规划

参考资料

线性规划问题求解

目前matlab求解线性规划算法主要内点法(interior-point methods)和单纯形法(simplex method)

线性规划的标准数学模型为

min?f(x)s.t.{A?x≤bAeq?x=beqlb≤x≤ub

\min f(x)\\

s.t.\begin{cases}

A\cdot x\leq b\\

Aeq \cdot x=beq\\

lb\leq x\leq ub

\end{cases}minf(x)s.t.??????A?x≤bAeq?x=beqlb≤x≤ub?

函数语法

[x, fval, exitflag, output, lambda]=linprog(f, A, b, Aeq, beq, lb, ub, x0, options)

输入参数中,x0表示起始迭代点,options为优化参数的设置

输出参数中,fval为找到的最优解,exitflag为迭代停止标识,具体数值含义如下

数值

含义

1

算法收敛于解xxx

0

达到最大迭代次数算法停止,输出的xxx未必为最优解

2

算法没有找到可行解,问题的可行解集为空集

3

原问题为无解,解为无穷

4

算法出现异常,出现非数值情况

5

线性规划的原问题和对偶问题均不可解

7

可行搜索方向向量太小,无法再提高最优解的质量

output为算法计算信息,含义表如下

项目

含义

Algorithm

计算时使用的优化算法

Cgiterations

算法迭代次数

iterations

算法迭代次数

Exit message

返回结束信息

lambda为返回点的拉格朗日乘子信息,含义表如下

项目

含义

Lower

求得解越下界

Upper

求得解越上界

Neqlin

求得解不满足不等式约束

Eqlin

求得解不满足等式约束

线性规划的目标函数为

min?f=?x1?x2?x3s.t.{7x1+3x2+9x3≤18x1+5x2+4x3≤16x1+9x2+5x3≤1x1,x2,x3≥0

\min f=-x_1-x_2-x_3\\

s.t.\begin{cases}

7x_1+3x_2+9x_3\leq 1\\

8x_1+5x_2+4x_3\leq 1\\

6x_1+9x_2+5x_3\leq 1\\

x_1, x_2, x_3\geq 0

\end{cases}minf=?x1??x2??x3?s.t.??????????7x1?+3x2?+9x3?≤18x1?+5x2?+4x3?≤16x1?+9x2?+5x3?≤1x1?,x2?,x3?≥0?

matlab求解代码如下

使用对偶单纯形法

%%

% 目标函数系数

f=[-1, -1, -1];

% 不等式约束的系数矩阵A

A=[7, 3, 9; 8, 5, 4; 6, 9, 5];

% 不等式约束b

b=[1, 1, 1];

% 等式约束矩阵

Aeq=[];

beq=[];

% 变量的上下界

lb=[0, 0, 0];

ub=[];

% 对偶单纯形求解

options=optimset('LargeScale', 'off', 'Algorithm','dual-simplex', 'Display', 'iter');

[x, fval, exitflag, output, lambda]=linprog(f, A, b, Aeq, beq, ub)

求解信息如下

使用内点法求解

%%

% 目标函数系数

f=[-1, -1, -1];

% 不等式约束的系数矩阵A

A=[7, 3, 9; 8, 5, 4; 6, 9, 5];

% 不等式约束b

b=[1, 1, 1];

% 等式约束矩阵

Aeq=[];

beq=[];

% 变量的上下界

lb=[0, 0, 0];

ub=[];

%% 内点法法求解

options=optimset('LargeScale', 'off', 'Algorithm','interior-point', 'Display', 'iter');

[x, fval, exitflag, output, lambda]=linprog(f, A, b, Aeq, beq, lb, ub, [], options)

含参数线性规划

求解如下目标函数含参数的线性规划

min?f=?a1x1?a2x2?a3x3s.t.{7x1+3x2+9x3≤18x1+5x2+4x3≤16x1+9x2+5x3≤1x1,x2,x3≥0

\min f=-a_1x_1-a_2x_2-a_3x_3\\

s.t.

\begin{cases}

7x_1+3x_2+9x_3\leq 1\\

8x_1+5x_2+4x_3\leq 1\\

6x_1+9x_2+5x_3\leq 1\\

x_1, x_2,x_3\geq 0

\end{cases}minf=?a1?x1??a2?x2??a3?x3?s.t.??????????7x1?+3x2?+9x3?≤18x1?+5x2?+4x3?≤16x1?+9x2?+5x3?≤1x1?,x2?,x3?≥0?

求解代码如下,在matlab 2018b中默认使用dual-simplex算法进行求解

%% 含参数线性规划

f0=[-1, -1, -1];

a=[1, 1, 1];

f=a.*f0; % 产生目标函数系数

% 不等式约束的系数矩阵A

A=[7, 3, 9; 8, 5, 4; 6, 9, 5];

% 不等式约束b

b=[1, 1, 1];

% 等式约束矩阵

Aeq=[];

beq=[];

% 变量的上下界

lb=[0, 0, 0];

ub=[];

options=optimset('Display', 'iter'); % 显示迭代过程

[x, fval, exitflag, output, lambda]=linprog(f, A, b, Aeq, beq, lb, ub, [], options)

参考资料

金融数量分析 北京航天航空大学出版社 郑志勇

【OR】Matlab求解最优化问题(1) 线性规划相关教程

matlab线性规划的最优化,【OR】Matlab求解最优化问题(1) 线性规划相关推荐

  1. matlab 函数优化问题,matlab求解最优化问题 Matlab在最优化问题中的应用举例.doc

    matlab求解最优化问题 Matlab在最优化问题中的应用举例 导读:就爱阅读网友为您分享以下"Matlab在最优化问题中的应用举例"的资讯,希望对您有所帮助,感谢您对92的支持 ...

  2. 【引路帖】【MATLAB】【求解最优化问题】

    参考链接: 1.MATLAB 求解最优化问题:https://blog.csdn.net/cclethe/article/details/77200997 2.百度文库:https://wenku.b ...

  3. matlab求解最优化问题(数学建模)

    matlab求解最优化问题(数学建模) 1.线性规划 matlab中线性规划优化计算方法和实例 在matlab中用于线性规划优化计算的是linprog()函数. 公式:[x,fval,exitflag ...

  4. MATLAB 求解最优化问题

    MATLAB 求解最优化问题 MATLAB 优化工具箱解线性规划 模型1 minz=cXs.t.AX≤b \text{min} \quad z=cX \\ s.t.\quad AX\leq b 命令: ...

  5. yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)

    转自,原文: https://www.cnblogs.com/kane1990/p/3428129.html 最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量). ...

  6. 1、Matlab线性规划(线性约束下极值求解)

    1.Matlab线性规划(线性约束下极值求解) 参考MATLAB数学建模经典案例实战(余胜威2015)

  7. C++内点法求解大规模线性规划问题——对标MATLAB中linprog函数

    C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 文章目录 C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 1. 项目场景 2. 约束的规范化 3 ...

  8. 【OR】Matlab求解最优化问题(2) 非线性优化

    导航 实验环境 非线性优化 无约束非线性优化 约束非线性优化 Matlab求解函数 fminunc(无约束) fminsearch fmincon 大规模优化问题 含参数优化 参考资料 实验环境 Ma ...

  9. matlab编程与最优化设计应用,MATLAB编程与最优化设计应用

    MATLAB编程与最优化设计应用 出版时间:2013年08月 定 价:59.00 I S B N :9787121210525 所属分类: 计算机•网络 &nbsp计算机•网络  >   ...

  10. matlab使用linprog()函数解决简单的线性规划问题

    *matlab关于用linprog函数求解简单的线性规划问题 问题描述 这是一道高中都见过的线性规划题目,那接下来我们将用linprog函数来求解目标函数的最优解即最大值 一.Matlab代码如下 & ...

最新文章

  1. 面试必备,Java线程状态之细节回顾
  2. java session原理_java web开发—session的工作原理总结
  3. 通通玩blend美工(8)——动态绘制路径动画,画出个萌妹子~
  4. OPPO R17引领渐变色手机潮流,15步技术处理工艺出众
  5. springmvc请求返回一个字符_response 返回 带双引号 的字符串解决办法 springmvc
  6. WINDOWS PHONE死于自己不兼容
  7. java jsp分页_jsp实现分页的步骤及代码
  8. mysql三表联合查询_求三表联合查询的SQL查询语句
  9. 基于MS强度或计数的数据依赖法非标记定量蛋白质组学的蛋白质互作分析(一)
  10. js实现23种设计模式
  11. 容齐的身世_白发王妃漫夭和容齐是什么关系 女主容乐跟谁睡过遭扒可怜容齐...
  12. 什么是聚类以及四种聚类方法的比较
  13. 数据增强(扩充)适合初学者
  14. zbb20170216_spring_aop
  15. Python 博客园快速备份脚本
  16. 一文看懂:NAS网络存储与SAN、DAS的区别
  17. 泛融科技CEO王小彬:区块链技术创造新商业模式
  18. 半导体芯片为什么一定要用硅?
  19. c++中CreateEvent函数
  20. 微信小游戏实战——飞机大战demo笔记完整篇(函数实现)

热门文章

  1. 深度学习在摄影技术中的应用与发展
  2. win10计算机磁盘图标,win10系统如何更换硬盘图标_Win10更换磁盘图标的详细步骤...
  3. 问卷java_Java 问卷调查
  4. win10运行程序提示“为了对电脑进行保护,已经阻止此应用” 解决方法
  5. linux网络设置在哪里,虚拟机里,linux网络设置在哪啊,我没找到
  6. 织梦Dedecms忘记管理员后台密码解决办法
  7. 遥感中的数字量化值DN, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive的意义
  8. 安卓 VNET 抓取 wskey 教程
  9. 三角形的内切圆和外接圆半径公式
  10. uni-app数据缓存