线性规划算法

news2024/11/13 23:49:08

  前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:点击跳转

本文部分内容来自网友博客

一,线性规划

例如,一个企业“生产计划”的线性规划模型如下:

max \, z = 50x_1+80x_2 \\ s.t. \, 0.5x_1 + 2x_2 \leq 40 \\ x_1+1.5x_2 \leq 45\\ x_1,x_2 \geq0

s.t.是subject to的缩写,表示受限制于,其后跟约束条件。

线性规划问题三要素:

  • 决策变量
  • 目标函数
  • 约束条件

线性规划问题的特点:

  • 决策变量相互独立且连续变化
  • 目标函数是线性函数
  • 约束条件是线性不等式组

线性规划问题的解法:单纯形法、内点法

二,单纯形法

单纯形算法遵循“初始点——判优——改进”的优化模式。

1,基本概念

(1)线性规划的标准形式

满足如下四个条件的线性规划模型:

  • 所有决策变量的取值是非负的;
  • 除决策变量非负约束外的其他约束是等式约束;
  • 模型中目标函数需要极大化(也可以要求极小化);
  • 等式约束中常数项位于等号的右端(称为右端项,right hand side)

(2) 线性规划的典范形式

典范形式是标准形式的基础上,额外满足:

  • 右端项是非负的;
  • 在等式约束中存在一组与等式约束个数相等的决策变量,它们的系数构成系数矩阵的一个单位子矩阵。

其中Z0是可行解(常数),因为有等式,所以max z的式子里面可以把x1 - xm都替换掉。

(3)线性规划的可行域

线性规划的可行域是一个多面体,但可能是无界的。

若多面体S={x|Ax=b,x≥0}是非空的,则必存在极点。

(4)线性规划基本定理、问题转化

极点、极向量参考凸优化

于是线性规划可以表示成只有一个等式约束和若干个非负变量约束的线性规划问题:

{\rm min} \sum_{i \in \mathcal{K}}(\boldsymbol{c}^{\rm T} \boldsymbol{x}^i) \lambda_i + \sum_{j \in \mathcal{J}}(\boldsymbol{c}^{\rm T} \boldsymbol{d}^j) \mu_j , \\ {\rm s.t.} \sum_{i \in \mathcal{K}} \lambda_i = 1, \\ \lambda_i \geq 0, \mu_j \geq 0, i \in \mathcal{K} , j \in \mathcal{J}.

这又分为2种情形:

于是极小化问题可转化为:

{\rm min} \sum_{i \in \mathcal{K}}(\boldsymbol{c}^{\rm T} \boldsymbol{x}^i) \lambda_i, \\ {\rm s.t.} \sum_{i \in \mathcal{K}} \lambda_i =1, \lambda_i \geq 0, i \in \mathcal{K}.

转化后的问题,可行域是一个有限多面体,最优值一定在某个λi=1时取到。

2,寻找初始点

确定单纯形算法初始点的策略:两阶段法、大M法

3,判优规则

线性规划典范形式的矩阵表达式:

{\rm min} z=\boldsymbol{c}_{\boldsymbol{B}}^{\rm T}\boldsymbol{B}^{-1}\boldsymbol{b} + (\boldsymbol{c}_{\boldsymbol{N}}^{\rm T}-\boldsymbol{c}_{\boldsymbol{B}}^{\rm T}\boldsymbol{B}^{-1}\boldsymbol{N}) \boldsymbol{x}_{\boldsymbol{N}} \\ {\rm s.t.} \boldsymbol{x}_{\boldsymbol{B}}+\boldsymbol{B}^{-1}\boldsymbol{N}\boldsymbol{x}_{\boldsymbol{N}}=\boldsymbol{B}^{-1}\boldsymbol{b}, \boldsymbol{x}_{\boldsymbol{B}} \geq 0, \boldsymbol{x}_{\boldsymbol{N}} \geq 0.

4,改进规则

一个转轴过程可以分成三个部分:

(1)确定进入可行基的非基变量(称为转入规则(pivoting in));

(2)确定离开可行基的基变量(称为转出规则(pivoting out));

(3)进行可行基转换的线性方程组Gauss消去操作(称为转轴操作)。

三,对偶单纯形法

待补充

四,原始对偶算法

待补充

五,内点法

单纯形算法虽然在实际应用中非常有效,至今占有绝对优势,但在理论上它还不是多项式算法。
1979年,前苏联数学家第一个给出了求解线性规划的多项式算法,这就是所谓的椭球算法。这个算法在理论上是重要的,但是计算结果很不理想,远不及单纯形方法有效。
人们提出进一步的问题:能否找到实用上也确实有效的多项式时间算法?正是在这样的背景下,产生了内点法。

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

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

相关文章

​如何优雅的卸载Edge浏览器

如何优雅的卸载Edge浏览器 由于Edge浏览器越来越复杂,功能越来越繁琐我是真的一刻也用不下去了。虽然我主力是火狐浏览器,Edge用来访问一些只能使用Chromium内核的网页作为备用。 但是我现在一打开Edge浏览器我就窝火,也懒得再去调整优化&a…

【表格树状】jqgrid表格树状折叠效果实现(附代码,留邮箱发demo)

【写在前面】有段时间没好好的整理一篇前端文章了,之前的6月城市活动也结束了,期待下周的榜单公布,其实这个月还有一个东西也让我牵肠挂肚的,就是软考的成绩也会在这个月的中旬公布,也是感觉很悬。既成定局&#xff0c…

【中间件-Openjob】高性能任务调度框架Openjob简介及快速搭建

介绍基础基础信息任务调度框架对比 特性高可靠高性能定时调度分布式计算延迟任务工作流程权限管理告警监控跨语言 安装访问docker-compose安装在线访问 总结 介绍 一款分布式高性能任务调度框架,支持多种定时任务、延时任务、工作流设计、轻量级分布式计算、无限水平…

el-form动态嵌套表单验证

v-for 遍历的表单校验 根据官网的介绍&#xff0c;是在 el-form-item 中使用 :rules 属性&#xff0c;同时 prop 属性直接定位到具体循环元素。这个用法的前提是在循环外面包裹一个 el-form 元素&#xff0c;v-for 位于 el-form-item 中。 <template><el-form:model…

深入浅出对话系统——对话管理与对话生成

引言 对话管理 我们知道对话管理主要包括状态追踪(DST)和策略优化(DPO)。 对话管理模块包含两个子任务&#xff1a; 对话状态追踪(Dialogue State Tracking) 根据用户输入和对话历史识别对话状态&#xff1b;策略学习(Policy Learning) 根据识别到的对话状态选择合适的下一步…

BC SU21 对象 ZJHD_LGO 已交付;只能进行有限更改

ECC 升级S4 库位从ECC的唯一库位 → S4 工厂 库位才能唯一。 那原先的 依据库存地 控制库位的zjhd打印机的权限需要新增工厂字段。 但是su21的修改的时候 提示 &#xff1a;对象 ZJHD_LGO 已交付&#xff1b;只能进行有限更改 查了一下&#xff0c;SAP官方说只能 把该权限…

HCIP第二次作业

要求&#xff1a;R1-R2-R3-R4-R5 RIP 100运行版本2 R6-R7 RIP 200 运行版本1 1.使用合理IP地址规划网络&#xff0c;各自创建环回接口 2.R1创建环回 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环回 4.减少路由条目数量&#xff0c;R1-R2之间增加路由传递…

部署springboot项目读取外部配置文件

我们在部署springboot项目的时候&#xff0c;经常会遇到这样的情况&#xff1a;测试环境与生产环境的配置不一样&#xff0c;这就导致每次部署的时候都要修改配置文件再打包&#xff0c;即使用了nacos进行配置管理&#xff0c;但测试环境与生产环境的nacos部署的地方肯定不一样…

MyBatis简单入门

文章目录 快速入Mapper代理开发具体步骤使用mapper代理中的包扫描 查询字段名称不一致问题方法一&#xff1a;对SQL语句起别名方法二&#xff1a; 采用resultMap映射 条件查询单条件查询SQL中特殊字符的处理 多条件查询方式一&#xff1a;散装参数方式二&#xff1a;对象参数方…

ABAP:ABAP解析xml文件的方法

目前我在ECC的系统找到两种实现XML解析的办法&#xff0c;第一种是通过strans创建转化例程&#xff0c;然后在程序中调用转化例程来转化xml&#xff0c;第二种是调用方法按照node解析xml。 要转化的xml文件demo如下 <?xml version"1.0" encoding"Windows-…

1.5 编写自定位ShellCode弹窗

在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码&#xff0c;虽然简易ShellCode可以被正常执行&#xff0c;但却存在很多问题&#xff0c;由于采用了硬编址的方式来调用相应API函数的&#xff0c;那么就会存在一个很大的缺陷&#xff0c;如果操作系统的版本不…

提取图像中的文本信息(Tesseract OCR 和 pytesseract)

环境准备 安装Tesseract&#xff1a;点这里参考本人博客 下载第三方库 pip install Pytesseract这个库只自带了一个英语的语言包&#xff0c;这个时候如果我们图片中有对中文或者其他语言的识别需求&#xff0c;就需要去下载其他语言包 下载其他语言包 进入官网以后进入Tra…

MyBatisPlus基础知识

一、MyBatisPlus 1.MyBatisPlus入门案例与简介 这一节我们来学习下MyBatisPlus的入门案例与简介&#xff0c;这个和其他课程都不太一样&#xff0c;其他的课程都是先介绍概念&#xff0c;然后再写入门案例。而对于MyBatisPlus的学习&#xff0c;我们将顺序做了调整&#xff0…

STM32——MCU简单介绍

文章目录 一、单片机基础简介1.MCU简介&#xff08;1&#xff09;MCU的组成&#xff08;2&#xff09;常见的MCU 2.STM32简介&#xff08;1&#xff09;STM32&STM8产品型号--各个字母的含义 3.如何查手册&#xff08;1&#xff09;数据手册芯片信息总线框图时钟树内存映射 …

Java面试题及答案整理( 金九银十最新版,持续更新)

最近可能有点闲的慌&#xff0c;没事就去找面试面经&#xff0c;整理了一波面试题。我大概是分成了 Java 基础、中级、高级&#xff0c;分布式&#xff0c;Spring 架构&#xff0c;多线程&#xff0c;网络&#xff0c;MySQL&#xff0c;Redis 缓存&#xff0c;JVM 相关&#xf…

【vue】使用uni-indexed-list组件点击获取下标详情

问题描述 使用uniapp自带的uni-indexed-list组件&#xff0c;点击索引只能获取到点击的名称&#xff0c;不能获取其他信息 解决方案&#xff1a; uni-indexed-list组件1.2.1版本 对uni-indexed-list组件代码进行修改,示例如下: 找到setList函数&#xff0c;对内部逻辑赋值就…

二叉树 — 多叉转二叉树

题目&#xff1a; 将一棵多叉树&#xff0c;转换成二叉树&#xff0c;在通过这个二叉树还原成多叉树。 分析 毫无疑问&#xff0c;多叉树的头结点也是转换的二叉树的头结点。 多叉树如下图所示&#xff1a; 转换成二叉树&#xff0c;则将多叉树所有的节点X&#xff0c;将X的孩…

MATLAB导入EXCEL表格数据画散点图

namexxxx.xlsx;%这里的xxxx是EXCEL文件的名字&#xff0c;而且需要将它和.m文件放在同一个文件夹下 axlsread(name,D2:D25); aa; bxlsread(name,I2:I25); bb; x[a,b]; cxlsread(name,E2:E25); cc; dxlsread(name,J2:J25); dd; y[c,d]; plot(x,y,b-o),grid on;%b-o是颜色和图案&…

linux 内核接口atomic_long_try_cmpxchg_acquire/release详解

linux 内核接口atomic_long_try_cmpxchg_acquire详解 1 atomic_long_try_cmpxchg_acquire/release1.1 atomic_long_try_cmpxchg_acquire1.2 atomic_long_try_cmpxchg_release 2 arch_atomic64_cmpxchg_acquire/release2.1 arch_atomic64_cmpxchg_acquire/release定义2.2 atomic…

移远通信携手中国电信等伙伴重磅发布5G NTN试验成果,共促卫星物联网产业发展

6月29日&#xff0c;在MWC上海展期间&#xff0c;以“5G云网新科技 数字经济新动能”为主题的2023中国电信5G/6G科技创新成果发布会顺利举行。 会上&#xff0c;中国电信联合合作伙伴重磅发布了多项科技创新成果和科技创新应用&#xff0c;作为中国电信在卫星物联网领域重要的合…