Шарипов М.И. ©
К.т.н., доцент кафедры автоматизированных технологических и информационных систем, Уфимский государственный нефтяной технический университет, филиал в г. Стерлитамаке
ОЦЕНКА ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ МНОГОЯДЕРНЫХ ПРОЦЕССОРОВ ПРИ РЕШЕНИИ ЗАДАЧ ДИСКРЕТНОЙ ОПТИМИЗАЦИИ В СРЕДЕ
MICROSOFT EXCEL
Аннотация
Рассматривается решение задач псевдобулевой оптимизации в среде Microsoft Excel. Исследуется эффективность использования многоядерного процессора в процессе решения задачи.
Ключевые слова: Дискретная оптимизация, параллельные вычисления, многоядерный процессор, вычислительная эффективность.
Keywords: discrete optimization, parallel computing, multi-core processor, computational efficiency.
В настоящее время на предприятии всегда имеется множество проблем логистики, сводящихся к задачам принятия решений [1], которые зачастую носят дискретный характер и для их решения применяются различные методы комбинаторного перебора вариантов решений [2].
Современные информационные системы [3] класса ERP при всей своей многофункциональности, в том числе в плане подготовки самых разнообразных отчетов по самым разным критериям, все же не содержат инструменты для решения множества разнообразных задач дискретной оптимизации, к которым приводят большинство проблем принятия решений.
Так, например, информационная система «1С: Предприятие» [4] позволяет сформировать отчет по суммовым остаткам товаров на складах.
Однако, на основе отчета информационная система не может, например, поставить задачу дискретной оптимизации, и тем более рассчитать ее решение и сообщить руководителю предприятия рекомендации о том, какие именно товары нужно докупить в первую очередь при заданных показателях важности (срочности) закупки тех или иных товаров, стоимости этих товаров, и заданном финансовом ограничении (доступные денежные средства для закупки). В то же время большинство современных информационных систем имеют возможности для экспорта отчетов в средства для обработки и анализа данных, такие как Microsoft Excel.
Следует особо подчеркнуть, что программное обеспечение MS Excel в отличие от специализированных математических пакетов (MathCAD, Math Lab, Maple), уже имеется в большинстве организациях, и не требуют докупки дополнительного математического программного обеспечения и обучения специалистов навыкам программирования в них задач оптимизации.
Более того, MS Excel содержит в себе специальную надстройку «Поиск решения» [5], которая входит в состав программного обеспечения, но по умолчанию отключена. Эта надстройка специально предназначена для поиска решений уравнений, а также задач линейной и нелинейной оптимизации с непрерывными, дискретными и булевыми, переменными [6, 7, 8], а также решения систем уравнений для выполнения расчетов для различных прикладных задач, например, анализа показателей надежности сложных технических систем [9].
© Шарипов М.И., 2016 г.
Рассмотрим теперь простейшую задачу дискретной оптимизации на примере задачи закупки недостающих на складе запчастей при заданных коэффициентах важности (срочности) запчастей, стоимостях запчастей и ограниченной сумме денежных средств, доступной для закупки. Конкретные названия и типы запчастей не имеют никакого значения с точки модели и метода решения задачи, и мы их не будем приводить. Рассмотрим математическую модель задачи закупки 20 различных запчастей.
Ограничивающее неравенство задачи оптимизации при заданных стоимостях запчастей (в тыс. рублей) и доступной сумме денежных средств:
10xi + 1 5х2 + 12х3 + 40х4 + 20х5 + 40х6 + 30х7 + 20х8 + 36х9 + 22х10 + 12хц + + 30х12 + 14х13 + 15х14 + 12х15 + 80х16 + 20х17 + 30х18 + 12х19 + 30х20 < 100.
Целевая функция задачи (максимизация суммарной важности закупаемых запчастей) при заданных коэффициентах важности запчастей (коэффициенты имеют безразмерную величину и определяются путем ранжирования запчастей по важности на усмотрение руководителя, решающего задачи):
5х1 + 3х2 + 4х3 + 5х4 + 6х5 + 7х6 + 2х7 + 3х8 + 4х9 + 5х10 + 4х11 + + 10х12 + 6х13 + 7х14 + 2х15 + 4х16 + 11х17 + 3х18 + 4х19 + 5х20 ^ max.
Решение задачи оптимизации при помощи надстройки «Поиск решения» в среде MS Excel дает следующий набор значений переменных:
х1 = 1, х2 = 0 х3 = 1, х4 = 0, х5 = 0, х6 = 0, х7 = 0, х8 = 0, х9 = 0, х10 = 0, х11 = 1, х12 = 0, х13 = 1, х14 = 1, х15 = 0, х16 = 0, х17 = 1, х18 = 0, х19 = 1, х20 = 0.
Целевая функция задачи при этом достигает значение 41. Левая часть ограничения при этом достигается значение 95, и оно не превышает 100.
Теперь оценим эффективность использования вычислительных ресурсов компьютера при решении задач оптимизации в MS Excel. Для этого будем использовать компьютер с 4-ядерным процессором Intel [10].
Для мониторинга загрузки ядер процессоров будем использовать системную утилиту диагностики, управления и мониторинга Process Explorer для операционных систем MS Windows.
Результаты мониторинга загрузки ядер процессора во время решения задачи оптимизации представлены на рис. 1. Достаточно очевидно, что во время решения задачи активно используется только одно ядро процессора, загрузка остальных ядер близка к нулю. Однако, стоит отметить, что MS Excel запускает при этом 5 исполняемых потоков - один управляющий и 4 рабочих потока, которые назначаются на различные ядра процессора.
Однако, основную нагрузку несет на себе один управляющий поток, а участие 4 рабочих потоков в вычислительном процессе незначительно. Иными словами, в программном обеспечении MS Excel присутствует распараллеливание вычислительного процесса при поиске решения задач оптимизации, но оно неэффективно.
Core 0
Core 1
Core 2
Core 3
Рис. 1. Загрузка ядер процессора при решении задачи оптимизации в Excel
Таким образом, подводя итог можно сказать, что хотя и большинство современных информационных систем класса ERP не включают в себя функционал математической оптимизации для широкого класса задач поиска и принятия решений, но обеспечивают взаимодействие с повсеместно доступным средством анализа и обработки данных - MS
Excel. Данное программное средство к тому содержит в себе специальную надстройку для решения задач линейной и нелинейной оптимизации с непрерывными, дискретными и булевыми переменными.
Однако, экспериментальное исследование показывает что вычислительные мощности современных компьютеров с многоядерными процессорами используются неэффективно при решении задач оптимизации в среде MS Excel.
Литература
1. Грешилов А. А. Математические методы принятия решений: учебное пособие - 2-е изд. - М.: Изд-во МГТУ им. Н. Э. Баумана, 2014.
2. Ковалев М.М. Дискретная оптимизация. - М.: УРСС, 2011.
3. Аверченков В.И., Лозбинев Ф.Ю., Тищенко А.А. Информационные системы в производстве и экономике: учебное пособие. - 2-е изд. - М.: ФЛИНТА, 2011.
4. Кашаев С.М. 1С: Предприятие 8.3. Программирование и визуальная разработка на примерах. -СПб.: БХВ-Петербург, 2015.
5. Карлберг К. Бизнес-анализ с помощью Excel / Пер. с англ. - М.: Издательский дом «Вильямс», 2001.
6. Гончаров В. А. Методы оптимизации: учебное пособие - М.: Высшее образование, 2009.
7. Рахман П.А. Модель задачи распределения вычислительных ресурсов в системах управления предприятием при применении технологии виртуальных машин // Экономика и менеджмент систем управления, 2015. - Т. 18. - № 4.2. - С. 274-293.
8. Рахман П.А. Анализ вычислительной сложности решения задач псевдобулевой оптимизации методом локального поиска в системах управления предприятием // Экономика и менеджмент систем управления, 2015. - Т. 18. - № 4.3. - С. 379-399.
9. Рахман П.А., Шарипов М.И. Модели надежности каскадных дисковых массивов в системах управления предприятием // Экономика и менеджмент систем управления, 2015. - Т. 17. - № 3.1. - С. 155-168.
10. Барри Брэй. Микропроцессоры Intel. Архитектура, программирование и интерфейсы. - 6-е изд. -СПб: БХВ-Петербург, 2005.