Рисунок 3 . Нераспределенные ученики по курсу “Математика 5 класс”
При таком распределении при формировании только одной группы, например в образовательном центре под номером 7, будет набрана полная группа путем переброски людей из соседних. И это будет оптимальный шаг, если пытаться формировать только 1 группу. Но после этого шага останутся клиенты, которых мы уже не сможем скомпоновать в одну группу, так как они будут находиться слишком далеко друг от друга. Оптимальным же шагом при этой ситуации будет одновременное создание двух групп (в 5 и 11 образовательных центрах). И это, действительно, принесет больше прибыли, т.к. почти все нераспределенные клиенты запишутся на курсы.
Для каждого курса алгоритм рассматривает возможные распределения учеников по различным ОЦ. После набора очередной группы, нераспределенных учеников становится меньше. Критерий завершения алгоритма поиска нового распределения заключается в следующем: если больше ни одна группа не может быть набрана по данному курсу, идет переход к следующему курсу. Если ни одна группа не может быть набрана ни по одному из курсов, алгоритм завершает работу.
Шаг 6. После окончания работы алгоритма поиска наиболее приемлемого распределения, новое распределение и значение функции прибыли запоминаются в качестве текущих значений.
Шаг 7. Производится отображение всех результатов на карте с учетом всех поставленных ограничений.
2.2 Расчет функции прогнозируемой прибыли
· Прогнозируемая прибыль, которая будет получена со всех образовательных центров по 1 предмету (курсу обучения).
Формула 13
где H - множество сформированных групп во всех ОЦ по данному курсу
– зарплата преподавателя в группе с индексом
по jму предмету.
– стоимость обучения на jом курсе.
N – число образовательных центров.
S – множество детей, распределенных по группам.
Pijk – вероятность обучения k го клиента на j ом курсе в i ом ОЦ
· Прогнозируемая прибыль, которая будет получена со всех образовательных центров со всех курсов
(14)
где M – количество курсов обучения
2.3 Предлагаемый алгоритм работы программы
Шаг 1. Загрузка информации о клиентах, курсах и образовательных центрах в приложение из базы данных “Intellect”.
Шаг 2. Формирование начального распределения учащихся по ОЦ. Для каждого клиента формируется список центров, в которых он может обучаться. Расчет расстояний от каждого клиента до этих ОЦ. Расчет весов с использованием линейной интерполяции для каждой пары клиент-ОЦ (вес – это вероятность того, что клиент запишется на курсы в данный ОЦ) с учетом статистических данных за предыдущий год.
Шаг 3. Формирование групп для текущего распределения (Описано в пункте 2.3.1).
Шаг 4. Нахождение значения функции прогнозируемой прибыли F по формуле
(14) для данного распределения D.
Шаг 5. Поиск нового распределения D1 (алгоритм представлен в пункте 2.3.2), для которого ищется значение функции прибыли F1. Если такое распределение было найдено, запоминаем его в качестве исходного распределения. Запоминаем значение функции прибыли F=F1. Повторяем шаг 5. Иначе, переход к шагу 6.
Шаг 6. Сохранение значений полученного распределения и функции прогнозируемой прибыли в качестве текущих.
Шаг 7. Отображение полученного распределения, статистических данных, полученного значения функции прибыли.
Укрупненная блок-схема алгоритма представлена на рисунке Рисунок 4.