Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оптимизация нелинейной функции



3.1.1 Оптимизация нелинейной функции без учета ограничений

Пусть требуется определить минимальное значение функции . Функция достаточно простая, и мы используем ее для ознакомления с правилами применения надстройки. Эта функция имеет единственный минимум в точке , поэтому в качестве начального приближения можно выбрать произвольное значение , например, ноль. Выберем две любые ячейки рабочего листа Excel. Пусть это будут А2 и В2. В первую запишем начальное значение , равное нулю, во вторую – формулу, по которой вычисляется , и нажмем клавишу Enter. Excel вычислит функцию.

В меню Сервис выберем команду Поиск решения. Появится окно «Поиск решения» (рис.3.1). Если перед вызовом команды Поиск решения выделить ячейку, в которой вычислено значение функции , то адрес этой ячейки автоматически запишется в поле «Установить целевую ячейку». В противном случае придется записывать его самостоятельно. В поле «Изменяя ячейки» поместите адрес аргумента (А2). Обратите внимание на то, что адреса в полях записаны со знаком доллара (используются абсолютные адреса). Устанавливайте адреса ячеек с помощью мыши, а не вводите их вручную. Это поможет избежать ошибок ввода.

Рис.3.1. Вычисление функции и окно «Поиск решения»

Для того, чтобы сообщить программе о необходимости вычислить минимум функции, щелкните мышью переключатель рядом с надписью «минимальному значению». Затем щелкните на кнопке Выполнить. После выполнения некоторого количества итераций программа выведет на экран окно «Результаты поиска решения» (рис.3.2), а в ячейках В2 и А2 появятся минимальное значение функции и соответствующее значение аргумента.

В окне «Результаты поиска решения» (рис.3.2) выберите переключатель «Сохранить найденное значение», затем в списке «Тип отчета» - строку «Результаты» и щелкните на кнопке ОК. На рабочем листе «Отчет по результатам 1» будет создан отчет (рис.3.3). Он выдает следующие сообщения.

· Адрес ячейки, в которой записано максимальное (или минимальное) значение целевой функции, имя функции, ее исходное значение и результат.

· Адрес или адреса аргументов (изменяемых ячеек), их имена, исходные значения и результаты.

· Сведения об ограничениях.

Пусть требуется найти минимум функции нескольких аргументов, например . В этом случае разделяйте символом «;» (точка с запятой) адреса отведенных для аргументов ячеек, когда записываете их в поле «изменяя ячейки» окна «Поиск решения».

Рис.3.2 Окно «Результаты поиска решения»

Рис.3.3 Отчет по результатам

3.1.2 Оптимизация нелинейной функции с учетом ограничений

При попытке найти максимум функции будет выдано сообщение об ошибке (рис.3.4). Появление на экране этого диалогового окна является признаком неограниченности целевой функции. Действительно, с ростом абсолютного значения аргумента целевая функция только растет. Однако, если ввести ограничения на , то максимальное значение будет найдено. Максимум будет иметь место при или .

Рис.3.4 Сообщение об ошибке

Ограничения записываются в поле «Ограничения» окна «Поиск решения». Щелкните на кнопке Добавить. Откроется окно «Добавление ограничения» (рис.3.5). В поле «Ссылка на ячейку» укажите адрес ячейки, в которой вычисляется левая часть ограничения. Записывать формулы в этом поле не следует. В рассматриваемом примере в левом поле записан адрес аргумента. В следующем поле следует выбрать нужный знак логической операции (>=, <=, =) и в поле «Ограничение» надо записать константу или адрес ячейки, в которой она размещена. Затем щелкните на кнопке Добавить, если надо добавить следующее ограничение или на кнопке ОК. В зависимости оттого, каким было выбрано начальное значение , будут получены разные результаты. Это объясняется тем, что у функции на отрезке [0,1] имеются максимумы (два) в граничных точках отрезка.

Рис.3.5 Окно «Добавление ограничения»

В диалоговом окне «Поиск решения» имеется кнопка Параметры. Щелчок по этой кнопке вызывает появление диалогового окна «Параметры поиска решения». Большинство принятых по умолчанию параметров, перечисленных в этом окне, обычно обеспечивают получение решения задачи об оптимуме нелинейной функции с приемлемой точностью. Но значения некоторых параметров зависят от типа решаемой задачи. Так переключатель «Линейная модель» лучше отключить, при решении задачи нелинейного программирования и включить, если решается задача с линейной целевой функцией и линейными ограничениями. Автоматическое масштабирование используется в тех случаях, когда аргументы целевой функции различаются по величине. Методы оптимизации хорошо работают, когда аргументы - величины одного порядка. Если аргументы целевой функции могут принимать только положительные значения, следует отметить флажок «Неотрицательные значения» вместо добавления ограничений типа .

Рис.3.6 Окно «Параметры поиска решения»

Рассмотрим приведенный в разделе 1 пример определения таких размеров бака объемом 20м3, которые соответствуют минимуму площади его поверхности (рис.1.2). Чем меньше поверхность бака, тем меньше материала уйдет на его изготовление. В ячейки В1÷В3 рабочего листа Excel запишем значения переменных которые могут быть выбраны произвольно, в пределах разумного конечно. В ячейку В4 запишем формулу вычисления объема бака

=В1*В2*В3

В ячейке В5 разместим формулу вычисления площади поверхности бака.

=2*(В1*В2+(В1+В2)*В3)

В поле «Ограничения» окна «Поиск решения» надо записать ограничения

В4=20

В1<=0

B2<=0

B3<=0

Вместо трех последних неравенств можно отметить флажок «Неотрицательные значения» в окне «Параметры поиска решения». После щелчка на кнопке Выполнить в ячейках В1÷В3 программа разместит оптимальные значения переменных одинаковых по величине, равные 2,7144. Площадь поверхности бака, представляющего собой куб, равна 44,208м2.

Если по условию задачи переменные должны принимать целочисленные значения, следует в поле «Ограничения» окна «Поиск решения» записать ограничения (рис.3.5):

a= целое

b= целое

h= целое

В этом случае получим следующий результат:

a=5, b=2, h=2, V=20, S=48





Дата публикования: 2015-02-17; Прочитано: 254 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...