Контрольная работа: по Математическому моделированию

Название: по Математическому моделированию
Раздел: Рефераты по математике
Тип: контрольная работа

СПЕЦИАЛЬНОСТЬ :

Группа:

Дисциплина: Исследование операций

___________________________________________________________________________________

ФИО студента:________________________________________

Набор задач №34.

1. Построить математическую модель следующей задачи оптимального планирования объемов производства.

Компания производит погрузчики и тележки. От одного погрузчика компания получает доход в размере $80 и от одной тележки в размере $40 . Имеется три обрабатывающих центра, на которых выполняются операции металлообработки, сварки и сборки, необходимые для производства любого из продуктов. Для интервала планирования, равного месяцу, задана предельная производственная мощность каждого обрабатывающего центра в часах, а также количество часов, необходимое на этом центре для производства одного погрузчика и одной тележки. Эта информация задана в таблице.

Погрузчик Тележка

(часы/ед.) (часы/ед.)

Общ. мощ.

(часы)

Мет. обраб.

Сварка

Сборка

6 4

2 3

9 3

2400

1500

2700

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

Решение.

Пусть — количество производимых погрузчиков;

— количество производимых тележек.

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

Задача состоит в нахождении допустимых значений переменных и , максимизирующих J (x ). При этом, в силу условия задачи, должны выполняться следующие ограничения на переменные:

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

1) часов в месяц ( для центра металлообработки) ;

2) часов в месяц ( для центра сварки) ;

3) часов в месяц ( для центра сборки);

4) (ограничение на неотрицательность переменных) .

Итак, получили следующую математическую модель данной задачи:


2. Найти множество Парето следующей двухкритериальной задачи.

, ,

при условии . Значения функций заданы таблицей

x 1 2 3 4 5 6 7
-2 -4 -6 -4 -6 -8 -6
12 12 12 10 10 10 6

Решение.

Решим вопрос нахождения множества Парето данной задачи геометрически. Для этого изобразим на графике множество, состоящее из точек

=

С помощью графика найдем все точки с максимальным значением координаты . В данном случае это одна точка, имеющая координаты (-2,12). Она войдет во множество оптимальных по Парето исходов. Далее исключим из рассмотрения все точки, координаты которых не превосходят, а координаты больше или равны координатам найденной точки (-2,12) ( это (-4,12) и (-6,12) ). Снова из оставшихся точек выберем все с наибольшим значением . Это точка с координатами (-4,10). Из оставшихся две точки (-6,10) и (-8,10) нам не подходят, поскольку их координаты меньше первой координаты выбранной точки (-4,10), а координаты равны второй координате этой точки. Значит, соответствующие им стратегии являются доминируемыми. Что же касается точки (-6, 6), то она войдет во множество оптимальных по Парето точек. Окончательно получили, что множество Парето данной задачи состоит из трех точек - (-2,12), (-4,10), (-6, 6). Они отвечают стратегиям под номерами 1, 4 и 7 соответственно. Таким образом, .

3. Геометрически решить задачу линейного программирования:

,

Решение.

    Строим область допустимых решений, т.е. геометрическое место точек, в котором одновременно удовлетворяются все ограничения данной ЗЛП. Каждое из неравенств системы ограничений нашей задачи геометрически в системе координат (,) определяет полуплоскость соответственно с граничными прямыми.

Первому ограничению соответствует прямая, пересекающая координатные оси в точках с координатами ( 0, 6 ) и ( 6, 0 ).

Второму ограничению соответствует прямая, пересекающая координатные оси в точках с координатами ( 0, -1 ) и ( 1, 0 ).

Третьему ограничению соответствует прямая, пересекающая координатные оси в точке с координатами ( 1, 0 ) и проходящая параллельно оси .

Четвертому ограничению соответствует прямая, пересекающая координатные оси в точках с координатами ( 0, 6 ) и ( 3, 0 ).

Пятому ограничению соответствует прямая, пересекающая координатные оси в точках с координатами ( 0, 4 ) и ( -8, 0 ).

Шестому ограничению соответствует прямая, пересекающая координатные оси в точке с координатами ( 0, 1 ) и проходящая параллельно оси .

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

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

    Вектор градиента v определяется координатами ( 0.5, 2 ). Он перпендикулярен линиям уровня и указывает направление возрастания целевой функции. На рисунке красным цветом изображены линии уровня , заданные уравнениями и , т. е. когда целевая функция принимает значение 0 и 10 соответственно.

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

4. В этой точке значение целевой функции будет наибольшим, т.е.

.

4. Перейти к задаче с ограничениями :

Решение.

Для начала попытаемся выразить одни переменные системы через определенный набор других переменных. С этой целью будем рассматривать расширенную матрицу системы ограничений и путем элементарных преобразований этой матрицы, выделим в ней единичную подматрицу :

Воспользуемся последней расширенной матрицей и выразимпеременные , и через оставшиеся переменные и . Помня, что , получаем новые ограничения :

Подставив эти значения вместо переменных , и в исходную задачу, для целевой функции получим:

Итак, преобразовав полученные неравенства и целевую функцию, имеем задачу, эквивалентную исходной с ограничениями « = » , но уже с ограничениями « »:

min,

5. Решить задачу линейного программирования симплекс-методом.

Решение.

Перед применением симплекс-метода необходимо преобразовать систему линейных ограничений и рассматриваемую нами функцию к каноническому виду.

Все свободные члены системы ограничений неотрицательны, значит, выполнено одно из необходимых условий применения симплекс-метода. Осталось все условия системы представить в виде уравнений. Для этого к левой части 1-го неравенства системы ограничений прибавляем неотрицательную переменную , к левой части 2-го неравенства прибавляем неотрицательную переменную , а к левой части 3-го - неотрицательную переменную , тем самым мы преобразуем неравенства в равенства:

Определимся с начальным опорным решением. Наличие единичного базиса в системе ограничений позволяет легко найти его.

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

= ( 0 , 0 , 1 , 3 , 2 ).

Теперь непосредственно составим таблицу:

Базисные

переменные

Свободные

переменные

Отношение
2 -1 1 0 0 1 -
1 3 0 1 0 3 1
1 -2 0 0 1 2 -
J (x ) -2 -3 0 0 0 0 -

В качестве ведущего выступает 2-ой столбец, поскольку -3 - наименьший элемент в строкеJ (x ). За ведущую строку принимаем строку 2, т. к. отношение свободного члена к соответствующему элементу выбранного столбца для 2-ой строки является наименьшим из неотрицательных. Разделим элементы 2-ой строки на 3, чтобы получить в качестве ведущего элемента 1:

Базисные

переменные

Свободные

переменные

Отношение
2 -1 1 0 0 1 -
1 0 0 1 1
1 -2 0 0 1 2 -
J (x ) -2 -3 0 0 0 0 -

Взяв за ведущий выделенный элемент, проведем соответствующие преобразования.

От элементов строки 1 отнимаем соответствующие элементы строки 2, умноженные на -1.

От элементов строки 3 отнимаем соответствующие элементы строки 2, умноженные на -2.

От элементов строки J (x ) отнимаем соответствующие элементы строки 2, умноженные на -3. В результате имеем:

Базисные

переменные

Свободные

переменные

Отношение
0 1 0 2
1 0 0 1 3
0 0 1 4
J (x ) - 0 0 1 0 3 -

За ведущий столбец выберем столбец 1 ( по тому же правилу) , а за ведущую строку - строку 1. Разделим элементы 1-ой строки на :

Базисные

переменные

Свободные

переменные

Отношение
1 0 0
1 0 0 1 3
0 0 1 4
J (x ) -1 0 0 1 0 3 -

Взяв за ведущий выделенный элемент, проведем соответствующие преобразования.

От элементов строки 2 отнимаем соответствующие элементы строки 1, умноженные на

От элементов строки 3 отнимаем соответствующие элементы строки 1, умноженные на .

От элементов строки J (x ) отнимаем соответствующие элементы строки 1, умноженные на -1. В результате имеем:

Базисные

переменные

Свободные

члены

Отношение
1 0 0 -
0 1 - 0 -
0 0 - 1 -
J (x ) 0 0 0 -

Мы получили строку J (x ), состоящую только из неотрицательных элементов. Значит, оптимальное решение найдено, = ( , , 0 , 0 , ).

J (x ) = - -

Поскольку и по условию неотрицательны, наибольшее значение функции равно свободному члену, т. е. .

6. Решить транспортную задачу.

Транспортная таблица имеет вид:

Запасы
20 13 8 11 70
15 9 17 18 70
21 19 15 13 110
Заявки 70 90 70 60

Решение.

Найдём общую сумму запасов: = 70 + 70 + 110 = 250.

Найдём общую сумму заявок: =70 + 90 + 70 + 60 = 290.

В нашем случае запасы поставщиков ( 250 единиц продукции ) меньше, чем потребность потребителей ( 290 единиц продукции ) на 40 единиц. Введем в рассмотрение фиктивного поставщика с запасом продукции, равным 40. Стоимость доставки единицы продукции от данного поставщика ко всем потребителям примем равной нулю.

Запасы
20 13 8 11 70
15 9 17 18 70
21 19 15 13 110
0 0 0 0 40
Заявки 70 90 70 60

Решение транспортной задачи начнем с построения допустимого базисного плана, для этого воспользуемся методом северо-западного угла.

Рассмотрим ячейку таблицы. Запасы поставщика составляют 70 единиц продукции, заявки потребителя составляет 70. Разместим в ячейку значение , равное min { 70 , 70 } = 70, т.е. мы полностью израсходoвали запасы поставщика . Вычеркиваем строку 1 таблицы, т.е исключаем ее из дальнейшего рассмотрения. В то же время мы полностью удовлетворили потребность потребителя , но будем считать, что потребность данного потребителя составляют 0 единиц продукции (не будем одновременно вычеркивать строку и столбец).

Рассмотрим ячейку .Запасы поставщика составляют 70 единиц продукции. Потребность потребителя составляет 0. Разместим в ячейку значение, равное min { 70 , 0 } = 0 ,т.е. мы полностью удовлетворили потребность потребителя . Поэтому исключаем 1ый столбец таблицы из дальнейшего рассмотрения.

Рассмотрим ячейку .Запасы поставщика составляют 70 единиц продукции. Потребность потребителя составляет 90. Разместим в ячейку значение, равное min { 70 , 90 } = 70 ,т.е. мы полностью израсходoвали запасы поставщика . Вычеркиваем строку 2 таблицы, т.е исключаем ее из дальнейшего рассмотрения.

Рассмотрим ячейку .Запасы поставщика составляют 110 единиц продукции. Потребность потребителя составляет 90 – 70 = 20 . Разместим в ячейку значение, равное min { 110 , 20 } = 20 ,т.е. мы полностью удовлетворили запросы потребителя . Поэтому исключаем 2ой столбец таблицы из дальнейшего рассмотрения.

Рассмотрим ячейку .Запасы поставщика составляют 110 – 20 = 90 единиц продукции. Потребность потребителя составляет 70. Разместим в ячейку значение, равное min { 90 , 70 } = 70 , т.е. мы полностью удовлетворили запросы потребителя . Поэтому исключаем 3ий столбец таблицы из дальнейшего рассмотрения.

Рассмотрим ячейку . Запасы поставщика составляют 90 – 70 = 20 единиц продукции. Потребность потребителя составляет 60 . Разместим в ячейку значение, равное min { 20 , 60 } = 20 ,т.е. мы полностью израсходoвали запасы поставщика . Поэтому исключаем 3ью строку таблицы из дальнейшего рассмотрения.

Рассмотрим ячейку . Запасы поставщика составляют 40 единиц продукции. Потребность потребителя составляет 60 – 20 = 40 . Разместим в ячейку значение, равное min { 40 , 40 } = 40 ,т.е. мы полностью израсходoвали запасы поставщика . Поэтому исключаем 4ую строку таблицы из дальнейшего рассмотрения. В то же время мы полностью удовлетворили запросы потребителя .

Мы нашли начальное опорное решение, т.е. израсходовали все запасы поставщиков и удовлетворили все заявки потребителей. Занесем полученные значения в таблицу:

Запасы

20

70

13

8 11 70

15

0

9

70

17

18

70
21

19

20

15

70

13

20

110
0 0 0

0

40

40
Заявки 70 90 70 60

Теперь, произведем его оценку. Общие затраты на доставку всей продукции, для данного решения , составляют

= 2070 + 15 0 + 9 70 + 19 20 + 15 70 + 13 20 + 0 40 = 3720 единиц.

Найдем потенциалы поставщиков и потребителей . Примем = 0. Тогда :

= - = 19 - 0 = 19

= - = 15 - 0 = 15

= - = 13 - 0 = 13

= - = 0 - 13 = -13

= - = 9 - 19 = -10

= - = 15 – ( -10 ) = 25

= - = 20 - 25 = -5

Запасы Потенциалы

20

70

13

8 11 70 -5

15

0

9

70

17

18

70 -10
21

19

20

15

70

13

20

110 0
0 0 0

0

40

40 -13
Заявки 70 90 70 60
Потенциалы 25 19 15 13

Найдем оценки свободных ячеек следующим образом :

= - ( + ) = 13 - ( -5 + 19 ) = -1

= - ( + ) = 8 - ( -5 + 15 ) = -2

= - ( + ) = 11 - ( -5 + 13 ) = 3

= - ( + ) = 17 - ( -10 + 15 ) = 12

= - ( + ) = 18 - ( -10 + 13 ) = 15

= - ( + ) = 21 - ( 0 + 25 ) = -4

= - ( + ) = 0 - ( -13 + 25 ) = -12

= - ( + ) = 0 - ( -13 + 19 ) = -6

= - ( + ) = 0 - ( -13 + 15 ) = -2

Среди оценок есть отрицательные, следовательно, решение не оптимальное.

Из отрицательных оценок выбираем минимальную, она соответствует ячейке , ее оценка = -2.

Ячейки , ,, , , образуют цикл для свободной ячейки . Цикл начинается в этой свободной ячейке. Пусть ячейка имеет порядковый номер 1.

Среди ячеек цикла , , , номера которых четные , выберем ячейку , как обладающую наименьшим значением 70. От ячеек цикла с четными номерами, мы отнимаем 70. К ячейкам с нечетными номерами мы прибавляем 70. Ячейка выйдет из базиса, ячейка станет базисной.

Запасы

20

13

8

70

11 70

15

70

9

17

18

70
21

19

90

15

13

20

110
0 0 0

0

40

40
Заявки 70 90 70 60

Общие затраты на доставку всей продукции, для данного решения , составляют

= 870 + 15 70 + 19 90 + 13 20 + 0 40 = 3580 единиц.

Найдем потенциалы поставщиков и потребителей . Примем = 0. Тогда :

= - = 19 - 0 = 19

= - = 15 - 0 = 15

= - = 13 - 0 = 13

= - = 0 - 13 = -13

= - = 8 - 15 = -7

= - = 9 - 19 = -10

= - = 15 – ( -10 ) = 25

Запасы Потенциалы

20

13

8

70

11 70 -7

15

70

9

17

18

70 -10
21

19

90

15

13

20

110 0
0 0 0

0

40

40 -13
Заявки 70 90 70 60
Потенциалы 25 19 15 13

Найдем оценки свободных ячеек следующим образом :

= - ( + ) = 20 - ( -7 + 25 ) = 2

= - ( + ) = 13 - ( -7 + 19 ) = 1

= - ( + ) = 11 - ( -7 + 13 ) = 5

= - ( + ) = 17 - ( -10 + 15 ) = 12

= - ( + ) = 18 - ( -10 + 13 ) = 15

= - ( + ) = 21 - ( 0 + 25 ) = -4

= - ( + ) = 0 - ( -13 + 25 ) = -12

= - ( + ) = 0 - ( -13 + 19 ) = -6

Среди оценок есть отрицательные, следовательно, решение не оптимальное.

Из отрицательных оценок выбираем минимальную, она соответствует ячейке , ее оценка = -12.

Ячейки , , , ,, образуют цикл для свободной ячейки . Цикл начинается в этой свободной ячейке. Пусть ячейка имеет порядковый номер 1.

Среди ячеек цикла , , , номера которых четные , выберем ячейку , как обладающую наименьшим значением 40. От ячеек цикла с четными номерами, мы отнимаем 40. К ячейкам с нечетными номерами мы прибавляем 40. Ячейка выйдет из базиса, ячейка станет базисной.

Запасы

20

13

8

70

11 70

15

30

9

40

17

18

70
21

19

50

15

13

60

110

0

40

0 0

0

40
Заявки 70 90 70 60

Общие затраты на доставку всей продукции, для данного решения , составляют

= 870 + 15 30 + 9 40 + 19 50 + 13 60 + 0 40 = 3100 единиц.

Найдем потенциалы поставщиков и потребителей . Примем = 0. Тогда :

= - = 19 - 0 = 19

= - = 15 - 0 = 15

= - = 13 - 0 = 13

= - = 8 - 15 = -7

= - = 9 - 19 = -10

= - = 15 – ( -10 ) = 25

= - = 0 - 25 = -25

Запасы Потенциалы

20

13

8

70

11 70 -7

15

30

9

40

17

18

70 -10
21

19

50

15

13

60

110 0

0

40

0 0

0

40

40 -25
Заявки 70 90 70 60
Потенциалы 25 19 15 13

Найдем оценки свободных ячеек следующим образом :

= - ( + ) = 20 - ( -7 + 25 ) = 2

= - ( + ) = 13 - ( -7 + 19 ) = 1

= - ( + ) = 11 - ( -7 + 13 ) = 5

= - ( + ) = 17 - ( -10 + 15 ) = 12

= - ( + ) = 18 - ( -10 + 13 ) = 15

= - ( + ) = 21 - ( 0 + 25 ) = -4

= - ( + ) = 0 - ( -25 + 19 ) = 6

= - ( + ) = 0 - ( -25 + 15 ) = 10

= - ( + ) = 0 - ( -25 + 13 ) = 12

Среди оценок есть отрицательные, следовательно, решение не оптимальное.

Из отрицательных оценок выбираем минимальную, она соответствует ячейке , ее оценка = -4. Ячейки , , , образуют цикл для свободной ячейки . Цикл начинается в этой свободной ячейке. Пусть ячейка имеет порядковый номер 1.

Среди ячеек цикла , ,номера которых четные , выберем ячейку , как обладающую наименьшим значением 30. От ячеек цикла с четными номерами, мы отнимаем 30. К ячейкам с нечетными номерами мы прибавляем 30. Ячейка выйдет из базиса, ячейка станет базисной.

Запасы

20

13

8

70

11 70

15

9

70

17

18

70

21

30

19

20

15

13

60

110

0

40

0 0

0

40
Заявки 70 90 70 60

Общие затраты на доставку всей продукции, для данного решения , составляют

= 870 + 9 70 + 21 30 + 19 20 + 13 60 + 0 40 = 2980 единиц.

Найдем потенциалы поставщиков и потребителей . Примем = 0. Тогда :

= - = 21 – 0 = 21

= - = 19 - 0 = 19

= - = 15 - 0 = 15

= - = 13 - 0 = 13

= - = 0 - 21 = -21

= - = 8 - 15 = -7

= - = 9 - 19 = -10

Запасы Потенциалы

20

13

8

70

11 70 -7

15

9

70

17

18

70 -10

21

30

19

20

15

13

60

110 0

0

40

0 0

0

40

40 -21
Заявки 70 90 70 60
Потенциалы 21 19 15 13

Найдем оценки свободных ячеек следующим образом :

Найдем оценки свободных ячеек следующим образом :

= - ( + ) = 20 - ( -7 + 21 ) = 6

= - ( + ) = 13 - ( -7 + 19 ) = 1

= - ( + ) = 11 - ( -7 + 13 ) = 5

= - ( + ) = 15 - ( -10 + 21 ) = 4

= - ( + ) = 17 - ( -10 + 15 ) = 12

= - ( + ) = 18 - ( -10 + 13 ) = 15

= - ( + ) = 0 - ( -21 + 19 ) = 2

= - ( + ) = 0 - ( -21 + 15 ) = 6

= - ( + ) = 0 - ( -21 + 13 ) = 8

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

= 870 + 9 70 + 21 30 + 19 20 + 13 60 + 0 40 = 2980 , т.е. общие затраты на доставку всей продукции, для оптимального решения составляют 2980 единиц.