Данные которые мы будем использовать для демонстрации процесса автоматизации экономической задачи отображены в таблице 1.
Таблица 1
Данные для транспортной задачи
|
Качок |
Weiderспорт |
Bodybuilding shop |
Vita shop |
Запасы на складах |
||
|
Soylent Strawberry |
3 |
7 |
4 |
8 |
613 |
|
|
Soylent Chocolate |
6 |
6 |
4 |
4 |
448 |
|
|
Soylent Vanilla |
9 |
10 |
5 |
8 |
522 |
|
|
Спрос потребителей |
437 |
417 |
333 |
396 |
2.2 Решение транспортной задачи в Excel
Для того чтобы показать, в полной мере, насколько быстрее будет решаться транспортная задача в моей программе, я хочу проиллюстрировать сколько этот процесс занимает в программе Microsoft Office Excel 2013.
Для начала заносим все данные в Excel как на рисунке 2.
Рисунок 2. Данные для транспортной задачи в Excel
Затем мы создаём пустую такую же таблицу, как на рисунке 3.
Рисунок 3. Создание новой таблицы
В строчку Спрос потребителей заносим следующие формулы:
B12: =СУММ(B9:B11)
C12: =СУММ(C9:C11)
D12: =СУММ(D9:D11)
E12: =СУММ(E9:E11)
В столбец Запасы на складах заносим формулы:
F9: =СУММ(B9:E9)
F10: =СУММ(B10:E10)
F11: =СУММ(B11:E11)
А в клетку на пересечении F12 заносим формулу, по которой в итоге нам будет подсчитана минимальная стоимость перевозки:
F12:= СУММПРОИЗВ (B2:E4; B9:E11)
Рисунок 4. Занесение формул в клетки нашей новой таблицы
Открываем пакет поиска решений
Рисунок 5. Открытие пакета поиска решений
Заполняем необходимыми данными, а также формируем ограничения, как показано на рисунке 6.
Рисунок 6. Заполнение данных пакета поиска решений
Нажимаем кнопку “Найти решение” и получаем результаты решения транспортной задачи.
Рисунок 7. Результаты решения транспортной задачи
Полученные результаты можно интерпретировать следующим образом: для того чтобы нам получить минимальные и в то же время оптимальные затраты (под цифрой 2), в размере 7994 тыс. рублей, на перевозки, при исходных ценах за перевозки, необходимо отправить(под цифрой 1): Soylent Strawberry в размере 437 кг в магазин “Качок”, а также в размере 176 кг в магазин Weider спорт; сухую смесь Soylent Chocolate в размере 52 кг в магазин Weider спорт, а также в размере 396 кг в магазин Vita shop; Soylent Vanilla в размере 189 кг в магазин Weider спорт, а также в размере 333 кг в магазин Bodybuilding shop.
Как мы видим, процесс решения транспортной задачи в Excel является очень трудоёмким, и присутствует необходимость в автоматизации данного процесса.
2.3 Сравнительное моделирование решения экономической (транспортной) задачи в Excel и на Delphi
2.3.1 Модели IDEF0 и декомпозиции
Методология IDEF0 объединяет диаграммы в модель через объекты системы. Такая схема требует согласования наименования и учета объектов системы с тем, чтобы две диаграммы могли рассматриваться, как взаимосвязанные между собой. IDEF0 используется собственный графический язык, который представляет собой полное и выразительное средство, способное наглядно представлять широкий спектр деловых, производственных и других процессов и операций предприятия на любом уровне детализации. В IDEF0 все, что происходит в системе и ее элементах, принято называть функциями. Каждой функции ставится в соответствие блок. Для того чтобы представить реальные производственные операции, блоки могут быть интерпретированы как деятельность, связанная с другими блоками, с интерфейсными стрелками, определяющими, когда и как переключаются или управляются операции. Модель IDEF0 всегда начинается с представления системы как единого целого - одного функционального блока с интерфейсными дугами, простирающимися за пределы рассматриваемой области. Бахтизин В.В., Глухова Л.А. Методология функционального проектирования IDEF0 Москва, 2013. - 24 с.: ил.
На рисунке 8 изображена модель IDEF0 решение экономической задачи в Excel. На этой диаграмме показано, какие входные данные будут использоваться и также показано, что в итоге мы получаем - результаты решения экономической задачи.
При разбиении сложного процесса на составляющие его функции применяется принцип декомпозиции (Рис. 9). Декомпозиция позволяет представить модель системы в виде иерархической структуры отдельных диаграмм, что делает ее менее перегруженной и легко усваиваемой.
Рисунок 8. Модель IDEF0 “Решение экономической задачи в Excel”
На декомпозиции модели “Решение экономической задачи в Excel” можно увидеть все этапы, которые необходимо выполнить для того чтобы решить нашу транспортную задачу в среде Microsoft Excel.
Рисунок 9. Диаграмма декомпозиции IDEF0 (A0) «Решение экономической задачи в Excel»
Далее рассмотрим процесс решения транспортной задачи на языке Delphi. Тем самым хотел бы обратить ваше внимание, насколько уменьшится время, затрачиваемое на этот процесс.
И так, на рисунке 10 изображена модель IDEF0 решение экономической задачи с помощью приложения, разработанного мною на языке Delphi.
Рисунок 10. Модель IDEF0 “Решение экономической задачи с помощью приложения на Delphi”
Модель IDEF0 представляет собой то же самое, что и соответствующая модель решения в Excel, но существенные изменения нам покажет именно диаграмма декомпозиции.
На данной диаграмме декомпозиции решения экономической задачи, с помощью приложения на Delphi (рисунок 11), отображен весь процесс получения результатов решения экономической задачи.
Я показал наглядно, что процесс решения экономической задачи сократится в несколько раз, благодаря использованию приложения разработанного на Delphi.
Рисунок 11. Диаграмма декомпозиции IDEF0 (A0) “Решение экономической задачи с помощью приложения на Delphi”
2.3.2 Моделирование потоков данных (DFD)
Моделирование потоков данных также нам показывает, что процесс решения транспортной задачи в Excel (рисунок 12) будет проходить намного медленнее, чем в разработанной программе (рисунок 13). Главной целью декомпозиции DFD является показать, какие процессы имеют входные и выходные данные, а также связи между этими процессами.
Рисунок 12. Диаграмма моделирования потоков данных решения экономической задачи в Excel (DFD)
Рисунок 13. Диаграмма моделирования потоков данных решения экономической задачи в Delphi (DFD)
2.3.3 Модель IDEF1X
Данное моделирование необходимо для того чтобы показать внутреннюю сущность разработанного мною интерфейсного приложения.
На логическом уровне модели IDEF1X отображается абстрактная взаимосвязь между полями в таблицах. В данной модели данные отображаются именно так, как они представлены в базе данных, это значит, что на логическом уровне поля в таблице могут называться также, как в реальном мире: номер магазина, цена перевозки и т.д.
В нашей модели (рисунок 14) на логическом уровне отображается связь таблиц баз данных для решения транспортной задачи.
Рисунок 14. Модель IDEF1X, сделанная в ERwin на логическом уровне для транспортной задачи
На физическом уровне нашей модели IDEF1X (рисунок 15) отображена информация обо всех объектах наших таблиц для решения транспортной задачи. То есть отображается именно тип значений того или иного поля.
Например, данные о запасах на складе: String и т.д.
Рисунок 15. Модель IDEF1X, сделанная в Erwin, на физическом уровне для решения транспортной задачи
2.4 Проектирование структуры БД
2.4.1 Проектирование логической структуры
Логическая структура базы данных спроектирована и описана для конкретной СУБД. Для моей базы данных была выбрана СУБД MS Access.
Необходимо перейти от ER-модели к таблицам в базе данных.
База данных создается на основании таблиц, которые имеют связь между собой. Таблицы, а также связи отражаются в схеме данных базы (рисунок 16).
Таблицы, показанные в схеме данных, имеют несколько параметров: наименование полей, тип данных, описание таблиц приведено ниже
Рисунок 16. Схема данных СУБД
Рисунок 17. Информация о полях таблицы “Перевозка товара”
Рисунок 18. Информация о полях таблицы “Потребители”
Рисунок 19. Информация о полях таблицы “Склады”
Рисунок 20. Информация о полях таблицы “Транспортная задача
2.4.2 Проектирование физической структуры базы данных
Физическая модель - это привязка логической модели к конкретной среде хранения и методам хранения данных. При проектировании физической модели базы данных необходимо описать среду и метод хранения информации. Для этого необходимо изучить особенности организации данных выбранной СУБД.
Для проектирования базы данных была выбрана СУБД MS Access (2013). Для хранения данных в этой СУБД используются таблицы. В них хранится вся информация о предметной области. Наша база данных включает несколько взаимосвязанных таблиц: «Перевозка товара» (Рисунок 21), «Потребители» (Рисунок 22), «Склады» (Рисунок 23). Объекты, которых были описаны при построении инфологической модели предметной области, в базе данных являются таблицами.
Рисунок 21. Таблица перевозчиков товара
Рисунок 22. Таблица потребителей
Рисунок 23. Таблица складов
2.5 Разработка интерфейса приложения
Запуск приложения начинается с запуска главной формы (рисунок 24). На ней мы можем увидеть 2 вкладки: табличная форма и графическая иллюстрация. К графической иллюстрации мы вернёмся чуть позже.
Рисунок 24. Главная форма нашего приложения
На табличной форме мы видим 2 кнопки слева: задать размер, при нажатии на которую у нас появится следующее окно (рисунок 25), в котором нам можно указать количество потребителей(магазинов) и количество складов (в нашем случае сухих смесей) для того чтобы получить результаты решения данной экономической задачи с другими данными.
Рисунок 25. Окно выбора количества потребителей и складов
Специально для нашего предприятия я уже подготовил заранее заполненный пример, который автоматически заполнит нашу таблицу если мы нажмём кнопку Soylent (рисунок 26).
Рисунок 26. Заранее заполненный пример, необходимыми данными для нашего предприятия
Далее нажимаем кнопку рассчитать, и наша программа выдает следующее (рисунок 27).
Рисунок 27. Результаты решения экономической задачи
Здесь под цифрой 1 отображён оптимальный план, который заключается в том, что чтобы затратить минимальную сумму на перевозки, равную 7994 тыс. рублейь(цифра 2) необходимо отправить: Soylent Strawberry в размере 437 кг в магазин “Качок”, а также в размере 176 кг в магазин Weider спорт; сухую смесь Soylent Chocolate в размере 241 кг в магазин Weider спорт, а также в размере 207 кг в магазин Vita shop; Soylent Vanilla в размере 333 кг в магазин Bodybuilding shop, а также в размере 189 кг в магазин Vita shop.
Теперь вернёмся к графической иллюстрации. Я её дополнительно разработал для того чтобы заполнение данных для транспортной задачи выглядело более наглядней (рисунок 28). Нажимаем кнопку рассчитать и получаем такие же результаты.
Рисунок 28. Графическая иллюстрация
Заключение
Разработанное мною приложение поможет бухгалтеру предприятия ООО “Soylent”, за считанные секунды, подсчитать оптимальный план перевозок своих товаров, а также подсчитать минимальные затраты, которые понесёт предприятие при осуществлении данного оптимального плана. В данном приложении можно подсчитать оптимальный план перевозок и минимальные затраты для 99 поставщиков и 99 потребителей.
Автоматизированное решение данных задач позволяет улучшить качество транспортного обслуживания и снизить издержки по доставке грузов покупателю, которые во многом зависят от своевременности и качества доставки груза.
Это приложение поможет предприятию оптимизировать поставку товара в магазины, а также поможет в выборе будущих точек сбыта своего товара.
Разработанная программа не нуждается в установке. Это сделано в целях удобства распространения, а также для экономии ресурсов памяти. Для распространения программы необходимо скопировать исполняемый файл программы Pm.exe в любое место на жестком диске.
Список литературы
1. Юдин Д.Б., Гольштейн Е.Г. Задачи и методы линейного программирования: Задачи транспортного типа. Изд.3 2013. 184 с.
2. Кириллов К.В. Моделирование бизнес-процессов средствами ARIS / К.В. Кириллов // Молодой ученый. - 2014. - №6. - С. 160-166.
3. Голицына О.Л., Попов И.И. Программирование на языках высокого уровня - Москва, 2013. - 496 с.
4. Бьёрн Страуструп. Дизайн и эволюция C++ The Design and Evolution of C++. -- СПб.: Питер, 2012. - 445 с.
5. Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6. Классическое издание = Special Edition Using Visual Basic 6. - М.: Вильямс, 2013. - 382 с.