Оптимизация нескольких параметров одновременно
Начну сначала. Есть у нас такая дисциплина Моделирование систем, и вот нам дали задание смоделировать работу реакторов. Мы посчитали все, нарисовали графики. И тут тупик. У нас есть параметры, которые задаются в самом начале произвольно(длина реактора, скорость потока, объем и тд), а потом корректируются в зависимости от того, что я хочу получить. Сейчас стоит задача оптимизировать значение функции так, чтобы на выходе получить максимум. То есть найти локальный первый максимум и параметры отловить, чтобы их потом запомнить и считать с ними, как с оптимальными.
Функция выхода целевого продукта вот: a1=vr*(y1(2,n1)-c0(2))/c0(1); здесь vr-параметр, который мне надо менять(объем реактора), далее y1(решения системы диф.уравнений, мне нужно только последнее значение концентрации b, то есть 2 элемента в n1 столбце и далее концентрации, но они заданные константы.
y1 в свою очередь считается с помощью специальной функции ode в scilab
y1=ode(c0,l0,l,trub); где с0-начальные концентрации заданные, l0, начальная точка дифференцирования, l-отрезок дифференцирования и trub-функция, описывающая систему моих диф.уравнений.
function dc = trubopt(l,c)//система диф.уравнений для трубчатого реактора
dc = zeros(4,1);
dc(1) = F*(-k(1)*c(1)-k(2)*c(1))/v;
dc(2) = F*(k(1)*c(1)-k(3)*c(2))/v;
dc(3) = F*k(2)*c(1)/v;
dc(4) = F*k(3)*c(2)/v;
endfunction
где F,v-тоже параметры, которые я задала произвольно. Внимание. Вопрос. С чего мне начать, чтобы найти такие оптимальные значения параметров всех, чтобы функция a1 на выходе была максимальная, как так менять параллельно параметры, без циклов вложенных, когда они находятся в разных функциях и без одной не будет решения другой? Я запуталась в край..