У меня есть задача многоцелевой оптимизации, которую необходимо решить, чтобы минимизировать две целевые функции из 6 переменных. первая переменная — целое число, а остальные — вещественные. Я использую MixedVariableGA() для решения проблемы. Однако мутация не работает с этим классом. Hear — это часть разработанного мною кода:
Я использую семя = 1, чтобы оценить влияние мутации на результаты, но результаты постоянны для каждого значения проб и эта в PolynomialMutation().
Я также определяю собственный класс мутаций для выполнения мутаций в зависимости от типа переменных следующим образом:
class CustomMutation(Mutation):
def _do(self, problem, X, **kwargs):
for i in range(len(X)):
if np.random.random() < 0.9: # Mutation probability
if isinstance(problem.vars["Len"], Integer):
X[i]["x1"] = np.random.randint(problem.vars["x1"].bounds[0], problem.vars["x1"].bounds[1] + 1)
if isinstance(problem.vars["x2"], Real):
X[i]["x2"] = np.random.uniform(problem.vars["x2"].bounds[0], problem.vars["x2"].bounds[1])
if isinstance(problem.vars["x3"], Real):
X[i]["x3"] = np.random.uniform(problem.vars["x3"].bounds[0], problem.vars["x3"].bounds[1])
if isinstance(problem.vars["x4"], Real):
X[i]["x4"] = np.random.uniform(problem.vars["x4"].bounds[0], problem.vars["x4"].bounds[1])
if isinstance(problem.vars["x5"], Real):
X[i]["x5"] = np.random.uniform(problem.vars["x5"].bounds[0], problem.vars["x5"].bounds[1])
if isinstance(problem.vars["x6"], Real):
X[i]["x6"] = np.random.uniform(problem.vars["x6"].bounds[0], problem.vars["x6"].bounds[1])
return X
и использовал этот класс при определении алгоритма:
Однако результаты постоянны. Пожалуйста, помогите мне, как я могу определить оператор мутации для этой проблемы в MixedVariableGA().
Спасибо
Я ожидаю, что при изменении вероятности мутации будут разные результаты. Однако результаты постоянны независимо от значения вероятности мутации.
У меня есть задача многоцелевой оптимизации, которую необходимо решить, чтобы минимизировать две целевые функции из 6 переменных. первая переменная — целое число, а остальные — вещественные. Я использую MixedVariableGA() для решения проблемы. Однако мутация не работает с этим классом. Hear — это часть разработанного мною кода: [code]class Multi_Objective_Problem(ElementwiseProblem):
# Run GA: result = minimize(problem, algorithm, ('n_gen', 100), seed=1, verbose=True) [/code] Я использую семя = 1, чтобы оценить влияние мутации на результаты, но результаты постоянны для каждого значения проб и эта в PolynomialMutation(). Я также определяю собственный класс мутаций для выполнения мутаций в зависимости от типа переменных следующим образом: [code] class CustomMutation(Mutation): def _do(self, problem, X, **kwargs): for i in range(len(X)): if np.random.random() < 0.9: # Mutation probability if isinstance(problem.vars["Len"], Integer): X[i]["x1"] = np.random.randint(problem.vars["x1"].bounds[0], problem.vars["x1"].bounds[1] + 1) if isinstance(problem.vars["x2"], Real): X[i]["x2"] = np.random.uniform(problem.vars["x2"].bounds[0], problem.vars["x2"].bounds[1]) if isinstance(problem.vars["x3"], Real): X[i]["x3"] = np.random.uniform(problem.vars["x3"].bounds[0], problem.vars["x3"].bounds[1]) if isinstance(problem.vars["x4"], Real): X[i]["x4"] = np.random.uniform(problem.vars["x4"].bounds[0], problem.vars["x4"].bounds[1]) if isinstance(problem.vars["x5"], Real): X[i]["x5"] = np.random.uniform(problem.vars["x5"].bounds[0], problem.vars["x5"].bounds[1]) if isinstance(problem.vars["x6"], Real): X[i]["x6"] = np.random.uniform(problem.vars["x6"].bounds[0], problem.vars["x6"].bounds[1]) return X
[/code] и использовал этот класс при определении алгоритма: [code] algorithm = MixedVariableGA(pop_size=110, survival= RankAndCrowding(), mutation=CustomMutation(), ) [/code] Однако результаты постоянны. Пожалуйста, помогите мне, как я могу определить оператор мутации для этой проблемы в MixedVariableGA(). Спасибо Я ожидаю, что при изменении вероятности мутации будут разные результаты. Однако результаты постоянны независимо от значения вероятности мутации.
Я использую GraphQLClient для интеграции графического API. Из-за бессонницы он работает нормально, когда я звоню из кода С# с помощью графа QLClient, он выдает ошибку ниже двух ошибок:
Я использую GraphQLClient для интеграции графического API. Из-за бессонницы он работает нормально, когда я звоню из кода С# с помощью графа QLClient, он выдает ошибку ниже двух ошибок:
У меня есть проблема с оптимизацией, которую я хочу решить с помощью инструментов в пакете pymoo версии 0.6.1 на Python. Я определил свою проблему следующим образом:
class Problem(ElementwiseProblem):
Это простая задача с двумя целями и пятью целыми числами с алгоритмом NSGA-II, код блокнота:
import numpy as np
from pymoo.core.problem import ElementwiseProblem
from pymoo.algorithms.moo.nsga2 import NSGA2
# from pymoo.factory import get_sampling,...
У меня есть большой фрейм данных, который выглядит следующим образом:
df_large = pl.DataFrame({'x': ,
'y': ,
'ind1': ,
'ind2': }).lazy()
df_large.collect()
| x | y | ind_1 | ind_2 |
|_______|_______|_______|_________|
| h1 | 1 | 0/0 | '0/1' |
|...