Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sbornik_prakt_Matematicheskie_metody_2014-2015.doc
Скачиваний:
184
Добавлен:
10.06.2015
Размер:
6.99 Mб
Скачать

Пример выполнения задания

Для откорма животных на ферме в их ежедневный рацион необходимо включить не менее 33-х единиц питательного вещества , 23-х единиц веществаи 12-ти единиц вещества. Для откорма используется 3 вида кормов. Данные о содержании питательных веществ и стоимости весовой единицы каждого корма даны в таблице.

(усл.ед.)

(усл.ед.)

(усл. ед.)

Стоимость (руб.)

Весовая единица корма I

4

3

1

20

Весовая единица корма II

3

2

1

20

Весовая единица корма III

2

1

2

10

Требуется составить наиболее дешёвый рацион, при котором каждое животное получило бы необходимые количества питательных веществ ,и .

Математическая постановка задачи. Пусть ,,— количества кормовI, II, III видов, включаемые в ежедневный рацион (,). Тогда должно быть:

(3)

При этом линейная функция (стоимость рациона)

(4)

Пример решения задачи в Microsoft Excel.

В настоящее время одним из наиболее известных способов численного решения задач линейного программирования является использование надстройки «Поиск решения» электронных таблиц Microsoft Excel.

При решении задачи с помощью надстройки Поиск решения необходимо:

  1. открыть окно Microsoft Excel;

  2. заполнить ячейки A1-А4 таблицы обозначениями ,,иminсоответственно:

  1. в ячейку В4 записать формулу (4) через адреса соответствующих ячеек:

Рисунок 2

  1. в диапазон ячеек А7-С9 записать систему (3) через адреса соответствующих ячеек, т. е. в А7 ввести формулу, в А8 ввести формулу, в А9 ввести формулу, в ячейки В7-В9 ввести слова не менее, в ячейки С7-С9 33, 23 и 12 соответственно:

  1. для решения поставленной задачи в меню Сервис выбрать пункт Поиск решения…

  1. в появившемся окне Поиск решения в поле Установить целевую ячейку надо щёлкнуть по кнопке , затем в ячейкеB4 и снова по кнопке; в поле Равной установить флажок минимальному значению, в поле Изменяя ячейки щёлкнуть по кнопке, выделить мышью диапазон ячеек В1В3 и снова щёлкнуть по кнопке:

  1. нажать на копку Добавить: появится новое окно Добавление ограничения, в поле Ссылка на ячейку надо щёлкнуть по кнопке , затем выделить мышью диапазон ячеек В1В3 и снова щёлкнуть по кнопке, в следующем поле необходимо выбрать знак >=, нажав, затем в поле Ограничение ввести 0;

  1. в этом же окне Добавление ограничения нажать кнопку Добавить (появится новое окно Добавление ограничения) и ввести новое ограничение: в поле Ссылка на ячейку надо щёлкнуть по кнопке , затем выделить мышью диапазон ячеек А7А9 и снова щёлкнуть по кнопке, в следующем поле необходимо выбрать знак >=, нажав, затем в поле Ограничение надо щёлкнуть по кнопке, затем выделить мышью диапазон ячеекC7C9 и снова щёлкнуть по кнопке:

  1. все ограничения нами учтены: нажать кнопку ОК, после чего снова откроетсядиалоговое окно Поиск решения, и нажать кнопку Выполнить:

  1. в появившемся диалоговом окне Результаты поиска решения нажать кнопку ОК и получимрезультат вычислений:

Замечание 1. Если в неравенствах (3) знаки разные (,,), то ограничения в пункте 8 вносятся отдельно для каждой строки, а не через диапазон, как в примере.

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

Замечание 3. На практике часто требуется, чтобы на переменные ,,налагалось условие целочисленности (например, если какой-то продукт нельзя разрезать на части, а можно добавлять в рацион только целыми порциями), в этом случае в окне Добавление ограничения, в поле Ссылка на ячейку надо щёлкнуть по кнопке, затем выделить мышью диапазон ячеек В1В3 и снова щёлкнуть по кнопке, в следующем поле необходимо выбрать условие ЦЕЛ, нажав.

Пример решения задачи в MathСad.

  1. задать начальное приближение:

  1. записать все коэффициенты из (3) и (4) в матричном виде:

  1. ввести целевую функцию (4) в виде:

  1. записать функцию Given;

  2. записать ограничения (3) в виде:

  1. записать функцию минимизации, после чего получим оптимальный план

  1. найти значение целевой функции в точке минимума:

ВЫВОД:Оптимальные планы при решении задачи в средахMicrosoftExcelи MathСad получились различные, но целевая функция при этом имеет одинаковое значение, равное 165.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]