线性,整数,非线性,动态规划

您所在的位置:网站首页 线性规划法 线性,整数,非线性,动态规划

线性,整数,非线性,动态规划

2024-07-15 11:58| 来源: 网络整理| 查看: 265

线性规划

线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。

自从 1947 年 G. B. Dantzig 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟

目标函数约束条件,记为 s.t.(即 subject to)目标函数及约束条件均为线性函数,故被称为线性规划问题。

线性规划的 Matlab 标准形式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T01W3XxU-1633779106919)(C:/Users/23105/AppData/Roaming/Typora/typora-user-images/image-20211009151645757.png)]

其中 c 和 x 为 n 维列向量, A 、 Aeq 为适当维数的矩阵,b 、beq 为适当维数的列向量。

线性规划 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3XCl5pBy-1633779106921)(C:/Users/23105/AppData/Roaming/Typora/typora-user-images/image-20211009151749505.png)] Matlab 标准型 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ioLtJwkS-1633779106923)(C:/Users/23105/AppData/Roaming/Typora/typora-user-images/image-20211009151830161.png)]

可行解 满足约束条件的解

可行域 所有可行解构成的集合,记为 R 。

整数规划

规划中的变量(部分或全部)限制为整数时,称为整数规划。

若在线性规划模型中,变量限制为整数,则称为整数线性规划。

求解方法分类:

分枝定界法—可求纯或混合整数线性规划。

把全部可行解空间反复地分割为越来越小的子集,称为分枝;

对每个子集内的解集计算一个目标下界(对于最小值问题),这称为定界

每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝,许多子集可不予考虑,这称剪枝。

求解生产进度问题、旅行推销员问题、工厂选址问题、背包问题及分配问题等。

用分枝定界法求解整数规划(最大化)问题的步骤为:

将要求解的整数规划问题称为问题 A ,将与它相应的线性规划问题称为问题 B 。

解问题 B 可能得到以下情况之一:

B 没有可行解,这时 A 也没有可行解,则停止.B 有最优解,并符合问题 A 的整数条件, B 的最优解即为 A 的最优解,则停止。B 有最优解,但不符合问题 A 的整数条件,记它的目标函数值为 z(UP) 。

用观察法找问题 A 的一个整数可行解,一般可取 x(j) = 0, j = 1,…,n ,试探,求得其目标函数值,并记作 z(down)。以 z* 表示问题 A 的最优目标函数值;这时有z(up) ≤ z* ≤ *z(down)*进行迭代。

第一步:分枝第二步:每个后继问题为一分枝标明求解的结果,与其它问题的解的结果中,找出最优目标函数值最大者作为新的上界 z(up) 。从已符合整数条件的各分支中,找出目标函数值为最大者作为新的下界 z(down) ,若无作用 z(down) 不变。第三步:比较与剪枝,各分枝的最优目标函数中若有小于 z(down) 者,则剪掉这枝,即以后不再考虑了.若大于 z(down) ,且不符合整数条件,则重复第一步骤。一直到最后得到z* = z(down) 为止。得最优整数解 x(j) , j = 1,…, n 。

割平面法—可求纯或混合整数线性规划。

隐枚举法—求解“0-1”整数规划

过滤隐枚举法;分枝隐枚举法。

匈牙利法—解决指派问题(“0-1”规划特殊情形)

匈牙利算法主要用于解决一些与二分图匹配有关的问题 二分图(Bipartite graph)是一类特殊的图,它可以被划分为两个部分,每个部分内的点互不相连。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4G1QCaSM-1633779106926)(C:/Users/23105/AppData/Roaming/Typora/typora-user-images/image-20211009160212023.png)]匈牙利算法主要用来解决两个问题:求二分图的最大匹配数和最小点覆盖数。 一个二分图中的最大匹配数等于这个图中的最小点覆盖数。

蒙特卡洛法—求解各种类型规划

蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。 非线性规划

如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。

如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到(特别是可行域的顶点上达到);而非线性规划的最优解(如果最优解存在)则可能在其可行域的任意一点达到。

由于线性规划的目标函数为线性函数,可行域为凸集,因而求出的最优解就是整个可行域上的全局最优解。非线性规划却不然,有时求出的某个解虽是一部分可行域上的极值点,但却并不一定是整个可行域上的全局最优解。

对于一个实际问题,在把它归结成非线性规划问题时,一般要注意如下几点:

确定供选方案:首先要收集同问题有关的资料和数据,在全面熟悉问题的基础上,确认什么是问题的可供选择的方案,并用一组变量来表示它们。提出追求目标:经过资料分析,根据实际需要和可能,提出要追求极小化或极大化的目标。并且,运用各种科学和技术原理,把它表示成数学关系式。给出价值标准:在提出要追求的目标之后,要确立所考虑目标的“好”或“坏”的价值标准,并用某种数量形式来描述它。寻求限制条件:由于所追求的目标一般都要在一定的条件下取得极小化或极大化效果,因此还需要寻找出问题的所有限制条件,这些条件通常用变量之间的一些不等式或等式来表示。

凸集

在凸组合下闭合的仿射空间的子集。在欧氏空间中,凸集是对于集合内的每一对点,连接该对点的直线段上的每个点也在该集合内。令X是线性空间。如果对于X的子集S中的所有x和y,并且在区间[0,1]中的所有t,点(1-t)x+ty 也属于S,则S称为凸集。凸集的边界总是凸曲线。凸最小化是一个优化的子领域,研究了凸函数在凸集上的最小化问题。 用于凸集和凸函数属性研究的数学分支称为凸分析。性质 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xz9qcUh7-1633779106929)(C:/Users/23105/AppData/Roaming/Typora/typora-user-images/image-20211009162639341.png)] 凸包:矢量空间的每个子集A包含在最小的凸集(称为A的凸包)中,即包含A的所有凸集的交集。

凸组合

凸组合是一类特殊的线性组合,是若干个点的某种特定意义下的非负线性组合。设向量{x(i)},i=1,2…,n,如有实数λ(i)>=0 ,且λ(1)+…+λ(n)=1 ,则称λ(1)x(1)+…+λ(n)x(n)为向量{x(i)} 的一个凸组合(凸线性组合)。

凸函数

设 f (x) 为定义在 n 维欧氏空间 E(n) 中某个凸集 R 上的函数,若对任何实数α(0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3