Я застрял с очень простым вопросом о минимизации проблемы оптимального дизайна. Вот вопрос:
Минимизируйте f (x, y) = (x-4) ^ 2 + (y-6) ^ 2 с учетом 12> = x + y x> = 6, y> = 0
Это проблема квадратичного программирования http://en.wikipedia.org/wiki/Quadratic_programming
fmincon - это общий нелинейный решатель, который может решить эту проблему, однако, лучше использовать quadprog.
Прежде всего, вам следует переформулироватьзадача принимает форму 1/2 x'Qx + f'x, которая равна [xy] [1 0;0 1] [xy] + 2 * [- 4 -6] [x;y]
затем вы можете вызвать функцию quadprog, чтобы получить результат
xy = quadprog(eye(2),[-4 -6],[-1 0;0 -1 ; 1 1],[-6; 0;12])
Для объяснения см.
help quadprog
Просто чтобы помочь вам проверить ваши результаты:
Это функция в вашем регионе
Минимизируя функцию с Mathematica, дайте очевидный результат:
Minimize[{f[x, y], 12 >= x + y, x >= 6, y >= 0}, {x, y}] Out: {4, {x -> 6, y -> 6}}
НТН!