高级搜索一般认为,NP完全问题的算法复杂性是指数级的
当问题规模达到一定程度时,以前这些算法显得无能为力
局部搜索算法、模拟退火算法和遗传算法等是较新发展起来的算法,算法引入了随机因素,不一定能找到最优解,但一般能快速找到满意的解
主要内容:基本概念局部搜索算法模拟退火算法组合优化问题优化问题设x的决策变量,D为x的定义域,f(x)是指标函数,g(x)是约束条件集合
则优化问题可以表示为,求解满足g(x)的f(x)最小值问题
即:组合优化问题如果在定义域上,满足条件g(x)的解是有限的,则优化问题称为组合优化问题
现实世界中很多问题属于组合优化问题,或者可以转化为组合优化问题求解,如旅行商问题、皇后问题
))(|)((minxgxfDx组合优化问题举例TSP问题从某个城市出发,经过n个指定的城市,每个城市只能且必须经过一次,最后回到出发城市,如何安排旅行商的行走路线以使总路程最短
约束机器排序问题n个加工量为di(i=1,2,…n)的产品在一台机器上加工,机器在第t个时段的工作能力为ct,完成所有产品加工的最少时段数
指派问题一家公司经理准备安排N名员工去完成N项任务,每人一项
由于各员工的特点不同,不同的员工去完成同一项任务时获得的回报是不同的
如何分配工作方案可以获得最大收益
组合优化问题举例0-1背包问题设有一个容积为b的背包,n个体积分别为ai(i=1,2,…n),价值分别为ci(i=1,2,…n)的物品,如何以最大的价值装包
装箱问题如何用个数最少的尺寸为1的箱子装进n个尺寸不超过1的物品
SAT问题称判定一个公式是否存在一个模型的问题为可满足性问题(以后简称为SAT问题)
如果一个公式存在模型,则称该公式是可满足的,否则称为不可满足的
组合优化问题举例皇后问题在n×n的国际象棋棋盘上,摆放n个皇后,使得n个皇后之间不能相互“捕捉