- •Арм экономиста (Технологии бизнеса “а”)
- •Лекция 1: Начала пðàêñеотехники. Арм как праксеотехнический стандарт.
- •Арм как система.
- •Структура современного предприятия.
- •1.2. Информационно - командная среда.
- •Лекция 2:
- •Табличный процессор
- •Как основная инструментальная среда
- •Экономиста.
- •2.1. Экскурс в теорию множеств.
- •2.2. Таблица как способ представления множеств.
- •2.3. «Эврики» табличного процессора.
- •Лекция 3: Практическое использование табличного процессора.
- •3.1. Методы нахождения нулей функции.
- •3.2. Леонтьевская модель межотраслевых связей в табличном процессоре.
- •Сравнительная характеристика методов решения систем линейных алгебраических уравнений с n неизвестными:
- •Лекция 4
- •1 Способ (простейшая формулировка).
- •1.Метод меток.
- •2. Метод эстафеты.
- •3. Метод имитации многопроцессорного калькулятора.
- •Лекция 5-7.
- •5.1.Построение меню.
- •5.2.Автоматизация проектирования с помощью макетирования.
- •Общие схемы решения задач.
- •1.Èтеративная схема.
- •2. Метод редукции множеств.
- •Лекция 8. Бухгалтерский учет и информационные технологии.
- •Лекция 9. Формулы финансовой математики. Бюджетинг.
- •2. Экономическое программирование.
- •Лекция 10.
- •2. Распределение средств во взаимоисключающие направления.
2. Метод редукции множеств.
Разбиение
на множества
- это такое разделение множества на
подмножества (классы), что последние в
сумме дают множество, но между собой не
пересекаются (т.е.
).
В основе разбиения лежит некоторое свойство, значения которого различны у элементов различных подмножеств. Процедура разбиения может продолжаться до получения в узлах отдельных элементов, не подлежащих разбиению. Такого рода конструкция называется "порфирианом".
В конечном итого этот метод может быть отождествлен с методом последовательного перебора (просмотра отдельных элементов нижнего уровня). Если исходное множество конечно и невелико, этот метод достаточно эффективен. В противном случае выбирается метод направленного перебора, основным отличием которого является то, что в то время как некоторые подмножества подлежат разбиению вплоть до элементов, другие же не рассматриваются в предположении, что они не содержат искомого элемента.
Пример. Задача о назначении (о женихах и невестах).
Пусть задано N претендентов и столько же свободных мест (вакансий) и коэффициенты, отражающие пользу от назначения каждого претендента на каждое место. Требуется провести распределение претендентов по местам с максимизацией общей полезности. При этом один претендент может занимать только одно место и наоборот, одно место может быть занято только одним претендентом.
В формализованном виде задача выглядит следующим образом:
-
польза от i-го претендента на j-м месте

-
i-й претендент занимает / не занимает
j-е место
|
|
1 |
2 |
... |
n |
|
1 |
|
|
|
|
|
2 |
|
|
|
|
|
... |
|
|
|
|
|
n |
|
|
|
|
(1)
В
данной ситуации метод последовательного
перебора неприменим. Запишем
при j = 5.
|
|
1 |
2 |
3 |
4 |
5 |
|
1 |
4 |
3 |
5 |
6 |
5 |
|
2 |
1 |
1 |
2 |
4 |
3 |
|
3 |
2 |
5 |
4 |
3 |
2 |
|
4 |
2 |
3 |
3 |
7 |
1 |
|
5 |
4 |
3 |
4 |
4 |
5 |
Последовательно перебирая строки, выберем в каждой строке максимальный элемент (учитывая выбор, сделанный на предыдущем шаге). Получиì решение <4,5,2,3,1> при значении целевой функции, равном 21.
|
|
1 |
2 |
3 |
4 |
5 |
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
1 |
|
3 |
|
1 |
|
|
|
|
4 |
|
|
1 |
|
|
|
5 |
1 |
|
|
|
|
Очевидно, что это решение не является оптимальным и его модно улучшить, поменяв местами 1-го и 4-го претендентов. При этом значение целевой функции улучшится на 3 единицы (решение <3,5,2,4,1> при значении F=24), однако уверенности в том, что именно это решение является оптимальным, нет. Такой метод носиò название венгерского (метод Эстерхази).
Применим метод направленного перебора. Для этого в каждой строке из всех ее элементов вычтем одно и то же число так, чтобы максимальное в строке число равнялось нулю. Ту же операцию произведем по столбцам.
|
|
1 |
2 |
3 |
4 |
5 |
|
1 |
-2 |
-3 |
-1 |
0 |
-1 |
|
|
-3 |
-3 |
-2 |
0 |
-1 |
|
3 |
-3 |
0 |
-1 |
-2 |
-1 |
|
4 |
-5 |
-4 |
-4 |
0 |
-6 |
|
5 |
-1 |
-2 |
-1 |
-1 |
0 |
Таким образом, невозможно получить решение с F>25 (6+4+5+7+5-1-1). Это верхняя граница оптимума. Далее произведем выбор нулей, являющихся единственными в строке/столбце с последующим условным "вычеркиванием" этих строк и столбцов из дальнейшего рассмотрения. При отсутствии в строке/столбце свободных нулевых элементов рассматривается максимальный из свободных элементов.
|
|
1 |
2 |
3 |
4 |
5 |
|
1 |
-1 |
-3 |
0 |
0 |
-1 |
|
|
-2 |
-3 |
-1 |
0 |
-1 |
|
3 |
-2 |
0 |
0 |
-2 |
-1 |
|
4 |
-4 |
-4 |
-3 |
0 |
-6 |
|
5 |
0 |
-2 |
0 |
-1 |
0 |
Процесс решения можно отразить в виде порфириана, а выполняемые операции свести к следующим:
разбиение исходного множества на подмножества
с фиксацией фрагмента решения (< , , ,
,1>);получение верхних границ максимума на полученных ветвях;
выбор лучшего варианта.

Эти операции выполняются циклически. При этом правило останова может быть сформулировано следующим образом. При получении конечного решения по выбранной ветви его результат сравнивается с "обещаниями" по остальным ветвям. Процесс продолжается до тех пор, пока все обещания не будут хуже или равны результату.
Примененный к решению метод носит название метода ветвей и границ. При выборе границ решается задача более простая, чем исходная (вычитание и поиск максимума без выполнения условия (1)). При этом скорость решения зависит от выбора первого элемента, в связи с чем целесообразно начинать с элемента, наиболее сильно отличающегося от своих "соседей".
Подводя итог вышесказанному, можно отметить следующие моменты:
разделение задачи на вычислительную и логическую (решаемую с помощью порфириана). Последняя труднопрограммируема, что еще раз подчеркивает необходимость компьютерной поддержки решения (решения машиной вычислительных задач, а человеком - логических);
использование схемы построения порфириана;
получение оценки оптимума подмножеств путем решения упрощенной задачи. При расширении границ (снятии ограничения (1)) максимум целевой функции на расширенном множестве есть верхняя оценка максимума целевой функции искомого множества;
проведение редукции на каждом шаге ветвления путем фиксации фрагмента множества;
быстрое нахождение первоначального решения и формулировка правила останова.
Рассмотрим произвольную задачу линейного программирования.

Часто встречаются ситуации, когда m и n различны (ресурсов, а следовательно, и ограничений, больше, чем продуктов, а следовательно, и переменных или наоборот). Тем не менее в оптимальном решении количество ненулевых элементов будет равно min (m,n). В такой ситуации можно воспользоваться описанным выше методом снятия ограничений с целью нахождения значения верхней границы оптимума и последующего его использования.
В ситуациях, когда оптимум ярко выражен, метод ветвей и границ быстро приводит к результату. В случае же "размытого" оптимума он позволяет установить величину, близкую к оптимальной и определить границы "размытого" решения (решение может быть остановлено по достижении заданной степени приближения).

2
2
2