УДК 004.021
ЭФФЕКТИВНЫЙ АЛГОРИТМ РАЗМЕЩЕНИЯ РАЗНОГАБАРИТНЫХ ЭЛЕМЕНТОВ В СМЕЖНЫХ ПОЛЯХ
М. С. Кадацкая
EFFECTIVE ALGORITHM FOR PLACING DIFFERENTLY SIZED ELEMENTS IN ADJACENT FIELDS
M.S. Kadatskaya
Рассматривается метод поиска оптимального размещения разногабаритных элементов на нескольких смежных полях на примере задачи формирования модульного учебного плана. Предложенный алгоритм основан на формировании подпоследовательностей максимальной длины из связанных элементов, эффективном выборе начального элемента размещения и позволяет провести выбор оптимального учебного плана на основании критерия постепенного накопления знаний.
Ключевые слова: размещение элементов, модуль, генерация учебного плана, алгоритм поддержки управляющих решений по построению плана.
The paper discusses the method for searching the optimal placement of differently sized elements in several adjacent fields based on the formation of modular curriculum. The proposed algorithm is based on the formation of subsequences with the maximum length from connected elements, effective selection of the placement initial element and allows selecting the optimal curriculum based on the criterion of gradual knowledge accumulation.
Keywords: placement of elements, module, curriculum generation, algorithm for the support of managing decisions in curriculum preparation.
Введение
Многие практически важные задачи планирования, распределения ресурсов, конструирования, размещения сводятся к задачам дискретной оптимизации, решение которых вызывает значительные трудности.
Например, на практике довольно часто приходится решать задачу размещения разногабаритных электрорадиоэлементов на непрерывном монтажном пространстве [1] или формирования учебного плана образовательной программы из модулей различной трудоемкости. Структура задачи размещения разногабаритных элементов задается посредством ограничений пространства размещения (габариты конкретного корпуса или монтажной платы (учебного плана); элементы размещения (модули), заданные своими габаритами).
В дискретных алгоритмах размещения используют поле с фиксированными позициями, и из различных вариантов выбирается тот, который обеспечивает оптимальное значение целевой функции. Задачи имеют следующие особенности:
- возможность постановки задачи как задачи поиска отношения между двумя или более множествами объектов, удовлетворяющего ряду ограни-
чений и оптимизирующего заданную целевую функцию. Точное решение большинства подобных задач практически невозможно из-за их ЫР-полноты и высокой размерности;
- возможность декомпозиции исходной задачи на ряд более простых подзадач, однотипных по своей постановке.
1. Постановка задачи размещения
Рассмотрим построение алгоритма на примере задачи формирования учебного плана. К особенностям задачи генерации учебного плана относится отсутствие правильных образцов и достижение минимума целевой функции на нескольких планах, поэтому в качестве решения выбирается один из вариантов, отвечающий ограничениям и устраивающий разработчика. При этом постановки задачи выбора плана также оказываются эвристическими.
Исходными данными являются: X - множество вершин (модулей), р(х,) - размер (трудоемкость) модуля множество установоч-
ных мест (позиций) модулей в учебном плане, '/ = {г,. г2. ..., 2„|. где п - количество семестров теоретического обучения, пе{3, 8, 9, 10, 11}; х,(г) -
Кадацкая Мария Станиславовна канд. техн. наук, Kadatskaya Maria Stanislavovna PhD, assistant profes-
доцент, начальник Управления образования, Ижевский sor, head of the Educational department of Izhevsk state
государственный технический университет; [email protected] technical university; [email protected]
семестр размещения модуля в плане, размер (трудоемкость) любого семестра а(г,) = 30.
Межмодульные связи задаются множеством предшествующих модулей и матрицей смежности. Для модуля х1 существует список предшествующих модулей 5”, = £(х,-) сД х,-г £,■, если х,(г)=1, то £,■ = 0. Если х) е то Ху(г) <х,(?).
Элементы матрицы смежности образуются по правилам
1, если хг е Я,;
0, в противном случае.
Расстояние между модулями х, и х, определяется как с1у= |х,(г) ~х,(г)|.
Для задания критериальных значений временных интервалов между модулями учебного плана воспользуемся усредненной кривой забывания информации [2]. Анализ графика позволяет сделать вывод, что через три месяца воспроизводится в среднем 47 % информации, через год -37 %, а через два - 29 %, т. е. связанные модули рекомендуется изучать через минимально возможный временной промежуток - 1 семестр, максимальный разрыв для технических дисциплин -2 семестра, т. е. 4, <2.
Необходимо найти 0 = (Х, /) - такое отображение множества X на множестве X. которое обеспечивает экстремум некоторой целевой функции К
В частном случае задача имеет точное решение и не требуется решения задачи на оптимум.
Если деревья связанных модулей 7:, содержат подпоследовательности, меньшие самой длинной, то необходимо решать задачу размещения связанных объектов в нескольких ограниченных полях.
2. Формирование эффективного алгоритма
размещения элементов
Рассмотрим применение алгоритма перестановок для задачи формирования планов. Необходимо получить начальное приближение решения: построить какой-либо начальный план '/). затем перестановками модулей улучшить план в соответствии с заданной целевой функцией. Для построения начального go(X, Z) необходимо выбрать уровень к= 1 и модуль х„ х,(г) = к и начать размещать связанные с ним модули х^, для которых XУ 6 Л’(. Х,(2) = к. Потом повторить действия для модулей, связанных с х^. План будет построен, если все модули будут размещены и условия выполнены, иначе будет ошибка размещения модуля:
1) в плане размещен х„ х,(г) = 8. но 3 Л’( Ф 0 и
X,- 6
2) необходимо разместить модуль х,, но
Ут = \,п а(хг )> 30- ^ х1 .
ж,-(г)=гт
При случайном выборе первых модулей и ограничении количества просмотренных вариантов алгоритма правильный вариант построения получить затруднительно, так как для к модулей и п
уровней примерно ък-к/п случаях выбор начального модуля будет неверным. Неверный выбор модуля для начального приближения приводит к тому, что уровень 2\ заполняется неверными модулями и освободить его перестановкой нельзя, так как простая перестановка произвольных модулей может нарушить межмодульную связь.
Рассмотрим перестановку модулей в учебном плане. Сформированный учебный план можно представить как набор последовательностей Т1={Уу}, Уу^Х, /<И, \/Іj Ур)=2г,
а(2г) =ЕЯ(>'у) =30 •
г
Возможны следующие варианты перестановок модулей:
1)УуПУт',
2)УуКУщ.
Первый вариант перестановки меняет позиции модулей внутри одного уровня. На общую сумму трудоемкости модулей в семестре эта перестановка не влияет, поэтому для данной задачи она не является существенной, и учебные планы, различающиеся положением модуля внутри семестра, будем считать одним вариантом плана.
Второй вариант перестановки меняет позиции модулей, принадлежащих разным уровням. При различной трудоемкости модулей эта перестановка влияет на общую сумму трудоемкости модулей в семестрах, поэтому для данной задачи она является существенной и учебные планы, различающиеся положением модуля в семестре, будем считать разными вариантами плана.
Рассмотрим подробнее этот вариант перестановки модулей. Для модулей у у и у„у заданы множества предшествующих модулей &(уу) и ^(Уи,); кроме ТОГО, в общем случае существуют модули Уi+\j и ут+такие, что уу и ущ- входят в список предшествующих модулей ^(Уж./) И 5'(ут+1у).
Если £(>,■,■) = 0, Б(ущ) = & и утут+1] не содержатся в Б(ут]), 5'0’т+1у) И а(уу) = а(ущ), то эта перестановка не влияет на общую сумму трудоемкости модулей в семестрах, т. е. не приводит к новому варианту решения и является несущественной.
Иначе имеем сложную перестановку, так как необходимо переставлять не только модули у,,. ущ-, но и модули у,+\р ут+\р а также модули из ^(у^) и $(Ущ) и решать локальную задачу достижения минимума функции оптимальности. Таким образом, перестановка модулей приводит к перестановке в плане деревьев модулей, которые содержат модули у у и ущ, т. е. применяется алгоритм перестройки деревьев.
Второй способ получения правильного плана -не ограничивать количество просмотренных вариантов решения. Этот вариант приводит к применению для решения задачи метода перебора с
лп к\ „
Ак = ------— вариантами решении.
(к-пу.
Эффективный алгоритм размещения разногабаритных элементов в смежных полях
может быть задан без указания планов, в которые входит £, и тогда он является типовым блоком из
На получение правильного решения задачи при ограниченном числе просмотренных вариантов большое значение оказывает выбор начальных элементов (модулей) размещения. Выбор в качестве начальных элементов размещения модулей, не являющихся первыми, в самых длинных подпоследовательностях будет давать в качестве решения один из локальных минимумов задачи или ошибочный вариант решения.
При формировании учебного плана часть модулей может быть не определена на первой стадии проектирования либо планируется, что эти модули могут заменяться другими. Эго модули по выбору и модули профиля программы. При решении задачи в условиях неполной постановки предлагается задать возрастающую подпоследовательность 0 = {0\,02, ...,От} из пустых модулей, ОуёХ, т<п,У1,] О^г) и а(0,)>2. Пустые модули будут использоваться для генерации в учебном плане дисциплин профиля, корректировочных и выборных модулей.
Для решения задачи предлагается новый алгоритмический подход, состоящий из двух эвристических алгоритмов, - алгоритма отсечения неперспективных вариантов решений и алгоритма достраивания графа учебного плана на основе достижения минимума локальных целевых функций.
Для каждого модуля х,, который не встречается в списках предшествующих модулей, можно построить дерево зависимых модулей 7:,. 7:,(сЛ'. лист дерева - модуль, который не имеет модулей, предшествующих для изучения х,. Корень дерева Тй - модуль, которого нет в списках предшествующих для изучения ни одного из модулей.
Подпоследовательность У= {ух,у2, яв-
ляется подпоследовательностью Г,, если существует такая возрастающая последовательность Ухф <У2(?) < • • • <уп(г) и ут(?) 6 7 является самой
ДЛИННОЙ подпоследовательностью Т{, если количество элементов подпоследовательности размерности п плана. Тогда все самые длинные подпоследовательности являются оптимальными подструктурами плана, так как элементы в ней не подлежат перестановкам в силу межмодульных связей.
Очевидно, что правильное решение (план) включает в себя все самые длинные подпоследовательности деревьев Т{. Если деревья Т{ состоят только из самых длинных подпоследовательностей, то объединение деревьев дает оптимальный учебный план; и если выдержаны ограничения для 2, то решение найдено.
Для конкретного множества модулей и их связей (X, 5) решения задачи может не существовать, что связано с ошибкой в задании межмодульных отношений.
Определим понятие блока. Пусть даны два плана gi и gj. Тогда блоком является множество модулей и соответствующих семестров, содержащееся в обоих планах g *,■ = {хт, хт(г)} = gi П gj. Блок
библиотеки блоков.
Определим понятие каркаса. Каркас - блок или совокупность блоков, входящих в план основной образовательной программы и подпоследовательность пустых модулей.
Первый алгоритм состоит в построении каркаса учебного плана: выборе типовых блоков учебных планов из библиотеки блоков, формировании подпоследовательности пустых модулей, построении деревьев зависимых модулей.
Отсечение неперспективных решений состоит В построении деревьев зависимых модулей Т{ и включении в каркас плана самых длинных подпоследовательностей из всех деревьев Т{. Дальнейшее решение будет вестись на базе сформированного каркаса. Если каркас уже сформирован, то сразу выполняется второй алгоритм.
Суть второго алгоритма состоит в размещении модулей с использованием двух эвристик:
• Э1 - размещение подпоследовательностей в графе, начиная с самых длинных подпоследовательностей и заканчивая самыми короткими согласно межмодульным отношениям предшествования, чтобы последний модуль подпоследовательности занимал свободный ресурс с максимальным значением г,:
• Э2 - перемещение модулей на свободный ресурс с минимальным значением 2^ с учетом достижения минимума целевой локальной функции для модулей.
Использование Э1 позволит исключить из множества решений неперспективные решения, связанные с размещением модулей подпоследовательностей на уровне с недопустимо большим значением 2^ для первого элемента размещаемой подпоследовательности, т. е. для подпоследовательности 7= {у\,у2, ...,ут} выбирается начальный уровень у1 (г)<п-т+1.
Заключение
Оценка сложности метода формирования учебного плана зависит от количества модулей в плане и количества уровней в плане бакалавра, например, может быть 75-98 модулей. Тогда количество возможных вариантов учебных планов равно числу размещений к модулей в п семестрах к\
. I” = ---—. Эго множество вариантов решений
(к-пу
содержит ошибочные варианты:
- зависимые модули находятся в плане выше модуля, для которого они являются зависимыми, т. е. для у у задано множество предшествующих модулей Б(уу), иу1к е £(>,■,■), но 1 >/;
-размещение модулей самых длинных подпоследовательностей на слишком высоком уровне, т. е.уг(г)ф1.
Если в формировании самых длинных последовательностей участвует / модулей, а в формировании подпоследовательностей пустых модулей участвует т модулей, количество размещений оставшихся модулей
_ (к — 1 — т)\ к 1 т (к-1-т -п^|
Таким образом, мы получили метод решения, который позволяет значительно уменьшить множество рассматриваемых вариантов учебных планов и выбрать оптимальный вариант согласно критерию постепенного накопления знаний.
Литература
1. Годовщина, М.В. Информационные технологии проектирования РЭС. Математическое обеспечение САПР для решения задач конструктивного проектирования РЭС: учеб. пособие / М.В. Годовщина, Т.А. Данилова. - М.: Изд-во МГОУ, 2008. - 156 с.
2. Чмыхова, Е.В. Методологические проблемы использования результатов тестирования знаний студентов /Е.В. Чмыхова, А. Т. Терехин//Инновации в образовании. - 2008. - № 6. - С. 36-46.
Поступила в редакцию 17 февраля 2011 г.