hdu1109runaway模擬退火演算法:模擬退火,聽起來很高大上的樣子,但是實現起來非常簡單…對於這道題,我們可以隨機選擇30個源點,以step為步長,讓它們沿任意角度跳躍,直到不管如何跳躍,答案都比當前最優值差。
但是這道題並不需要「正統」模擬退火一般設立機率接受比當前差的結果。
**#include
#include
#include
#include
#include
using namespace std;
const int inf = 1 << 31 -1, maxn = 1005;
const double exps = 1e-3; //最小步長,比精度低2位即可
const double pi = acos(-1.0);
int x, y, m;
double x[maxn], y[maxn];
double a[maxn], b[maxn], best[maxn];
inline double rand(double l, double r) //生成區間[l, r]間的隨機數
inline double pow(double x)
inline double dist(double x1, double y1, double x2, double y2)
int main()
double step = max(x, y);
while(step > exps)
}step *= 0.85;
}int t = 1;
for(i = 2; i <= 30 ;i++)
if(best[i] >= best[t]) t = i;
printf("the safest point is (%.1lf, %.1lf).\n", a[t], b[t]);
}return 0;
}
POJ2420 HDU1109 模擬退火
n區域性搜尋,模擬退火,遺傳演算法,禁忌搜尋的形象比喻 為了找出地球上最高的山,一群有志氣的兔子們開始想辦法。1 兔子朝著比現在高的地方跳去。他們找到了不遠處的最高山峰。但是這座山不一定是珠穆朗瑪峰。這就是區域性搜尋,它不能保證區域性最優值就是全域性最優值。2 兔子喝醉了。他隨機地跳了很長時間。這期...
模擬退火演算法
w 模擬退火演算法的基本思想 將乙個優化問題比擬成乙個金屬物體,將優化問題的目標函式比擬成物體的能量,問題的解比擬成物體的狀態,問題的最優解比擬成能量最低的狀態,然後模擬金屬物體的退火過程,從乙個足夠高的溫度開始,逐漸降低溫度,使物體分子從高能量狀態緩慢的過渡到低能量狀態,直至獲得能量最小的理想狀態...
模擬退火演算法
一些求解極值的問題不能通過函式特性直接求解,只能暴力列舉,但是單純的列舉效率不高,通過模擬退火演算法可以高效的找到答案。學習好博文 最小圓覆蓋 hdu 3007 buried memory 大意 給出一些點,求出能覆蓋他們的最小的圓。輸出圓心和半徑 include include include i...