线性规划的实例赏析 您所在的位置:网站首页 线性规划实验报告总结 线性规划的实例赏析

线性规划的实例赏析

2024-06-05 20:35| 来源: 网络整理| 查看: 265

线性规划的实例赏析

本文偏向于数学建模实战,针对对于规划问题有一定的基础和理解的读者,所以其中数学理论与代码不过多讲解,重在解题过程的展示。

文章目录 线性规划的实例赏析前言一、解题思考模式1.MATLAB求解方法(1)基于求解器的求解方法:(2)基于问题的求解方法: 2.规划问题的构成元素3.线性规划问题的求解步骤4.线性规划模型的形式4.线性规划问题的解的概念5.灵敏度分析 二、线性规划模型的求解及应用【例一】一般问题。【例二】运输问题。【例三】可以转化为线性规划的问题 三、投资的收益与风险(Ⅰ)问题分析(Ⅱ)符号说明(Ⅲ)模型假设(Ⅳ)模型建立 四、总结五、引用

前言

求解线性规划模型已经有比较成熟的算法。对于一般的线性规划问题,常用的求解方法有图解法,单纯形法等。 链接:https://blog.csdn.net/weixin_51128278/article/details/116246003

虽然针对线性规划的理论算法已经比较完善,但是当需要求解的模型的决策变量和约束条件数量比较多时,手工求解模型是十分繁杂甚至是不可能的,通常需要借助计算机软件来实现。

目前,求解数学规划模型的常用软件有MATLAB、Python、Lingo等多种,本文主要以MATLAB软件求解。MATLAB求解数学规划问题(包括线性规划、整数规划和非线性规划)采用两种模式:基于求解器的求解方法和基于问题的求解方法。

以下是本篇文章正文内容,下面案例可供参考

一、解题思考模式

在建立模型之前,有几个方面需要提前认知清楚,下面继续:

1.MATLAB求解方法 (1)基于求解器的求解方法:

规定线性规划问题的标准格式是: max ⁡ f T x , \max f^Tx, maxfTx, s . t . {   A ⋅ x ≤ b A e q ⋅ x ≤ b e q l b ≤ x ≤ u b s.t.\begin{cases} \ A·x≤b \\ Aeq·x≤beq \\ lb≤x≤ub \\ \end{cases} s.t.⎩⎪⎨⎪⎧​ A⋅x≤bAeq⋅x≤beqlb≤x≤ub​ 调用格式为:

[x,fval]=linprog(f,A,b) [x,fval]-linprog(f,A,b,Aeq,beq) [x,fval]-linprog(f,A,b,Aeq,beq,lb,ub) (2)基于问题的求解方法:

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

clc, clear prob = optimproblem('ObjectiveSense', 'max') c = [4;3]; b = [10;8;7]; a = [2,1;1,1;0,1]; lb = zeros(2,1); x = optimvar('x',2,'LowerBound',0); prob.Objective = c'*x; prob.Constraints.con = a*x=15 sum(x(1,2:4))+sum(x(2,1:3))>=10 x(1,3)+x(1,4)+x(2,2)+x(2,3)+x(3,1)+x(3,2)>=20 x(1,4)+x(2,3)+x(3,2)+x(4,1)>=12]; [sol,fval,flag,out]= solve(prob), sol.x 【例二】运输问题。

可参考系列文章《特殊规划问题——运输问题》 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

clc, clear, a = load('data1_5_1.txt'); c = a(1:end-1,1:end-1); e = a(1:end-1,end); d = a(end,1:end-1); prob = optimproblem; x = optimvar('x',6,8,'LowerBound',0); prob.Objective = sum(sum(c.*x)); prob.Constraints.con1 = sum(x,1) == d; prob.Constraints.con2 = sum(x,2)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有