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

文章目录

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

线性规划

线性规划的基本概念

线性规划问题可以分为两类问题:
(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.mzph.cn/pingmian/70458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源免费文档翻译工具 可支持pdf、word、excel、ppt

项目介绍 今天给大家推荐一个开源的、超实用的免费文档翻译工具(DeeplxFile),相信很多人都有需要翻译文档的时刻,这款工具就能轻松解决你的需求。 它支持多种文档格式翻译,包括 Word、PDF、PPT、Excel ,使…

Django Admin: 实现基于数据库实际值的动态过滤器

在 Django Admin 中,我们经常需要使用 list_filter 来为管理界面添加过滤功能。然而,有时我们希望过滤器能够动态地反映数据库中的实际值,而不是依赖于预定义的选项。本文将介绍如何实现一个基于数据库实际值的动态过滤器,以 ECR 仓库的区域过滤为例。 问题背景 在管理 E…

巧用GitHub的CICD功能免费打包部署前端项目

近年来,随着前端技术的发展,前端项目的构建和打包过程变得越来越复杂,占用的资源也越来越多。我有一台云服务器,原本打算使用Docker进行部署,以简化操作流程。然而,只要执行sudo docker-compose -f deploy/…

Python之装饰器二 带参数的装饰器

前言一、带参数的装饰器二、在装饰器里面传入参数总结 前言 暂无 一、带参数的装饰器 我们知道,不带参数的装饰其实就是在函数的头上添加装饰器时放一个名称,这种写法就默认了装饰器函数调的是被装饰函数自己,换句话说就是,大家…

Windows 主机与安卓设备网线直连配置教程

在一些特殊场景下,我们可能需要在 Windows 主机没有联网的情况下,与安卓设备通过网线直连进行通信。本文将详细介绍具体的配置步骤。 一、硬件准备 一根网线(直通线或交叉线,具体取决于设备接口)。 一台支持以太网连…

Linux文件系统与磁盘存储

目录 一、磁盘基础 二、磁盘的结构与工作原理 1. 磁盘的物理结构 2. 磁盘的工作原理 🍒磁道与扇区 : 🍇磁盘如何找数据? 3. 磁盘的应用场景 🌵个人电脑 🌻公司服务器 4. 逻辑块地址(LB…

进程线程的创建、退出、回收

1. 进程相关知识点 1.1 进程创建 fork(): 功能:创建一个子进程。 返回值: 父进程中返回子进程的 PID。 子进程中返回 0。 失败返回 -1。 特点:子进程是父进程的副本,拥有独立的内存空间。 vfork():…

解耦的艺术_应用架构中的解耦

文章目录 Pre解耦的技术演化应用架构中的解耦小结 Pre 解耦的艺术_通过DPI依赖倒置实现解耦 解耦的艺术_通过中间层映射实现解耦 解耦的技术演化 技术的演化史,也是一部解耦的历史。从最初的面向对象编程(OOP)到Spring框架的依赖注入&…

低概率发生调用`pthread_cond_wait`的线程没有被唤醒

低概率发生调用pthread_cond_wait的线程没有被唤醒 背景: 你是否也踩过坑,在A线程调用pthread_cond_wait等待,在B线程调用pthread_cond_signal唤醒A线程进行工作处理,然后在某一次用户产品反馈中发现了低概率问题。A线程像是卡住…

Python Cookbook-2.3 搜索和替换文件中的文本

任务 需要将文件中的某个字符串改变成另一个。 解决方案 字符串对象的 replace 方法提供了字符串替换的最简单的办法。下面的代码支持从一个特定的文件(或标准输入)读取数据,然后写人一个指定的文件(或标准输出): importos,sys nargs len(sys.argv) if not 3&l…

机器学习实战(5):决策树与随机森林——直观的分类与回归方法

第5集:决策树与随机森林——直观的分类与回归方法 在机器学习中,决策树(Decision Tree) 和 随机森林(Random Forest) 是两种直观且强大的算法,广泛应用于分类和回归任务。决策树通过一系列规则…

网站中内嵌腾讯元宝用deepseek

网站中内嵌元宝deepseek <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>BING搜</title> <meta name="description" content="不用学习就G搜索高级语法,即选即用…

draw.io:开源款白板/图表绘制利器

在工作和学习中&#xff0c;我们常常需要绘制各种图表&#xff0c;例如流程图、思维导图、网络拓扑图等等。一款功能强大且易于上手的图表绘制工具可以极大地提高我们的效率。今天&#xff0c;我要向大家推荐一款开源免费的图表绘制工具—— draw.io&#xff0c;并手把手教你如…

ES6箭头函数:从基础到进阶指南

目录 引言&#xff1a;新时代的函数表达 一、基础篇&#xff1a;语法与特性 1. 语法演进 2. 参数处理 3. 函数体形式 二、进阶特性深度解析 1. this绑定机制&#xff08;词法作用域&#xff09; 2. 不可构造特性 3. 与普通函数对比 三、实战应用场景 1. 数组高阶函数…

XML Schema 元素替换

XML Schema 元素替换 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。XML Schema 是一种用于定义 XML 文档结构的语言,它描述了 XML 文档的结构、数据类型和约束。在处理 XML 文档时,有时需要对特定的元素进行替换,以满足特定的需求。本文将介绍 XML Sch…

推理模型时代:大语言模型如何从对话走向深度思考?

一、对话模型和推理模型的区别概述 对话模型是专门用于问答交互的语言模型,符合人类的聊天方式,返回的内容可能仅仅只是一个简短的答案,一般模型名称后面会带有「chat」字样。 推理模型是比较新的产物,没有明确的定义,一般是指输出过程中带有<think>和</think&…

数据仓库与数据湖的协同工作:智慧数据管理的双引擎

数据仓库与数据湖的协同工作:智慧数据管理的双引擎 引言 在数据驱动的今天,企业和组织收集和存储的数据量正以惊人的速度增长。如何高效管理和利用这些数据,成为了决策者和技术专家的共同难题。为了解决这一问题,数据仓库(Data Warehouse)和数据湖(Data Lake)这两种技…

基于eBPF的全栈可观测性系统:重新定义云原生环境诊断范式

引言&#xff1a;突破传统APM的性能桎梏 某头部电商平台采用eBPF重构可观测体系后&#xff0c;生产环境指标采集性能提升327倍&#xff1a;百万QPS场景下传统代理模式CPU占用达63%&#xff0c;而eBPF直采方案仅消耗0.9%内核资源。核心业务的全链路追踪时延从900μs降至18μs&a…

【CS285】高斯策略对数概率公式的学习笔记

公式介绍 在【CS285】中提到了高斯策略对数概率公式的公式如下&#xff1a; log ⁡ π θ ( a t ∣ s t ) − 1 2 ∥ f ( s t ) − a t ∥ Σ 2 const \log \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) -\frac{1}{2} \left\| f(\mathbf{s}_t) - \mathbf{a}_t \right\|_{\S…

图解MySQL【日志】——Binlog

Binlog&#xff08;Binary Log&#xff0c;归档日志&#xff09; 为什么需要 Binlog&#xff1f; Binlog 是 MySQL 中的二进制日志&#xff0c;用于记录数据库的所有写操作&#xff08;INSERT、UPDATE、DELETE 等&#xff09; 1. 主从复制 作用&#xff1a;是 MySQL 主从复…