Этот пример показывает, как использовать приложение Оптимизации, чтобы решить проблему метода наименьших квадратов с ограничениями.
Приложение Оптимизации предупреждает, что будет удалено в будущем релизе.
Проблема в этом примере состоит в том, чтобы найти точку на плоском x 1 + 2x2 + 4x3 = 7, который является самым близким к источнику. Самый легкий способ решить эту проблему состоит в том, чтобы минимизировать квадрат расстояния от точки x = (x 1, x 2, x 3) на плоскости к источнику, который возвращает ту же оптимальную точку как минимизация фактического расстояния. Поскольку квадрат расстояния от произвольной точки (x 1, x 2, x 3) к источнику , можно описать проблему можно следующим образом:
подвергните ограничению
x 1 + 2x2 + 4x3 = 7.
Функциональный f (x) вызван, целевая функция и x 1 + 2x2 + 4x3 = 7 являются ограничением равенства. Более сложные проблемы могут содержать другие ограничения равенства, ограничения неравенства и ограничения верхней или нижней границы.
Этот раздел показывает, как настроить проблему с решателем lsqlin
в приложении Оптимизации.
Введите optimtool
в Командном окне, чтобы открыть приложение Оптимизации.
Выберите lsqlin
из выбора решателей. Используйте алгоритм Interior point
.
Введите следующее, чтобы создать переменные для целевой функции:
В поле C введите eye(3)
.
В поле d введите zeros(3,1)
.
Поля C и d должны появиться как показано в следующей фигуре.
Введите следующее, чтобы создать переменные для ограничений равенства:
В поле Aeq введите [1 2 4]
.
В поле beq введите 7
.
Поля Aeq и beq должны появиться как показано в следующей фигуре.
Нажмите кнопку Start как показано в следующей фигуре.
Когда алгоритм останавливается под Run solver and view results, следующая информация отображена:
Значение Current iteration, когда отключенный алгоритм, который для этого примера является 1
.
Окончательное значение целевой функции, когда отключенный алгоритм:
Objective function value: 2.333333333333334
Выходное сообщение:
Minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
Конечный пункт, который для этого примера является
0.333 0.667 1.333