Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММиМ лаб. раб №1.doc
Скачиваний:
5
Добавлен:
02.05.2019
Размер:
913.41 Кб
Скачать

3.4 Рассмотрение простейшего примера решения задач в «Simplex»

В хозяйстве производится молоко, а также зерно для продажи и на корм скоту. По условиям содержания животных на ферме хозяйство может содержать не более 100 коров. Общая площадь пашни в севообороте, выделенная для посева зерновых – 2000 га. Трудовых ресурсов в хозяйстве имеется в наличии 10000 чел.- час. Норма трудозатрат при производстве зерна - 5 чел.-час/га, при производстве молока – 50 чел.- час/гол. Урожайность пшеницы 20 ц.к.е/га, норма кормления коров – 80 ц.к.е./гол. Продуктивность молочного стада – 4000 кг/гол. Плановое задание по молоку составляет 400 ц. Доход хозяйства определяется продажей молока и товарного зерна. Чистый доход от продажи 1 ц зерна 20 руб., 1 кг молока – 0,2 руб. Необходимо определить сочетание 2-х отраслей хозяйства, обеспечивающее максимум дохода.

3.4.1 Экономико-математическая модель:

Переменные:

Х1 - площадь под зерновые, га,

Х2 – поголовье коров, гол.

Ограничения:

  1. По площади пашни для посева зерновых, га: Х1 ≤ 2000.

  2. По поголовью коров, гол.: Х2 ≤100.

  3. По наличию и использованию трудовых ресурсов, чел./час: 5Х1 + 50Х2 ≤ 10000.

  4. По плановому заданию по производству молока, ц: 40Х2 ≥ 400.

5. Условие неотрицательности: Х1, Х2 ≥ 0.

Целевая функция (мах чистого дохода, руб.)

Z = 400Х1 +800Х2 мах.

3.4.2 Ввод исходной информации

В вод исходной информации осуществляется, выбрав первый пункт основного меню - «Модели». Для создания новой модели необходимо выбрать первую строку подменю «МОДЕЛИ» «Новая модель». На экране появляется диалоговое окно, в котором запрашивается имя файла, в который будет записываться создаваемая модель. Здесь необходимо ввести имя своего файла (латинскими буквами, до 8 символов), например model. Вы снова попадаете в подменю. Программа автоматически добавляет к имени файла расширение .ZMP.

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

Наши предыдущие действия зарезервировали для модели место на диске и дали ей имя. Теперь, чтобы ввести числовые данные, надо выбрать подменю «ВВОД» основного меню и нажать ENTER. Внизу экрана появится запрос: «Введите через пробел число ограничений и переменных». Мы водим: 4 2 и нажимаем на ENTER.

Команды ввода и редактирования задаются нажатием одной - двух клавиш. Переход по матрице осуществляется с помощью клавиш <Курсор влево>; <Курсор вправо> или пробел; <Курсор вверх>; <Курсор вниз> или <ENTER>.

Для того, чтобы переместится к верхней, нижней, левой или правой границе матрицы, надо нажать клавишу <M> и стрелку с направлением перемещения. Для того, чтобы сместится на одну страницу вверх, вниз, влево, вправо надо нажать клавишу <N> и соответствующую стрелку. <INS><R>- вставка строк. После подачи этой команде программа спрашивает, сколько строк вставить, и вставляет их под ту строку, в которой находился курсор в момент подачи команды. <INS><C>- вставка столбцов. Команда аналогична команде вставки строк. Столбцы вставляются справа от текущего столбца. <DEL><R> - удаление указанного числа строк. Удаляются текущая строка и последующие за ней. <DEL> <C>- удаление указанного числа столбцов. Удаляются текущий столбец и столбцы, стоящие справа от него. Если вместо ввода количества строк (столбцов) после подачи последних четырех команд нажать клавишу <ESC>, выполнение команды будет отменено. <ESC> <Y> - завершение работы и сохранение всех внесенных изменений в файле с заданным вами именем. Если вы нажали на него <ESC> случайно, после повторного нажатия программа вернется в экранный режим.

Вместо знаков ограничений вводятся верхняя и (или) нижняя границы диапазона изменения ограничения в два КРАЙНИХ СПРАВА столбца изображенной на экране матрицы модели. Если ограничение имеет тип «меньше либо равно», свободный член его вводится в столбец верхних границ ограничения («Не более»), а в столбец нижних границ («Не менее») следует ввести знак <->, имеющий в этом случае смысл прочерка. Для ограничения типа «больше либо равно», свободный член помещают в столбец «Не менее», а в столбец «Не более»- минус. Чтобы ввести ограничение типа «равно», следует его свободный член поместить в каждый из упомянутых столбцов. Можно вводить двусторонние ограничения, указав каждую границу в соответствующем столбце.

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

Х1

Х2

Не менее

Не более

1

1

--

2000

2

1

--

100

3

5

50

--

10000

4

40

400

--

Мах

400

800

Вверх

--

--

--

--

Нижн

0

0

0

0

Рисунок 2 Форма ввода

Для ввода названий ограничений переменных модели выберите вторую строку подменю “ВВОД”. Экран очищается. В верхней его части появляются название переменных текущей модели, а в левой названия ограничений. Каждое название переменной или ограничения представляет собой упорядоченную последовательность символов, состоящую не более, чем четырех строк. На экране название выглядит в виде небольшого окна, внутри которого можно передвигаться, изменяя его содержимое, по правилам экранного редактора.

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

<F2> - переход от редактирования названий переменных к редактированию названий ограничений наоборот;

<СТРЕЛКИ> - перемещение внутри редактируемого названия;

<CTRL>< ENTER> - вставка новой строки в название;

<ENTER> - переход на новую строку без вставки;

<STRL>< Y> - удаление текущей строки без вставки;

<TAB> - переход к следующему столбцу (строке);

<SHIFT><TAB> - переход к предыдущему столбцу (столбу);

<PgUp>< PgDn> - перемещение на страницу вверх (или вниз);

<CTRL>< PgUp> - перемещение к первому столбцу (строке);

< CTRL>< PgDp> - перемещение к последнему столбцу (строке);

<ESC> - завершение ввода.