求解器一般用来解决大规模现实问题中的最优解,基于深度学习和运筹优化技术的发展,求解器可以在数秒内给出决策答案。作为重要的工业软件之一,目前已经应用到能源电力、航空航天、轨道交通等各领域。
目前,Gurobi、CPLEX和Xpress被视为三大主流求解器,占据90%的国际市场份额。针对任何约束条件下的问题最优解,它都可以在数秒内给出答案,大大地提升了决策效率。而这一技术的发展,也要从一个饮食优化问题说起。
01
斯蒂格勒饮食和旅行商问题
单纯形法是求解线性规划(LP)问题最为常见的算法之一,也是当前很多求解器的算法框架之一。线性规划作为数学规划的一个重要的分支,可以追溯到1945年George Stigler提出的饮食问题。而针对这一问题的求解,也是单纯形法问世的开始。
“斯蒂格勒饮食”是以 1982 年诺贝尔经济学奖得主George Stigler命名的优化问题,“对于一个体重154磅(70 公斤)的适度运动的人来说,为了满足9种不同营养素的摄入量达到国家研究委员会在 1943 年建议的推荐膳食摄入量(RDA),每天应该摄入77种食物中的哪些品类,且成本最低?”
这一问题包含9个约束条件,77个变量。这一问题提出之际,线性规划算法尚未出现,但他使用了启发式方法进行求解,从最初的77种食物中剔除62种(这些食物被剔除是因为它们与其余15种相比缺乏营养),通过计算出剩余的15种食物中,每种食物所需的数量,得出成本最小化解决方案,每年成本是39美元。