Я написал функцию «Максимизация валовой маржи», которая используется в сельском хозяйстве. Формула такова:Запись функции в синтаксисе matlab
макс сигма (я = 1 п) сигмы (к = 1 пс) (Рц * Yij - SDij ... (и так далее)) ...
полный формула в этой ссылке: http://i.stack.imgur.com/fMSiU.jpg
Я думаю, что у него нет синтаксиса реального словаря Matlab, и он на самом деле не вычисляет максимум. И есть две другие формулы, которые я хочу смешать с этим и связать их с эволюционным алгоритмом (NSGA-II), и я действительно не знаю, как, хотя я смутил себя, ища его.
Это моя функция в MATLAB:
function gx = costfunction(p,y,sd,fer,lb,oc,a,wp,Q,ma)
SigmaQNC = zeros(5,3);
SigmaNC = zeros(5,3);
for i=1:5
for j=1:3
SigmaQNC(i,j) = SigmaQNC(i,j) + Q(i,1);
SigmaNC(i,j) = (p(i,j).*y(i,j))-(sd(i,j)-fer(i,j)-lb(i,j)-oc(i,j)-ma(i,j)).*a(i,j)-wp(i,j).*SigmaQNC(i,j);
sort(SigmaNC);
end
end
gx=SigmaNC;
end
Вопрос заключается в том, как на самом деле писать в синтаксисе MatLab и как связать эти три формулы для NSGA-II с ограничениями (например, мин Aij < = процент Aij < = max Aij)
Любая помощь будет оценена по достоинству.
Что такое 'Aij'? Фиксированное значение, переменная? Является ли min Aij и max Aij обозначением наименьшего и наибольшего значения в матрице? – patrik
Ваша формула не имеет смысла. Результатом вложенных сумм является одно число (поскольку вы суммируете все доступные индексы, 'i' и' j'). Зачем брать максимум одного номера? Поэтому должно быть что-то еще, что вы должны рассказать о сроках вашей суммы; сообщите пожалуйста. :-) –
@patrik: «А» обозначает площадь. это означает, что они хотят получить максимальную прибыль в соответствии с расходами (например, труд, машина и т. д.), и вопрос в том, какое количество «A» (площадь под землей) подходит для максимальной прибыли, и мы должны учитывать, что у нас есть ограничение здесь: precentage of A должен быть между минимальным и максимальным количеством A. –