我正在处理资源分配问题,在这个我有50000资源,我想在6模块上分发它。目标是
f(i)=1-exp(-b(i)*w(i)); for i=1 to 6
g(i)=1+2*exp(-b(i)*w(i)); for i=1 to 6
ff=(c1-c2)*a(i)*v(i)*f(i)/g(i)+c2*a(i)+c3*w(i); for i=1 to 6
和a(i),b(i),c1,c2,c3和v(i)是已知的
和consrtaont是
w(i)< = w whare i = 1至6
w(i)> = 0和
R(I)= 1-EXP(-b(I)* W(I))/ 1 + 2 * EXP(-b(I)* W(i))的> = 0.9;即,每个模块的r(i)> = 0.9
所以我需要W(i)i = 1到6,总w是50000。
请任何人告诉我如何使用遗传算法。
谢谢。
答案 0 :(得分:0)
评估函数不足以确定遗传算法的外观,因为即使评估函数非常重要,它也不是问题的唯一部分。为了全面评估您的问题,需要至少知道以下内容:
假设您需要分配所有资源,最简单(也许是最愚蠢的)解决方案是将每个资源将被指定到染色体中的模块编码,并且具有50.000长串1,2,3,......和6的。当然,所有位串运算符都可以应用于此解决方案,但稍作修改。
由于使用长度为50.000个字符的字符串,我们需要替代方案。如果每个资源上都有任何数字参数,我们可以考虑创建由组中心组成的表示,并根据资源与每个中心的距离来对资源进行聚类。然而,应该将资源有意义地转换为多维实数集。为了创建它,我们需要更多地了解资源本身。