数学建模——线性规划

这篇具有很好参考价值的文章主要介绍了数学建模——线性规划。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

基本概念

模型求解和应用

基于求解器的求解方法

基于问题的求解方法

其他 


基本概念

运筹学的一个重要分支是数学规划,线性规划是数学规划的一个重要的分支。

变量称为决策变量,规划的目标称为目标函数,限制条件称为约束条件,s.t.是“受约束于”的意思。

建立线性规划模型的一般步骤为:①分析问题,找出决策变量。②找出等式或不等式约束条件。③构造关于决策变量的一个线性函数。

线性规划模型的一般形式:

数学建模线性规划,数学建模,动态规划,算法

或:

数学建模线性规划,数学建模,动态规划,算法

数学建模线性规划,数学建模,动态规划,算法

为目标函数的系数向量,又称为价值向量;为决策向量;为约束方程组的系数矩阵;为约束方程组的常数向量。

还有标准型:

数学建模线性规划,数学建模,动态规划,算法

目标函数为极大型,约束条件为等式约束。满足约束条件的解为可行解,使目标函数达到最大值得可行解角叫最优解。所有可行解构成的集合叫做可行域,记为R。

在数学规划问题求解过程中,一定还要计算灵敏度分析。灵敏度分析指系统因周围条件变化显示出来的敏感程度的分析。线性规划问题的a、b、c都设定为常数,但是在实际过程中,这些系数都会有少许的变动。

模型求解和应用

MATLAB中求解数学规划的问题有两种模式:基于求解器的求解方法基于问题的求解方法

基于求解器的求解方法

需要将线性规划化为标准形式:

数学建模线性规划,数学建模,动态规划,算法

要求目标函数必须是最小化,约束条件分为小于等于约束和等号约束,lb和ub是决策变量上下界。

MATLAB函数调用格式为:

[x,fval] = linprog(f,A,b)

[x,fval] = linprog(f,A,b,Aeq,beq)

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

x返回的是决策变量的取值,fval返回的是目标函数的最优值,f为价值向量,A,b对应的是线性不等式约束,Aeq和beq对应的是线性等式的约束,lb和ub分别对应决策向量的下界向量和上界向量。

这种方法只能应用于决策向量是一维的情况。

基于问题的求解方法

首先用变量和表达式构造优化问题,然后用solve函数求解,可以用doc optimproblem查看帮助。

①prob=optimproblem('ObjectiveSense','max');

ObjectiveSense可以是max和min,代表优化最大值还是最小值,默认是min

②定义f,A,b(同上,f可以定义为行向量,这样目标函数不同再转置)

③x=optimvar('x',2,1,'TYPE','integer','LowerBound',0,'UpperBound',inf);

第一个‘x’里面是变量名,列向量,后面是存在几行几列。

‘TYPE’,后面定义的是该函数所属类型,比如说integer整数型,double双精度型号

‘LowerBound'与'UpperBound'表示下界与上界所跟的0,inf分别是范围

④prob.Objective=f * x;%目标函数,目标函数需要得到一个标量数值,不是矩阵向量

⑤prob.Constraints.con=A*x<=b;%约束条件,只有一个约束,也可以不加.con,.con是标签,可以自己命名,多个约束条件时,必须标签不能一样。

⑥[sol fval flag out]=solve(prob);%fval是最优值,sol.x是决策变量的值,当多个决策变量时,可以sol.y,flag在线性规划中不用在意,在非线性规划中注意不能为负值。

例如:

数学建模线性规划,数学建模,动态规划,算法

 采用求解器求解:

clc,clear
f = [-2;-3;5];%转换为求最小
A = [-2,5,-1;1,3,1];
b = [-10;12];
Aeq = [1,1,1];
beq = [7];
lb = zeros(3,1);
[x,fval] = linprog(f,A,b,Aeq,beq,lb,[]);
x
-fval

x =

    6.4286
    0.5714
         0
ans =

   14.5714文章来源地址https://www.toymoban.com/news/detail-802302.html

采用基于问题的求解

clc,clear
prob=optimproblem('ObjectiveSense','max');
x=optimvar('x',3,'LowerBound',0);
prob.Objective=2*x(1) + 3*x(2) - 5*x(3);
prob.Constraints.con1=2*x(1) - 5*x(2) + x(3)>=10;
prob.Constraints.con2=x(1) + 3*x(2) + x(3)<=12;
prob.Constraints.con3=x(1) + x(2) + x(3)==7;
[sol fval flag out]=solve(prob);
sol.x
fval

ans =

    6.4286
    0.5714
         0
fval =

   14.5714

其他 

  • MATLAB中,加载现有的txt文件的矩阵时,若用load函数,则矩阵应每一行列数应该相等。如果缺少个别的数,可使用readmatrix函数。writematrix(a,'data.xlsx')可以写入Excel中。 
  • 矩阵索引a(1:end,1),end就自动是行的最后一列
  • sum(a,'all')表示矩阵a的所有元素求和

到了这里,关于数学建模——线性规划的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模】线性规划

    1.1线性规划的实例与定义 1.2线性规划的Matlab标准形式 线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab中规定线性规划的标准形式为 其中c和x为n维列向量,A,Aeq为适当维数

    2024年02月09日
    浏览(30)
  • 数学建模——线性规划类

    [x,y]=linprog(c,A,b,Aeq,beq,lb,ub) 例如: max需要加负号变成min、=需要加负号变成= matlab (1)基于求解器 (2)基于问题 con中根据符号分类 python (1)绝对值 (2)min(max(q*x)) (见风投案例模型二) 【0】题目描述 【1】模型一 模型一:设定风险度的最大接受值,在不太冒险的情况下

    2024年02月13日
    浏览(30)
  • 数学建模(二)线性规划

    课程推荐:6 线性规划模型基本原理与编程实现_哔哩哔哩_bilibili 目录 一、线性规划的实例与定义 1.1 线性规划的实例 1.2 线性规划的定义 1.3 最优解 1.4 线性规划的Mathlab标准形式 1.5 使用linprog函数 二、线性规划模型建模实战与代码 2.1 问题提出 2.2 基本假设 2.3 模型的分析与建

    2024年02月12日
    浏览(25)
  • 数学建模| 线性规划(Matlab)

    线性规划:约束条件和目标函数都是线性的。简单点说,所有的决策变量在目标函数和约束条件中都是一次方。 Matlab函数: 参数解释: func 表示目标函数。 A 表示不等式约束条件系数矩阵,b 表示不等式约束条件常数矩阵。 Aeq 表示等式约束条件系数矩阵,beq 表示等式约束条

    2024年02月07日
    浏览(30)
  • 数学建模——非线性规划

    目录 基本概念 凸规划 判别定理 二次规划模型 非线性规划的求解 无约束极值问题 有约束极值问题 基于求解器的解法 基于问题的求解 其他 非线性规划:描述目标函数或约束条件条件的数学表达式中,至少有一个是非线性函数。 记是n维欧式空间中的一个点(n维向量),,

    2024年02月06日
    浏览(31)
  • 数学建模【非线性规划】

    一、非线性规划简介 通过分析问题判断是用线性规划还是非线性规划 线性规划:模型中所有的变量都是一次方 非线性规划:模型中至少一个变量是非线性 非线性规划在形式上与线性规划非常类似,但在数学上求解却困难很多 线性规划有通用的求解准确解的方法(单纯形法

    2024年02月19日
    浏览(34)
  • 一、数学建模之线性规划篇

    1.定义 2.例题 3.使用软件及解题 1.线性规划 (Linear Programming,简称LP)是一种数学优化技术,线性规划作为运筹学的一个重要分支,专门研究在给定一组线性约束条件下,如何找到一个最优的决策,使得目标函数取得最大或最小值。 线性规划属于运筹学 (Operations Research)这

    2024年02月12日
    浏览(23)
  • 数学建模 | 第一章 线性规划例题

    例1.1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。生产甲机床需用A、B机器加工,加工时间分别为每台2小时和1小时;生产乙机床需用A、B、C三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为A机器10小时、B机器8小时和

    2024年02月03日
    浏览(33)
  • MATLAB-数学建模-线性规划-1

    目录 1.1  线性规划模型的一般形式: 1.2  线性规划模型          minz=f(x)         s.t.     (i=1,2,···,m) 1和2组成的模型属于约束优化  f(x)称为目标函数,称为约束条件   决策变量 、 目标函数 、 约束条件 构成了线性规划的3个基本要素 min    u=cx s.t.      Ax b        

    2024年02月09日
    浏览(28)
  • 数学建模学习---非线性规划

    目录 前言 一、非线性规划问题是什么? 二、非线性规划的数学模型 1.一般形式 三、线性规划的 Matlab 解法 Matlab 中非线性规划的数学模型: 2.Matlab 中的命令: 本篇讲述非线性规划问题极其matlab解法 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包