Разработка математической модели задачи по формированию и реорганизации учебных групп
Анализ математических алгоритмов решения задачи, постановка задач по критериям. Выбор программной платформы для создания системы и описание 1С:Предприятие 8. Функционал создания индивидуальных учебных планов, формирования и реорганизации учебных групп.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.10.2016 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
4
Размещено на http://www.allbest.ru/
Оглавление
Введение
1. Анализ существующих программных решений
2. Обзор источников литературы
3. Анализ математических алгоритмов решения задачи формирования и реорганизации учебных групп
4. Разработка математической модели задачи
4.1 Введение в тему постановки задач по критериям
4.2 Задача 1. Распределение студентов по группам в зависимости от количества баллов ЕГЭ
4.3 Задача 2. Распределение студентов по группам в зависимости от полового признака
4.4 Задача 3. Распределение студентов по группам в зависимости от изучаемого иностранного языка
4.5 Задача 4. Распределение студентов по группам по критериям «тезки» и «однофамильцы»
4.6 Задача 5. Распределение студентов по группам по критерию «желание стать старостой»
4.7 Задача 6. Распределение студентов по группам по критерию «места, финансируемые государством и места оплачиваемые студентами»
4.8 Задача 7. Распределение студентов по группам в зависимости от желания быть с определенными студентами в одной группе
4.9 Заключение по задачам
5. Выбор программной платформы для создания системы
6. Описание платформы 1С:Предприятие 8
7. Разработка системы автоматизации
8. Тестирование работы системы автоматизации
8.1 Функционал создания индивидуальных учебных планов
8.2 Функционал формирования и реорганизации учебных групп
Заключение
Список использованных источников
Приложения
Введение
Формирование учебных групп и их реорганизация в процессе учебы являются важными аспектами в жизни университета, студентов и учебной части. С вопросом определения состава учебных групп напрямую работают администрация учебного офиса и руководители образовательных программ, а с уже сформированными группами - профессорско-преподавательский состав.
В названии темы работы прослеживаются как минимум две ключевые подзадачи: формирование и реорганизация учебных групп. Они близки по своей сути, но эти задачи возникают вследствие разных причин и на различных этапах обучения. Так для первой подзадачи причинами служат:
- зачисление нового потока абитуриентов в ВУЗы на основе результатов вступительных испытаний, конкурса, договора или по итогам олимпиады;
- повторное зачисление студентов, переведенных на обучение по индивидуальному учебному плану (ИУП) или продолжающих учебу после окончания академического отпуска.
Для второй подзадачи причинами могут служить:
- вступление в силу нового положения, которое устанавливает минимальный или максимальный размер группы;
- разделение группы на рабочие команды для создания подгрупп, сформированных для совместного решения задач, поставленных в ходе обучения;
- сокращение количества студентов, вследствие отчисления или перевода на другие направления подготовки;
- переформирование групп при выборе студентами специализации в рамках одного направления.
Зачастую поставленная задача решается строго консервативными способами: ответственные лица самостоятельно анализируют и составляют, либо исправляют списки студентов вручную. Традиционными критериями распределения студентов по группам являются:
- количество баллов, полученное по результатам ЕГЭ;
- уровень владения различными иностранными языками;
- половой признак;
- географическая принадлежность к определенному месту на макроуровне и микроуровне (приезжий, либо местный житель, нуждается ли в общежитии и законченное учебное заведение соответственно).
Также, к этим критериям можно добавить еще один немаловажный - это однофамильцы и тезки. Учащиеся в группе, должны иметь различные фамилии (в идеале, отличающиеся по первым буквам в алфавите), так как в противном случае в ходе учебного процесса у преподавателей могут возникнуть трудности.
В разных учебных заведениях опросная анкета абитуриента, поступающего в ВУЗ, может выглядеть по-разному. В НИУ ВШЭ в эту анкету входят некоторые дополнительные поля, информацию из которых в дальнейшем можно использовать для оптимального формирования состава учебных групп. К этим полям относятся:
- необходимость предоставления места для проживания в общежитии;
- желание стать старостой;
- изученные языки программирования;
- иностранные языки, которыми владеет (или не владеет) студент;
- и т.д.
Кроме этого, если ВУЗ имеет как бюджетные места, финансируемые за счет государства, так и места, оплачиваемые самими студентами (т.е. форма обучения с полной компенсацией затрат на него), то появляется еще один критерий формирования учебных групп: бюджетная или коммерческая форма обучения.
Исходя из всего этого можно с уверенностью сказать, что ручное выполнение данной работы с большим объемом информации по студентам каждой образовательной программы (если рассматривать вариант, когда администрация одной образовательной программы отвечает только за составление своего списка групп) сложно и требует много времени. Поэтому требуется автоматизация данного процесса, которая позволит получить положительный эффект в следующих аспектах:
- сокращение трудозатрат сотрудников;
- исключение случайный ошибок из-за невнимательности, перенапряжения и других человеческих факторов;
- ведение единой базы для дальнейшей работы со студентами по всем направлениям;
- удовлетворение потребностей студентов;
- зачисление выбранных студентов в группы;
- переформирование (или реорганизация) учебных групп по основополагающим статистическим данным о групповой работе, работе в командах и по принципу равномерного распределения.
Предполагается, что для формирования и реорганизации учебных групп сотруднику, ответственному за данную задачу потребуется лишь импорт в систему необходимых данных о студентах (в определенном формате) и выбор одного или несколько основополагающих параметров: максимального (либо минимального) количества студентов в группах, а также одного или нескольких из задействованных критериев и их рангов.
1. Анализ существующих программных решений
Первым шагом к решению задачи, поставленной при выполнении ВКР являлся поиск и анализ существующих решений по теме: автоматизация процесса формирования и реорганизации учебных групп на основе многокритериального анализа.
Для отдельной задачи (формирование и реорганизация учебных групп), были найдены некоторые работы различных исследователей. Так, например, в статье «Формирование учебных групп в университете с помощью анализа социальных сетей» [1], написанной преподавателем и аспирантом НИУ ВШЭ, данная задача рассматривается с психологической точки зрения. Авторы изучили взаимодействие студентов вне университета: в социальных сетях - и, проведя некий анализ, получили данные об общении тех или иных студентов. В статье описан случай, когда университетом были изменены регламентные требования по составу студентов в группах: разрешенное количество студентов в одной группе уменьшилось. Таким образом, появилась потребность в переформировании некоторых групп. Был проведен кластерный анализ имеющихся групп как в рамках университета, так и по данным из социальных сетей. После осуществления всех аналитических процессов и окончательного формирования новых групп, авторами статьи были собраны данные об успеваемости студентов до процедуры переформирования групп и после. Вследствие завершения реорганизации групп на основе собранных данных из социальных сетей успеваемость студентов повысилась, о чем свидетельствовали финальные собранные данные. Кроме этого, сами студенты выражали благодарность за именно такое распределение, а не какое-либо другое.
Но как бы ни был полезен и важен метод составления групп для студентов, описанный в предыдущей статье, длительность его применения может быть очень велика. Ручная работа по анализу, сравнению, составлению статистики и ответы на прочие вопросы зачастую требуют незамедлительного исполнения. При этом возникает необходимость в автоматизации решения задачи формирования учебных групп.
Если попытаться осуществить поиск имеющихся решений для рассматриваемых процессов автоматизации, то здесь количество полученных результатов совсем мало. Был найден всего лишь один алгоритм формирования групп студентов в ВУЗе написанный на языке программирования C# [2]. Этот алгоритм содержит в себе множество серьезных недостатков, а именно:
- алгоритм решает узкий круг задач, он может не подойти для выполнения первоначального формирования учебных групп или для их реорганизации;
- он не выполняет сравнение по имеющимся данным о студентах: критериям и рангам;
- программа содержит ошибки в коде и на данный момент требует трассировки, поиска имеющихся ошибок и решения проблем.
Также существуют более мощные и глобальные системы автоматизации, которые охватывают различные аспекты работы высших учебных заведений. Например, решение от компании «Первый БИТ» для ВУЗов и колледжей [3]. Это решение имеет огромный и самый важный плюс: огромный функционал системы автоматизации, охватывающий весь процесс работы университета. Но и у нее можно найти недостатки: из-за большого количества решаемых задач, стоимость решения довольно высока. Кроме того, если опираться на основную задачу по практике и ВКР: не решен вопрос с автоматизацией процесса формирования и реорганизации учебных групп на основе анализа по критериям. Эта задача работает в системе элементарным образом: для формирования и занесения списков групп, пользователь просто может сделать это вручную, выбрав студента и отнеся его к определенной группе. Самого автоматического формирования и, тем более, сравнения студентов по различным критериям, в таком случае не происходит.
На основе проведения поиска и анализа существующих решений, были сделаны выводы о том, что рассматриваемая мной в рамках ВКР задача является на данный момент актуальной и не реализованной в том формате, который был бы удобен сотрудникам учебного офиса.
2. Обзор источников литературы
Далее необходимо было провести более углубленный анализ источников и рассмотреть выбранную тему детально, исследовав различную литературу. Для этого были взяты публикации различных ученых как иностранных, так и из России.
Джордж Хоманс в своей теории обмена предположил, что, в соответствии со своими психологическими особенностями, люди могут сплачиваться для образования и поддержания устойчивых социальных структур. Внутри данных структур между людьми образуются деловые, а порой и дружеские связи, которые представляют собой определенные отношения доверия. «Если собрать вместе группу людей и заставить их взаимодействовать, например, заниматься одной и тои? же работой в одном месте или жить в одной и тои? же деревне или на одной улице, то она станет согласованной группой. Они разовьют групповую культуру, которой? не было до этого, и ее стандарты поведения закрепятся во взаимодействии людей» [4].
Следовательно, важным критерием при формировании групп является объединение в одну группу тех людей, которые лучше знают друг друга, давно контактируют и успешно взаимодействуют.
Особенностью составления описываемой системы автоматизации процесса формирования и реорганизации учебных групп является то, что список критериев может быть вариативным и адаптивным. То есть сотрудник, отвечающий за данную процедуру должен будет выбрать необходимое ему количество используемых критериев, отсортировать или ранжировать их таким образом, как ему необходимо. Также возможен другой вариант: положиться на заложенные в систему статистические данные о том, какой набор критериев является наиболее оптимальным.
Ниже в разделе «Постановка задач по критериям» будет описан принцип работы и математическая модель для каждого из них.
Основываясь на многочисленных статических данных, полученных учеными (Baldwin, Bedell и Johnson, 1997 [5], Fletcher и Tienda, 2009 [6], Коллинз, 2009 [4], Иванюшина и Александров, 2013 [7], Семенов, Веретенник и Пронин, 2014 [1]), можно сделать вывод, что для объединения групп людей, направленных на какие-то цели, нужно полагаться не только на типичные технические детали (численность, средний возраст и гендерное разнообразие), но и на их социальные требования (нужно основываться на поставленных целях общих интересах и т.д.).
Книга, написанная Р. Коллинзом [4], определяет социологический фундамент задачи, поставленной в ВКР. Она описывает четыре социологические традиции: традиция конфликта, рациональная/утилитарная традиция, традиция Дюркгейма и микроинтеракционистская традиция. Из этого источника можно почерпнуть много интересного и важного для рассмотрения вопроса важности взаимодействия людей друг с другом.
«The present study was an empirical analysis designed to measure the social networks of master of business administration (M.B.A.) students and the networks' relationships to attitudinal and performance outcomes» [5]. Таким образом, Baldwin T.T., Bedell M.D. и Johnson J.L. в своей статье описывают исследования на тему того, как на успеваемость и оценки по учебе 250 студентов одного университета влияют их взаимоотношения друг с другом и внутри каждого из коллективов. По 62 группам анализ выявил прямую зависимость того, что у тех студентов, у которых взаимоотношения друг с другом лучше - у тех и успеваемость выше.
Fletcher J.M. и Tienda M. в своей статье приводят аналитические данные университета штата Техас в Остине, где были исследованы успеваемость и социальные связи учащихся колледжей. «In The Adolescent Society (1961), James Coleman revealed the importance of schools as contexts for socialization and friendship formation, and his insights spawned research about the myriad ways peer social relations shape adolescent socialization. Both experimental and non-experimental empirical studies conclude that peers are powerful models for socialization of school engagement and academic achievement» [6]. В данном фрагменте авторы статьи подкрепляют свои доводы о внутригрупповых связях студентов и обучающихся высказываниями известных людей, деятелей науки и мыслителей. Кроме этого, они вновь доказывают тот факт, что даже в случае переезда из одного города обучения в другой, одна и та же компания, которая взаимодействует между собой наилучшим образом, продолжает работать в команде более успешно, чем остальные. В среднем, за период с 1993 по 2003 год наблюдалось повышение оценки на 0,1 пункта. Достоверность и важность своего исследования Fletchet и Tienda аргументируют выбором рассматриваемого университета, который был выбран не случайно: «Many research universities draw their student body from the entire nation, but public Texas universities enroll over 80 percent of their incoming class from instate high schools. Therefore, we focus on students who graduated from Texas high schools to construct school-specific measures of co-matriculating classmates, including same race classmates» [6]. В данной статье рассмотрены не только типичные для любого ВУЗа группы людей, но и группы с разными расами, что оказывается тоже может влиять на отношения студентов.
Тему расового различия и влияния его на связи в группах описана в статье Иванюшина В.А. и Александрова Д.А.: «Одна из гипотез, выдвинутых для объяснения расовых различий в образовательных достижениях, состоит в том, что те афроамериканские школьники, кто прилагает усилия и старается получать хорошие оценки, подвергаются санкциям со стороны своих товарищей, которые обвиняют их в том, что они «ведут себя как белые» (acting white) и тем самым предают свою расу» [7]. Авторы обращают внимание в своей статье на проблему антишкольной культуры, через которую и пытаются проникнуть в суть социального поведения людей школьного и студенческого возраста. Эта проблема заключается в том, что ученики отвергают институт образования в целом по разным причинам: как по этическим и этническим, как и просто отдавшись своей радикально оппозиционной позиции. Авторы статьи берутся за изучение вопроса дифференциации - поляризации внутри групп обучающихся, что неразрывно связано с успеваемостью самих студентов и пересекается с рассматриваемыми задачами как практики и ВКР в целом, так и предыдущими проанализированными статьями. «Теория дифференциации-поляризации концентрирует внимание на различиях между треками внутри школы или между типами школ. При этом неявно предполагается, что все дети, попавшие в определенный трек, имеют общую групповую динамику, характерную для данной социальной среды, а отдельные личности, демонстрирующие резко отличающиеся установки, оказываются в изоляции или подвергаются отрицательным санкциям со стороны членов своей группы» [7].
Несомненно, психологические и социальные аспекты изучаемого вопросы занимают огромную роль во всей рассматриваемой задаче формирования и реорганизации учебных групп. Но для решения проблемы автоматизации данного процесса необходимо осознание его работы на математическом уровне и уровне алгоритмизации. Обращаясь к математическим исследованиям таких понятий как кластеризация и модульность в области связей внутри групп, обязательно стоит упомянуть Ulrik Brandes и его статью «On modularity clustering» [8]. Данная работа изобилует различными математическими формулами, вычислениями, теоремами, доказательствами теорем и следствиями этих теорем. Но все это приводит к довольно логичному заключению и определению модульности, как термина математического. Авторы статьи рассматривают возможные пути достижения высокой модульности сформированных кластеров, говоря иными словами: как можно получить наиболее результативную группу людей из имеющихся наборов или составов. Алгоритм «Maximizing Modularity via Integer Linear Programming» [8], описанный в публикации U. Brandes, теоретически может служить основой для автоматизации задачи формирования и реорганизации групп людей по различным критериям, не ограничиваясь задачей, поставленной в рамках данной работы. Но основная проблема заключается в том, что с эмпирической стороны данный подход не поддается легкому обоснованию. Связано это с тем, что все факты и выводы авторов направлены на поиск и теоритические методы доказательства, не будучи привязаны к реальным проблемам. Элементы статьи, описывающие «The greedy algorithm» [8] и метод «Integer Linear Programming» [8] могут быть использованы для составления алгоритма работы системы автоматизации.
Таким образом, рассмотрев источники литературы по вопросу формирования и реорганизации учебных групп, можно сделать вывод о том, что этот вопрос довольно часто рассматривается и исследуется различными авторами. Конечно, контекст источников всегда довольно различен: часть из них освещает вопросы, связанные с психологией, социальными взаимодействиями, часть из них, напротив, углубляется в изучение математических алгоритмов и способов решения задачи, и лишь малая часть практически использует результаты своих исследований при решении технических задач.
3. Анализ математических алгоритмов решения задачи формирования и реорганизации учебных групп
Выполнив задачу по поиску необходимых источников литературы по задаче автоматизации формирования и реорганизации учебных групп на основе многокритериального анализа, и составив краткий практический анализ и обзор, мне предстояло перейти к более техническим вопросам: разработке алгоритма формирования групп. Текущей задачей на тот момент было: исследовать и сравнить существующие алгоритмы многокритериального анализа.
Для поиска информации по математическим алгоритмам многокритериального анализа существуют различные источники, но для анализа было выбрано лишь несколько из них [9-10].
В ходе работы по поиску были найдены методы решения многокритериальных задач, которые можно разделить на группы так, как показано на рис. 1.
Рис. 1. Разновидности методов решения многокритериальных задач
Рассмотрим некоторые из методов, представленных на рис. 1.
1. Методы свертки - разновидность методов, основанных на свертывании критериев. Суть таких методов состоит в том, что вместо целого числа (K) частных критериев рассматривается один скалярный, полученный путем комбинации частных критериев. Различают мультипликативный и аддитивный методы свертывания критериев.
1.1. Аддитивный метод: возьмем за основу тот факт, что все используемые критерии соизмеримы, например, они выражаются в числовом эквиваленте и определен вектор весовых коэффициентов критериев , характеризующих ранжирование и важность каждого из имеющихся критериев. Это значит, что если вес критерия больше веса критерия . Одновременно с этим должно выполняться следующее условие (1):
(1)
Для аддитивного метода строится новая целевая функция (2):
(2)
После этого решается задача оптимизации скалярного критерия, которая описывается при помощи формулы (3):
(3)
1.2. Мультипликативный метод: для данного метода подход к решению аналогичен, только целевая функция в данном случае примет вид (4):
(4)
Основной и самый существенный недостаток методов свертывания критериев заключается в том, что подбор коэффициентов является очень субъективным.
2. Метод главного критерия: суть метода состоит в выборе основного (главного) среди критериев. Предположим, что таким критерием будет являться . Все остальные целевые функции переходят в разряд ограничений по следующему правилу. Лицо, принимающее решение накладывает определенные ограничения на каждый критерий. Вводится система контрольных показателей , относительно которых по всем критериям должны быть достигнуты значения, не меньше заданных значений по условию (5):
(5)
После выбора основного критерия и установления нижних границ для остальных критериев решается задача однокритериальной оптимизации (6):
(6)
При условиях (7):
(7)
3. Метод последовательных уступок: в этом методе нумерация критериев происходит в порядке убывания важности. Пусть критерии записаны в порядке уменьшения их важности. Тогда должны при решении задачи должны выполняться следующие процессы:
- на первом шаге происходит решение однокритериальной задачи по 1-му критерию (8):
(8)
- на втором шаге назначается разумная с инженерной точки зрения уступка , составляется и решается новая задача оптимизации по 2-му критерию (9):
(9)
- на третьем шаге снова назначается уступка, но теперь для 2-го критерия , составляется и решается задача оптимизации по 3-му критерию (10):
(10)
- процесс назначения уступок по каждому критерию и решению однокритериальных задач продолжается, пока не будет достигнут последний K-й шаг.
- на K-м шаге назначается уступка K-1 - го критерия , составляется и решается задача оптимизации по последнему K-му критерию (11):
(11)
Общим недостатком методов, использующих ограничения на критерии является то, что выбор контрольных показателей субъективен, как и выбор уступок. При использовании метода последовательных уступок следует помнить, что уступки могут быть несоизмеримы между собой, поэтому надо предварительно организовать нормализацию критериев. Кроме того, в общем случае уже со 2-го шага решение может оказаться не оптимальным по Парето.
4. Метод целевого программирования: суть метода заключается в том, что лицо, принимающее решения задает определенные цели для каждого критерия. Задача многокритериальной оптимизации в таком случае преобразуется в задачу минимизации суммы отклонений с некоторым показателем p (12):
(12)
Где - некоторые весовые коэффициенты, характеризующие важность того или иного критерия.
5. Метод гарантированного результата: метод дает наиболее приближенный к наилучшему значению результат даже для самого наименьшего из критериев: компромиссное решение находится путем решения следующей задачи оптимизации (13):
(13)
Выражение (13) есть максиминная задача. Учитывая нормализацию критериев, методы гарантированного результата образуют наиболее перспективное направление в решении задач многокритериального анализа.
Решение многокритериальной задачи методом гарантированного результата обычно включает следующие действия.
- Разработка математической модели системы на основе заданных целей и ограничений; при этом часто используется мнение экспертов.
- Предварительный анализ системы отдельно по каждому критерию; используются методы и программные средства оптимизации с одним критерием.
- Нормализация критериев.
- Решение задачи многокритериальной оптимизации при равнозначных критериях.
- Задание приоритетов критериев и решение задачи многокритериальной оптимизации с назначенными приоритетами.
За изучением существующих математических алгоритмов, следовала разработка оригинального математического алгоритма для решения многокритериальной задачи в рамках вопроса формирования и реорганизации учебных групп. Этот пункт и его итоги будут описаны наряду с другими результатами в разделе «Разработка математической модели задачи».
4. Разработка математической модели задачи
4.1 Введение в тему постановки задач по критериям
Основываясь на известном количестве критериев, по которым будет происходить распределение и переформирование групп студентов, выполним анализ по отдельным задачам. Каждый из критериев рассмотрим в виде отдельной задачи, которая имеет исходные данные, ограничения и решение.
Решение поставленных задач может происходить по последовательно заданному алгоритму действий и для различных случаев по-разному. Из опыта ученых в области изучения методов многокритериального анализа (таких как Fletcher и Tienda, 2009 [6], Fischer, 2009 [11], Huang, Keisler и Linkov, 2011 [12], Wang, 2011 [13]) следует, что необходимо подкрепить приведенные решения примерами для более ясного представления.
Рассмотренные ниже решения задач были получены при последовательном разборе каждой из подзадач. Отдельные выдержки по решению нескольких подзадач были опубликованы в материалах научно-практического семинара «Новые информационные технологии в автоматизированных системах» [14], а также межвузовской научно-технической конференции имени Е.В. Арменского [15].
4.2 Задача 1. Распределение студентов по группам в зависимости от количества баллов ЕГЭ
Исходные данные и ограничения
- n - групп;
- в группах:
- 1 - a1 студентов;
- 2 - a2 студентов;
- …
- n - an студентов;
- (a1+ a2+…+an) = m - всего студентов;
- количество баллов ЕГЭ для каждого из m студентов равно соответственно: x1, x2, …, xm.
Решение
1. Найдем количество возможных комбинаций зачисления студентов в группы:
1.1. Количество значений найдем по формуле (14), где n - количество студентов, которых нужно зачислить; k - количество мест для зачисления.
(14)
1.2. Количество в пределах одной задачи равно количеству групп.
1.3. Количество возможных комбинаций вычисляется по формуле (15), где - количество студентов в i-группе; - количество групп.
(15)
2. Запустим цикл по перебору различных вариантов распределения студентов в каждую группу.
2.1. Определив состав группы, вычислим средний балл ЕГЭ в ней:
Пример: 1-я группа: ; 2-я группа: ; …;
n-я группа: - первый вариант распределения по группам (по порядку).
2.2. Определив средний балл ЕГЭ в группах, найдем средний балл ЕГЭ среди всех групп.
Пример: Средний балл ЕГЭ среди всех групп вычисляется по формуле (16).
(16)
2.3. Определив средний балл ЕГЭ среди всех групп, найдем отклонение от среднего значения для каждой группы.
Пример: 1-я группа: ; 2-я группа: ; …;
n-я группа: .
2.4. Вычислим среднее отклонение.
Пример: .
2.5. Если текущее среднее отклонение меньше последнего сохраненного, то запомним его текущее значение и запомним составы групп при текущем отклонении. Иначе продолжаем цикл. (Пример: )
3. Выводим наилучшую комбинацию распределения студентов по группам и наилучшее среднее отклонение (для статистики).
Пример: ; 1-я группа: ; 2-я группа: ; …; n-я группа: .
4.3 Задача 2. Распределение студентов по группам в зависимости от полового признака
Исходные данные и ограничения
Предполагаем, что критерий полового признака стоит на втором месте (т.е. имеет ранг 2). Тогда, распределив студентов по группам наилучшим образом, нужно будет учесть и этот критерий.
Решение
Проверка критерия должна сводиться к вычислению соотношений мужского пола к женскому в каждой группе:
1.
2.
…
n.
В итоге, по отношению ко всем соотношениям, должно быть соблюдено выражение (17).
(17)
4.4 Задача 3. Распределение студентов по группам в зависимости от изучаемого иностранного языка
Исходные данные и ограничения
Каждый студент изучал какой-то иностранный язык, либо его не изучал.
Иностранные языки:
- английский;
- немецкий;
- французский;
- другие иностранные языки;
- не изучал ни один иностранный язык.
В НИУ ВШЭ все студенты обязаны изучать хотя бы один иностранный язык, при этом приоритетным является изучение английского языка.
Способы распределения студентов по группам:
- один язык - в одну группу;
- распределение по самооценке уровня языка - равномерно распределить «сильных» и «слабых» (перемешать);
- если студент изучал несколько языков, то приоритет - английский язык;
- из студентов, не изучавших английский язык, формируется нулевая группа.
Решение
1. Распределим студентов по языковым группам.
1.1. Группа, изучающая английский язык: , где - ранг студента по уровню языка.
1.2. Группа, изучающая немецкий язык: , где - ранг студента по уровню языка.
1.3. …
n. Группа, не изучающая иностранные языки: , где - ранг студента по уровню языка.
2. Зададим ранжирование для студентов, изучающих английский язык.
2.1. Например, примем, что ранг - это число от 0 до 3.
2.2. Тогда у студентов с углубленным изучением английского, окончивших специальную школу, победителей олимпиад и т.д. - ранг равен 3.
2.3. У студентов, у которых английский язык стоит как первый язык, но дополнительной информации об уровне нет - ранг равен 2.
2.4. У студентов, у которых английский язык изучался как второй язык, но дополнительной информации об уровне владения языком нет - ранг равен 1.
2.5. Студенты, для которых нет информации об изучении английского языка - ранг равен 0.
3. Можно убрать из цепочки этап 1 и распределять студентов, начиная со второго этапа.
3.1. Ранг 0:
3.2. Ранг 1:
3.3. Ранг 2:
3.4. Ранг 3:
4. Распределим студентов разного ранга по n группам.
4.1. Начинаем с ранга 0, берем количество студентов, нужное для заполнения группы. Если количества студентов не хватает, то по исчерпании их количества зачисляем студентов с рангом на единицу выше.
4.2. Добавляем данные о студентах, имеющих ранг 1.
4.3. Добавляем данные о студентах, имеющих ранг 2.
4.4. Добавляем данные о студентах, имеющих ранг 3.
4.5 Задача 4. Распределение студентов по группам по критериям «тезки» и «однофамильцы»
Исходные данные и ограничения
Допустим, в списке есть студенты с одинаковыми фамилиями, либо одновременно именами и фамилиями, либо имеется полное совпадение ФИО у двух или более студентов. Их нужно распределить по разным группам, чтобы исключить варианты повторов одной фамилии в одной группе.
- n - групп.
- surname1 - количество студентов с одинаковой фамилией «1».
- surname2 - количество студентов с одинаковой фамилией «2».
- …
- surnamen - количество студентов с одинаковой фамилией «n».
- sur1+sur2+…+surn = surname1 , где suri - количество студентов с одинаковой фамилией в одной группе.
- Условие 1: .
- Условие 2: .
Решение
Существует два случая:
Случай 1. Если группа уже сформирована, то нужно проверить наличие одинаковых фамилий, либо имен и фамилий, либо ФИО.
1. Подсчитываем количество студентов с одинаковыми фамилиями =
2. Условия для дальнейшего решения:
2.1. Если , то конец алгоритма, ничего не надо выполнять.
2.2. Если , то если , то есть возможность распределить их по разным группам - переходим далее к пункту 3.1.
Иначе если , то в каких-то группах будет несколько студентов с совпадением фамилии, либо фамилии и имени в одной группе - переходим к пункту 3.2.
3. Последние действия для распределения:
3.1. Взяв одного из студентов с фамилией, для которой выполняется , переносим его в другую группу до тех пор, пока не будут равны 1 или 0, где sur1, sur2 , …, surn - количества студентов с проверяемой фамилией.
3.2. Взяв всех студентов начинаем выполнять следующие действия.
- Зачисляем последовательно во все группы по одному студенту из этой большой группы однофамильцев.
- На каждом последующем шаге зачисляем по одному студенту в каждую группу до тех пор, пока список (массив) не закончится. (Параллельно с этим можно проверять остальные критерии: ЕГЭ и т.д.)
Случай 2. Если группа не сформирована, то просто выполняем действие 3.2 для и действие 3.1 для .
4.6 Задача 5. Распределение студентов по группам по критерию «желание стать старостой»
Исходные данные и ограничения
В соответствие с желанием студента стать старостой, его нужно направить в ту группу, в которой аналогичного студента не будет. Таким образом, задача очень похожа на задачу 4. Требуется распределить студентов с наличием данного желания в разные группы. В случае, если количество старост недостаточно, выбираем старосту в группе по дополнительным критериям.
Решение
Решение данной задачи происходит аналогично решению задачи 4.
4.7 Задача 6. Распределение студентов по группам по критерию «места, финансируемые государством и места оплачиваемые студентами»
Исходные данные и ограничения
Из названия критерия становится ясно, что распределение студентов должно происходить с учетом количества платных и бюджетных мест.
Платных студентов, желательно свести в одни и те же группы с платными, а бюджетников в группы к бюджетникам, во избежание возможных конфликтов. Также возможны альтернативные варианты: когда платных студентов мало, то их необходимо равномерно распределить по разным группа; распределение бюджетных и не бюджетных студентов равномерно по группам. Программа позволяет выбрать один из этих вариантов.
Существует две группы:
- Budget: budget1, budget2, …, budgeta.
- Paid: paid1, paid2, …, paidb.
Решение
Случай 1. Начальное распределение студентов без дополнительных критериев.
При известном количестве групп студентов нужно распределить таким образом, чтобы бюджетники и платные студенты оказались в разных группах.
Если n - групп, то начнем заполнять группы, начиная с первой, теми студентами, которых больше по количеству.
1. Если a>b, то сначала зачисляем студентов из группы Budget, начиная с первой группы.
2. Если b>a, то начинаем зачисление со студентов из группы Paid.
3. Если изначально было выполнено условие из пункта 1, то, как только количество студентов группы Budget станет равным 0, то начинаем зачислять студентов из группы Paid. Выполняем данный алгоритм начиная с того места заполняемой группы, на котором закончили в последний момент;
4. Аналогично пункту 3, выполняем пункт 2: как только количество студентов из группы Paid станет равным 0, то начинаем зачислять студентов из группы Budget. Выполняем данный алгоритм начиная с того места заполняемой группы, на котором закончили в последний момент.
Случай 2. Распределение студентов в случае уже сформированных ранее групп, и возможные их варианты переформирования для выполнения текущего критерия.
- В данном случае, требуется проверить соотношение студентов по каждой сформированной группе:
1.
2.
…
n.
- Для данного соотношения требуется выполнения условий:
4.8 Задача 7. Распределение студентов по группам в зависимости от желания быть с определенными студентами в одной группе
Исходные данные и ограничения
Студенты в анкете должны в поле для задания соучеников, с которыми хотелось бы учиться в одной группе, выбрать студентов с теми именами, фамилиями и отчествами, которые приведены в списке.
Таким образом, необходимо сопоставить одних студентов с другими, и тех, записи о которых не имеют данных пометок, оставить на своих местах.
Решение
Случай 1. Необходимо переместить студентов уже существующих групп таким образом, чтобы это соответствовало их пожеланиям. Но при этом, постараться сохранить прежние коэффициенты распределения на существующем уровне.
Пример.
- ;
- из группы 1; из группы 2 и из группы 3.
- Таким образом, мы можем рассмотреть следующие два варианта перестановок:
- Группа 1: , Группа 2: , Группа 3: .
- Группа 1: , Группа 2: , Группа 3: .
Случай 2. Необходимо составить новые группы, с учетом пожеланий студентов. Тех студентов, у которых нет никаких пожеланий, будем последовательно распределять по оставшимся группам.
Пример.
- ;
- Таким образом, мы можем рассмотреть следующие два варианта:
- Группа 1: , Группа 2: , Группа 3: .
- Группа 1: , Группа 2: , Группа 3: .
4.9 Заключение по задачам
Подводя итог рассмотрению критериев для формирования и реструктуризации учебных групп, можно сделать следующие выводы:
- по каждому из семи критериев была составлена и решена соответствующая задача;
- решение задачи 5 и задачи 4 является схожим, поэтому его дублирование нецелесообразно;
- задача 4, задача 6 и задача 7 имеют несколько вариантов решений, так как возможны различные пути для их решения: окончательный выбор одного из вариантов остается за пользователем системы автоматизации;
- в ходе решения задач приведены примеры, из которых можно более ясно представить себе специфику использования и работы того или иного критерия в различных случаях.
5. Выбор программной платформы для создания системы
После разработки специального алгоритма автоматизации действий для составления и переформирования учебных групп, необходимо было решить проблему подбора системы автоматизации, на базе которой будет разработана система для помощи в работе сотрудников учебной части. Для решения это задачи было проведено исследование нескольких различных систем. Рассмотрим их далее.
Реализация системы автоматизации текущей задачи может быть осуществлена в различных средах проектирования и программирования приложений. Для того, чтобы определить наиболее подходящую платформу был выявлен ряд требований, которым она должна соответствовать (сравнение по требованиям представлено в таблице 1):
- использование клиент-серверного взаимодействия для работы от 5 пользователей;
- использование файлового варианта работы для работы до 5 пользователей;
- интеграция с различными СУБД: Microsoft SQL Server, Oracle BD, IBM DB2, PostgreSQL;
- размещение системы на веб-сервере (например, Apache) и работа с системой через интернет-браузер;
- создание мобильного приложения;
- масштабируемость системы;
- модульность системы;
- интеграция и взаимодействие с другими программными продуктами и средствами.
Таблица 1
Сравнение систем автоматизации на соответствие требованиям
Название системы № требования |
1С:Предприятие 8 |
«Мельница данных» |
SAP |
|
1 |
||||
2 |
||||
3 |
||||
4 |
||||
5 |
||||
6 |
||||
7 |
||||
8 |
Рассмотрев таблицу 1, можно сделать выводы о том, что согласно выставленным требованиям к системам автоматизации, наиболее подходящими для дальнейшего исследования являются лишь две из них: 1С:Предприятие 8 и SAP. «Мельница данных» по своей сути представляет некую надстройку для работы с базами данных, обладающую очень скудным интерфейсом и гибкостью настройки функционала. Так как наши задачи не ограничиваются получением информации из базы данных в виде отчетов и, кроме этого, «Мельница данных» соответствует только трем критериям из восьми, для решения поставленных задач эта система не подойдет.
Также оценим преимущества и недостатки систем на основе количественно-суммовых критериев (проанализировать критерии можно, исходя из рис. 2, где расчеты стоимости представлены в рублях).
Рис. 2. Диаграмма сравнения систем автоматизации по стоимостным критериям
1. Стоимость владения - сколько стоит сама система.
Стоимость платформы для работы с 1С:Предпритие 8 была рассчитана по формуле (18), где приняты следующие обозначения: Sв - полная стоимость владения, Sк - стоимость одной клиентской лицензии на платформу 1С:Предприятие 8, Sc - стоимость лицензии на сервер 1С:Предприятие 8.3.
(18)
Информация о стоимости лицензий предоставлена с сайта 1С [16] в виде рекомендованной розничной цены компании на продукты.
2. Стоимость доработки - сколько стоит внедрить систему, а также доработать её под потребности Заказчика.
Стоимость доработок и внедрения системы была рассчитана по формуле (19), где приняты следующие обозначения: Sд - средняя стоимость одного часа работы специалиста, Sф1 - стоимость часа работы специалиста в фирме ПервыйБИТ, Sф2 - стоимость часа работы специалиста в фирме 1С-РАРУС, Sф3 - стоимость часа работы специалиста в фирме 1С:Сервистренд.
(19)
Информация о стоимости часа работ специалистов в фирмах 1С:Франчайзи предоставлена с их сайтов: ПервыйБИТ [17], 1С-РАРУС [18], 1C:Сервистренд [19].
3. Стоимость информационно-технического сопровождения (ИТС) - сколько стоит удаленная консультационная поддержка 24/7.
Стоимость поддержки у всех рассматриваемых фирм 1С:Франчайзи оказалась схожей, поэтому формула для вычисления суммы не потребовалась.
Стоимости платформы, внедрения и ИТС для SAP не даются партнерами конкретными прайс-листами, а высчитываются в каждом случае персонально для каждого проекта. Таким образом, на интернет ресурсах [20], [21] были найдены примерные средние стоимости продуктов SAP.
Анализируя диаграмму, представленную на рис. 2, можно заметить, что система SAP является излишне дорогой для автоматизации задач (владение и ИТС будет стоить около 225000 рублей), в особенности не глобальных. Обычно в России SAP внедряют очень крупные холдинги или предприятия с огромным количеством сотрудников, у которых есть средства на содержание такой системы, так ее покупка, внедрение, сопровождение и поддержка стоят значительно выше, чем аналогичные проекты на 1С:Предприятие 8 (владение платформой и лицензией на сервер 1С, что позволит работать с взаимодействием через серверную базу данных, вкупе с ИТС это обойдется приблизительно в 95000 рублей). Разница в цене между системами составила 130000 рублей, что является значительной суммой для некрупной компании. В дополнении к этому можно сказать, что квалифицированных специалистов, которые могли бы оказать помощь во внедрении и сопровождении системы SAP, в России, единицы (если они и есть, то цены на их работу в разы выше чем у специалистов 1С).
И наконец, немаловажными преимуществами системы 1С:Предприятие 8 являются легкость осуществления доработок, наличие большого количества компетентных специалистов по работе с системой, простота освоения системы в пользовательском режиме.
Рассмотрим немного более подробно системы, выбранные для сравнения с 1С:Предприятие 8.
Компания «Мельница технологий» с платформой «Мельница данных» представляет из себя некую надстройку над СУБД. Платформа помогает отображать и получать данные в удобном для пользователя виде: в форме отчетов и т.д. Необходимые документы может создать как опытный разработчик, так и сам пользователь. Данное программное обеспечение имеет достаточно скудный функционал по сравнению с остальными системами, и обладает довольно слабым интерфейсом. По информации с официального сайта [22], можно судить, что платформа имеет малое количество свойств, которые можно использовать для работы с ней. Рядовой пользователь, скорее всего, не сможет разобраться с устройством данной системы, так как там используется довольно сложные понятия и команды проектирования баз данных. Работа с формами, видимыми пользователю, ведется на языке программирования Visual Basic.
SAP представляет из себя систему автоматизации различных процессов работы компаний. Компания SAP выпускает решения для многих сфера бизнеса, но самым распространенным продуктом является SAP ERP. Если переводить понятие ERP-системы на русский язык, то это система управления предприятием, в которую входит разносторонний функционал, включающий:
- управление закупками;
- управление продажами;
- управление взаимоотношениями с клиентами;
- управление финансами и система ведения казначейства в компании;
- контроль различного вида отчетности компании;
- ведение и сдачу регламентированной бухгалтерской отчетности;
- и др.
SAP - немецкая компания, с программным обеспечением которой работают по всему миру, в том числе и в России. Систему отличает высокая стоимость и большие затраты как на внедрение, так и на ее доработку в различных обстоятельствах. Связано это с тем, что SAP требует очень серьезной и специфичной подготовки для работы с ней не только программистов, но и рядовых пользователей. Из-за сильно завышенной стоимости и высокого курса иностранной валюты, на данный момент проекты по SAP стоят от 1,5-2 млн. рублей. И это лишь на первом этапе, т.к. в дальнейшем могут понадобиться дополнительные доработки. Такие затраты может позволить себе не каждая компания, поэтому пользователями данной системы в России являются крупнейшие компании: «Лукойл», ОАО «РЖД», «Газпром» и другие.
Заостряя свое внимание на том, как же изменилась ситуация на рынке ERP-систем и систем автоматизации ведения бизнеса в России, нужно упомянуть компанию 1С. Продукт 1С:Предприятие на данный момент конкурирует с SAP, так как он является менее затратным и более приспособленным для отечественных пользователей. Из-за действующей программы импортозамещения, например, компания ОАО «РЖД» постепенно начинает переходить на продукты от 1С.
Таким образом, с учетом предыдущих таблиц, графиков и приведенных аргументов было принято решение создать систему автоматизации на базе 1С:Предприятие 8.
6. Описание платформы 1С:Предприятие 8
Многие пользователи в сфере бизнеса, бухгалтерского и торгового учета, производства, управления персоналом, управления складами и т.д. знакомы с системой 1С:Предприятие 8. Сейчас система получает широкое распространение не только в этих сферах деятельности. Автоматизацию под управлением 1С:Предпритие 8 сейчас ведут многие строительные фирмы, автосалоны и автомастерские, рестораны, некоммерческие организации, государственные учреждения (медицинские, военные, образовательные) и многие другие. Но каким образом одна система может решать такой большой круг задач в различных сферах деятельности?
Все дело в определенной структуре системы 1С: Предприятие 8, которая состоит из нескольких частей:
- техническая платформа;
- прикладные решения;
- внедрение.
Разберем последовательно каждую из этих частей. Техническая платформа - это некий фундамент, который включает в себя все средства для создания той конечной системы, которая необходима разработчику. К технической платформе относятся: встроенный язык программирования, создание специальных форм, различных элементов метаданных, система администрирования серверов 1С и т.д. Прикладные решения - это все те решения (иными словами - конфигурации), которые были созданы компанией 1С для автоматизации работы бухгалтерии, торговли, управления производственным предприятием и т.д. (1С:Бухгалтерия предприятия, 1С:Управление торговлей, 1С:ERP и т.д.). Все прикладные решения поддерживаются разработчиками компании 1С, поэтому при приобретении определенного продукта любой пользователь будет иметь возможность его обновления. Внедрения - это потребность клиента, которую реализуют разработчики фирм-партнеров компании 1С, для дополнения или изменения типового функционала прикладных решений.
Исходя из этого, можно сделать вывод, что при создании новой системы, не имеющей аналогов у компании 1С, потребуется использование средств технической платформы 1С:Предприятие 8 и создание новой нетиповой конфигурации под конкретные цели и задачи.
Общие достоинства и преимущества платформы можно расписывать детально и поясняя каждый пункт. Их краткое описание приведено на рис. 3.
Рис. 3. Преимущества платформы 1С:Предприятие 8
Техническая платформа «1С:Предприятие» представляет собой программную оболочку над базой данных (используются базы на основе собственного формата 1CD с версии 8.0 или СУБД Microsoft SQL Server, PostgreSQL, IBM DB2, Oracle). ПО имеет свой собственный язык программирования, обеспечивающий доступ к данным и возможность взаимодействия с другими программами с помощью COM-соединения. Клиентская и серверная части платформы функционируют как на операционной системе Microsoft Windows, так и на Linux. Кроме этого, доступ к платформе возможен из веб-приложения посредством взаимодействия с браузером, установленном на любом устройстве. Либо можно использовать мобильное приложение для Android или iOS.
Последняя версия платформы 1С:Предприятие - это 8.3. Она претерпела незначительные изменения, по сравнению с 8.2. В основном, все доработки были направлены на работу с мобильными устройствами. Специальный интерфейс «Такси», отличается от «Управляемого приложения» наличием широких и больших кнопок, удобных для нажатия на мобильных устройствах.
Отличие последних версий платформы от предыдущих во многом продиктовано не только удобством работы в системе. Так, например, управляемое приложение позволяет пользователю подстроить интерфейс так, как ему будет удобно, добавлять или исключать определенные элементы там, где ему необходимо и многое другое. Но, кроме этого, компания «1С» очень внимательно относится к новым стандартам в области программирования и выстраивания кода в своих решениях. Таким образом, во многих последних обновлениях, именно элементы кода получили большое количество изменений, в связи с новыми стандартами работы приложений.
На платформе 1С:Предприятие разработано множество типовых конфигураций, служащих для автоматизации конкретных отраслей работы предприятия. К примеру: 1С:Бухгалтерия предприятия 8, 1С:Управление торговлей 8, 1С:Зарплата и управление персоналом, 1С:Управление производственным предприятием 8 - это основные конфигурации, на базе которых компаниями 1С:Франчайзи ведется автоматизация клиентов. «1С» регулярно выпускает обновление конфигураций, из-за того, что меняется законодательство нашего, либо других государств, в которых ведется работа, усовершенствуется работа в программе, исходя из обширного обмена опытом пользователей. Компания «1С» занимается обучением работы с этими конфигурациями в области разработки и использования: можно получить сертификаты разного характера и стать сертифицированным специалистом по какому-либо решению.
7. Разработка системы автоматизации
Для выполнения задачи, поставленной в работе, конфигурация не была создана «с нуля». Задача по формированию и реорганизации учебных групп была выполнена путем усовершенствования «системы генерации индивидуальных учебных планов» [23], [24]. Новая система имеет расширенный функционал, включающий в себя решение как ранее реализованных задач автоматизации работы сотрудников учебного офиса, так и новых. За счет этого будет проще работать с данными в пределах одной системы, выполнять необходимые действия и решать поставленные задачи.
Подобные документы
Анализ входной информации необходимой для решения задачи. Разработка исходных данных контрольного примера создания базы данных. Описание технологии и алгоритмов решения задачи и их математических реализаций. Разработка диалогов приложения пользователя.
курсовая работа [1,3 M], добавлен 26.04.2015Анализ разработки информационных систем для деятельности учебных курсов. Поиск и анализ языков программирования для реализации разработки. Разработка модели web-ресурса "Агрегатор учебных курсов". Создания основных функциональных назначений web-ресурса.
отчет по практике [558,9 K], добавлен 25.05.2023Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.
курсовая работа [844,3 K], добавлен 16.06.2011Понятие и свойства алгоритма. Основные типы учебных алгоритмических задач. Обучение программированию в среде Лого. Архитектура, режим работы и система команд исполнителя черепашка. Примеры создания геометрических фигур, организации циклов со счетчиком.
презентация [327,0 K], добавлен 19.10.2014Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.
курсовая работа [638,0 K], добавлен 30.01.2015Анализ автоматизируемых при разработке учебных планов с нормативными документами. Определение целевого сегмента пользователей. Разработка структуры базы данных и отчетных документов. Дизайн интерфейса. Процесс подготовки образовательных программ.
дипломная работа [1,5 M], добавлен 19.01.2017Метод решения математической модели на примере решения задач аналитической геометрии. Описание согласно заданному варианту методов решения задачи. Разработка математической модели на основе описанных методов. Параметры окружности минимального радиуса.
лабораторная работа [310,6 K], добавлен 13.02.2009Выбор аппаратной и программной платформы системы планирования и учета нарядов подразделения. Определение архитектуры создаваемой системы, сравнение существующих технологий программирования. Реализация подсистемы идентификации и авторизации на сайте.
дипломная работа [3,1 M], добавлен 19.01.2017Постановка задачи конвенкции-диффузии примеси, этапы и принципы параметризации. Модельные примеры для одномерного и двумерного уравнения. Описание программной реализации решения двумерной задачи: выбор среды, описание программы, анализ результатов.
дипломная работа [232,4 K], добавлен 17.02.2015Методика преподавания в высшей школе. Управление учебно-познавательной деятельностью. Требования к электронным учебникам и тестирующим программам, технологии их создания. Проектирование комплексов автоматизированных дидактических средств и учебных курсов.
дипломная работа [535,1 K], добавлен 08.11.2012