最近公司搞征文比赛,就把我以前写过过的数独算法再深入研究了一下,形成这篇小文。一共介绍了五种方法来求解数独:回溯法,排列组合法,精确覆盖问题法,模拟退火法以及约束编程法。 ...
分类:
其他好文 时间:
2016-06-25 07:24:49
阅读次数:
413
模拟退火算法
受固体退火过程的启发,Kirkpatrick等人意识到组合优化问题与固体退火过程的类似性,将组合优化问题类比为固体的退火过程,提出了求解组合优化问题的模拟退火算法。
表7.3给出了组合优化问题与固体退火过程的类比关系。
表7.3:组合优化问题与退火过程的类比
固体退火过程
组合优化问题
物理系统中的一个状态
组合优...
分类:
其他好文 时间:
2016-06-21 07:16:55
阅读次数:
204
#include<cstdio> #include<cmath> #include<algorithm> #define ld long double #define eps 1e-8 using namespace std; int n;double r; struct point{ double ...
分类:
编程语言 时间:
2016-06-10 21:34:10
阅读次数:
220
题意:有n个陷阱,在X,Y范围内要求出一个点使得这个点到陷阱的最小距离最大。 思路:模拟退火,随机撒入40个点,然后模拟退火随机化移动。 (这题poj坑爹,加了srand(time(NULL))不能交G++,不加srand(time(NULL))又会WA,交了C++不能用acos(-1),只能用3. ...
分类:
其他好文 时间:
2016-05-27 22:00:32
阅读次数:
147
【题目链接】
可以发现,购买方案是有周期的,周期个数即为购买次数。
对于固定的购买次数,我们可以贪心的求出最多存活多少天。
但是我们并不知道要购买多少次,反正是个函数最值问题,直接模拟退火!
看了题解之后,发现购买次数与答案为单峰函数关系,那么可以换成三分法了。。
贪心的话,先预处理出每次要购买的食物(因为有些食物一定不会去买的),然后在保质期内,贪心的全买这种食物即可。...
分类:
其他好文 时间:
2016-05-12 12:23:30
阅读次数:
190
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点 ...
分类:
编程语言 时间:
2016-05-08 18:25:11
阅读次数:
253
优化算法入门系列文章目录(更新中): 1. 模拟退火算法 2. 遗传算法 一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主 ...
分类:
编程语言 时间:
2016-04-09 16:34:33
阅读次数:
194
题目链接: A Star not a Tree? Description Input Output Sample Input Sample Output
分类:
编程语言 时间:
2016-03-18 00:00:49
阅读次数:
468
转自http://blog.csdn.net/lvhao92/article/details/50826709 首先,这仨算法都是求成本函数最优的方法。 爬山法:成本函数抽象成了一座山(想象一下一个2维坐标系,横轴为变量,纵轴为成本函数,成本函数随着横轴的递增而上下起伏绵延不绝,好似一座山),某人可
分类:
编程语言 时间:
2016-03-10 10:52:13
阅读次数:
128