Каково решение следующей задачи оптимизации? - PullRequest
1 голос
/ 13 апреля 2020
max g(x,y)= x*k+(1-x)*log(1+((x*y)*l)/(1-x))
s.t: 0<=x<=1,0<=y<=1,
where k,l>0. 

Сохраняя одно ограничение фиксированным, функция g (x) / g (y) является вогнутой функцией. Это также проверяется с помощью моделирования Matlab различными k и l. Результат моделирования g (x, y) также дает вогнутую функцию. Каково максимальное значение g (x, y) при наличии двух ограничений?

1 Ответ

0 голосов
/ 14 апреля 2020

Может быть, вы можете попробовать fmincon, как показано ниже

fn = @(v) -(v(1)*k+(1-v(1))*log(1+((v(1)*v(2))*l)/(1-v(1))));
Xopt = fmincon(fn,[0.5,0.5],[],[],[],[],[0;0]+eps,[1;1]-eps);

Пример

k = 5;
l = 2;
fn = @(v) -(v(1)*k+(1-v(1))*log(1+((v(1)*v(2))*l)/(1-v(1))));
Xopt = fmincon(fn,[0.5,0.5],[],[],[],[],[0;0]+eps,[1;1]-eps);

такой, что

>> Xopt
Xopt =

   0.99800
   0.54714
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...