Ошибка многопараметрической фитнес-функции с использованием инструмента оптимизации

У меня есть следующая фитнес-функция:

function f = objfun(x,t)
f =  x.*(t-x);
end

Когда я пытаюсь использовать этот код в качестве фитнес-функции, используя инструмент оптимизации MATLAB и решатель генетического алгоритма (ga), я получаю следующую ошибку:

Error running optimization. Not enough input arguments.

Я знаю, что функция имеет только 2 переменные, и я передаю ей эти несколько переменных, поэтому я понятия не имею, почему я получаю эту ошибку.

Может кто-нибудь, пожалуйста, помогите мне исправить это?


person user3526197    schedule 27.05.2015    source источник


Ответы (1)


Я никогда не работал в Matlab, потому что слышал, что это медленно (см., например, этот поток: Компромисс производительности - Когда MATLAB лучше/медленнее, чем C/C++).

для генетических алгоритмов вам нужна максимально возможная скорость, потому что для сложных задач вам нужны очень большие популяции...

Я предлагаю использовать C/C++. Вот очень легкая реализация генетического алгоритма на C, которую я сделал для решения задачи оптимизации функций: http://create-technology.blogspot.ro/2015/03/a-genetic-algorithm-for-solving.html

person Mihai Oltean    schedule 09.08.2015