一、线性规划模型及概念

规划问题的数学模型一般由三个因素构成 决策变量 目标函数 约束条件
数学规划是运筹学的一个重要分支,线性规划是数学规划的一个重要分支
线性规划即以线性函数为目标函数,线性条件为约束条件

建立线性规划模型的基本步骤
(1)分析问题,找出决策变量
(2)根据问题,找出决策变量必须满足的一组线性等式或者不等式约束,即为约束条件
(3)根据问题的目标,构造关于决策变量的一个线性函数,即为目标函数

二、线性规划模型求解及应用

1、基于求解器求解

标准形式如下

解法:

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

其中,
输入参数:
f 为系数向量,表示目标函数系数,列向量;
A 为线性不等式约束矩阵,A 表示约束中的线性系数;
b 为线性不等式约束向量,b 表示约束中的常向量;
Aeq 为线性等式约束矩阵,beq 为线性等式约束向量;
lb 为下界,ub 为上界;
options 为 linprog 的选项
输出参数:
x 为解,fval 为目标函数最优值;
exitflag 为算法停止条件,output 为求解过程摘要,lambda 为解处的拉格朗日乘数

2、基于问题求解

首先需要用变量和表达式构造优化问题,然后用solve函数求解,详见例题

三、例题

求解下列线性规划问题

1、基于求解器求解

化为标准型

clc, clear, f = [-2; -3; 5];
a = [-2, 5, -1; 1, 3, 1]; b = [-10; 12];
aeq = [1, 1, 1]; beq = 7;
[x, y] = linprog(f, a, b, aeq, beq, zeros(3, 1));
x, y = -y  %目标函数最大化

2、基于问题求解

clc, clear
prob = optimproblem('ObjectiveSense', 'max');  % 'ObjectiveSense'为优化的意义,默认求最小
x = optimvar('x', 3, 'LowerBound', 0); % name为变量名称,n为变量维度,cstr为索引名称,Type为变量类型,continuous(默认实数)或integer(整数),LowerBound为下界,UpperBound为上界
prob.Objective = 2 * x(1) + 3 * x(2) - 5 * x(3); % .Objective为目标函数
prob.Constraints.con1 = x(1) + x(2) + x(3) == 7; % .Constraints.con1为约束条件
prob.Constraints.con2 = 2 * x(1) - 5 * x(2) + x(3) >= 10;
prob.Constraints.con3 = x(1) + 3 * x(2) + x(3) <= 12;
[sol, fval, flag, out] = solve(prob), sol.x % sol.x为优化变量矩阵,fval为目标函数最优值

求得的最优解为 x1 = 6.4286, x2 = 0.5714, x3 = 0, 对应的最优值为 z = 14.5714

线性规划 - 数学建模相关推荐

  1. 利用matlab求解线性规划,数学建模讲座之三利用matlab求解线性规划问题(linprog函数)...

    数学建模讲座之三利用matlab求解线性规划问题(linprog函数) 利用利用 Matlab求解线性规划问题求解线性规划问题河北科技河北科技 大学大学*第第 1页页利用 Matlab求解线性规划问题 ...

  2. 数学建模——线性规划模型详解Python代码

    数学建模--线性规划模型详解Python代码 标准形式为: min z=2X1+3X2+x s.t x1+4x2+2x3>=8 3x1+2x2>=6 x1,x2,x3>=0 上述线性 ...

  3. 【数学建模】线性规划模型MATLAB求解(最优化)

    文章目录 一.算法介绍 二.适用问题 三.算法总结 1.可以转化为线性规划的问题 四.应用场景举例 1. 例1.1: 2. 解: 2. 例1.2: 2. 解: 五.MATLAB操作 六.实际案例(投资 ...

  4. Python小白的数学建模课-03.线性规划

    线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 要通过线性规划问题,理解如何学习数学建模.如何选择编程算法. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛 ...

  5. matlab求奶制品,数学建模案例之线性规划.ppt

    数学建模案例之线性规划奶制品的生产与销售 内容: 如何建立线性规划模型举例 线性规划模型的求解方法 要求: 掌握线性规划模型的建立方法 掌握利用数学软件 LINDO .Matlab等求解线性规 划模型 ...

  6. Python数学建模—线性规划

    我是猿童学,本文是根据司守奎老师<数学建模算法与程序>的书本内容编写,使用其书中案例,书中的编程语言是MATLAB.Lingo,我将使用Python来解决问题.接下来的一个月我将学习使用P ...

  7. 数学建模算法与应用 线性规划(cvxpy包)

    数学建模算法与应用 线性规划(使用cvxpy包) 说明 使用python中cvxpy库完成<数学建模算法与应用>中课后习题 因为本人也是初学者,若代码有错误还请各位指出 cvxpy库的使用 ...

  8. python数学建模--线性规划问题案例及求解

    目录 数学问题:线性规划问题 程序设计 结果分析 实际应用1:加工厂的生产计划 设置未知数 建立数学模型 程序设计 结果分析 实际应用2:油料加工厂的采购和加工计划 设置未知数 建立数学模型 程序设计 ...

  9. python数学建模(二)线性规划2.实战(思路清晰\过程完整、详细)

    文章目录 (一)简单陈述本文章的内容 (二)线性规划例题(实战) 2.1 实战题目 2.2 符号规定和基本假设 2.3 模型的分析 2.4 模型的建立 2.5 模型一的求解和分析 2.5.1 (代码) ...

最新文章

  1. BZOJ 1666 USACO 2006 Oct. 奶牛的数字游戏
  2. 选择结构_扩展if-else语句
  3. Weex Ui - Weex Conf 2018 干货分享
  4. Kali linux安装漏洞扫描工具Nessus指南
  5. 使用VS2015编写C/C++开始步骤
  6. Linux下redmine安装插件报错
  7. 不止有超大杯!小米10系列还将新增配色
  8. BOSS直聘上线春雷行动 首周吸引上万名应届生参与活动
  9. [转载] python集合add和update_python 集合set remove update add
  10. MongoDB 通过 Java 代码 CRUD 文档
  11. magisk卸载内置软件_软件卸载工具的终极武器——Revo Uninstaller
  12. 阿里架构总监一次讲透中台架构
  13. 苹果手机投屏到pc电脑
  14. java正则表达式是什么6_进阶Java编程(6)正则表达式
  15. 手机QQ邮箱登录不上的解决办法
  16. 配置IIS,以及添加网站
  17. 直播间几万人助力砍价到小数点后6位,依旧失败,拼多多再陷“砍价”风波
  18. EXCEL的100种便捷用法(2):怎么将EXCEL里面一个单元格的数据拆分为多列
  19. 学生信息管理系统C语言
  20. 苏州新导室内定位方案之WIFI RTLS室内定位解决方案

热门文章

  1. HQChart使用教程60-新版k线训练使用教程
  2. 阴阳师双小小黑通关真八岐大蛇攻略——附式神配置和打法
  3. openFOAM C++代码的一些特性
  4. 非网页版微信机器人-Wechaty
  5. 中信建投X袋鼠云:实时数仓,证券机构的“速度与稳定”
  6. IE浏览器高通网站打不开dump分析选择目录总结
  7. SpringBoot打成jar包部署,Excel模板下载文件损坏,提示恢复问题处理
  8. 迷你四足机器人制作_从0到1
  9. Unity播放视频OGV格式视频
  10. CODY Contest 2020 MATLAB Onramp Practice 全15题