Государственная итоговая аттестация проходит редко, но регулярно — раз в год! Конечно при особенностях реализации различных программ других форм обучения процесс может запускаться и чаще. При этом всё это мероприятие окружено множеством документов. В 1С:Колледж я произвел бесчисленной количество модификаций и до сих пор этум нет придела. В новом видео покажу как организовать тарификации нагрузки по Государственной итоговой аттесттации. Как ее запланировать, как зарегистрировать, как на основе этой информации создать договоры для физических лиц — например членов ГЭК и рецензентов, а также для сотрудников — приложения для приказа о передачи часов.
Приложение для оптимизации распределения ресурсов
В предыдущем посте я представлял схему имитационного моделирования для оптимизации распределения ресурсов в условиях неопределенности. В этой статье покажу приложение, которое я написал для решение этой задачи.
Данная программа предназначена для решения задач оптимизации распределения ресурсов при неполной информации с применением методов имитационного моделирования.
Ограничений на количество ресурсов и пунктов назначения теоретически нет, так как программа работает с динамической памятью. Реальный предел зависит от количества памяти и операционной системы.
Кроме того, в программе реализовано:
- Сохранение и загрузка задач во внешний файл.
- Каждый эффект от вложения определенного количества ресурса в определенный пункт может быть как статическим так и случайной величиной, лежащей в определенном диапазоне и распределенной по выбранному закону распределения.
- Использование 5 различных законов распределения:
- Равномерный
- Нормальный
- Экспоненциальный
- Вид возрастающего треугольника
- Вид убывающего треугольника
- Тестирование датчиков случайных чисел на тождественность теоретического закона ‑ эмпирическому, по критерию Колмогорова
- Проведение имитационного моделирования задачи с неполной информацией, при этом реализован вывод следующих данных:
- График плотности распределения значений эффективности за последний этап итераций
- График функции распределения значений эффективности за последний этап итераций
- Оценка соответствия полученного распределения эффективностей нормальному закону, по критерию Колмогорова
- Вывод среднего значения эффективности за последний этап итераций
- Вывод среднеквадратического отклонения от среднего за последний этап итераций
- Вывод моды за последний этап итераций
- Построение доверительного интервала
- Вычисление вероятности попадания в доверительный интервал
- Вывод уникальных, перспективных вариантов решения задачи, попадающих в доверительный интервал
- Построение графика стремления к устойчивому состоянию и указания 5% и 2% коридора
- Проверка неравенства Чебышева и вычисления необходимого числа итераций от допустимой ошибки
Программа имеет не сложный, но в то же время достаточно функциональный и удобный в применении интерфейс, позволяющий выполнять достаточно много операций для исследования и анализа результатов решения.
Оптимизация распределения ресурсов в условиях неопределенности
Задачи оптимизации распределения ресурсов при неполной информации встречаются в различных областях человеческой деятельности, потому что часто приходится решать такие задачи, где из некоторого набора вариантов решения нужно выбрать наиболее перспективные, удовлетворяющие определенным требованиям.
С такими проблемами специалисты-практики сталкиваются, решая, например, экономические, производственные и другие задачи, т.е. везде, где есть некоторое количество ресурсов, пунктов потребления этих ресурсов и сведения об эффективности от вложения ресурсов в определенные пункты.
Например, задача распределения ресурсов в производстве может иметь следующую формулировку. Имеется несколько различных катализаторов производственного процесса, стадии этого процесса и экспериментальные данные об эффекте, получаемом от вложения катализаторов. Нужно конкретное количество распределить по стадиям так, чтобы максимизировать эффективность производственного процесса, который может выражаться через количество продукции.
В экономической области на место ресурсов становятся денежные средства, на место пунктов вложения ‑ либо города, в которые вкладывают средства, либо сфера деятельности, либо конкретный товар. Эффективностью вложения при этом можно называть прибыль, получаемую от вложения средств.
Задача эксперта состоит в том, чтобы исследовать зависимость решения задачи от исходных данных. На основании набора экспериментальных данных он исследует и анализирует работу системы, и выбирает наиболее перспективные и максимально эффективные варианты решения задачи для того, чтобы их предоставить заказчику.
В условиях неполной информации эксперту предстоит изучать и анализировать систему. Для проведения многократных экспериментов необходимо имитировать реальную систему. Этот процесс называется имитационным моделированием.
Под имитацией системы понимается организация эксперимента, обеспечивающего логическую взаимосвязь свойств модели в соответствии с реальностью изучаемого процесса. Результаты имитации дополняют неполную информацию о начальных состояниях системы и ее входных воздействиях.
Генератор случайных чисел по различным законам распределения
Известно, что в языках программирования встроен генератор случайных чисел. Обычно он генерирует значения от 0 до 1 по равномерному закону распределения. Иногда необходим генератор, который генерировал бы числа по другому закону распределения, например, по нормальному закону распределения, экспоненциальному или какому-либо другому.
В основе построения датчиков случайных величин лежит утверждение:
где
ε – случайная величина, принадлежащая промежутку [0..1], и имеющая равномерный закон распределения.
P(U) – требуемый закон распределения
Для того, чтобы вывести формулу датчика случайных чисел, с требуемым законом распределения, необходимо проинтегрировать требуемый закон плотности вероятности в аналитическом виде с заданными пределами.
Использование сканера в Delphi
Использование принтера и печать документов достаточно частая задача в проектах на Delphi, связанных с различными формами. Поэтому для этой цели существует ряд компонентов, в том числе и стандартных.
Однако использование сканера как оказалось не совсем тривиальная задача. В одной проекте на Delphi мне понадобилось использовать сканер и получать изображения с него. При первом рассмотрении нашлось несколько решений:
- Использование ActiveX компонента Kodak Scan Image Control
- Использование компонента DelphiTwain
- Использование C++ библиотеки EZTwain Classic
Каждый из способов хорош по своему.