УДК 517
Физико-математические науки
Безносиков Дмитрий Иванович, студент 2 курс, нефтегазовый факультет, Ухтинский государственный технический университет Афтени Иван Валерьевич, студент 2 курс, нефтегазовый факультет, Ухтинский государственный технический университет Пармузина Мария Семеновна, научный руководитель,
доцент кафедры высшей математики Ухтинский государственный технический университет, кандидат педагогических наук
Россия, г. Ухта
ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ
Аннотация: Решение задач оптимизации является важной и актуальной задачей при решении многих сложных задач. В своей работе мы рассмотрим некоторые аспекты численных методов оптимизации. Наиболее подробно остановимся на решении задач линейного программирования (транспортные перевозки, планирование производства, расход материалов, оптимальных поиск маршрутов и т. д.). Для решения этих задач наиболее удобно применять надстройку «Поиск решения» программы MS Excel, где имеются все необходимые инструменты, облегчающие решение задачи линейного программирования. Надстройка «Поиск решения» является удобной для решения многих экономических задач и представляет собой важность и ценность, так как позволяет сделать оптимальный выбор из большого множества альтернативных вариантов.
Ключевые слова: оптимизация, линейное программирование, математическая модель, поиск оптимального решения.
Annotation: Solving optimization problems is an important and relevant task in solving many complex problems. In this paper, we will consider some aspects of
numerical optimization methods. We will focus in more detail on solving linear programming problems (transportation, production planning, material consumption, optimal route search, etc.). To solve these problems, it is most convenient to use the "Solution Search" add-in of the MS Excel program, where all the necessary tools are available to facilitate solving linear programming problems. The Solution Search add-in is convenient for solving many economic problems and is important and valuable, as it allows you to make an optimal choice from a large variety of alternative options.
Keywords: optimization, linear programming, mathematical model, search for the optimal solution.
Оптимизация - это процесс поиска наилучшего или оптимального решения. Оптимизация относится к стремлению к совершенству, которое не может быть достигнуто по ряду объективных причин.
Задача оптимизации имеет два основных аспекта:
1) разработка математической модели - постановка задачи в виде математических выражений (запись условия задачи с помощью математических символов, введение переменных, составление соотношений, связывающих эти переменные);
2) решение математически сформулированной задачи с использованием подходящего численного метода (в зависимости от поставленной задачи необходимо выбрать метод решения задачи, при необходимости выбрать компьютерную программу или составить эту программу для реализации решения задачи численным методом).
Задача оптимизации обычно сводится к нахождению наименьшего или наибольшего значения какой-то заданной определенной функции, которая обычно называется целевой функцией: Z = Z(xbx2,x3...xn). Это функция нескольких переменных xl,x2,x3,...,xn, переменные - это параметры задачи,
которые однозначно определяют эту целевую функцию.
В качестве целевой функции можно взять, например: максимальная стоимость произведенного продукта, минимальная стоимость ресурсов,
максимальные затраты на перевозку оборудования, минимальную стоимость ремонта оборудования, минимальные затраты на перевозки и т. п.
Обычно в практических задачах область всех значений переменных х1,х2,х3,...,хп ограничена некоторыми критериями, которые могут быть связаны с физиологической сутью задачи или другими ограничениями. Это могут быть законы физики, теоретической механики, наличие или ограничение необходимых материалов и ресурсов и т.д.
Выражения, которые описывают эти критерии, называются ограничениями задачи.
Ограничения бывают двух видов: ограничения-равенства Ь(хьх2,х3...,хп) = 0 (г = 1,2,...£) и ограничения-неравенства (хьх2,х3,...,хп) < или > 0 (/ = 1,2,... 1).
Множество значений параметров X = (хх, х2, х3 ,...,хи) при которых выполняются ограничения задачи, называется областью допустимых решений. Допустимое решение X (х*,х2,х*,...,х*), дающее экстремум целевой функции, называется оптимальным решением.
Решение задачи оптимизации заключается в нахождении значений контролируемых параметров ^, х2, х3 ,..,хп) удовлетворяющих заданным ограничениям и превращающих целевую функцию в максимум или минимум.
Совместные способы нахождения экстремума функции при наличии ограничений рассматриваются в разделе прикладной математики, которую еще называют математическим программированием. Математическое программирование в зависимости от математической модели подразделяется на линейное программирование, нелинейное программирование, целочисленное программирование, квадратичное программирование, выпуклое программирование, геометрическое программирование и др.
Остановимся подробнее на задачах линейного программирования. Линейное программирование — это раздел математики, который изучает методы решения экстремальных задач, характеризующиеся линейной зависимостью
между переменными и линейным критерием оптимальности. Программирование - планирование, формирование планов, разработка программы действий. Спектр задач, решаемых с помощью методов линейного программирования, достаточно широк. Это, например, проблема оптимального использования ресурсов при планировании производства; проблема смесей (планирование состава продукта); проблема поиска оптимального сочетания различных видов продукции; транспортные задачи (перемещение товаров); анализ размещения социальных и промышленных объектов (предприятий).
Задача линейного программирования линейного программирования формулируется в общем виде следующим образом: необходимо найти экстремум (min/ max) линейной функции от нескольких независимых переменных (x,x2,x3,..,xn): Zmin = c1x1 + c2x2 +... + cnxn, при ограничениях, наложенных на переменные в виде линейных неравенств (или равенств):
а2 , дг, + а12х2 +... ■+ а2пхп < Ь2,
х, >0, i = l,2
Решение задач линейного программирования удобно реализовывать с помощью надстройки «Поиск решения» в программе MS «Excel». Рассмотрим решение нескольких задач на примерах.
Задача 1: Есть три точки поставки однородного тростникового сахара А1, А2, А3 и пять точек потребления этого тростникового сахара В1, В2, В3, В4 и В5. В точках А1, А2, А3 имеется сахар соответствующего количества. Сахар должен быть доставлен в пункты В1, В2, В3, В4 и В5 соответственно. Расстояние между точками поставки и точками потребления задано в матрице C. Необходимо найти план распределения потребителей по поставщикам однородного тростникового сахара, чтобы общие транспортные расходы были минимальными.
Условия задачи 1
Таблица 1.
Потребители B1 B2 B3 B4 B5
Поставщики Стоимости перевозки единицы тростникового сахара Потребности
A1 99 11 16 5 19 330
A2 13 27 8 16 6 270
A3 6 14 8 22 11 290
Потребности 198 278 158 118 138
Необходимо найти проект рассредоточивания покупателей по поставщикам однородного тростникового сахара, чтобы общие транспортные расходы были минимальными. Составить математическую модель задачи и решите ее с помощью поиска решений в Excel. Сумма запасов и сумму потребностей равна: A1 + A2 + A3 = 330 + 270 + 290 = 890.
B1 + B2 + B3 + B4 + B5 = 198 + 278 +158+118 +138 = 890. Сумма припасов равна сумме необходимостей, то есть все припасы обязаны быть вывезены. Обозначим Xab количество груза перевозимого от Afl к
Bb и составим математическую модель задачи.
Тогда - общие затраты на перевозки составят (они должны быть минимальны):
Z = 9X11 + 11X12 + 16X13 + 5X14 + 19X15 + 13X21 + 27X23 + 8X23 + 16X24 + 6X25 + 6X31 +14X32 + 8X33 + 22X34 + 11X35 ^ min Ограничения по условию задачи: Xu + X21 + X31 = 198, X12 + X22 + X32 = 278,
X13 + X23 + X33 = 158, X13 + X23 + X33 = 158, X14 + X24 + X34 = 118, x^ + X25 + X35 = 138, X11 + X12 + X13 + X14 + X15 = 330,
X21 + X22 + X23 + X24 + X25 = 270, X31 + X32 + X33 + X34 + X35 = 290, XaJb > 0 , a = 1...3,
b = 1..5.
Найдем неотрицательные значения Xai, которые удовлетворят системе ограничений и минимизируют функцию Z - издержки на перевозки.
Войдем в меню Сервис-Поиск решения. Введем указанные выше ограничения и найдем 1тт
Параметры поиска решения
I целевую функцию:
О Максимум (§) Минимум О Значения:
*
:ограничениями:
$B$11:$F$13 = целое $B$11:$F$13 >=0 $В$7 = $В$8 $С$7 = $С$8 $D$7 = $D$8 ÎEÎ7 = $Е$8 $F$7 = SFSS $G$4 = $H$4 ÎGÎ5 = SHÎ5 ÎGÎ6 = $H$6
Загрузить/сохранить
[^1 Сделать переменные без ограничений неотрицательными
задач методом ОПГ
БС
Метод решения Для гладких
]
задач используйте поиск решения нелинейных задач методом ОПГ, для :к решения линейных задач симплекс-методом, а для негладких задач -решения.
=CyMMnPOH3B(B4:F6;Bll:F13)
А В С D Е F G н
1 Вариант В Потр<?бите^И
2 В1 В2 ВЗ В4 В5
3 Поставщики Стоимости перевозки единицы тростикового сахара Запасы Вывезено
4 А1 9 11 16 5 19 330 330
5 А2 13 27 8 16 6 270 270
6 АЗ 6 14 8 22 11 290 290
7 Потребности 198 278 158 118 138
8 Доставлено 1981 278 1581 1181 138
9 План перевозоок
10 В1 В2 ВЗ В4 В5
11 AI 0 212 0 118 0
12 А2 0 0 132 0 138
13 A3 198 66 26 0 0
14 Затраты на перевозки
15 1 7126
1С
Рисунок 1. Реализация задачи 1 в Excel
В результате получим оптимальный план перевозок и значение функции минимальных затрат: Zmm=l\26
Задача 2. Две фермы А и В имеют по 90 тонн бензина каждая. Транспортировка одной тонны бензина с фермы А в амбары 1, 2, 3, соответственно, стоит 1, 3 и 5 единиц ден, а транспортировка одной тонны с фермы В в те же амбары стоит 2, 5 и 4 единицы ден соответственно. В каждый амбар должно быть доставлено одинаковое количество тонн бензина. Составьте план транспортировки бензина, при котором транспортные расходы будут самыми низкими.
Таблица 2.
Условия задачи 2
Фермы Вагоны Запасы станции
Амбар 1 Амбар 2 Амбар 3
90 т 1 3 5 90
90 т 1 5 4 90
Запасы вагонов 60 60 60
Важно отметить, что эта задача сбалансирована, то есть запас бензина и потребность в нем равны. Для решения этой задачи мы построим ее математическую модель. Неизвестны здесь и объемы трафика. Пусть ХаЪ объем
трафика от a поставщика b-к этому потребителю. Целевой функцией являются общие транспортные расходы, т. е.
Х0,ь = 1ХП + 3Х12 + 5ХИ + ^Х21 + 5Х22 + 4Х2з ^ min.
Ограничения по условию задач: Х11 + 3Х12 + 5Х13 = 90,
Х21 + 5Х22 + 4 Х23 = 90, Х11 + Х21 = 60, 3Х12 + 5 Х22 = 60, 5Х13 + 4 Х23 = 60.
Мы нашли значения Х^, которые удовлетворяют системе ограничений и
получают минимальное значение функции Z - стоимости транспортировки.
Рисунок 2. Реализация задачи 2 в Excel
Получили оптимальный план перевозок и значение функции минимальных затрат: 2т;п = 510 ден.ед
Задача 3. Компания обслуживает 5 клиентов. Раз в день компания привозит товары своим клиентам в автомобилях. Существует 3 разных маршрута доставки, каждый из которых позволяет обслужить некоторое количество клиентов и требует использовать 1 автомобиль в течение дня. На каждый маршрут затрачивается некоторое количество денег (см. Таблицу). Необходимо выбрать маршруты, которые обеспечат обслуживание всех клиентов и, где, общие затраты будут минимальными при условии, что каждый клиент
посещается один раз в день.
Таблица 3.
Условия задачи 3
Покупатели Маршруты
кол-во x y z
1 2 3 посещение
1 1 0 1 1
2 1 0 0 1
3 1 0 1 1
4 0 1 0 1
5 0 1 1 1
Сумм. стоимость 900 1000 800
По условию задания, вам нужно посетить каждого покупателя и только один раз. Целевая функция будет иметь вид: Z = x • 900 + y • 1000 + z • 800 ^ min
, где x, y, z - это количество перевозок каждого типа.
Ограничения: "Посещение каждого покупателя только 1 раз" Введем указанные выше ограничения и найдем Zmin.
Рисунок 3. Реализация задачи 3 в Excel
В итоге получим, что суммарные издержки на маршруты составит 7 = 1900.
Задача 4. Завод собирает диваны для офисов двух размеров - А и В.
Продавцы считают, что в неделю на рынке может быть реализовано до 550
диванов. Для каждого дивана типа А требуется 2 м2 материала, а для дивана типа
В - 3 м2 материала. Завод получает до 1200 м2 материала в неделю. Для изготовления одного дивана типа А требуется 12 мин.работы оборудования , а для изготовления одного дивана типа В - 30 мин.работы. Оборудование можно использовать 160 часов в неделю. Если прибыль от продажи диванов типа А составляет 3 рубля, а от диванов В - 4 рубля, то сколько диванов каждого типа следует выпускать в неделю, чтобы получить тах прибыль в $?
Составим математическую модель задачи:
Таблица 4.
Условия задачи 4
полка А В
2 материал, м 2 3
время, мин 12 30
Прибыль, ед 3 4
полка А В Сумма
производство, штук d11 d12 d11+d12
материал, м2 d21 d22 d21+d22
время, мин d31 d32 d31+d32
Прибыль, ед d41 d42 d41+d42
ограничения на неделю
2 материал, м 1200
время, мин 9600
всего max , шт 550
Пусть Z - Максимальная прибыль от продажи диванов, тогда Z = 2dn + 3d12 + 12dn + 30d12 + 3dn + 4d12 ^ max
dn + d12 < 550
^ + d„ < 1200 Ограничения: 21 22
d31 + d32 < 9600
d41 + d42 ^ max
А А В С D Е F G
1 диван А В
2 2 материал, м 2 3
3 время, мин 12 30 ограничения на неделю
4 Прибыль, ед 3 4 материал, м2 1200
5 время, мин S 600
6 7 всего max, шт 550
диван А В сумма
8 производство, штук 217 233 450
9 г материал, м 434 699 1133
10 время, мин 2604 6990 9594
11 Прибыль, ед 651 932 1583
17
Рисунок 4. Реализация задачи 4 в Excel
В результате получим, что максимальная прибыль от диванов составила 1583 $.
Мы убедились в том, что программа MS Excel имеет громадные возможности в решении задач линейного программирования.
Библиографический список:
1. Численные методы решения задач строительства: учеб. пособие: в 2 ч. Ч. 1. / Г. Г. Кашеварова, Т.Б. Пермякова, М.Е. Лаищева. - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2015. - 161 с.
2. Решение задач оптимизации в Microsoft Excel 2010: учеб. пособие
/ Н. И. Шадрина, Н. Д. Берман; [науч. ред. Э. М. Вихтенко]. - Хабаровск: Изд-во Тихоокеан. гос. ун-та, 2016. - 101 с.