Отчет по лабораторной работе №1 по предмету: «Исследование операций» выполнили студенты CON-954 f/f группы Инюточкин Сергей, Стоянов Сергей
Министерство Образования, Молодежи и Спорта Республики Молдова
Академия Экономических Знаний Молдовы
Факультет Бухгалтерского учета и аудита
Кафедра Экономической Кибернетики и Информатики
Кишинев 1998
Глава I. Задание.
1.1 Цель лабораторной работы.
ЦЕЛЬ - научиться:
- самостоятельно разрабатывать математические модели задач по определению оптимальных планов производства продукции для предприятий и фирм;
- решать полученные математические задачи на ЭВМ с использованием пакетов прикладных программ решения задач линейного программирования;
- проводить содержательный послеоптимизационный анализ полученного решения, включая и вопросы чувствительности оптимального плана к изменению коэффициентов целевой функции и правых частей ограничений.
1.2 Требования к выполнению работы:
1) сформулировать свой вариант задачи и написать ее экономико-математическую модель;
2) составить двойственную задачу;
3) решить задачу на ПЭВМ по составленной экономико-математической модели, используя пакет решения задач линейного программирования. Привести результаты решения задачи на ЭВМ;
4) проанализировать полученные результаты решения задачи, а именно:
- какой смысл имеет полученный план и значение целевой функции;
- как используются данные в условии задачи ресурсы;
5) выписать оптимальное решение двойственной задачи и объяснить, какой экономический смысл имеет каждая оптимальная оценка;
6) проанализировать каждое ограничение задачи, используя решение двойственной задачи;
7) оформить письменный отчет по лабораторной работе, включающей все вышеуказанные пункты задания и список использованной литературы.
1.3 Условия задачи
В состав рациона кормления на стойловый период дойных коров входит 9 видов кормов. В таблице 1.3.1 приводятся необходимые данные о кормах. Для обеспечения намечаемой продуктивности стада необходимо, чтобы в рационе кормления содержалось не менее (14,5+0,1N) кг кормовых единиц, (1750+N) г перевариваемого протеина, (110+N) г кальция, (45+0,1N) г фосфора, (660+0,1N) мг каротина и (18+0,1N) кг сухого вещества. В качестве дополнительных условий даны следующие соотношения для отдельных групп кормов в рационе: концентратов (кукуруза, жмых и комбикорм) – 5-20%, грубых кормов (стебли кукурузы, сено люцерновое, сено суданки) – 15-35%, силоса – 35-60%, корнеплодов (свекла сахарная и кормовая) –10-20%. Определить рацион кормления животных по критерию минимальной себестоимости. N – порядковый номер фамилии студента по журналу =8.
Таблица 1.3.1 Содержание питательных веществ в 1 кг корма и его себестоимость.
Питательные вещества | Кукуруза | Жмых | Стебли кукурузы | Сено люцерны | Сено суданки | Силос кукурузы | Свекла сахарная | Свекла кормовая | Комби-корм |
Кормовые единицы, кг | 1,34 | 1,9 | 0,37 | 0,49 | 0,52 | 0,2 | 0,26 | 0,12 | 0,9 |
Перевариваемый протеин, г | 78 | 356 | 14 | 116 | 65 | 19 | 12 | 9 | 112 |
Кальций, г | 0,7 | 5,9 | 6,2 | 17,7 | 5,7 | 1,5 | 0,5 | 0,4 | 15 |
Фосфор, г | 3,1 | 9,1 | 1 | 2,2 | 2,3 | 0,5 | 0,4 | 13 | --- |
Каротин, мг | 4 | 2 | 5 | 45 | 15 | 15 | --- | --- | --- |
Сухое вещество | 0,87 | 0,87 | 0,8 | 0,85 | 0,85 | 0,26 | 0,24 | 0,12 | 0,87 |
Себестоимость,лей/кг | 0,43+0,01N | 0,65-0,01N | 0,05+0,01N | 0,25+0,01N | 0,3+0,01N | 0,8-0,01N | 0,15+0,01N | 0,14+0,01N | 0,75-0,01N |
Глава 2. Ход выполнения задания на ПЭВМ с использованием пакета LINDO
2.1 Краткое описание пакета LINDO
Пакет LINDOпредставляет собой прикладную программу, предназначенную для решения различных задач линейного программирования и анализа полученных результатов.
Данная программа позволяет пользователям работать с исходными данными, практически не изменяя их, что очень удобно для неопытных пользователей, на которых рассчитана данная программа. Программа позволяет получить хороший анализ результатов в удобнойформе. Однако при всех достоинствах, пакет имеет и недостатки: отсутствие на экране информации на румынском или русском языках и очень неудобный интерфейс, не позволяющий следить за ходом ввода данных и выполнения работы. Хотя возможность просмотра и исправления введенных данных предусмотрена, но она неудобна пользователю.
Необходимые для работы с пакетом команды описаны в пункте 2.2
2.2 Ход выполнения задания на ПЭВМ с использованием пакета LINDO
1. Напишем экономико-математическую модель данной производственной задачи. Обозначим через xj(j=1,8) количество производимой продукции. Кроме того, т.к. объем ресурсов для оборудования дается в часах, а производительность оборудования в м¤/час, то необходимо перейти к соизмеримости.
Таким образом, задача сводится к нахождению оптимального плана производства продукции каждого вида с целью получения максимальной прибыли.
ЗЛП будет выглядеть так:
Целевая функция:
minZ = 0.51x1+0.57x2+0.13x3+0.33x4+0.38x5+0.72x6+0.23x7+0.22x8+0.67x9
при ограничениях:
1.34x1+ 1.9x2+0.37x3+0.49x4+0.52x5+ 0.2x6+0.26x7+0.12x8+ 0.9x9 >=15.3
78x1+ 356x2+ 14x3+ 116x4+ 65x5+ 19x6+ 12x7+ 9x8+ 112x9 >=1758
0.7x1+ 5.9x2+ 6.2x3+17.7x4+ 5.7x5+ 1.5x6+ 0.5x7+ 0.4x8+ 15x9 >=118
3.1x1+ 9.1x2+ x3+ 2.2x4+ 2.3x5+ 0.5x6+ 0.4x7+ 13x8 >=45.8
4x1+ 2x2+ 5x3+ 45x4+ 15x5+ 15x6 >=660.8
0.87x1+0.87x2+ 0.8x3+0.85x4+0.85x5+0.26x6+0.24x7+0.12x8+0.87x9 >=18.8
x1+ x2+ x9 >=5
x1+ x2+ x9 <=20
x3+ x4+ x5 >=15
x3+ x4+ x5 <=35
x6 >=35
x6 <=60
x7+ x8 >=10
x7+ x8 <=20
Xj >= 0
Экономико-математическая модель состоит из целевой функции, системы ограничений и условия неотрицательности переменных xj.
2. Двойственной к данной задаче является следующая:
Целевая функция:
maxF = 15.3y1+1758y2+118y3+45.8y4+660.8y5+18.8y6+5y7-20y8+15y9-35y10+
35y11-60y12+10y13-20y14
при ограничениях:
1.34y1+ 78y2+ 0.7y3+3.1y4+ 4y5+0.87y6+y7-y8 <=0.51
1.9y1+ 356y2+ 5.9y3+9.1y4+ 2y5+0.87y6+y7-y8 <=0.57
0.37y1+ 14y2 +6.2y3+ y4+ 5y5+ 0.8y6+ y9-y10 <=0.13
0.49y1+ 116y2+17.7y3+2.2y4+45y5+0.85y6+ y9-y10 <=0.33
0.52y1+ 65y2+ 5.7y3+2.3y4+15y5+0.85y6+ y9-y10 <=0.38
0.2y1+ 19y2+ 1.5y3+0.5y4+15y5+0.26y6+ y11-y12 <=0.72
0.26y1+ 12y2+ 0.5y3+0.4y4+ 0.24y6+ y13-y14 <=0.23
0.12y1+ 9y2+ 0.4y3+ 13y4+ 0.12y6+ y13-y14 <=0.22
0.9y1+112y2+ 15y3+ 0.87y6+y7-y8 <=0.67
Данные задачи составляют пару двойственных задач. Решение прямой задачи дает оптимальный план минимизации расходов на рацион кормления, а решение двойственной задачи – оптимальную систему оценок питательной ценности используемых кормов.
3. Для решения прямой задачи воспользуемся пакетом LINDO.
Пакет установлен на диске Е: в каталоге \LINDO. Для его загрузки активизируем данный каталог и находим файл с именем lindo.exe.
Вначале необходимо ввести целевую функцию F. Для этого после двоеточия (:) набираем слово max и после пробела вводим целевую функцию. После знака вопроса набираем ST и вводим ограничения. В конце набираем END.
Для просмотра всей задачи используют команду LOOK ALL, а для просмотра строки - LOOK < N строки >.
При необходимости можно произвести редактирование той или иной строки путем набора команды ALT < N строки > и изменять либо значения переменных (VAR), либо правых частей (RHS), либо направление оптимизации с max на min и наоборот.
Решение производится вводом команды GO, а для проведения послеоптимизационного анализа после (?) нажимают Y.
После введения задачи и набора команды GO получаем следующие результаты:
OBJECTIVE FUNCTION VALUE
32, 1779200
VARIABLE | VALUE | REDUCED COST |
x1 | 3.943977 | 0 |
x2 | 1.056023 | 0 |
x3 | 13.927200 | 0 |
x4 | 1.072801 | 0 |
x5 | 0 | 0.193695 |
x6 | 35 | 0 |
x7 | 0 | 0.009258 |
x8 | 10 | 0 |
x9 | 0 | 0.169071 |
ROW | SLACK OF SURPLUS | DUAL PRICES |
2 | 5.870109 | 0 |
3 | 0 | 0.000247 |
4 | 52.828530 | 0 |
5 | 139.823500 | 0 |
6 | 0 | 0.004369 |
7 | 7.903641 | 0 |
8 | 0 | 0.473236 |
9 | 15 | 0 |
10 | 0 | 0.104691 |
11 | 20 | 0 |
12 | 0 | 0.649760 |
13 | 25 | 0 |
14 | 0 | 0.217775 |
15 | 10 | 0 |
Nо. ITERATIONS = 12
4. Из полученного решения исходит, что минимальные затраты на составление рациона питания, содержащего все необходимые элементы составляют 32, 18 денежных единиц. То есть целевая функция:
minZ = 0.51*3,943977+0.57*1,056023+0.13*13,9272+0.33*1,072801+
+0.72*35+0.22*10=32,17792
Оптимальный рацион питания:
Х = (3,943977; 1,056023; 13,927200; 1,072801; 0; 35; 0; 10; 0)
то есть в рацион войдет:
Кукурузы –3,943977 кг
Жмыха – 1,056023 кг
Стеблей кукурузы – 13,9272 кг
Сена люцерны – 1,072801 кг
Силоса кукурузы – 35 кг
Свеклы кормовой – 10 кг
Остальные корма (сено суданки, свекла сахарная и комбикорм) в рацион не вошли.
5. Оптимальным планом двойственной задачи является следующий:
Y=(0; 0.000247; 0; 0; 0,004369; 0; 0,473236; 0; 0,104691; 0; 0,64976; 0; 0,217775; 0)
При этом целевая функция достигает своего максимального значения:
maxF = 1758*0,000247+660.8*0,004369+5*0,473236+15*0,104691+
35*0,64976+10*0,217775=32,17792
Таким образом мы получили решение прямой двойственной задач, значения целевых функций которых равны:
Z(X)=F(Y)=32,17792
6. Проанализируем каждое ограничение двойственной задачи, подставляя вместо Y значения двойственных оценок
78*0.000247 +4*0.004369+1*0.473236 =0.5099 <=0.51
356*0.000247+2*0.004369+1*0.473236 =0.5699 <=0.57
14*0.000247 +5*0.004369+1*0.104691 =0.12999<=0.13
116*0.000247+45*0.004369+1*0.104691 =0.3299 <=0.33
65*0.000247 +15*0.004369+1*0.104691 =0.18628<=0.38
19*0.000247 +15*0.004369+1*0.64976 =0.71998<=0.72
12*0.000247 +1*0.217775 =0.2207 <=0.23
9*0.000247 +1*0.217775 =0.21999<=0.22
112*0.000247+1*0.473236 =0.5009 <=0.67
Из полученных данных видно, что все ресурсы используются оптимально, кроме сена суданки и комбикорма, которые вообще не вошли в рацион.
7. Для проведения анализа устойчивости оптимального плана прямой задачи при изменении коэффициентов целевой функции воспользуемся следующими данными, полученными с помощью ПЭВМ. Для этого в ответ на запрос RANGE вводим YES. Результы получим в следующем виде: