주어진 함수 F를 최대화하고 좌표를 반환하는 작은 클래스를 코딩하고 있습니다. 나는 아래의 1 차원 피트니스 기능을 극대화 예를 들어 현재 가지고 :* 클래스에 메서드 전달
using System;
public static class Program
{
public static double F(double x)
{
// for example
return Math.Exp(0.4 * Math.Pow(x - 0.4, 2) - 0.08 * Math.Pow(x, 4));
}
static void Main(string[] args)
{
Metaheutistic Solve = new Metaheutistic;
Solve.Maximize(Mu, Lambda, Theta);
}
}
방법은 Metaheutistic 모든 작업을 수행하는 알고리즘을 포함하는 클래스에서 "극대화". 내 문제는이 알고리즘이 피트니스 기능이 어떻게 생겼는지 알지 못하는 클래스에 있다는 것입니다.
저는 C#에 익숙하지 않습니다. 여기에 벤더를 사용했다면 다시 시도해 볼 수 있습니다. 그러나 Solver 클래스를 fitness 함수와 별도로 유지해야합니다.
감사합니다. * 나는 예를 들어, 당신이 참으로 대리자를 사용하여 기능에 방법을 전달할 수 있습니다
화려한 덕분! – Victor