Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ГМУ Документ Microsoft Word.doc
Скачиваний:
217
Добавлен:
14.05.2015
Размер:
1.64 Mб
Скачать

4 Решение задач линейного программирования средствами Excel

Для решения задач линейного программирования используется надстройка Поиск решения. Сначала необходимо убедиться, что эта надстройка присутствует на вкладке Данные в группе Анализ (для 2003 года смотреть Сервис). Если команда Поиск решения или группа Анализ отсутствует, необходимо загрузить эту надстройку.

Для этого щелкните Файл Microsoft Office (2010), далее щелкните кнопку Параметры Excel. В появившемся окне Параметры Excel выберите слева поле Надстройки. В правой части окна должно быть установлено значения поля Управление равным Надстройки Excel, нажмите кнопку «Перейти», которая находится рядом с этим полем. В окне Надстройки установите флажок рядом с пунктом Поиск решения и нажмите кнопку ОК. Далее можно работать с установленной надстройкой Поиск Решения.

До вызова Поиск Решения необходимо подготовить данные для решения задачи линейного программирования (из математической модели) на рабочем листе:

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

2) Ввести зависимость от изменяемых ячеек для целевой функции и зависимости от изменяемых ячеек для левых частей системы ограничений в оставленные свободные ячейки. Для введения формул зависимостей удобно пользоваться математической функцией СУММПРОИЗВ.

Далее необходимо воспользоваться надстройкой Поиск решения. На вкладке Данные в группе Анализ выберите команду Поиск решения. Появится диалоговое окно Поиск решения, которое необходимо заполнить следующим образом:

1) Указать ячейку, содержащую целевую функцию в поле «Оптимизировать целевую функцию» (эта ячейка должна содержать формулу для целевой функции). Выбираем вариант оптимизации значения целевой ячейки (максимизация, минимизация):

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

3) Ставим флажок в поле «Сделать переменные без ограничений неотрицательными». Выбрать метод решения «Поиск решения линейных задач симплекс-методом». После нажатия кнопки «Найти решение» запускается процесс решения задачи. В итоге появляется диалоговое окно «Результаты поиска решения» и исходная таблица с заполненными ячейками для значений переменных и оптимальным значением целевой функции.

Пример.Решить, используя надстройку «Поиск решения» Excel задачу линейного программирования: найти максимальное значение функциипри ограничениях

,

;

,.

Решение. Для решения нашей задачи на рабочем листе Excel выполним указанный алгоритм. Вводим исходные данные в виде таблицы

A

B

C

D

1

x1

x2

F

2

3

1

1

4

3

1

3

5

1

3

3

Вводим зависимости для целевой функции и системы ограничений. Для этого в ячейку С2 вводим формулу =СУММПРОИЗВ(A2:B2;A3:B3). В ячейки С4 и С5 соответственно формулы: =СУММПРОИЗВ(A2:B2;A4:B4) и =СУММПРОИЗВ(A2:B2;A5:B5). В результате получаем таблицу.

A

B

C

D

1

x1

x2

F

2

0

3

1

1

4

3

1

0

3

5

1

3

0

3

Запускаем команду «Поиск решения» и заполняем появившееся окно Поиск решения следующим образом. В поле «Оптимизировать целевую функцию» вводим ячейку С2. Выбираем оптимизации значения целевой ячейки «Максимум».

В поле «Изменяя ячейки переменных» вводим изменяемые ячейки A2:B2. В поле «В соответствии с ограничениями» вводим заданные ограничения с помощью кнопки «Добавить». Ссылки на ячейку $C$4:$C$5 Ссылки на ограничения =$D$4:$D$5 между ними знак <= затем кнопку «ОК».

Ставим флажок в поле «Сделать переменные без ограничений неотрицательными». Выбрать метод решения «Поиск решения линейных задач симплекс-методом».

Нажатием кнопки «Найти решение» запускается процесс решения задачи. В итоге появляется диалоговое окно «Результаты поиска решения» и исходная таблица с заполненными ячейками для значений переменных и оптимальным значением целевой функции.

A

B

C

D

1

x1

x2

F

2

0,75

0,75

1,5

3

1

1

4

3

1

3

3

5

1

3

3

3

В диалоговом окне «Результаты поиска решения» сохраняем результат x1=0,75, x2=0,75 , F=1,5-равный максимальному значению целевой функции.