Lazy loaded image
🗒️【数学建模】优化算法之线性规划(0718重制版)
字数 1200阅读时长 4 分钟
2023-2-27
2023-7-19
type
status
date
slug
summary
tags
category
icon
password
 
参考书籍:《数学建模与数学实验-张敬信》
参考文章

🤔 一个简单的开头

本文主要介绍优化算法中的线性规划模型,及其python和matlab实现方法,以及相关拓展问题。

📝线性规划模型

(一)基本概念

(就是高中的线性规划问题,可以直接跳过看代码。)
线性规划问题的目标函数及约束条件均为线性函数约束条件记为 s.t.(即 subject to)。目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以 是小于号也可以是大于号。
notion image

(二)标准形式

notion image

(三)python代码

例题:
notion image
函数:scipy.optimize.linprog(c,A_ub=None,b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simplex', callback=None, options=None)

没有安装scipy库的,需要先安装

可以用镜像网站安,参考文章
输出:

(四)matlab代码

notion image
 
 

(五)运输问题(产销平衡)&指派问题

1、可以转化为线性规划的问题

(1)带绝对值的规划问题:引入ui与vi变量
例题:
notion image
(这里python代码没有解决未知数取值范围如何表示,所以只写了matlab代码。)
matlab代码:
(2)含最大值或最小值的“伪线性规划”问题
notion image
(3)线性回归问题

2、运输问题(产销平衡):康——希表上作业法

notion image
notion image

3、可用线性规划解决的指派问题

notion image
notion image
🗒️
【数学建模】day2优化算法之整数规划(编程实现待更新)
(2)求解一般指派问题的匈牙利算法
notion image
(3)指派问题的计算机求解
整数规划问题的求解可以使用 Lingo 等专用软件。对于一般的整数规划问题,无法 直接利用 Matlab 的函数,必须利用 Matlab 编程实现分枝定界解法和割平面解法。但对 于指派问题等 0−1整数规划 问题,可以直接利用 Matlab 的函数 bintprog  进行求解。
例题:
notion image
matlab解法:
lingo程序

(四)对偶理论与灵敏度分析

 
 
 
 

🤗总结归纳

 

参考文章

 
 
致谢:
💡
有什么问题欢迎到评论区讨论~
 
 
上一篇
【数学建模】优化算法之非线性规划(上)(二次规划,凸规划)
下一篇
【数学建模】day1

评论
Loading...