1. 谁有“算法分析与设计在线视频教程”的下载地址。
算法分析与设计在线视频教程(附下载)局乎稿[下载注意]要复制地址而不是点击链接,复制时要包括前面的 mms://,否则下载不了.
算法分析与设计 第一讲 算法引论
mms://www.scopen.net/scddip/sffxysj/sffxysj1/Opene.asf
算法分析与设计 第二讲 递归于分治策略
mms:/顷闹/www.scopen.net/scddip/sffxysj/sffxysj2/Opene.asf
算法分析与设计 第三讲 分治法的基本思想
mms://www.scopen.net/scddip/sffxysj/sffxysj3/Opene.asf
算法分析与设计 第四讲 Strassen矩阵乘法
mms://www.scopen.net/scddip/sffxysj/sffxysj4/Opene.asf
算法分析与设计 第五讲 动态规划
mms://www.scopen.net/scddip/sffxysj/sffxysj5/Opene.asf
算法分析与设计 第六讲 贪心算法
mms://www.scopen.net/scddip/sffxysj/sffxysj6/Opene.asf
算法分析与设计 第七讲 回溯法
mms://www.scopen.net/scddip/sffxysj/sffxysj7/Opene.asf
算法分析与设计 第八讲 分支限界法
mms://www.scopen.net/scddip/sffxysj/sffxysj8/Opene.asf
我试过了,可以下载,速度还可以
如果你不能下载桐孝的话,可能是你的网络有问题.我可以帮你下载之后再传给你.
另外:
这里还有一个可以在线观看的地址:
http://www.oa7t.com/bbs/forum-41-1.html
里面的视频全部可以在线观看,可以点上面这个连接,也可以点下面这些地址:
http://219.144.186.219/sfsjyfx/1/content.htm 第1集
http://219.144.186.219/sfsjyfx/2/content.htm 第2集
http://219.144.186.219/sfsjyfx/3/content.htm 第3集
http://219.144.186.219/sfsjyfx/4/content.htm 第4集
http://219.144.186.219/sfsjyfx/5/content.htm 第5集
http://219.144.186.219/sfsjyfx/6/content.htm 第6集
http://219.144.186.219/sfsjyfx/7/content.htm 第7集
http://219.144.186.219/sfsjyfx/8/content.htm 第8集
http://219.144.186.219/sfsjyfx/9/content.htm 第9集
http://219.144.186.219/sfsjyfx/10/content.htm 第10集
http://219.144.186.219/sfsjyfx/11/content.htm 第11集
http://219.144.186.219/sfsjyfx/12/content.htm 第12集
http://219.144.186.219/sfsjyfx/13/content.htm 第13集
http://219.144.186.219/sfsjyfx/14/content.htm 第14集
http://219.144.186.219/sfsjyfx/15/content.htm 第15集
http://219.144.186.219/sfsjyfx/16/content.htm 第16集
http://219.144.186.219/sfsjyfx/17/content.htm 第17集
http://219.144.186.219/sfsjyfx/18/content.htm 第18集
http://219.144.186.219/sfsjyfx/19/content.htm 第19集
http://219.144.186.219/sfsjyfx/20/content.htm 第20集
http://219.144.186.219/sfsjyfx/21/content.htm 第21集
http://219.144.186.219/sfsjyfx/22/content.htm 第22集
http://219.144.186.219/sfsjyfx/23/content.htm 第23集
http://219.144.186.219/sfsjyfx/24/content.htm 第24集
http://219.144.186.219/sfsjyfx/25/content.htm 第25集
http://219.144.186.219/sfsjyfx/26/content.htm 第26集
http://219.144.186.219/sfsjyfx/27/content.htm 第27集
http://219.144.186.219/sfsjyfx/28/content.htm 第28集
http://219.144.186.219/sfsjyfx/29/content.htm 第29集
http://219.144.186.219/sfsjyfx/30/content.htm 第30集
http://219.144.186.219/sfsjyfx/31/content.htm 第31集
http://219.144.186.219/sfsjyfx/32/content.htm 第32集
http://219.144.186.219/sfsjyfx/33/content.htm 第33集
http://219.144.186.219/sfsjyfx/34/content.htm 第34集
http://219.144.186.219/sfsjyfx/35/content.htm 第35集
http://219.144.186.219/sfsjyfx/36/content.htm 第36集
http://219.144.186.219/sfsjyfx/37/content.htm 第37集
http://219.144.186.219/sfsjyfx/38/content.htm 第38集
http://219.144.186.219/sfsjyfx/39/content.htm 第39集
http://219.144.186.219/sfsjyfx/40/content.htm 第40集
http://219.144.186.219/sfsjyfx/41/content.htm 第41集
http://219.144.186.219/sfsjyfx/42/content.htm 第42集
http://219.144.186.219/sfsjyfx/43/content.htm 第43集
http://219.144.186.219/sfsjyfx/44/content.htm 第44集
http://219.144.186.219/sfsjyfx/45/content.htm 第45集
http://219.144.186.219/sfsjyfx/46/content.htm 第46集
http://219.144.186.219/sfsjyfx/47/content.htm 第47集
http://219.144.186.219/sfsjyfx/48/content.htm 第48集
http://219.144.186.219/sfsjyfx/49/content.htm 第49集
http://219.144.186.219/sfsjyfx/50/content.htm 第50集
http://219.144.186.219/sfsjyfx/51/content.htm 第51集
http://219.144.186.219/sfsjyfx/52/content.htm 第52集
http://219.144.186.219/sfsjyfx/53/content.htm 第53集
http://219.144.186.219/sfsjyfx/54/content.htm 第54集
http://219.144.186.219/sfsjyfx/55/content.htm 第55集
http://219.144.186.219/sfsjyfx/56/content.htm 第56集
http://219.144.186.219/sfsjyfx/57/content.htm 第57集
2. LP问题进阶 Part 1 | 单纯形法
为方便查阅,再link一下 教材 。
假设我们讨论的LP问题有 个变量与 个限制条件。
基本概念部分大概就是这些。第一次看不用要求自己完全理解,不妨先继续往下学习再慢慢理解这些概念罩培。
单纯形方法的示意图如下:
我们先从一下四点直观的认识入手。
由于书上根本就没有优化操作的概念,所以在此我自己给出其定义:
我们称增加的这个非基本变量为 输入变量 ,变为0的这个基本变量为 输出变量 。因为输入变量取代了输出变量成为新的基。(基的定义可以在前面找到。)
通俗一点地说就是选择一个非基本变量,让其不断增加,要求:
回到主题。之前提到单纯形法即对一个基本解实施若干次优化操作后得到最优解的过程。我们先不考虑最优解的存在性,且断言: 任意非基本变量增加不使得目标函数增加等价于目标函数取得最大值。 这是因为由于符号的限制,非基本变量只能增加,而所有的变量都可以被非基本变量表示。因此非基本变量的增加包含了所有变量的各种变化。
当无法再进行优化操作时有两种可能。一种是任意非基本变量的增加不使得态闷咐目标函数增加。此时目标函数取最大值。另外一种情况是任意非基本变量的增加不使得某一基本变量变为0。注意, LP问题的标准形式中对于变量的所有限制最终都会归结于符号限制 ,因此若基本变帆纯量不会变为0,则非基本变量可以无限地增加。 此时LP问题无界。
还有一点需要注意的是优化操作一定会在有限步后结束,之后会讲到这一点。
经过上述讨论我们对单纯形算法的核心步骤应该有一个大致的了解了。
下面是一个小小的总结
单纯形算法到此结束
3. 线性规划之单纯形法
单纯形法应用在线性规划的标准模型上,任何一个线性规划的一般形式都可以化为标准模型。
线性规划模型的一般形式为:
把它转换为标准型是要求所有的约束都是等式约束,且所有的决策变量非负。
如下面的形式:
举个例子:
那么很容易就可以写出这个线性规划问题的数学模型:
再重复一遍,线性规划的标准型必为以下形式:
对于标准型我们有两个基本假设:
1. 系数矩阵A的行向量线性无关。
2. 系数矩阵A的列数大于其行数,即n>m。因为如果n<m,那么不满足1, 如果n=m,那么该线性规划问题有唯一解,既然有唯一解,那就没有优化的必要了。所以,必有n>m。
回到刚才那个例子,我们可以将找个标准型写为如下形式:
这个例子m = 3, n = 5。那么我们可以用三个变量表示所有的五个变量,这三个变量我们称之为基变量。上图中,x3, x4, x5的系数是一个单位阵。我们把这种形式的等式约束称为典式。
观察这个典式,我们可以很容易的看出其一个基本可行解:(0, 0, 15, 24, 5)T,即非基变量等于0,基变量等于等式右边的常数。这个解,我们可以把它想象成基本可行解区域的一个顶点,我们知道最优解也在顶点上,那么我们只要沿着边界找这个最优顶点就可以了。
对于顶点(0, 0, 15, 24, 5)T,它的x3, x4, x5是基变量,那么与该顶点相邻的其他顶点的基变量有什么关系呢?事实上,与之相邻的顶点的所有基变量中只有一个基变量发生了变化。这是可以验证的。所以,接下来的工作就是从x1, x2中选一个非基变量进基成为基变量,从x3, x4, x5中选一个基变量出基成为非基变量。
那么问题来了,我们怎么选择进基变量和出基变量?
假设我们想要x2进基,那么根据基本可行解的表示式,我们必须通过初等行变换的形式让x2只出现在一个等式约束中,就是把x2的系数变成(1,0,0)T或(0,1,0)T或(0,0,1)T的形式。
假设我们把x2变成(0,0,1)T的形式,初等行变换后得到:
现在对于例子
我们得到了两个基本可行解X1 = (0,0,15,24,5)T, X2 = (0,3,0,18,2)T,记目标函数f(X) = 2x1 + x2 + 0x3 + 0x4 + 0x5
则f(X1) = 0, f(X2) = 3
那么我们怎么找到最优解呢?
我们知道 X2 = (0,3,0,18,2)T 的约束的表示式为:
发现什么没有?
对于可行解X2 = (0,3,0,18,2)T,x1,x3是非基变量啊,非基变量是0啊。但是,我们下一步不是选择进基变量吗,进基变量不是从非基变量里选吗,我们选x1啊,为啥?x1的系数是正数2啊!我们这个例子是求z的最大值,如果x1进基,那么必然会让f(X)增大,因为我们的决策变量都是正数,正数乘正数还是正数,增量肯定是大于0的。我们看到x3的系数是-0.2,如果让x3进基的话,增量肯定是小于0的。
如果x1, x3的系数都大于0怎么办?那随便选啊。
如果x1,x3的系数都小于0怎么办?哈哈,有人可能就意识到了,非基变量的系数都小于0,选谁进基都会造成f(X)变小,我们不是求最大吗?那我们谁也不选啊,这个问题已经结束了,我们已经找到最优解了!
所以,选择进基变量的问题,以及判断找到最优解的问题就都解决了。
我们一般使用单纯形表来直观表示这个过程。
还是可行解X2 = (0,3,0,18,2)T,它对应的单纯形表如下:
最左边一列是基变量,最右边一列是约束右边的常数项,中间一坨是决策变量的系数。最下边一行是目标函数z = 2x1 + x2 + 0x3 + 0x4 + 0x5。最下面一行决策变量的系数我们称之为检验数。
我们通过行变换将最后一行的基变量前面系数变成0,就得到下面的单纯形表:
从这个表中我们可以得到以下信息:
然后通过刚才的方法让x3进基,得到新的基本可行解的单纯形表:
从这个表我们可以得知:
至此,我们已经得到该问题的最优解X4。
我们知道,对于一个基本可行解,一般情况下它的基变量是大于0,非基变量等于0。退化情况是,我们有一个基变量也等于0。那么,这个基本可行解就会对应于多个可行基阵。
举个例子:
X = (3,3,0,0,0)T是该问题的可行解
我们可以令x3,x4为非基变量, 也可以令x3,x5或x4,x5为非基变量。
退化情况存在的问题在于,经过一次进出基迭代后得到的是同一个基本可行解,因此有可能出现迭代算法在一个基本可行解的几个基矩阵之间循环不止的情况。
所以,保证单纯形法收敛的充分条件是:在迭代过程中产生的每个基本可行解的基变量数值都严格大于0。
在迭代过程中,如果某一个决策变量的系数都小于0了,这代表什么?
举例:
如上图,我们可以把x2放在等式右边,看出什么没有?x2可以趋于无穷大。
如上图, 非基变量x4的检验数为0了,根据最优性条件,让其进基并不能继续优化目标函数值。但是,x4进基后还是会得到一个基本可行解,且目标函数值与当前结果相同。这意味这什么?
目标不能再优化,但是又有不同的基本可行解,啥意思?说明该问题有无穷多个最优解。
所以, 对于求max的线性规划问题,如果所有检验数均满足<=0,则说明已经得到了最优解,若此时某非基变量的检验数=0,则说明该优化问题有无穷多最优解。
单纯形法是从一个初始的基本可行解开始的,出基入基,知道找到最优可行解。
问题是,我们怎么得到那个初始的基本可行解啊?
最基本的方法是 添加人工变量
假设原问题的约束是这样的:
x1 + 2x2 + 3x3 = 1
2x + x3 = 2
那么我们再加两个变量x4, x5,把约束变成这样:
x1 + 2x2 + 3x3 + x4 = 1
2x + x3 + x5 = 2
我们就把约束变成了典式,可以直接得到一个基本可行解(0,0,0,1,2)T,找个基本可行解的基变量是x4, x5,那么接下来的工作就是通过出基入基把x4,x5都变成非基变量,这样它们的值就可以为0, 从而得到原问题的可行解。
现在有个问题,如果在最优表中,基变量中仍含有人工变量,这说明啥?
这说明,原问题根本就无解。
4. 单纯形方法
单纯形法是求解线性规划问题最常用、最有效的算法之一。
单纯形法最早由 George Dantzig于1947年提出,近70年来,虽有许枯历脊多变形体已经开发,但却保持着同样的基本观念。如果线性规划问题的最优解存在,则一定可以在其可行区域的顶点中找到。基于此,单纯形法的基本思路是:先找出可行域的一个顶点,据一定规则判断其是否最优;若否,则转换到与之相邻的另一顶点,并使目标函数值更优;如没渗此下去,直到找到某最优解为止。
为了用选代法求出线性规划的最优解,需要解决以下三个问题:
(1)最优解判别准则,即迭代终止的判别标准;
(2)换基运算,即从一个基可行解迭代出另一个基可行解的方法;
(3)进基列的选择,即选择合适的列以进行换基运算,可以使目标函数值有较大下降。
改进单纯形法:
原单纯形法不是很经济的算法。1953年美国数学家G.B.丹捷格为了改进单纯形法每次迭代中积累起来的进位误差,提出改进单纯形法。其基本步骤和单纯形法大致相同,主要区别是在逐次迭代中不再以高斯消去法为基础,而是由旧基阵的逆去直接计算新基阵的逆,再由此确定检验数。这样做可以减少迭代中的累积误差,提高计算精度,同时也减少了烂纯在计算机上的存储量。
5. 单纯形法的原理
单纯形法的原理如下:
首先设法找到一个(初始)基可行解,然后再根据最优性理论判断这个基可行解是否最优解。若是最优解,则输出结果,计算停止。
若不是最优解,则设法由当前的基可行解产生一个目标值更搜迹优的新的基可行解,再利用最优性理论对所得的新基可行解进行判断,看其是否最优解,这样就构成一个迭代算法。
由于基可行解只有有限个,而每次目标值都有所改进,因而必可在有限步内终止。如果原问题确有最优解,必可在有限步内达到,且计算量大大少于穷举法;若原问题无最优解,也可根据最优性理论及时发现,停止计算,避免错误及无效运算。坦纳"
单纯让漏没形法是求解线性规划问题最常用、最有效的算法之一。单纯形法最早由 George Dantzig于1947年提出,近70年来,虽有许多变形体已经开发,但却保持着同样的基本观念。如果线性规划问题的最优解存在,则一定可以在其可行区域的顶点中找到。
基于此,单纯形法的基本思路是:先找出可行域的一个顶点,据一定规则判断其是否最优;若否,则转换到与之相邻的另一顶点,并使目标函数值更优;如此下去,直到找到某最优解为止 。