Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование в excel.doc
Скачиваний:
33
Добавлен:
11.09.2019
Размер:
620.03 Кб
Скачать

Использование ms Excel для решения задачи оптимального планирования

В программу Excel встроены возмож­ности решения задач математического программирования.

Средство «Поиск решения» реализовано в форме надстройки. Соответствующая команда находится в меню Сервис (MS Excel 97-2003) или в группе Анализ вкладки Данные.

Замечание. Средство поиска решения является надстройкой - вспомогательной программой, служащая для добавления в Microsoft Office специальных команд или возможностей. Чтобы использовать эту надстройку в Excel, необходимо сначала загрузить ее. Для этого в MS Excel 7 нажмите кнопку MS Office , а затем щелкните Параметры Excel. Выберите команду Надстройки, а затем в окне Управление выберите пункт Надстройки Excel. Нажмите кнопку Перейти. В окне Доступные надстройки установите флажок Поиск решения и нажмите кнопку ОК.

В случае появления сообщения о том, что надстройка для поиска решения не установлена на компьютере, нажмите кнопку Да, чтобы установить ее.

Покажем на рассмотренном нами простейшем примере («пирожки и пирожные»), как воспользоваться средством Поиск Решения.

Вначале надо подготовить электронную таблицу к решению задачи оптимального планирования. В режиме отображения формул таблица показана на рис. 2.20. Ячейки В5 и С5 зарезервированы соответственно для значений х (план по изготовлению пирожков) и у (план по изготовлению пирожных). Ниже этих ячеек представлена система неравенств (а), определяющая ограничения на искомые решения. Неравенства разделены на левую часть (столбец В) и правую часть (столбец D). Знаки неравенств в столбце С имеют чисто оформительское значение. Целевая функция (p) занесена в ячейку В15.

А

В

С

D

1

Оптимальное планирование

2

3

Плановые показатели

4

X (пирожки)

У (пирожные)^

5

6

7

Ограничения

8

9

Левая часть

Знак

Правая часть

10

Время производства:

=В5+4*С5

<=

1000

11

Общее количество:

=В5+С5

<=

700

12

Положительность X:

=В5

>=

0

13

Положительность Y:

=С5

>=

0

14

15

Целевая функция

=В5+2*С5

16

Рис. 2.20. Таблица, подготовленная к вычислению оптимального плана

Теперь следует вызвать программу оптимизации «Поиск решения» и сообщить ей, где расположены данные. Для это­го надо выполнить команду => Сервис => Поиск решения. На экране откроется соответствующая форма (рис. 2.21).

Рис. 2.21. Начальное состояние формы «Поиск решения»

Далее надо выполнить следующий алгоритм:

Ввести координату ячейки с целевой функцией. В нашем случае это В15. (Заметим, что если перед этим установить курсор на ячейку В15, то ввод произойдет автоматически).

Поставить отметку «максимальному значению», то есть сообщить программе, что нас интересует нахождение максимума целевой функции.

В поле «Изменяя ячейки» ввести В5:С5, то есть сообщить, какое место отведено под значения переменных - плановых показателей.

В поле «Ограничения» надо ввести информацию о неравенствах-ограничениях, которые имеют вид B10<=D10;

B1K=D11;

B12>=D12;

B13>=D13.

Ограничения вводятся следующим образом:

=> щелкнуть по кнопке «Добавить»;

в появившемся диалоговом окне «Добавление ограничения» ввести ссылку на ячейку В10, выбрать из меню знак неравенства <= и ввести ссылку на ячейку D10; снова щелкнуть по кнопке «добавить» и аналогично ввести второе ограничение B11<=D11 и так далее. В конце надо щелкнуть на кнопке ОК.

Закрыть диалоговое окно «Добавление ограничения».Снова появится форма «Поиск решения» (рис. 2.22).

Теперь надо дать последние указания: задача является линейной (это многократно облегчит программе ее реше­ние). Для этого следует щелкнуть по кнопке «Параметры» — появится форма «Параметры поиска решения» (рис. 2.23).

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

Надо выставить флажок на переключателе «Линейная модель» Остальная информация в форме «Параметры поиска решения» служебная, автоматически устанавливаемые значения нас устраивают . Следует щелкнуть по кнопке ОК, что возвратит нас в форму «Поиск решения».

Вся информация введена. Далее надо щелкнуть по кнопке «Выполнить» — мгновенно в ячейках В5 и С5 появится оптимальное решение (числа 600 и 100), а также число 800 в ячейке В15 — максимальное значение целевой функции (рис. 2.24).

А

В

С

D

1

Оптимальное планирование

2

3

Плановые показатели

4

X (пирожки)

Y (пирожные)

5

600

100

в

7

Ограничения

8

9

Левая часть

Знак

Правая часть

10

Время производства:

1000

<=

1000

11

Общее количество:

700

<=

700

12

Положительность X:

600

>=

0

13

Положительность Y:

100

>=

0

14

15

Целевая функция

800

16

Рис. 2.24. Результаты решения задачи

Кроме того, на экране появилась еще одна форма — «Результаты поиска решения».

На первом этапе освоения возможностей программы на эту форму можно не обращать внимания (хотя в принципе в ней может оказаться очень полезная информация).

Итак, в результате применения инструмента «Поиск решения», мы получим следующий оптимальный план дневного производства кондитерского цеха: нужно выпускать 600 пирожков и 100 пирожных. В этой точке значение целевой функции f(600,100) = 800. Если один пирожок стоит 2 рубля, то полученная выручка составит 1600 рублей.

Решение, которое мы получили, вполне разумно как с экономической точки зрения, так и с медицинской. Много сладкого — вредно для здоровья, а пирожки и сытнее и полезнее.

Полученная электронная таблица и настроенная на нее сервисная функция «Поиск решения» являются средством, с помощью которого можно решать задачу оптимального планирования при меняющихся условиях. Например, может измениться длина рабочего дня. Тогда надо внести новое значение в ячейку D10 и оптимальный план автоматически пересчитается. Так же может измениться допустимое суммарное число изделий в ячейке D11.

Представьте себе, что в вашей школе учатся неисправи­мые сладкоежки. И, кроме всех прочих ограничений, перед кондитерским цехом ставится обязательное условие: число пирожных должно быть не меньше числа пирожков. При такой постановке задачи система неравенств (а) примет вид:

х + 4у < 1000;

х + у < 700;

х >0; у>х.

Соответствующее изменение легко внести в электронную таблицу. Для этого достаточно в ячейке D13 вместо 0 запи­сать В5. Результаты поиска решения будут следующими: х = 200, у = 200, f(x,y) = 600. Таким планом вряд ли будет доволен директор кондитерского цеха, поскольку потери прибыли окажутся очень существенными.

Следует иметь в виду, что при решении подобных задач могут возникнуть проблемы, о которых мы здесь не говори­ли. Например, искомого оптимального решения может вовсе не существовать — тогда программа об этом сообщит