Метод создания рабочего расписания

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

µ окно с переключателями

После ввода параметров и щелчка на кнопке ОК вызывается надстройка Поиск решения, а результат оптимизации выводится на рабочий лист Отчет, который показан на рисунке 5.4.

 

Рисунок 5.3 - Диалоговое окно с требованиями к рабочему времени

 

Рисунок 5.4 - Отчёт с оптимальным решением

 

Если в диалоговом окне, показанном на рисунке 5.2, установить второй переключатель, то надстройка Поиск решения будет вызвана несколько раз - для каждого максимального количества сотрудников с несмежными выходными днями в диапазоне от 0% до 100% с шагом 10%. Оптимальное решение будет представлено в графической форме (рисунок 5.5). В частности, для каждого максимального процентного значения в отчете отображается общее количество сотрудников и количество сотрудников, которые имеют несмежные выходные дни. Также отображается напоминание, показанное на рисунке 5.6.

Рисунок 5.5 - Графическое представление оптимального решения

 

Рисунок 5.6 - Напоминание о возможности существования нескольких оптимальных решений

 

Все результаты основаны на данных предварительно настроенной на листе Модель модели - рисунок 5.7. (Несмотря на то, что в этой модели для вычислений используются простые формулы, с ними все же стоит ознакомиться отдельно. Перед этим необходимо открыть лист Модель с помощью команды Сервис Лист Отобразить.)

 

Рисунок 5.7 - Модель составления расписания

6.Настройка листов Excel

 

Представленная модель оптимизации всегда имеет постоянный размер, так как в неделе всегда 7 дней. Таким образом, большую часть приложения можно настроить на этапе разработки средствами пользовательского интерфейса Excel (без использования кода VBA). Приложение состоит из четырех листов.

. Лист Описание (рисунок 5.1) содержит описание приложения, представленное в текстовом поле, и кнопку, которая позволяет запустить приложение.

. Лист Модель (рисунок 5.7) полностью заполняется на этапе разработки произвольными значениями. Кроме того, на нем вводятся параметры настройки Поиск решения, что возможно только благодаря фиксированному размеру модели - в ней изменяются только входные параметры. Со структурой этой модели можно ознакомиться в файле Sheduling.xls. Большая часть модели предельно понятна. Но обратите особое внимание на ячейку Е32, которая содержит формулу =СУММ (AvailThu). В данном случае AvailThu представляет имя диапазона, в который включаются несмежные ячейки для всех дней недели, за исключением одного - в данном случае среды (выходной). Присвоение имен диапазонам несмежных ячеек в Excel не вызывает затруднений и выполняется достаточно часто.

3. Шаблон, который можно использовать для разработки отчета, создается на листе Отчет, показанном на рисунке 5.4. Такой шаблон представлен на рисунке 6.1. Разделы оплаты труда, доступности рабочей силы и количества работников содержат формулы, связанные с данными листа Модель, поэтому на листе Отчет всегда будут отображаться результаты последнего выполнения приложения. А вот раздел оптимального решения задачи в шаблоне остается пустым. В этом разделе указываются только положительные значения, а они становятся известны только на этапе выполнения приложения. Таким образом, код VBA необходим для копирования положительных значений с листа Модель на лист Отчет.

 

 

Рисунок 6.1 - Шаблон отчета

 

Рисунок 6.2 - Данные для диаграммы

 

. Диаграмма, показанная на рисунке 5.5, расположена на отдельном листе Диаграмма. Она связана с данными на листе Модель (рисунок 6.2). В отображенной области листа Модель содержатся процентные значения в столбце АА и количественные показатели модели оптимизации в столбцах АВ и АС. Значения столбцов АВ и АС указывают количество работников с несмежными выходными днями и общее количество работников в оптимальном решении. Для создания диаграммы можно воспользоваться любыми приемлемыми значениями в столбцах АВ и АС. Конечная диаграмма создается с помощью мастера диаграмм. В процессе анализа чувствительности VBA-код заменит эти значения на оптимальные.

7.VBA-код

 

Данное приложение содержит две пользовательские формы, которые называются InputsForm и OptionsForm, модуль и ссылку на надстройку Solver.xla. После добавления этих компонентов окно Project будет выглядеть так, как показано на рисунке 7.1.

 

Рисунок 7.1 - Окно проекта

 

7.1Код процедуры Workbook_Open

 

Этот код обеспечивает отображение листа Описание при открытии файла. Следующая процедура вводится в окне кода объекта ThisWorkbook. Процедура GoToExplanation располагается в модуле (и показана ниже); ее вызов из процедуры Workbook_Open объекта ThisWorkbook вполне допустим.

Private Sub Workbook_Open().Show Sub

8.Пользовательские формы и обработка событий

 

Внешний вид пользовательской формы OptionsForm показан на рисунке 8.1. На форме расположены стандартные кнопки ОК и Отмена, подпись с описанием и рамка Options, а также два переключателя, включенные в рамку, - Option1 и Option2.

 

Рисунок 8.1. - Внешний вид пользовательской формы Options Form

 

Пользовательская форма InputsForm содержит 10 текстовых полей ввода данных и соответствующие подписи (рисунок 8.2), стандартные кнопки ОК и Отмена, а также несколько подписей с описанием назначения диалогового окна слева от кнопок. Поля ввода данных, каждое для своего дня недели, называются Day1Box, Day2Box и т.д. до Day7Box (с понедельник