Для выполнения учебных заданий, приведенных в приложении, предлагается программа komplexm.exe, реализующая "комплексный метод" для нахождения минимума фунции n переменных. Решаемая задача состоит в минимизации функции f(x1, x2,..., xn), где x определяется явными ограничениями
lj £ xj £ uj при j=1,2,...,n, (1)
а также неявными ограничениями
gi £ bi при i=1,2,...,m. (2)
Если целевая функция f(x) выпукла и функции gi(x) тоже выпуклы, то задача будет иметь единственное решение. Значения lj и uj являются нижней и верхней границами переменных. Если в конкретной задаче заданные переменные теоретически не имеют ограничений, то предположение о наличии у них "безопасных границ" т.е. границ, включающих оптимум, позволит применить комплексный метод.
Внешний вид главного окна программы с пронумероваными элементами управления представлен на рис.1, ниже приводится таблица (табл.1) с пояснениями.
Рис.1 Внешний вид главного окна программы.
Табл.1. Элементы интерфейса.
Поле ввода функции для минимизаии.В этом окне производится ввод и редактирование функции, которую необходимо минимизировать. Допускаются следующие операции: сложение (знак "+"), вычитание (знак "-"), умножение (знак "*"), деление (знак "/"), возведение в степень (знак "^"). Предусмотрены следующие функции: 'ARCTAN', 'COS', 'SIN', 'TAN', 'ABS', 'EXP', 'LN', 'LOG','SQRT', 'SQR', 'INT', 'FRAC','TRUNC', 'ROUND', 'ARCSIN', 'ARCCOS','SIGN'(по функциональному наполнению аналогичны соответствующим функциям языка Pascal) | |
Кнопка ввода функции. Приводит к активизации элементов 2,3,4. | |
Элементы для задания явных ограничений для каждой переменной. | |
Элементы для задания неявных ограничений. Вводятся построчно. Допускается использование тех же операций и функций, что и в пункте 1. Дополнительно необходимо использование одного из следующих знаков: "<"(меньше),">"(больше),"<="(меньше или равно),">="(больше или равно). | |
Элементы для задания начальной токи. С этой точки начинается поиск минимума. Точка должна удовлетворять явным и неявным ограничеиям. | |
Параметры поиска. Чтобы понять смысл данных параметров необходимо изучить алгоритм метода. | |
Кнопка, при нажатии на которую стартует процедура поиска. | |
Кнопка отмены поиска. При отмене в качестве результата выдается та точка, до которой дошел алгоритм на момент отмены. Ее использование необходимо при долгом отсутствии результатов. | |
Окно для выдачи результатов поиска. В нем отображается точка минимума, значение функции в этой точке и число вычисление функции. |
Рассмотрим конкретный пример задачи условного нелинейного программирования.
|
|
Задача
|
|
Посылка, которую должны отправить по почте, имеет форму прямоугольника с размерами x1, x2, x3. При отправлении посылки накладываются следующие ограничения
x1 <=20
x2<=11
x3<=42
x1+2x2+2x3<=72