35171

Линейное программирование, задачи линейного программирования

Лабораторная работа

Информатика, кибернетика и программирование

Программное обеспечение Microsoft Excel Методические указания Рассмотрим решение задач линейного программирования средствами Excel на примере следующей задачи. Нормы затрат каждого сырья на единицу продукции заданы таблицей...

Русский

2015-01-19

23.52 KB

43 чел.

Лабораторная работа №9

Линейное программирование

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

F(X) = C1x1 + C2x2 + ... + Cnxn

при ограничениях:

a11x1 + a12x2 + … + a1nxn ≤ b1;

a21x1 + a22x2 + … + a2nxn ≤ b2;

am1x1 + am2x2 + … + amnxn ≤ bm;

xj ≥ 0, j =1,2,..., l; l ≤ n.

Решение X = (x1, x2 ,..., xn) данной системы ограничений, при котором функция F(X) принимает максимальное (минимальное) значение, называется оптимальным планом задачи линейного программирования. Все остальные решения системы ограничений называются допустимыми планами. Функция F(X) называется целевой функцией. Ограничения называются основными.

Программное обеспечение

Microsoft Excel

Методические указания

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

Предприятие выпускает 2 вида продукции. Цена единицы 1 вида продукции - 25 000, 2 вида продукции – 50 000. Для изготовления продукции используются три вида сырья, запасы которого 37, 57,6 и 7 условных единиц. Нормы затрат каждого сырья на единицу продукции заданы таблицей:

Ресурс 1

Ресурс 2

Ресурс 3

Продукт 1

1,2

2,3

0,1

Продукт 2

1,9

1,8

0,7

Требуется определить плановое количество выпускаемой продукции таким образом, чтобы стоимость произведенной продукции была максимальной

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

Целевой функцией, отражающей максимизацию прибыли предприятия, в данном случае будет:

F = 25000x1 + 50000x2max.

Где неизвестные x1 и  x2 – количество единиц первого и второго вида продукции.

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

1,2x1 + 1,9x2 ≤ 37;

2,3x1 + 1,8x2 ≤ 57,6;

0,1x1 + 0,7x2 ≤ 7.

Кроме того, очевидно, что количество выпускаемой продукции не может быть отрицательным или дробным числом. Поэтому добавляются также следующие условия:

x1 ≥ 0; x2 ≥ 0;

x1, x2 – целые числа.

Завершив составление неравенств, можно приступить к решению задачи в Excel. Для этого, следует воспользоваться подпунктом Поиск решения... пункта меню Сервис.

Предварительно введём в ячейку А3 формулу целевой функцию в следующем виде: «=25000*A1+50000*A2».

Значения в ячейках А1 и А2 отведём под значения переменных x1 и x2 соответственно. Числовые значения переменных x1 и x2 в эти ячейки будут введены автоматически в процессе решения задачи.

В ячейки В1, В2 и В3 введём математические формулы ограничений:

в В1: «=1,2*А1+1,9*А2»;

в В2: «=2,3*А1+1,8*А2»;

в В3: «=0,1*А1+0,7*А2».

Затем введём в ячейки С1, С2 и С3 значения 37, 57,6 и 7 соответственно, ограничивающие численные значения переменных задачи.

Таким образом, все исходные данные задачи записаны в том виде, в котором они используются в окне «Поиск решения».

Теперь воспользуемся подпунктом меню Excel Поиск решения...

В появившемся окне, в поле «Установить целевую ячейку» указываем ячейку А3. Решение ищем для максимального значения, что указывается переключателем поля «Равной», установленным на записи со словами «максимальному значению».

В поле «Изменяя ячейки» указываем диапазон изменения ячеек от А1 до А2, а именно $A$1:$A$2.

Для приведения в рабочее состояние математической программы поиска оптимального решения заданной задачи необходимо установить ограничения, учитываемые при её решении. Для этого нажимаем на кнопку «Добавить», расположенную справа от поля «Ограничения». В появившемся окне, для добавления первого ограничения, необходимо, в поле «Ссылка на ячейку» указать ячейку В1, затем в списке, расположенном посередине, выбрать знак «<=» и в поле «Ограничение» указать ячейку С1. После этого следует нажать на кнопку «Добавить». Аналогично добавляются остальные ограничения задачи, при этом в качестве ограничения, могут выступать адреса ячеек, численные константы или типы переменных.

После указания всех ограничений, следует нажать на кнопку «Выполнить» и на кнопку «ОК» в появившемся окне «Результаты поиска решения». В результате, в ячейках, отведённых для записи решения задачи, появятся числа.

В ячейке А3 находим значение целевой функции F, соответствующее найденному решению. В ячейках А1 и А2 указаны соответствующие значения переменных x1, x2.

Для решаемой нами задачи оптимальное решение имеет следующий вид:

F = 825000, x1 = 19, x2 = 7.

Задание на лабораторную работу

1. Дана следующая задача:

На складах имеется груз, количество которого определяется в следующей таблице:

Склад 1

Склад 2

Склад 3

Запас груза

19

76

33

Этот груз необходимо перевезти в пункты назначения в соответствии с таблицей:

Пункт 1

Пункт 2

Потребность в грузе

47

81

Стоимость перевозок определяется таблицей:

Пункт 1

Пункт 2

Склад 1

19

8

Склад 2

13

15

Склад 3

11

10

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

2. На основании задания 1, рассчитать, сколько грузов следует предварительно завести на каждый из складов, чтобы впоследствии можно было удовлетворить указанные потребности пунктов в грузах с наименьшими возможными затратами.

Отчет

Файл .xls с выполненной работой.


 

А также другие работы, которые могут Вас заинтересовать

18439. Конструкции и типы данных PHP 223.5 KB
  Серверные технологии разработки webсайтов Конструкции и типы данных PHP Основной синтаксис Первое что нужно знать относительно синтаксиса PHP это то как он встраивается в HTMLкод как интерпретатор узнает что это код на языке PHP. В предыдущей лекции мы уже говорили об
18440. Операторы условий и циклов 192 KB
  Серверные технологии разработки webсайтов Операторы условий и циклов Условные операторы Оператор if Это один из самых важных операторов многих языков включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Структуру оператора if можно представит
18441. Функции в PHP 206 KB
  Серверные технологии разработки webсайтов Функции в PHP Функции определяемые пользователем Для чего нужны функции Чтобы ответить на этот вопрос нужно понять что вообще представляют собой функции. В программировании как и в математике функция есть отображение множ...
18442. Работа с массивами в PHP 192.5 KB
  Серверные технологии разработки webсайтов Работа с массивами в PHP Массивы В одной из первых лекций мы рассказывали о том как можно создать массив данных. Напомним что массив можно создать двумя способами: С помощью конструкции array array_name = arraykey1=>value1
18443. Работа со строками в PHP 207 KB
  Серверные технологии разработки webсайтов Работа со строками в PHP Строки Вероятно читатели примерно представляют что такое тип данных строка и как создать переменную такого типа. В одной из первых лекций мы приводили три способа задания строк: с помощью одинарных
18444. Регулярные выражения в PHP 190.5 KB
  Серверные технологии разработки webсайтов Регулярные выражения в PHP Понятие регулярного выражения Регулярное выражение regular expression это технология которая позволяет задать шаблон и осуществить поиск данных соответствующих этому шаблону в заданном тексте предст
18445. Основы клиент-серверных технологий 185 KB
  Серверные технологии разработки webсайтов Основы клиентсерверных технологий Основы клиентсерверных технологий В самом начале курса мы уже говорили о том что PHP это скриптовый язык обрабатываемый сервером. Сейчас мы хотим уточнить что же такое сервер какие функ
18446. Работа с файловой системой средствами PHP 188 KB
  Серверные технологии разработки webсайтов Работа с файловой системой средствами PHP Создание файла Функция fopen Вообще говоря в PHP не существует функции предназначенной именно для создания файлов. Большинство функций работают с уже существующими файлами в файловой
18447. Механизм сессий в PHP 158 KB
  Серверные технологии разработки webсайтов Механизм сессий в PHP В этой лекции мы разберем что такое сессии и в чем их специфика в PHP решим одну из основных задач возникающих при построении болееменее сложных информационных систем сайтов задачу авторизации доступа п