线性规划 - 数学建模
一、线性规划模型及概念
规划问题的数学模型一般由三个因素构成 决策变量 目标函数 约束条件
数学规划是运筹学的一个重要分支,线性规划是数学规划的一个重要分支
线性规划即以线性函数为目标函数,线性条件为约束条件
建立线性规划模型的基本步骤
(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
线性规划 - 数学建模相关推荐
- 利用matlab求解线性规划,数学建模讲座之三利用matlab求解线性规划问题(linprog函数)...
数学建模讲座之三利用matlab求解线性规划问题(linprog函数) 利用利用 Matlab求解线性规划问题求解线性规划问题河北科技河北科技 大学大学*第第 1页页利用 Matlab求解线性规划问题 ...
- 数学建模——线性规划模型详解Python代码
数学建模--线性规划模型详解Python代码 标准形式为: min z=2X1+3X2+x s.t x1+4x2+2x3>=8 3x1+2x2>=6 x1,x2,x3>=0 上述线性 ...
- 【数学建模】线性规划模型MATLAB求解(最优化)
文章目录 一.算法介绍 二.适用问题 三.算法总结 1.可以转化为线性规划的问题 四.应用场景举例 1. 例1.1: 2. 解: 2. 例1.2: 2. 解: 五.MATLAB操作 六.实际案例(投资 ...
- Python小白的数学建模课-03.线性规划
线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 要通过线性规划问题,理解如何学习数学建模.如何选择编程算法. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛 ...
- matlab求奶制品,数学建模案例之线性规划.ppt
数学建模案例之线性规划奶制品的生产与销售 内容: 如何建立线性规划模型举例 线性规划模型的求解方法 要求: 掌握线性规划模型的建立方法 掌握利用数学软件 LINDO .Matlab等求解线性规 划模型 ...
- Python数学建模—线性规划
我是猿童学,本文是根据司守奎老师<数学建模算法与程序>的书本内容编写,使用其书中案例,书中的编程语言是MATLAB.Lingo,我将使用Python来解决问题.接下来的一个月我将学习使用P ...
- 数学建模算法与应用 线性规划(cvxpy包)
数学建模算法与应用 线性规划(使用cvxpy包) 说明 使用python中cvxpy库完成<数学建模算法与应用>中课后习题 因为本人也是初学者,若代码有错误还请各位指出 cvxpy库的使用 ...
- python数学建模--线性规划问题案例及求解
目录 数学问题:线性规划问题 程序设计 结果分析 实际应用1:加工厂的生产计划 设置未知数 建立数学模型 程序设计 结果分析 实际应用2:油料加工厂的采购和加工计划 设置未知数 建立数学模型 程序设计 ...
- python数学建模(二)线性规划2.实战(思路清晰\过程完整、详细)
文章目录 (一)简单陈述本文章的内容 (二)线性规划例题(实战) 2.1 实战题目 2.2 符号规定和基本假设 2.3 模型的分析 2.4 模型的建立 2.5 模型一的求解和分析 2.5.1 (代码) ...
最新文章
- BZOJ 1666 USACO 2006 Oct. 奶牛的数字游戏
- 选择结构_扩展if-else语句
- Weex Ui - Weex Conf 2018 干货分享
- Kali linux安装漏洞扫描工具Nessus指南
- 使用VS2015编写C/C++开始步骤
- Linux下redmine安装插件报错
- 不止有超大杯!小米10系列还将新增配色
- BOSS直聘上线春雷行动 首周吸引上万名应届生参与活动
- [转载] python集合add和update_python 集合set remove update add
- MongoDB 通过 Java 代码 CRUD 文档
- magisk卸载内置软件_软件卸载工具的终极武器——Revo Uninstaller
- 阿里架构总监一次讲透中台架构
- 苹果手机投屏到pc电脑
- java正则表达式是什么6_进阶Java编程(6)正则表达式
- 手机QQ邮箱登录不上的解决办法
- 配置IIS,以及添加网站
- 直播间几万人助力砍价到小数点后6位,依旧失败,拼多多再陷“砍价”风波
- EXCEL的100种便捷用法(2):怎么将EXCEL里面一个单元格的数据拆分为多列
- 学生信息管理系统C语言
- 苏州新导室内定位方案之WIFI RTLS室内定位解决方案