Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4758

.pdf
Скачиваний:
2
Добавлен:
08.01.2021
Размер:
1.55 Mб
Скачать

сумма переменных xij для любой строки или столбца равна 1, т.е. можно

n

записать следующие условия: xij 1, (i 1, 2, ..., n) (6.1)

i 1

n

xij 1, ( j 1, 2, ..., n)

j 1

xij 0.

В качестве целевой функции (критерия оптимальности) принимаем

суммарную производительность сотрудников: Z aij xij

max .

n

n

 

i 1

j 1

 

(6.2)

Таким образом, сущность задачи о назначениях состоит в отыскании таких неотрицательных значений xij , чтобы целевая функция (общая выручка)

была максимальной.

 

 

 

 

 

 

 

 

Таблица 4

 

 

Условие задачи о назначениях

 

 

 

Водите

 

 

 

Маршруты

 

 

 

ли

R1

R2

 

Ri

 

Rn

 

x11

x12

 

 

x1 j

 

 

x1n

S1

a11

a12

 

a

 

 

a1n

 

 

 

 

 

1 j

 

 

 

 

x21

x22

 

 

x2 j

 

 

x2n

S2

a21

a22

 

a

2 j

 

a2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi1

xi 2

 

 

xij

 

 

xin

Si

ai1

ai 2

 

a

ij

 

ain

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sn

xn1

xn2

 

 

xnj

 

 

xnn

 

an1

an2

 

a

nj

 

ann

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотренную выше задачу можно классифицировать как комбинаторную (переборную) задачу. Пример решения подобной задачи представлен ниже.

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

была определена выручка

aij каждого

водителя по

каждому из трех

маршрутов (табл. 5).

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5

 

Выручка каждого водителя по каждому из трех маршрутов

 

 

 

 

 

Работы

 

 

 

Работники

 

R1

 

R2

 

R3

 

 

S1

 

x11

 

x12

 

x13

 

 

 

 

a11 10

 

a12 15

 

a13 25

 

 

S2

 

x21

 

x22

 

x23

 

 

 

 

a21 20

 

a22 10

 

a23 5

 

S3

x31

x32

x33

 

a31 15

a32 10

a33 10

Запишем все возможные распределения 3 водителей по 3 маршрутам в виде следующих триад:

1)

(x11, x22 , x33 ) ;

2)

(x11, x23 , x32 ) ;

3)

(x12 , x21, x33 ) ;

4)

(x12 , x23 , x31 ) ;

5)

(x13 , x22 , x31 ) ;

6)

(x13 , x21, x32 ) .

Для каждой из триад рассчитаем суммарную выручку:

y1 1 10 1 10 1 10 30 ;

y2 1 10 1 5 1 10 25 ;

y3 1 15 1 20 1 10 45 ;

y4 1 15 1 5 1 15 35 ;

y5 1 25 1 10 1 15 45 ;

y6 1 25 1 20 1 10 55 .

Сравнивая полученные суммарные выручки, соответствующие каждой из триад, видим, что наибольшая выручка соответствует 6-й триаде: y6 55.

Следовательно, оптимальное распределение водителей по маршрутам представлено триадой (x13 , x21, x32 ) , т.е. 1-й водитель назначается на 3-й

маршрут, 2-й на 1-й, 3-й на 2-й.

Как отмечалось выше, задача о назначениях является частным случаем ТЗ. Задача 3.2. На автопредприятии имеются 6 водителей, которых необходимо

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

выручка

aij каждого водителя по каждому из пяти маршрутов (табл. 6)

и

штрафы

каждого водителя по каждому из пяти маршрутов (табл.

7).

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

Таблица 6 Выручка каждого водителя по каждому из пяти маршрутов

Σпо

стр.

Выработка за неделю

 

Водители

 

4

6

5

4

3

 

1

 

4

3

2

4

3

 

2

 

3

4

5

4

1

 

3

 

3

2

1

2

2

 

4

 

2

4

5

4

3

 

5

 

5

4

3

4

3

 

6

Маршр

 

 

 

 

 

 

 

ут:

1

2

3

4

5

 

 

Таблица 7 Штрафы каждого водителя по каждому из пяти маршрутов

Σпо

стр.

Штрафы

 

 

 

 

Водители

 

3

5

4

3

2

 

1

 

3

2

1

3

2

 

2

 

2

3

4

3

0

 

3

 

2

1

0

1

1

 

4

 

1

3

4

3

2

 

5

 

4

3

2

3

2

 

6

Маршр

 

 

 

 

 

 

 

ут:

1

2

3

4

5

 

 

Полученную ЗРТ будем решать средствами Excel, используя надстройку

Сервис \ Поиск решения.

Выполним последовательно следующие действия в среде Excel:

1.Создадим форму для ввода условий задачи и введем в нее исходные данные из таблиц 6 и 7 (см. рис.11).

2.Укажем адреса ячеек, в которые будет помещен результат решения (изменяемые ячейки). Оптимальные значения компонент матрицы решений будут помещены в ячейках B19:F24 (матрица «назначения»), оптимальное значение целевой функции – в ячейке F29. Значение суммарной выработки – в ячейке B29. Сумма штрафов – в ячейке D29.

3.Введем зависимость для суммарной выработки, суммы штрафов и целевой функции, для этого нужно: установить курсор в ячейку В29, на панели инструментов нажать кнопку Мастер функций. В диалоговом окне Мастер функций выбрать категорию Математические и функцию СУМПРОИЗВ; в диалоговом окне Аргументы функций в

строку «Массив 1» ввести B2:F7, в строку «Массив 2» ввести B19:F24. Добавить множитель 70000.

4.Чтобы ввести зависимость для суммы штрафов нужно установить курсор в ячейку D29, на панели инструментов нажать кнопку Мастер функций. В диалоговом окне Мастер функций выбрать категорию

Математические и функцию СУМПРОИЗВ; в диалоговом окне Аргументы функций в строку «Массив 1» ввести B11:F16, в строку

«Массив 2» ввести B19:F24. Добавить множитель 700.

5.Чтобы определить зависимость для целевой функции нужно ввести в

ячейку F29 формулу: = B29 – F29.

Введем зависимости для ограничений:

-в ячейки В25:F25 нужно ввести функции СУММ(B19:B24), …, СУММ(F19:F24) соответственно; в ячейки G19:G24 нужно ввести функции СУММ(B19:F19), …, СУММ(B24:F24) соответственно.

6.Присвоив значение «1» изменяемым ячейкам, получим следующую форму для решения задачи (рис. 11):

 

 

 

 

A

 

 

B

 

 

C

 

 

D

 

 

E

 

 

F

 

 

G

 

 

H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

Выработка за неделю

 

 

 

 

 

 

 

 

 

 

 

Водители

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

22

 

4

 

6

 

 

5

 

4

 

3

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

16

 

4

 

3

 

 

2

 

4

 

3

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

17

 

3

 

4

 

 

5

 

4

 

1

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

10

 

3

 

2

 

 

1

 

2

 

2

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

18

2

 

4

5

4

3

 

5

 

 

 

 

 

 

7

 

19

5

 

4

3

4

3

 

6

 

 

 

 

 

 

8

 

Маршру

 

 

 

 

 

 

 

 

 

 

 

т:

1

 

2

3

4

5

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

10

 

 

Штрафы

 

 

 

 

 

 

 

11

 

17

3

 

5

4

3

2

 

1

 

 

 

 

 

 

12

 

11

3

 

2

1

3

2

 

2

 

 

 

 

 

 

13

 

12

2

 

3

4

3

0

 

3

 

14

 

5

2

 

1

0

1

1

 

4

 

15

 

13

1

 

3

4

3

2

 

5

 

16

 

14

4

 

3

2

3

2

 

6

 

 

 

 

 

 

17

 

Маршру

 

 

 

 

 

 

 

 

 

 

 

т:

1

 

2

3

4

5

 

 

 

 

 

 

 

 

 

18

 

 

Назначения

 

 

 

 

 

Водители

 

19

 

 

1

 

1

1

1

1

5

1

 

20

 

 

1

 

1

1

1

1

5

2

 

21

 

 

1

 

1

1

1

1

5

3

 

22

 

 

1

 

1

1

1

1

5

4

 

23

 

 

1

 

1

1

1

1

5

5

 

24

 

 

1

 

1

1

1

1

5

6

 

25

 

Σпо столб

6

 

6

6

6

6

Σ по стр.

 

 

26

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Штраф

 

Сальд

 

 

 

27

 

 

 

 

 

 

 

 

 

 

 

 

Выработка

 

ы

 

о

 

 

 

28

 

 

 

 

 

 

 

(Fцел)

 

 

 

 

 

 

714000

 

 

 

 

708960

 

 

 

29

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

50400

 

0

 

 

Рис. 11. Форма для ввода условий задачи

Выполним команду меню Сервис \ Поиск решения. В диалоговом окне

Поиск решения нужно:

a.назначить целевую ячейку – в данном случае В29;

b.ввести направление целевой функции – Максимальному значению;

c.в строке Изменяя ячейки ввести диапазон B19:F14 (адреса искомых переменных);

d.ввести ограничения, для этого нажать на кнопку Добавить и ввести данные в диалоговое окно Добавление ограничения: – значения в ячейках В25:F25 должны быть равны 1, а значения в ячейках G19:G24 должны быть равны 1 или 0.

В результате диалоговое окно Поиск решения выглядит так, как показано на рис.12.

7.Введем параметры для решения ЗЛП. Для этого в диалоговом окне Поиск решения нужно нажать на кнопку Параметры и в диалоговом окне

Параметры поиска решения установить флажки в окнах Линейная модель

иНеотрицательные значения (рис. 13). После этого нужно нажать на кнопку Выполнить диалогового окна Поиск решения.

Рис. 12. Диалоговое окно Поиск решения

Рис. 13. Диалоговое окне

Параметры поиска решения

Через некоторое время появляется диалог Результаты поиска решения и исходная таблица с заполненными ячейками B19:F24, оптимальное значение целевой функции – в ячейке F29. Значение суммарной выработки – в ячейке B29. Сумма штрафов – в ячейке D29 (рис. 14).

Полученное решение (табл. 8) означает, что на 1-й маршрут нужно назначить водителя под номером 6; на 2-й маршрут – водителя под номером 1; на 3-й маршрут – водителя под номером 5; на 4-й маршрут – водителя под номером 3; на 5-й маршрут – водителя под номером 2; водителя под номером 4 никуда не назначать, т.к. его работа приносит наименьший из всех доход.

Таблица 8

Матрица решений имеет вид

Назначения на маршруты

 

 

 

 

 

 

 

 

 

Σ по

Водите

1

2

3

4

5

стр.

ли

0

1

 

0

0

0

1

1

0

0

 

0

0

1

1

2

0

0

 

0

1

0

1

3

0

0

 

0

0

0

0

4

0

0

 

1

0

0

1

5

1

0

 

0

0

0

1

6

Максимальный суммарный доход составит 1597400 ед.

 

 

 

 

A

 

 

B

 

 

C

 

 

D

 

 

E

 

 

F

 

 

G

 

 

H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

Выработка за неделю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

22

 

4

 

6

 

 

5

 

4

 

3

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

16

 

4

 

3

 

 

2

 

4

 

3

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

17

 

3

 

4

 

 

5

 

4

 

1

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

10

 

3

 

2

 

 

1

 

2

 

2

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

18

 

2

 

4

 

 

5

 

4

 

3

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

19

 

5

 

4

 

 

3

 

4

 

3

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Маршру

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т:

1

 

2

 

 

3

 

4

 

5

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

0

 

 

Штрафы

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

17

3

 

5

4

3

2

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

2

 

11

3

 

2

1

3

2

 

2

 

1

 

 

 

 

 

 

 

 

 

 

 

3

 

12

2

 

3

4

3

0

 

3

 

1

 

 

 

 

 

 

 

 

 

 

 

4

 

5

2

 

1

0

1

1

 

4

 

1

 

 

 

 

 

 

 

 

 

 

 

5

 

13

1

 

3

4

3

2

 

5

 

1

 

 

 

 

 

 

 

 

 

 

 

6

 

14

4

 

3

2

3

2

 

6

 

 

 

Маршру

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

7

 

т:

1

 

2

3

4

5

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

8

 

 

Назначения

 

 

 

 

 

Водител

 

1

 

 

 

 

 

 

 

 

 

 

 

9

 

 

0

 

1

0

0

0

1

1

 

2

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

0

0

0

1

1

2

 

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

0

0

1

0

1

3

 

2

 

 

 

 

 

 

 

 

 

 

 

2

 

 

0

 

0

0

0

0

0

4

 

2

 

 

 

 

 

 

 

 

 

 

 

3

 

 

0

 

0

1

0

0

1

5

 

2

 

 

 

 

 

 

 

 

 

 

 

4

 

 

1

 

0

0

0

0

1

6

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

5

 

Σпо столб

1

 

1

1

1

1

Σ по стр.

 

 

2

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

Штраф

 

 

 

 

 

7

 

 

Выработка

 

ы

 

Сальдо

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

(Fцел)

 

 

 

2

 

 

161000

 

 

 

 

159740

 

 

 

9

 

 

0

 

 

12600

 

0

 

 

Рис. 14. Результаты поиска решения

Контрольные вопросы:

1.Какова постановка задачи о назначениях?

2.В чем отличие модели задачи о назначениях от модели ТЗ?

3.Каковы исходные и искомые параметры задачи о назначениях?

4.Как записывается математическая модель задачи о назначениях.

5.Почему полученное решение не поставило водителя под номером 4 ни на какой маршрут?

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

Практическая работа № 4 (4 ч.)

Использование электронной таблицы Excel для решения задач оптимизации

Цель работы: изучение порядка работы с электронной таблицей при решении задач оптимизации

Задание 1. При откорме животных по нормам в дневном рационе должны содержаться питательные вещества в следующем количестве: кормовых единиц – не менее 6 кг, перевариваемого протеина – не менее 150 г. каротина – не менее 8 мг. При откорме используют ячмень, бобы и сенную муку. Содержание питательных веществ в килограмме этих кормов приведены в таблице. Составьте дневной рацион, удовлетворяющий данной питательности при минимальной стоимости.

Питательные вещества

Кормовые единицы, кг Перевариваемый протеин, г Каротин, мг

Стоимость одного килограмма корма

Количество единиц питательных веществ в 1 килограмме корма

Ячмень

Бобы

Сенная мука

15

7

9

100

180

240

5

5

35

2

4

8

Решение.

Составим математическую модель задачи. Обозначим: x1 - количество ячменя в рационе (кг.);

x2 - количество бобов в рационе (кг.);

x3 - количество сенной муки в рационе (кг.);

Математическая модель задачи имеет вид:

F(x) 2 x1 4 x2 8 x3 min; - функция стоимости (целевая функция) при ограничениях:

15x1 7x2 9x3 6;

 

 

 

150;

100x1 180x2 240x3

 

35x3 8;

 

5x1 5x2

 

 

1,2,3.

 

xi 0, i

 

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

Выполним последовательно следующие действия в среде Excel:

1. Создадим форму для ввода условий задачи (рис.5).

 

Рис.5

 

 

2. Укажем адреса ячеек,

в которые будет помещен результат решения

(изменяемые ячейки).

Оптимальные

значения

компонент вектора

X (x1 , x2 , x3 ) будут

помещены в

ячейках

В3:D3, оптимальное

значение целевой функции – в ячейке Е4.

3. Введем исходные данные задачи в созданную форму (рис.6).

Рис.6

4.Введем зависимость для целевой функции, для этого нужно: установить курсор в ячейку Е4, на панели инструментов нажать кнопку Мастер функций. В диалоговом окне Мастер функций

выбрать категорию Математические и функцию СУММПРОИЗВ (рис.7); В диалоговом окне Аргументы функций в строку «Массив 1» ввести B3:D3, в строку «Массив 2» ввести B4:D4 (рис.8).

Рис.7

Рис.8

5.Введем зависимости для ограничений: в ячейки Е7, Е8, Е9 нужно ввести функции СУММПРОИЗВ(B3:D3;B7:D7), СУММПРОИЗВ(B3:D3;B8:D8), СУММПРОИЗВ(B3:D3;B9:D9) соответственно.

6.Выполним команду меню Сервис \ Поиск решения. В диалоговом окне Поиск решения нужно:

назначить целевую ячейку – в данном случае Е4;

ввести направление целевой функции – Минимальному значению;

в строке Изменяя ячейки ввести диапазон B3:D3 (адреса искомых переменных);

ввести ограничения, для этого нажать на кнопку Добавить и ввести данные в диалоговое окно Добавление ограничения (рис.10);

Врезультате диалоговое окно Поиск решения выглядит следующим образом (рис.9):

Рис.9

Рис.10

7.Введем параметры для решения ЗЛП. Для этого в диалоговом окне Поиск решения нужно нажать на кнопку Параметры и в диалоговом окне Параметры поиска решения установить флажки в окнах

Линейная модель и Неотрицательные значения (рис.11).После этого нужно нажать на кнопку Выполнить.

Рис.11 Рис.12

Через некоторое время появляется диалог Результаты поиска решения (рис.12) и исходная таблица с заполненными ячейками B3:D3, для значений xi и ячейка Е4 с минимальным значением целевой функции

(рис.13).

Рис.13.

Полученное решение означает, что для обеспечения рациона нужной питательности требуется использовать только 1,448 кг ячменя и 0,022 кг сенной муки. Бобы использовать нецелесообразно. При этом минимальная стоимость составит 3,07 ден.ед.

Задание 2.

Для изготовления двух видов продукции Р1, Р2 используют три вида сырья S1. S2. S3. Запасы сырья, количество единиц сырья, затрачиваемых на изготовление единицы продукции, а так же величина прибыли от реализации единицы продукции приведены в таблице. Составьте план выпуска продукции, обеспечивающий максимальную прибыль за все выпущенные изделия.

 

 

Количество единиц сырья,

Вид

Запас

идущих на изготовление

сырья

сырья

 

единицы продукции

 

 

 

 

 

 

 

P1

 

P2

S1

20

2

 

5

S2

40

8

 

5

S3

30

5

 

6

Прибыль от

 

 

 

реализации

 

 

 

единицы

 

 

 

продукции

50

 

40

Решение.

Составим математическую модель задачи. Обозначим: x1 - количество единицы сырья Р1;

x2 - количество единицы сырья Р2;

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