Автор работы: Пользователь скрыл имя, 18 Ноября 2009 в 19:00, Не определен
Пример выполнения РГЗ по математическому программированию
Оценка по {1,3}= 6303
Определяем пару для ветвления
Q34 = 721;
Q36 = 0;
Q56 = 952;
Q65 = 231
Подходящую оценку имеет маршрут: Q36=0
w = w(1;3)+ Q36= 7236
Преобразуем матрицу:
Матрица приведена
Определяем h5=952;
Оценка
w{3,6}=6303+721=7024
5464 6303 6303 7024
G0 4,2 2,1 1,3 3,6
6294 6294 7236 7236
4,2
2,1 1,3 3,6
Нужный маршрут Казань – Ереван – Донецк – Житомир – Каунас – Калининград.
Т.к. оценка последнего маршрута больше оценки одного из тупиковых ветвей, а именно , то необходимо доисследовать процесс ветвления этой ветви.
Возвращаемся к исходной матрице расстояний и полагаем в ней
Определяем сумму приводимых элементов
h6=5634
Определяем претендентов для ветвления в множестве Y
Претендентами на ветвление могут быть S13, S21, S24, S31, S46, S56, S65
Q13 = 660+9=669;
Q21 = 0;
Q24 = 839;
Q31 = 114;
Q46 =9;
Q56 = 961;
Q65 = 231+730=961
Максимальную оценку имеет маршрут: Q56=961
w = h6+Q56= 5634 + 961 = 6595
Преобразуем матрицу:
Определяем h7= 669;
Оценка по {5,6}=5634+669=6303
Определяем пару для ветвления
Q12 = 806;
Q13 = 0;
Q21 = 0;
Q24 = 839;
Q31 = 345;
Q43 = 98;
Q65 = 730+345=1075
Подходящую оценку имеет маршрут: Q24=839
w = w(5;6)+ Q24= 6595+839=7434
Преобразуем матрицу:
Определяем h8= 0;
Оценка по {2,4}=6303
Определяем пару для ветвления
Q12 = 806;
Q13 = 0;
Q31 = 98+345=443;
Q43 = 98;
Q65 = 730+222=952
Подходящую оценку имеет маршрут: Q12=806
w = w(2;4)+ Q12= 7434+806=8240
Преобразуем матрицу:
Определяем h9= 0;
Оценка по {1,2}= 6303
Определяем пару для ветвления
Q31 = 98+345=443;
Q43 = 730+98=828;
Q65 = 730+222=952
Подходящую оценку имеет маршрут: Q43=828
w = w(4;3)+ Q12= 8240+828=9068
Преобразуем матрицу:
Матрица приведена
Определяем h10=0;
Оценка w{4,3}=6303
Т.к. получена матрица 2x2 и оценка последнего маршрута не больше всех тупиковых ветвей, то решение оптимально. Маршрутами для завершения могут быть пары (3,1), (6,5).
Составим геометрическую интерпретацию найденного маршрута
5634 5634 6303 6303 6303 6303
G0 5,6 2,4 1,2 4,3 3,1
6595 7434 8240 9068
10744
5,6 2,4 1,2 4,3 3,1 10744
Нужный маршрут Казань – Ереван – Донецк – Житомир – Каунас – Калининград; x42=1, x21=1, x13=1, x36=1, x65=1, F=5232 км.
На предприятии необходимо выполнить последовательно 12 видов работ (R1÷R12). 12 сотрудников предприятия (S1÷S12) затрачивают на выполнение каждого вида работ различное время в часах. Распределить работников по видам работ так, чтобы общее время на выполнение работ было минимально. Очередность выполнения работ не имеет значения.
Составить экономико-математическую модель задачи и решить задачу с помощью венгерского алгоритма.
№ варианта | Сотрудник | Виды работ Время, затрачиваемое каждым сотрудником на выполнение каждого вида работ | |||||||||||
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 | R11 | R12 | ||
8 | S1 | 10 | 2 | 3 | 7 | 7 | 9 | 10 | 10 | 10,5 | 12 | 14,5 | 7 |
S2 | 12 | 1 | 5 | 6,5 | 7,5 | 10 | 8 | 9 | 10 | 11 | 14 | 7,5 | |
S3 | 11 | 1 | 3,5 | 6,5 | 8 | 10,5 | 8 | 9 | 12 | 11 | 15 | 7,5 | |
S4 | 11 | 2 | 4 | 6,5 | 8 | 11 | 8 | 9,5 | 12 | 12 | 15,5 | 7,5 | |
S5 | 10 | 2,5 | 4 | 5 | 8 | 11,5 | 8,5 | 8 | 11 | 12 | 15,5 | 6 | |
S6 | 10 | 2,5 | 4,5 | 5 | 7,5 | 10,5 | 8,5 | 8 | 11 | 12 | 15 | 6 | |
S7 | 9,5 | 1 | 4 | 5,5 | 7,5 | 10,5 | 8,5 | 9 | 11 | 12 | 15,5 | 6 | |
S8 | 9,5 | 1 | 3,5 | 6,5 | 7 | 10,5 | 10 | 10,5 | 12 | 10 | 15,5 | 6 | |
S9 | 9,8 | 3 | 3,5 | 6,5 | 7 | 11 | 10,5 | 10 | 12 | 10 | 15 | 7 | |
S10 | 8 | 3 | 3 | 6,5 | 7 | 11 | 10,5 | 10 | 9,5 | 12 | 15 | 6,5 | |
S11 | 8 | 3 | 3 | 6,5 | 7,5 | 10 | 11 | 10,5 | 9,5 | 12 | 15,5 | 6,5 | |
S12 | 8 | 3 | 3 | 6,5 | 7,5 | 9 | 11 | 10,5 | 9,5 | 12 | 15 | 6,5 |
Составляем экономико-математическую модель задачи
F = 10x11 + 2x12 + 3x13 + 7x14 + 7x15 + 9x16 + 10x17 + 10x18 + 10,5x19 + 12x110 + 14,5x111 + 7x112 + 12x21 + x22 + 5x23 + 6,5x24 + 8x25 + 10,5x26 + 8x27 + 9x28 + 12x29 + 11x210 + 15x211 + 7,5x212 + 11x31 + x32 + 3,5x33 + 6,5x34 + 8x3,5 + 10,5x36 + 8x37 + 9x38 + 12x39 + 11x310 + 15x311 +17,5x312 + 11x41 + 2x42 + 4x43 + 6,5x44 + 8x45 + 11x46 + 8x47 + 9,5x48 + 12x49 + 12x410 + 15,5x411 + 7,5x412 + 10x51 + 2,5x52 + 4x53 + 5x54 + 8x55 + 11,5x56 + 8,5x57 + 8x58 + 11x59 + 12x510 + 15,5x511 + 6x512 + 10x61 + 2,5x62 + 4,5x63 + 5x64 + 7,5x65 + 10,5x66 + 8,5x67 + 8x68 + 11x69 + 12x610 + 15x611 + 6x612 + 9,5x71 + x72 + 4x73 + 5,5x74 + 7,5x75 + 10,5x76 +8,5x77 + 9x78 + 11x79 + 12x710 + 15,5x711 + 6x712 + 9,5x81 + 1x82 + 3,5x83 + 6,5x84 + 7x85 + 10,5x86 + 10x87 + 10,5x88 + 12x89 + 10x810 + 15,5x811 + 6x812 + 9,5x91 + 3x92 + 3x93 + 3,5x94 + 6,5x95 + 7x96 + 11x97 + 10,5x98 + 10x99 +12x910 +15x911 + 7x912 + 8x101 + 3x102 + 3x103 + 6,5x104 + 7x105 + 11x106 + 10,5x107 + 10x108 + 9,5x109 + 12x1010 + 15,5x1011 + 6,5x1012 + 8x111 + 3x112 + 3x113 + 6,5x114 + 7,5x115 + 10x116 + 11x117 + 10,5x118 + 9,5x119 + 12x1110 + 15,5x1111 + 6,5x1112 + 8x121 + 3x122 + 3x123 + 6,5x124 + 7,5x125 + 9x126 + 11x127 + 10,5x128 + 9,5x129 + 12x1210 + 15x1211 + 6,5x1212 min
По исходным данным составляем таблицу
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 | R11 | R12 | |
S1 | 10 | 2 | 3 | 7 | 7 | 9 | 10 | 10 | 10,5 | 12 | 14,5 | 7 |
S2 | 12 | 1 | 5 | 6,5 | 7,5 | 10 | 8 | 9 | 10 | 11 | 14 | 7,5 |
S3 | 11 | 1 | 3,5 | 6,5 | 8 | 10,5 | 8 | 9 | 12 | 11 | 15 | 7,5 |
S4 | 11 | 2 | 4 | 6,5 | 8 | 11 | 8 | 9,5 | 12 | 12 | 15,5 | 7,5 |
S5 | 10 | 2,5 | 4 | 5 | 8 | 11,5 | 8,5 | 8 | 11 | 12 | 15,5 | 6 |
S6 | 10 | 2,5 | 4,5 | 5 | 7,5 | 10,5 | 8,5 | 8 | 11 | 12 | 15 | 6 |
S7 | 9,5 | 1 | 4 | 5,5 | 7,5 | 10,5 | 8,5 | 9 | 11 | 12 | 15,5 | 6 |
S8 | 9,5 | 1 | 3,5 | 6,5 | 7 | 10,5 | 10 | 10,5 | 12 | 10 | 15,5 | 6 |
S9 | 9,8 | 3 | 3,5 | 6,5 | 7 | 11 | 10,5 | 10 | 12 | 10 | 15 | 7 |
S10 | 8 | 3 | 3 | 6,5 | 7 | 11 | 10,5 | 10 | 9,5 | 12 | 15 | 6,5 |
S11 | 8 | 3 | 3 | 6,5 | 7,5 | 10 | 11 | 10,5 | 9,5 | 12 | 15,5 | 6,5 |
S12 | 8 | 3 | 3 | 6,5 | 7,5 | 9 | 11 | 10,5 | 9,5 | 12 | 15 | 6,5 |
Преобразуем составляемую таблицу
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
Произведем назначение каждого сотрудника на один из видов работ:
S1→R2; S2→?; S3→?; S4→R7; S5→R4; S6→R8; S7→?; S8→?; S9→R5; S10→R1; S11→R3; S12→R9
Решение не оптимально; не можем назначить всех сотрудников на выполнение работ.
Делаем дальнейшее преобразование таблицы.
Минимальное число, через которое не проходит ни одна линия: 0,5
1 2 3 4 5 6 7 8 9 10 11 12
Произведем назначение каждого сотрудника на один из видов работ:
S1→R11; S2→R2; S3→?; S4→R7; S5→R4; S6→R8; S7→?; S8→?; S9→R5; S10→R1; S11→R3; S12→R9
Решение не оптимально; не можем назначить всех сотрудников на выполнение работ.
Делаем дальнейшее преобразование таблицы.
Минимальное
число, через которое не проходит
ни одна линия: 0,5
1 2 3 4 5 6 7 8 9 10 11 12
Произведем назначение каждого сотрудника на один из видов работ:
S1→R11; S2→R2; S3→?; S4→R7; S5→R4; S6→R8; S7→?; S8→?; S9→R5; S10→R1; S11→R3; S12→R9
Решение не оптимально; не можем назначить всех сотрудников на выполнение работ.