数学建模之数学模型-1:线性规划

news/2025/2/22 15:44:26

文章目录

  • 线性规划
    • 线性规划的基本概念
    • 线性规划的数学模型
    • 线性规划的标准模型
    • 对非标准形式标准化
    • 线性规划的典型建模:`运输问题`
      • 数学模型的建立

线性规划

线性规划的基本概念

线性规划问题可以分为两类问题:
(1)如何合理地使用有限的资源以得到最大的效益。
(2)为了达到一定的目的,如何组织生产或安排相关计划以使消耗资源达到最少。
决策变量:问题中可以控制的变化的因素,通常记为: x i , i = 1 , 2 , . . . , n x_i,i=1,2,...,n xi,i=1,2,...,n它的值可以至少在某一个范围内变化,决策变量可以分为两类:离散变量和连续变量。
目标函数:通过决策变量构造的函数来表达决策者的某种愿望。
约束条件:问题中所满足的条件。

线性规划的数学模型

此类规划问题具有以下特征:
(1)用决策变量表示可控因素,变量的一组取值 ( x 1 , x 2 , . . . , x n ) (x_1,x_2,...,x_n) (x1,x2,...,xn)代表一个解决方案,通常要求非负
(2)存在一定的约束条件,可以用自变量的线性方程或者线性不等式来表示。
(3)都有一个需达成的目标,该目标是自变量的线性函数,称为目标函数,根据需要使目标函数最大化或者最小化。
其一般的模式
max ⁡ z = ∑ i = 1 n c i x i s . t . { ∑ j = 1 n a 1 j x j ⩽ b 1 ∑ j = 1 n a 2 j x j ⩽ b 2 . . . . . . ∑ j = 1 n a m j x j ⩽ b m x 1 . . . , x i . . . , x n ⩾ 0 \max z=\sum_{i=1}^n{c_ix_i} \\ s.t.\left\{ \begin{array}{c} \sum_{j=1}^n{a_{1j}x_j}\leqslant b_1\\ \sum_{j=1}^n{a_{2j}x_j}\leqslant b_2\\ ......\\ \sum_{j=1}^n{a_{mj}x_j}\leqslant b_m\\ x_1...,x_i...,x_n\geqslant 0\\ \end{array} \right. maxz=i=1ncixis.t. j=1na1jxjb1j=1na2jxjb2......j=1namjxjbmx1...,xi...,xn0

线性规划的标准模型

由于线性规划模型的目标函数和约束条件各有多种表现形式,为了得到一种普适的求解方法,要将其标准化:

  • 目标函数一律是求最大值
  • 约束条件为等式
  • 约束条件右端的常数项 b i b_i bi一律为非负值,即 b i ⩾ 0 b_i\geqslant0 bi0
  • 变量 x j x_j xj取值一律为非负值,即 x j ⩾ 0 x_j\geqslant0 xj0
    标准形式的表示方法有如下三种:
  1. max ⁡ z = ∑ i = 1 n c i x i s . t . { ∑ j = 1 n a 1 j x j ⩽ b 1 ∑ j = 1 n a 2 j x j ⩽ b 2 . . . . . . ∑ j = 1 n a m j x j ⩽ b m x 1 . . . , x i . . . , x n ⩾ 0 \max z=\sum_{i=1}^n{c_ix_i} \\ s.t.\left\{ \begin{array}{c} \sum_{j=1}^n{a_{1j}x_j}\leqslant b_1\\ \sum_{j=1}^n{a_{2j}x_j}\leqslant b_2\\ ......\\ \sum_{j=1}^n{a_{mj}x_j}\leqslant b_m\\ x_1...,x_i...,x_n\geqslant 0\\ \end{array} \right. maxz=i=1ncixis.t. j=1na1jxjb1j=1na2jxjb2......j=1namjxjbmx1...,xi...,xn0
  2. max ⁡ z = ∑ i = 1 n c i x i s . t . { ∑ j = 1 n a i j x j ⩽ b i , i = 1 , . . . , m x j ⩾ 0 , j = 1 , 2 , . . . , n \max z=\sum_{i=1}^n{c_ix_i} \\ s.t.\left\{ \begin{array}{c} \sum_{j=1}^n{a_{ij}x_j}\leqslant b_i,i=1,...,m\\ x_j\geqslant 0,j=1,2,...,n\\ \end{array} \right. maxz=i=1ncixis.t.{j=1naijxjbi,i=1,...,mxj0,j=1,2,...,n
    3. max ⁡ z = C X s . t . { A X = b X ⩾ 0 \max z=\boldsymbol{CX} \\ s.t.\left\{ \begin{array}{c} \boldsymbol{AX}=\boldsymbol{b}\\ \boldsymbol{X}\geqslant 0\\ \end{array} \right. maxz=CXs.t.{AX=bX0

对非标准形式标准化

  • 目标函数的转化:
    最小值的话就乘 − 1 -1 1
  • 约束条件右端常数项化为非负值:
    同乘 − 1 -1 1,注意不等式要变号
  • 不等式约束转化为等式约束
    引入偏差变量:偏差变量恒正
  • 变量约束的转化
    如果 x j ⩽ 0 x_j\leqslant0 xj0,令 x j ′ = − x j x_{j}^{'}=-x_j xj=xj即可,显然 x j ′ ⩾ 0 x_{j}^{'}\geqslant0 xj0
    如果无约束是自由变量可以: x j x_{j} xj= x j ′ − x j ′ ′ x_{j}^{'}-x_{j}^{''} xjxj′′ , x j ′ ⩾ 0 x_{j}^{'}\geqslant0 xj0, x j ′ ′ ⩾ 0 x_{j}^{''}\geqslant0 xj′′0

线性规划的典型建模:运输问题

运输问题:某物资有 m m m个产地 A 1 A_1 A1, A 2 A_2 A2 A m A_m Am,其产量分别为 a 1 a_1 a1, a 2 a_2 a2 a m a_m am;有 n n n个销地 B 1 B_1 B1, B 2 B_2 B2 B m B_m Bm,其销量分别为 b 1 b_1 b1, b 2 b_2 b2 b m b_m bm;从产地 A i A_{i} Ai到销地 B j B_{j} Bj的单位运价为 c i j c_{ij} cij,问怎样调运物资才能使得总运费最少?

数学模型的建立

设从 A i A_{i} Ai到销地 B j B_{j} Bj的运输量为 x i j x_{ij} xij则该问题的数学模型:
min ⁡ z = ∑ i = 1 m ∑ j = 1 n c i j x i j s . t . { ∑ i = 1 m x i j ⩾ b j , j = 1 , 2 , . . . , n ∑ j = 1 n x i j ⩽ a i , i = 1 , 2 , . . . , m x i j ⩾ 0 , j = 1 , 2 , . . . , n , i = 1 , 2 , . . . , m \min z=\sum_{i=1}^m{\sum_{j=1}^n{c_{ij}x_{ij}}} \\ s.t.\left\{ \begin{array}{c} \sum_{i=1}^m{x_{ij}}\geqslant b_j,j=1,2,...,n\\ \sum_{j=1}^n{x_{ij}}\leqslant a_i,i=1,2,...,m\\ x_{ij}\geqslant 0,j=1,2,...,n,i=1,2,...,m\\ \end{array} \right. minz=i=1mj=1ncijxijs.t. i=1mxijbj,j=1,2,...,nj=1nxijai,i=1,2,...,mxij0,j=1,2,...,n,i=1,2,...,m
根据总供给量 ∑ i = 1 m a i \sum_{i=1}^{m}a_i i=1mai和总需求量 ∑ j = 1 n b j \sum_{j=1}^{n}b_j j=1nbj之间的关系,可以将运输问题分为两类:
(1)当 ∑ i = 1 m a i = ∑ j = 1 n b j \sum_{i=1}^{m}a_i=\sum_{j=1}^{n}b_j i=1mai=j=1nbj,称为产销平衡运输问题
(2)当 ∑ i = 1 m a i ≠ ∑ j = 1 n b j \sum_{i=1}^{m}a_i\ne\sum_{j=1}^{n}b_j i=1mai=j=1nbj,称为产销不平衡运输问题

  1. 产销平衡的运输问题数学模型建模为:
    min ⁡ z = ∑ i = 1 m ∑ j = 1 n c i j x i j s . t . { ∑ i = 1 m x i j = b j , j = 1 , 2 , . . . , n ∑ j = 1 n x i j = a i , i = 1 , 2 , . . . , m x i j ⩾ 0 , j = 1 , 2 , . . . , n , i = 1 , 2 , . . . , m ∑ i = 1 m a i = ∑ j = 1 n b j \min z=\sum_{i=1}^m{\sum_{j=1}^n{c_{ij}x_{ij}}} \\ s.t.\left\{ \begin{array}{c} \begin{array}{c} \sum_{i=1}^m{x_{ij}}=b_j,j=1,2,...,n\\ \sum_{j=1}^n{x_{ij}}=a_i,i=1,2,...,m\\ x_{ij}\geqslant 0,j=1,2,...,n,i=1,2,...,m\\ \end{array}\\ \sum_{i=1}^m{a_i}=\sum_{j=1}^n{b_j}\\ \end{array} \right. minz=i=1mj=1ncijxijs.t. i=1mxij=bj,j=1,2,...,nj=1nxij=ai,i=1,2,...,mxij0,j=1,2,...,n,i=1,2,...,mi=1mai=j=1nbj

  2. 产销不平衡的运输问题
    2.1 产大于销:构造一个假象的销售地 B n + 1 B_{n+1} Bn+1,其需求量为总产量与总销量之差,即 b n + 1 = ∑ i = 1 m a i − ∑ j = 1 n b j b_{n+1}=\sum_{i=1}^m{a_i}-\sum_{j=1}^n{b_j} bn+1=i=1maij=1nbj
    c i , n + 1 = 0 c_{i,n+1}=0 ci,n+1=0
    那么模型可改写为:
    min ⁡ z = ∑ i = 1 m ∑ j = 1 n + 1 c i j x i j s . t . { ∑ i = 1 m x i j = b j , j = 1 , 2 , . . . , n + 1 ∑ j = 1 n + 1 x i j = a i , i = 1 , 2 , . . . , m x i j ⩾ 0 , j = 1 , 2 , . . . , n + 1 , i = 1 , 2 , . . . , m \min z=\sum_{i=1}^m{\sum_{j=1}^{n+1}{c_{ij}x_{ij}}} \\ s.t.\left\{ \begin{array}{c} \sum_{i=1}^m{x_{ij}}=b_j,j=1,2,...,n+1\\ \sum_{j=1}^{n+1}{x_{ij}}=a_i,i=1,2,...,m\\ x_{ij}\geqslant 0,j=1,2,...,n+1,i=1,2,...,m\\ \end{array} \right. minz=i=1mj=1n+1cijxijs.t. i=1mxij=bj,j=1,2,...,n+1j=1n+1xij=ai,i=1,2,...,mxij0,j=1,2,...,n+1,i=1,2,...,m
    2.2销大于产:构造一个假想的产地 A m + 1 A_{m+1} Am+1,其产量为总产量与总销量之差,即 a m + 1 = ∑ j = 1 n b j − ∑ i = 1 m a i a_{m+1}=\sum_{j=1}^n{b_j}-\sum_{i=1}^m{a_i} am+1=j=1nbji=1mai
    c m + 1 , j = 0 c_{m+1,j}=0 cm+1,j=0
    那么模型可改写为:
    min ⁡ z = ∑ i = 1 m + 1 ∑ j = 1 n c i j x i j s . t . { ∑ i = 1 m + 1 x i j = b j , j = 1 , 2 , . . . , n ∑ j = 1 n x i j = a i , i = 1 , 2 , . . . , m + 1 x i j ⩾ 0 , j = 1 , 2 , . . . , n , i = 1 , 2 , . . . , m + 1 \min z=\sum_{i=1}^{m+1}{\sum_{j=1}^{n}{c_{ij}x_{ij}}} \\ s.t.\left\{ \begin{array}{c} \sum_{i=1}^{m+1}{x_{ij}}=b_j,j=1,2,...,n\\ \sum_{j=1}^{n}{x_{ij}}=a_i,i=1,2,...,m+1\\ x_{ij}\geqslant 0,j=1,2,...,n,i=1,2,...,m+1\\ \end{array} \right. minz=i=1m+1j=1ncijxijs.t. i=1m+1xij=bj,j=1,2,...,nj=1nxij=ai,i=1,2,...,m+1xij0,j=1,2,...,n,i=1,2,...,m+1

  3. 有转运的运输问题
    实际生活中一个站点不可能只做输入输出,于是就存在了中转站。
    转运问题的思路是将其转化为产销平衡问题,为此假设最大可能中转量 Q Q Q为某个大于等于总产量 ∑ i = 1 m a i \sum_{i=1}^{m}a_i i=1mai的数,具有以下特点:
    (1)产销平衡时候: Q = ∑ i = 1 m a i = ∑ j = 1 m b j Q=\sum_{i=1}^{m}a_i=\sum_{j=1}^{m}b_j Q=i=1mai=j=1mbj
    (2)纯中转站视为输入输出量为 Q Q Q的一个产地和销地
    (3)兼中转站的产地 A i A_i Ai视为输入量为 Q − a i Q-a_i Qai的销地和输出量为 Q Q Q的产地
    (3)兼中转站的销地 B j B_j Bj视为输出量为 Q − b j Q-b_j Qbj的销地和输入量为 Q Q Q的销地


http://www.niftyadmin.cn/n/5862473.html

相关文章

DeepSeek基础之机器学习

文章目录 一、核心概念总结(一)机器学习基本定义(二)基本术语(三)假设空间(四)归纳偏好(五)“没有免费的午餐”定理(NFL 定理) 二、重…

STM32使用NRF2401进行数据传送

NRF2401是一款由Nordic Semiconductor公司生产的单片射频收发芯片,以下是关于它的详细介绍: 一、主要特点 工作频段:NRF2401工作于2.4~2.5GHz的ISM(工业、科学和医疗)频段,该频段无需申请即可使用&#xf…

Uniapp 从入门到精通:界面设计与交互实现

Uniapp 从入门到精通:界面设计与交互实现 前言一、界面设计基础1.1 布局系统1.2 单位与尺寸1.3 颜色与样式二、常用界面组件2.1 视图组件2.2 表单组件三、交互实现基础3.1 事件绑定3.2 数据绑定与响应式原理四、高级交互效果4.1 动画效果4.2 页面导航与传值五、总结结束语优质…

力扣27. 移除元素(快慢指针)

Problem: 27. 移除元素 文章目录 题目描述思路Code 题目描述 思路 定义快慢指针均指向数组起始位置,当fast指针指向的元素不等于val时将fast指针指向的元素赋值给slow并让slow指针向前移动,fast指针一直向前移动 时间复杂度: O ( n ) O(n) O(n); 空间复杂…

C语言 —— 浮生百态 生灭有时 - 数组

目录 1. 数组的概念 2. ⼀维数组的创建和初始化 2.1 数组创建 2.2 数组的初始化 2.3 数组的类型 3. ⼀维数组的使用 3.1 数组下标的访问 4. ⼀维数组在内存中的存储 5. ⼆维数组的概念 5.1 ⼆维数组的创建 5.2 ⼆维数组的初始化 6. ⼆维数组的使用 6.1 ⼆维数组的下…

典型的OSPF配置案例

案例1:单区域OSPF基础配置 场景:3台路由器直连,部署在Area 0中。 配置Router R1 interface GigabitEthernet0/0 ip address 10.1.1.1 255.255.255.0 ! router ospf 1 router-id 1.1.1.1 network 10.1.1.0 0.0.0.255 area 0 配置Router R2 interface GigabitEthernet0/0…

算法基础 -- 堆排序之C语言实现

C语言实现堆排序&#xff08;Heap Sort&#xff09; 1. 代码实现 下面是 C语言实现的堆排序接口&#xff0c;支持 通用数据类型排序&#xff0c;并采用 函数指针 进行 自定义比较&#xff0c;适用于 整数排序 或 结构体排序。 完整代码 大根堆 #include <stdio.h> #…

Docker小雅Emby全家桶配置夸克网盘Cookie教程

前言 前段时间写到小雅xiaoya配置夸克网盘cookie&#xff0c;然后小白就突然不见了。于是有很多小伙伴看得一头雾水&#xff1a;小雅Emby全家桶怎么配置夸克网盘cookie&#xff1f;&#xff1f;&#xff1f; 好吧&#xff0c;其实你只要仔细看就能知道&#xff0c;其实配置的…