【最优化理论】线性规划

news2025/2/24 6:40:56

文章目录

  • 什么是线性规划(Linear Programming,LP)?
  • 线性规划的标准形式
  • 非标准形LP模型转化为标准形LP模型
  • 基本概念
    • 基本解&基矩阵&基变量&非基变量
    • 基本可行解&可行基矩阵&非退化的基本可行解&退化的基本可行解
    • 基本可行解存在性
    • 求基本可行解
      • 示例:求基本可行解
    • 求最优解
      • 方法一(暴力枚举):求出所有基本可行解找最小
      • 方法二(迭代):从一个基本可行解跳转到一个目标函数值更小的基本可行解
  • 多面体
  • 多面体分解定理
  • 单纯形法
    • 基本思想
    • 原理
    • 方法
    • 1 确定出基变量和出基向量的下标
    • 2 确定进基变量和进基向量的下标
    • 3 确定进基变量的值
      • 终止条件
  • 单纯形法计算步骤
  • 单纯形法表格形式

什么是线性规划(Linear Programming,LP)?

目标函数为决策变量的线性函数,同时约束条件为线性等式或线性不等式约束。

线性规划的标准形式

在这里插入图片描述
在这里插入图片描述

非标准形LP模型转化为标准形LP模型

在这里插入图片描述

基本概念

在这里插入图片描述

基本解&基矩阵&基变量&非基变量

基本可行解&可行基矩阵&非退化的基本可行解&退化的基本可行解

在这里插入图片描述

基本可行解存在性

在这里插入图片描述

求基本可行解

求基本可行解<=>求极点<=>求可行基矩阵<=> A m ∗ n A_{m*n} Amn矩阵m个线性无关列
在这里插入图片描述

示例:求基本可行解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

求最优解

方法一(暴力枚举):求出所有基本可行解找最小

求出所有基本可行解(即求极点)。
代入目标函数找出最小极点(该最小极点即为最优解,因为最优解一定在极点取得)。

方法二(迭代):从一个基本可行解跳转到一个目标函数值更小的基本可行解

在这里插入图片描述

多面体

在这里插入图片描述

多面体基本性质

在这里插入图片描述

多面体的极点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

x若是极点,正分量对应的A的列一定线性无关。

示例:求极点

在这里插入图片描述

多面体S有多少个极点?- 有限个 & 最多 C n m C_n^m Cnm

最多有 C n m C_n^m Cnm个极点,一般都少于 C n m C_n^m Cnm,有两个原因。
原因1:从n个列中选出m列不一定线性无关。
原因2:即使这m列线性无关,其组成的B也不一定满足 B − 1 b ≥ 0 B^{-1}b\ge 0 B1b0

多面体的方向

在这里插入图片描述

多面体的极方向

在这里插入图片描述
在这里插入图片描述

多面体的极方向有多少个?- 有限个

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

示例:求极方向

在这里插入图片描述
d≥0

多面体分解定理

在这里插入图片描述

多面体分解定理有什么作用?

在这里插入图片描述

在这里插入图片描述

重新表示可行集

在这里插入图片描述

重新定义线性规划问题

在这里插入图片描述
在这里插入图片描述

为什么 min ⁡ ∑ λ i C T x i \min \sum \lambda_i C^Tx_i minλiCTxi等价于 min ⁡ C T x i , i = 1 , . . . , k \min C^Tx_i,i=1,...,k minCTxi,i=1,...,k

min ⁡ C T x i , i = 1 , . . . , k \min C^Tx_i,i=1,...,k minCTxii=1,...,k,找到最小 x r x_r xr就是最优值点,令 min ⁡ ∑ λ i C T x i \min \sum \lambda_i C^Tx_i minλiCTxi λ r = 1 \lambda_r=1 λr=1其他的λ都为0, C T x r C^Tx_r CTxr就是最优值。

何时有最优解?

C T d j ≥ 0 C^Td_j \ge 0 CTdj0时,存在最优解。

C T d j < 0 C^Td_j \lt 0 CTdj<0时,无解。

最优解是什么?

最优解一定在极点上取到。

min ⁡ C T x i , i = 1 , . . . , k \min C^Tx_i,i=1,...,k minCTxii=1,...,k,找到最小 x r x_r xr就是最优值点, C T x r C^Tx_r CTxr就是最优值。

单纯形法

在这里插入图片描述

基本思想

在这里插入图片描述

原理

实现基本可行基的转化

方法

在这里插入图片描述

从初始基本可行解出发,求一个改进的基本可行解。

1 确定出基变量和出基向量的下标

2 确定进基变量和进基向量的下标

3 确定进基变量的值

目标函数值只与非基变量有关。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

终止条件

在这里插入图片描述

单纯形法计算步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单纯形法表格形式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346805.html

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

相关文章

「JVM 执行引擎」栈架构的字节码的解释执行引擎

JVM 执行引擎在执行 Java 代码时有解释执行&#xff08;通过解释器执行&#xff09;和编译执行&#xff08;通过即时编译器产生本地代码执行&#xff09;两种选择&#xff1b; HotSpot 实际的实现中&#xff0c;模版解释器工作时&#xff0c;并不是按照概念模型中进行机械式计…

虹科分享 | CANopen协议基础知识——LSS服务

CANopen是一种架构在CAN串行总线系统上的高层通讯协议&#xff0c;常被用于嵌入式系统与工业控制领域&#xff0c;包括电机控制、机器人制造、医疗、汽车等多个行业领域。本篇文章将主要介绍CANopen的LSS服务。 一. LSS概述 Layer setting service (LSS)是CANopen的设置服务与…

Self-Supervised Log Parsing 自监督日志解析

摘要 日志在软件系统的开发和维护过程中被广泛使用&#xff0c;收集运行时事件并允许跟踪代码执行&#xff0c;从而支持各种关键任务&#xff0c;如故障排除和故障检测。大型软件系统会生成大量的半结构化日志记录&#xff0c;这对自动化分析提出了重大挑战。将带有自由形式文…

网站代理是什么?有什么需要注意的?

如今&#xff0c;网站代理已经成为一种不可或缺的经营方式。无论是企业还是个人&#xff0c;都需要通过代理来获得更多的流量和市场份额。 一、网站代理的优势 网站代理的优势在于能够为您提供更加专业、周到的服务。这些优势包括&#xff1a;1.丰富的内容资源&#xff0c;能…

2022年FIT2CLOUD飞致云开源成绩单

2023年2月15日&#xff0c;中国领先的开源软件公司FIT2CLOUD飞致云发布《2022年开源成绩单》&#xff0c;盘点公司2022年全年在开源软件产品与社区运营方面的表现。目前&#xff0c;飞致云旗下的核心开源软件组合包括JumpServer开源堡垒机、DataEase开源数据可视化分析平台、Me…

高压放大器在骨的逆力电研究中的应用

实验名称&#xff1a;高压放大器在骨的逆力电研究中的应用研究方向&#xff1a;生物医学测试目的&#xff1a;骨中的胶原和羟基磷灰石沿厚度分布不均匀&#xff0c;骨试样在直流电压作用下&#xff0c;内部出现传导电流引起试样内部温度升高&#xff0c;不同组分热变形不一致&a…

python3.7

一、下载安装ancconda(python3.7) ​​​​​​https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.07-Windows-x86.exehttps://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.07-Windows-x86.exe 二、配制Anaconda环境变量 此电脑——…

国外ChatGPT横空出世,国内无代码开发一样惊人,旗鼓相当

ChatGPT火爆了&#xff0c;究竟是什么&#xff1f; 有些人以为ChatGPT&#xff0c;只是更先进的人工智能聊天工具罢了。它除了能学习与理解人类对话语言&#xff0c;还能结合下文“思考”&#xff0c;实现与人类正常交流。这款由美国OpenAI研发的人工智能技术&#xff0c;2022年…

珠宝企业如何利用私域实现业绩增长?

近年来私域的流量不断兴起&#xff0c;各行业都在做私域&#xff0c;所处行业不同&#xff0c;企业所采取的私域打法也会针对性地改变。而在珠宝行业&#xff0c;针对珠宝产品高价、低频的消费特点&#xff0c;企业又该如何搭建私域应对策略&#xff1f; 快鲸scrm系统整理了几…

仓库管理软件(WMS)免费版哪个好用?

现在很少有软件会支持白嫖了&#xff0c;尤其是仓库管理这么重要单元。 但是对于刚刚起步的公司&#xff0c;企业面临着资金紧缺、人力资源不足等诸多管理问题。这时候大部分中小企业都会选择仓库管理软件系统来满足仓库管理的需求。 那么免费仓库管理软件有哪些&#xff1f;…

MySQL B+树以及深度计算

文章目录一、MySQL的索引结构1.1 MySQL索引结构与B树1.2 B树增删数据图解二、MySQL数据页2.1 索引高度h与页面I/O数的关系2.2 索引高度理论计算三、查看MySQL树高一、MySQL的索引结构 1.1 MySQL索引结构与B树 MySQL使用B树存储索引数据&#xff0c;B树的非叶节点不保存数据相关…

卫星、无人机平台的多光谱数据在地质、土壤调查和农业等需要用什么?

近年来&#xff0c;Python编程语言受到越来越多科研人员的喜爱&#xff0c;在多个编程语言排行榜中持续夺冠。同时&#xff0c;伴随着深度学习的快速发展&#xff0c;人工智能技术在各个领域中的应用越来越广泛。机器学习是人工智能的基础&#xff0c;因此&#xff0c;掌握常用…

造血干细胞移植中心的设计SICOLAB

造血干细胞移植中心的设计通常需要考虑以下方面&#xff1a;一、设备和设施包括具备灭菌条件的手术室、空气净化设备、输液泵、监测仪器等。二、空间规划需要根据手术流程和治疗流程合理划分空间&#xff0c;确保空间充足且方便患者活动。1、患者治疗区&#xff1a;包括隔离病房…

【C++】二叉树的非递归遍历

非递归遍历二叉树一、二叉树的前序遍历二、二叉树的中序遍历三、二叉树的后序遍历3.1 方法一3.2 方法二一、二叉树的前序遍历 题目链接 我们可以把任何一棵树看成左路节点&#xff0c;左路节点和右子树。先访问左路节点&#xff0c;再访问左路节点的右子树。在右子树中也重复这…

3. 编码风格

学习的动力不止于此&#xff1a; 谷歌c编码风格指南 学习它就是强&#xff0c;没别的。方便查bug&#xff01; 1.注释说明 //copyright 2023 songshuaibiancheng Inc //License(BSD/GPL/...) //Author: songshu //This is a c style guide/* 版权 许可证 作者 文件内容简短…

字节5年老测试,2月无情被辞。业务与技术你要理解的概念!

前言近年来企业对于员工的要求不再满足于简单的处理工作&#xff0c;除了KPI考核&#xff0c;越来越多的公司会对思考力、理解力进行更深层次的综合评估&#xff0c;对于精准人才的筛选大搞特搞“末位淘汰制”。一个在大厂工作认识几年的朋友跟我说&#xff0c;单一的能力很难受…

Gorm -- 配置连接、Gorm模型及Tag描述

文章目录引入依赖读取配置文件配置数据库连接池定义模型数据库表信息创建对应结构体数据模型中字段的标签属性columnserializerprimaryKeydefaultautoIncrement / AUTO_INCREMENTembedded / embeddedPrefixautoCreateTimeautoUpdateTime-foreignKey / references引入依赖 go g…

Tesseract OCR与文本智能识别

博主简介 博主是一名大二学生&#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;c&#xff0c;Python&#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主&#xff0c;博主会继续更新的&#xff0c…

SQL工具性能实测:居然比Navicat还快,数百万行数据导出仅51秒

如今的SQL语言逐渐成为职场人士必备的能力。为了让更多SQL用户有一款免费又好用的SQL工具&#xff0c;麦聪软件于2023年1月初发布了一款Web版SQL工具SQL Studio&#xff0c;一经推广就赢得了众多用户的注册下载。 使用SQL Studio最明显的体验是什么&#xff1f;笔者回访中发现…

Centos系统里运行java的jar包

目前使用springboot开发是嵌入方式的tomcat&#xff0c;不需要单独使用tomcat&#xff0c;那么经常在服务器上运行jar包&#xff0c;这里记录一下在centos7系统里运行jar的方式。在运行之前需要确定centos7系统是否安装了java环境以及配置环境变量&#xff0c;还有jar需要运行的…