首页 > 其他分享 >线性规划(LP)问题

线性规划(LP)问题

时间:2024-07-23 23:28:58浏览次数:10  
标签:可行 LP 线性规划 约束 问题 计算

 

约束最优化——线性规划(LP)问题

1 线性规划

        1.1 图解法(计算机不适用,便于理解)

        1.2 单纯形法

        1.3 计算几何的方法(待更新)

1 线性规划

约束优化问题:给定约束条件和目标函数,计算约束条件下目标函数的最大(最小)值。

目标函数和约束条件都是线性函数的情况,称为线性优化问题(LP问题)。此外,还有非线性优化问题。

 

线性规划问题有4个可能的情况:
1.唯一解:目标函数对应的直线与可行解空间相交于一点;
2.有无穷多个最小值解:目标函数所对应的直线与某个约束线精确垂直(图15-2(a)所示);
3.没有可行解:构建的线性规划问题的可行解域为空集,没有可行解(图15-2(b)所示);
4.无边界问题:可行解域是无界的(图15-2(c )所示)。

 



本文主要讨论有界线性规划问题求解(就是第1和第2种情况),对于无界线性规划问题,会在本文1.2.3 无界线性规划问题中简单提到。

1.1 图解法(计算机不适用,便于理解)

以下面的例子来讲。
约束条件如下:


目标函数为:

解:画图如下,图中对每个约束进行了编号,以便在以下的图解方法中识别它们。


让Z值不停地增大,直到再次增大Z值,使目标超出了可行区域为止。图15-1(b)显示了该变化过程,得到Z的最大值为1400。

优缺点:计算机不适用,且只能处理二维三维问题。但是便于理解,解释概念。

启示:由上述过程可以看到,最优解通常在两个约束线交汇的一个角点出现。这个点称为极点。
因此,对于有界规划问题,最优解可以使用穷举法来比较每个可行极点的目标函数值来得到。

1.2 单纯形法

由图解法得到的启示,有界线性规划的极点都是出现在两个约束线交汇的角点。由此我们可以想办法计算每个可行的极点,然后取这些极点中最大的目标函数值,就得到线性规划问题的最优解。

为了更容易理解单纯形法,将其单独列出来讲。

参考文献:线性规划(LP)问题求解——单纯形法_lp松弛-CSDN博客

单纯形法:适用于约束条件和变量数目都很多的情况;对于变量数量较少的情况,以下介绍的计算几何的方法效率会更高。

 

1.3 计算几何的方法(待更新)

对于两个变量的线性规划问题,下面介绍的方法会更适用。不过这里面的会用到一些计算几何方面的知识。

1.3.1 分治式算法

对于线性规划问题,我们可以直接计算所有约束的可行解域(feasible region)。然后根据可行解域的边界交点,计算得到线性规划问题的最优解。

计算可行解域的最直接的方法,就是分治式算法,可计算任意 n 个约束的公共交集。算法伪代码如下:
INTERSECTHALFPLANES(H)
1.如果约束集H中约束的个数为1,返回;否则将约束集H分成两个子集H1和H2 ,大小分别为n/2;
2.如果子集H1中约束的个数大于1,调用INTERSECTHALFPLANES(H),继续将子集一分为二;
3.如果子集H1中约束的个数大于1,调用INTERSECTHALFPLANES(H),继续将子集一分为二;
4.否则,调用IntersectConvexRegions(H1 , H2)。

其中的子函数IntersectConvexRegions(H1 , H2)为计算两个凸多边形交集的算法。方法思路如下:

结论:函数IntersectConvexRegions(H1 , H2),可以 O(n)时间内计算出任意两个凸多边形的交集。

结论:给定平面上的一组共 n 个约束,可以使用线性的空间,在 O(nlogn)时间内计算出其公共的交集。

1.3.1 递增式算法

1.3.2 随机递增式算法

改进的平面扫描算法: 随机平面扫描算法。

1.3.3 无界线性规划问题*

无界线性规划问题。

 

参考文献:

最优化方法笔记3:约束最优化——线性规划(LP)问题_线性优化约束问题例题-CSDN博客

线性规划(LP)问题求解——单纯形法_lp松弛-CSDN博客

标签:可行,LP,线性规划,约束,问题,计算
From: https://www.cnblogs.com/Gaowaly/p/18319848

相关文章

  • 基于树种算法优化的TSP问题求解
    智能优化算法应用:基于树种算法的TSP问题求解-附代码文章目录智能优化算法应用:基于树种算法的TSP问题求解-附代码1.TSP问题3.树种算法4.实验参数设定5.算法结果6.Matlab代码7.Python代码摘要:TSP是数学领域内一道著名的难题之一,如何求解一直是学术界研究的热点问......
  • 基于平衡优化器算法优化的TSP问题求解
    智能优化算法应用:基于平衡优化器算法的TSP问题求解-附代码文章目录智能优化算法应用:基于平衡优化器算法的TSP问题求解-附代码1.TSP问题3.平衡优化器算法4.实验参数设定5.算法结果6.Matlab代码7.Python代码摘要:TSP是数学领域内一道著名的难题之一,如何求解一直是......
  • 洛谷P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
    [NOIP2001普及组]最大公约数和最小公倍数问题题目描述洛谷题目链接:https://www.luogu.com.cn/problem/P1029输入两个正整数x,y,求出满足下列条件的P,Q的个数:P,Q是正整数。要求P,Q以x为最大公约数,以y为最小公倍数。试求:满足条件的所有可能的P,Q的个数。......
  • “微软蓝屏”事件暴露了网络安全哪些问题?
    “微软蓝屏”事件暴露了网络安全哪些问题?近日,一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件,不仅成为科技领域的热点新闻,更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件,源于美国电脑安全技术公司“众击”提供的一个带有“缺陷”的软件更新,它如同一颗隐......
  • 浅谈5G频段的选择问题
    在5G频段选择的问题上,我们需要考虑多个方面,包括频段特性、网络需求、设备支持以及运营商的部署情况等。以下是对5G频段选择问题的详细分析:一、频段特性    低频段(如700MHz,即N28/N28a):        优势:通信距离远,穿透能力强,适合广覆盖和深度覆盖,尤其适合人口密集的城市区......
  • 8593 最大覆盖问题
    这个问题可以通过使用两个指针和一个变量来跟踪最大覆盖区间长度来解决。我们从序列的末尾开始,使用两个指针i和j都指向序列的末尾。然后我们开始移动指针i,直到找到一个元素使得不满足覆盖区间的条件。在这个过程中,我们可以更新最大覆盖区间长度。然后我们将指针j向左移动一位,......
  • 面试题:如何解决缓存和数据库的一致性问题?
    所谓的一致性问题是指,在同时使用缓存和数据库的情况下,要确保数据在缓存与数据库中的更新操作保持同步。也就是当对数据进行修改时,无论是先修改缓存还是先修改数据库,最终都要保证两者的数据是一样的,不会出现数据不一样的问题。1.一致性问题解决方案缓存和数据库一致性的经典解决......
  • 检测自身大数据风险在选择平台时要注意什么问题
    随着大数据技术在各个行业和领域的运用,在金融风险控制和评估的方面也有很大的作用,在申贷钱,用户检测自身的大数据信用风险是很有必要的,这样可以根据自身的大数据信用情况选择自己的容易通过的贷款,那检测自身大数据风险在选择平台时要注意什么问题呢?下面详细的为大家讲讲。......
  • 解决 SandboxBroker.dll 缺失问题:Windows沙盒服务修复教程
    sandboxbroker.dll是Windows操作系统中用于沙箱(Sandbox)技术的组件之一。沙箱是一种安全机制,它允许应用程序在一个受限的环境中运行,从而保护系统免受潜在的恶意行为影响。sandboxbroker.dll主要负责协调沙箱内的进程与外部资源之间的交互,例如文件访问、注册表操作等。它在现代Wi......
  • ytb_dlp踩坑
    youtube]ExtractingURL:https://www.youtube.com/watch?v=lsfHtagwsNE&pp=ygUJd2FyZWhvdXNl[youtube]lsfHtagwsNE:Downloadingwebpage[youtube]lsfHtagwsNE:DownloadingiosplayerAPIJSON[youtube]lsfHtagwsNE:Downloadingm3u8information[info]lsfHt......