公式和图片不显示...
1 问题描述
食谱/配料问题:设有n种配料,每种配料含有m种营养成分,用 表示一个单位的第 j (j<=n)种配料中含有的第 i (i<=m)种营养成分数量,用 表示对第 i 种营养成分的最低需要量,表示第 j 种食品的单价,表示所用的第 j 种食品的数量,配料问题的求解即解决应如何搭配食物(即求解), 一方面满足种营养成分的需要,同时使食物的总成本最低的问题。
2 问题的相关背景描述
这类问题其实是在计划任务确定的情况下,如何统筹安排,用作少的资源来实现任务要求,可以抽象为一个求极小值的问题。对于社会实际问题而言,这类问题研究和应用的内容是实现系统的投入产出的问题,用最少的劳力和物力等投资消耗,获利更多更好的社会需求产品。
解决配料问题常用的方法是图解法和单纯形法。图解法虽然清晰直观、方便简单,但是只适用于二维的线性规划问题,在我们的高中时期经常用到。单纯形法的优点是可以适用于所有的线性规划问题,但是单纯形法中涉及大量不同的算法,为了针对不同的线性规划问题,计算量大,复杂繁琐。除此之外还有内点法、椭球法等求解线性规划问题的算法。
参考文献:第1卷第1期 西昌学院学报·自然科学版 Vo1.1,No.12013年06月 Journal of Xichang College·Natural Science Edition Jun.,2013
3.问题分析
解决线性规划问题,首先要对线性规划问题建立数学模型,确定目标函数和相应的约束条件。
从实际问题中建立数学模型一般有以下步骤:
(1)、根据所求目标的影响因素找到决策变量;
(2)、由决策变量和所求目标的函数关系确定目标函数;
(3)、由决策变量所受的限制条件确定决策变量所需要满足的约束条件。
3.1单纯形法(主要)
算法步骤:
(1)、将非标准型线性规划化成标准型,加入松弛变量;
(2)、求出线性规划的初始基可行解,列出初始单纯形表;
(3)、进行最优解检验。如果表中所有检验数小于等于零,则表中的基可行解就是问题的最优解,计算停止,否则进行下一步。
(4)、从一个基可行解转换到另一个目标值更大的基可行解,列出新的单纯形表。确定换入基的变量,当有一个以上检验数大于0时,一半选择最大的一个检验数,其对应的作为换入变量;确定换出变量,根据计算并选择,选最小的对应基变量作为换出变量;用换入变量替换基变量中的换出变量,得到一个新的基。对应新的基可以找出一个新的基可行解,并相应地可以画出一个新的单纯形表。
(5)、重复(3)(4)步骤直到计算结束为止。
算法评估:平均计算量统计O(n)
3.2椭球法
算法步骤:
(1)、变换问题提法:原问题:, 对偶问题:, ,于是知,若有最优解则构造的下述复合不等式必成立:,;
(2)、变换上述不等式并试图求解,然后构造一个大的球体,使其必包含不等式可行解(若存在的话),对球心判断是否为可行解,若是,结束,否则,切割球体(切去肯定不包含可行解的部分)直至找到可行解,或证明无可行解。
算法评估:并不实用,计算量
3.3内点法
算法步骤:
算法评估:计算量 平均计算量统计O(lgn)
3.4蛮力法
算法步骤:根据条件将解空间缩小后,在解空间中搜索最优解
算法评估:在特殊情况下可能会表现突出,但是更普遍的情况下并不适用。
由于单纯形法更具有普遍性,在解决配料问题等各类线性规划问题方面也表现突出,所以单纯形法是我们组重点研究的对象。
4.计算模型
1、 化为标准形式
…
2、 化为松弛形式
此时依然成立, 我们将这些变量称为非基变量,它们构成的集合记为N。将这些变量称为基变量,它们构成的集合记为B。简单地理解,非基变量能够由基变量唯一确定。
s.t.
3、 初始化过程
如果b向量并不全为非负,则我们需要通过初始化过程来找到一个可行解,然后才可以使用最优化过程进行优化。当然,此时原线性规划不一定存在可行解。具体的方法是,加入一个新的非基变量,并在原线性规划的基础上构造一个新