我写了一段代码,实现了一个简单的遗传算法来最大化:
f(x) = 15x - x^2
该函数在7.5时达到最大值,因此代码输出应该是7或8,因为总体是整数。当我运行代码10次时,我得到了大约7或8次,其中3次10次。我应该做什么修改来进一步改进算法,以及不同类型的遗传算法是什么?
代码如下:
from random import *
import numpy as np
#fitness function
def fit(x):
return 15*x -x**2
#covert binary list to decimal number
def to_dec(x):
ret
我在81个城市用遗传算法实现了TSPTW(带时间窗的旅行推销员),我应用了以下步骤:
mutation prob=0.03
population size=100
-Generate random population according to the value of population size intialized
-Sort the generated population
-Looping for populations and determine two parents by roulette selection, apply crossover on the parents,
我正在尝试实现一个解决TSP问题的遗传算法。它可以很好地处理少量城市(比如10个)的TSP,并产生最优解决方案。然而,当城市数量增加到50个城市时,它就过早地收敛了。我试着改变参数(变异探针,交叉探针,初始种群大小,世代数),但它仍然没有收敛到最优解。
我已经实现的算法如下:
Create an initial population randomly of size p
Calculate the fitness
Pick p/2 random individuals to the parents
While counter < p/2
pick parent1 and pa
无法给出算法A对给定问题的最优性的形式化证明。让我自己相信,可以按照事件的截止日期的顺序执行一些最优的调度O。但不知道如何正式证明extract_max运算收敛到最优解。
问题
:给出具有截止日期'd‘和持续时间'l’日的事件列表,提供选择事件的算法,以便可以选择最大数量的事件。当然,每个事件都必须安排在截止日期'd‘之前结束,它必须连续运行它的持续时间'l’天,并且只有一个事件可以在任何给定的时间运行。
**Greedy Algorithm A:**
Create max_heap S //schedule
Sort events by their de
我有一个组合优化问题,我有一个遗传算法来近似全局最小值。
给定X个元素求: min f(X)
现在,我想将搜索扩展到所有可能的子集,并找到与所有其他子集相比,其全局最小值最大的一个子集。
X*是X的一个子集,求: max min f(X*)
示例图显示了三个子集的所有解决方案(每种颜色一个子集)。黑点表示所有三个全局最小值中的最高值。
主要问题是,评估子集之间的适应度与子集内解的收敛性背道而驰。此外,该解决方案实际上是局部最小值。
如何概括地描述这个问题?到目前为止,我在文献中找不到类似的问题。例如,如果它可用多目标遗传算法求解。
任何提示都是非常感谢的。