Назад в библиотеку

Разработка методики решения задачи линейного программирования оптимизации плана производства в «1С:Управление производственным предприятием 8»

Автор: Ткаченко Л.А.
Источник: Ежегодная конференция «Использование программных продуктов 1С в учебных заведениях» 2010 г.

Аннотация

Ткаченко Л.А. Разработка методики решения задачи линейного программирования оптимизации плана производства в «1С:Управление производственным предприятием 8». Рассмотрены методы и алгоритмы программной реализации линейного программирования. Изучена возможность реализации на платформе 1С:Предприятие 8 методов линейного программирования решения экстремальных задач в экономике.

Общая постановка проблемы

Применение математических методов является необходимым условием эффективной научной и практической деятельности современного специалиста в любой прикладной области. Эти методы приобретают все большее значение при принятии управленческих решений, требующих оптимизации производственной деятельности на предприятии, в их числе математическое программирование. Один из разделов математического программирования  — линейное программирование является наиболее разработанным направлением решения оптимизационных задач во всех отраслях народного хозяйства. Изучение линейного программирования предусмотрено в ряде вузовских дисциплин по экономическим, техническим, естественнонаучным специальностям. В то же время нельзя утверждать, что линейное программирование, несмотря на свои несомненные достоинства, вошло в повседневную практику решения оптимизационных задач на российских предприятиях.

В ходе автоматизации деятельности предприятий все шире внедряется система «1С:Управление производственным предприятием 8» («1С:УПП 8»), которая является комплексным прикладным решением, охватывающим основные контуры управления и учета на производственном предприятии и позволяющим организовать единую информационную систему для управления различными аспектами деятельности предприятия [1]. В связи с этим представляет интерес анализ возможностей реализации математических методов, в частности линейного программирования, на платформе «1С:Предприятие 8». Такая задача была поставлена в рамках дипломного проектирования по специальности «Прикладная математика и информатика» в СПФ ГОУ МГИУ.

С этой целью рассмотрены методы и алгоритмы программной реализации линейного программирования и выбран алгоритм Kuenzi, Tzschach и Zehnder [2]. Оптимизация с помощью этого алгоритма выполняется в два этапа: определяется начальное допустимое решение, не содержащее искусственных переменных, затем на этой основе выполняется поиск оптимального решения поставленной задачи.

Изучена возможность реализации на платформе «1С:Предприятие 8» методов линейного программирования решения экстремальных задач в экономике. Приложение (автор Буткевич А.В.) разработано в виде внешней «обработки», основное преимущество которой заключается в возможности ее проектирования и отладки в процессе работы системы «1С:УПП 8». Первым этапом работы данного приложения является составление задачи оптимизации плана производства продукции в виде модели линейного программирования. Разработанное приложение позволяет сделать это двумя способами на основе:

Загрузка данных из файла MS Excel решается с помощью СОМ-соединения. Для организации доступа к данным системы «1С:УПП 8» создается СОМ-объект и производится обращение к допустимым методам, свойствам и объектам информационной базы, с которой установлено соединение. Происходит считывание данных из файла MS Excel в табличную часть приложения. Пользователь может ознакомиться с ними и при необходимости внести изменения. Преимуществом этого метода является то, что данная операция выполняется быстро даже при большом объеме информации, но вместе с тем в реальных задачах заполнение файла MS Excel представляется достаточно трудоемким.

Второй способ предполагает считывание данных из базы данных «1С:Управление производственным предприятием 8». Конфигурация «1С:Управление производственным предприятием 8» предоставляет богатые возможности для формирования задач линейного программирования оптимизации плана производства продукции. В разработанном приложении анализируется перечень производимых товаров из регистра «План производства» за определенный период. По каждой позиции из данного регистра происходит считывание спецификации, где храниться перечень номенклатуры, трудозатрат, затрат оборудования и т.п., требуемых для производства единицы продукции. Все эти данные посредством SQL запросов и встроенного языка формируют таблицы значений с исходными данными. На втором шаге происходит обработка полученных таблиц значений и приведение их к форме задачи линейного программирования.

Данные со сформированной задачей линейного программирования передаются в модуль объекта обработки, где с помощью процедуры, реализующей алгоритм Kuenzi, Tzschach, Zehnder, выполняется решение задачи линейного программирования. Для анализа полученных результатов пользователю выводится отчет.

Разработанное приложение и выполненные с его использованием расчеты показали, что приложение корректно решает задачи оптимизации плана производства посредством алгоритма Kuenzi, Tzschach, Zehnder, и, следовательно, это позволяет его применять для решения конкретных прикладных задач. На примере реального предприятия и фактических данных его деятельности решена задача оптимизации плана производства продукции с использованием разработанного приложения.

Проведенное исследование и разработка приложения, по нашему мнению, показывают одно из возможных направлений дальнейшего развития конфигурации «1С:Управление производственным предприятием 8», расширения ее функциональности за счет реализации на ее основе математических методов решения оптимизационных задач.

Список использованной литературы

1. Управление производственным предприятием. — http://v8.1c.ru/enterprise/.
2. Kuenzi, H.P., Tzschach, H.G., and Zehnder, C.A. 1971, Numerical Methods of Mathematical Optimization (New York: Academic Press). — http://kolho3.tiera.ru/.