
- •Современные проблемы науки в области технологии машиностроения
- •Введение
- •1. Методология математического моделирования технологических машин и оборудования пищевых производств
- •1.1. Основные понятия планирования эксперимента (активный эксперимент)
- •Полный и дробный факторный эксперимент
- •Проведение эксперимента на объекте
- •Проверка воспроизводимости эксперимента
- •Получение оценок коэффициентов модели
- •Проверка значимости коэффициентов модели
- •Доверительный интервал коэффициентов
- •Проверка адекватности математической модели
- •Интерпретация модели
- •Продолжение аппроксимирующего эксперимента
- •1.2. Особенности обработки данных при пассивном эксперименте
- •Понятие о методе наименьших квадратов
- •2. Решение задачи оптимизации технологических машин и оборудования пищевых производств методами линейного программирования
- •2.1. Алгоритм решения простых задач условной оптимизации
- •2.2. Решение задачи линейной оптимизации средствами Excel и Mathcad
- •3. Варианты домашнИх заданиЙ
- •Содержание задания
- •Список ЛитературЫ
- •Современные проблемы науки в области технологии машиностроения
2. Решение задачи оптимизации технологических машин и оборудования пищевых производств методами линейного программирования
2.1. Алгоритм решения простых задач условной оптимизации
Множество D называется выпуклым, если две любые точки этого множества можно соединить прямым отрезком, целиком содержащимся в D.
Замкнутое выпуклое множество D характеризуется следующим «геометрическим» свойством: касательная гиперплоскость, проведенная к любой точке границы множества D, не пересекает D.
Функция Лагранжа называется регулярной [1], если 0 = 1, т. е. в точке экстремума ранг матрицы Якоби равен М.
Для несложных задач нелинейной оптимизации изложенные выше соображения позволяют найти оптимальное решение. Алгоритм поиска оптимума состоит из четырех этапов:
– построить функцию Лагранжа;
– составить систему, определяющую стационарные точки;
– найти стационарные точки, решив эту систему;
– выделить из стационарных точек оптимум.
На первом этапе задачу следует привести к каноническому виду [2]. Если в задаче присутствует ограничение вида j (X) > 0, то оно должно быть представлено в виде – j (Х) < 0. Для произвольной задачи функцию Лагранжа можно построить различными способами. Это связано с тем, что выбор множества Р неоднозначен: какие-то ограничения включаются в Р, а какие-то ограничения считаются функциональными. Множество Р обычно стараются выбрать таким, чтобы к нему можно было применить основную лемму оптимизации [2]. На первом этапе также проверяется условие регулярности, и если оно выполняется, то записывается регулярная функция Лагранжа.
На втором этапе в явном виде записываются условия оптимизации и условие допустимости Y D.
На третьем этапе найти решение полученной системы в явном виде удается в исключительно редких случаях. Это связано с ее сложностью.
На четвертом этапе, если функция Лагранжа регулярна, то при анализе стационарных точек на оптимум используются теоремы 3.7 и 3.9. [2]. В противном случае требуется более громоздкий анализ стационарных точек.
2.2. Решение задачи линейной оптимизации средствами Excel и Mathcad
Задача линейного программирования, которая является частным случаем задачи оптимизации, записывается следующим образом:
F = CjXj max(min, сonst)
аij Xj bi,
dj Xj Dj,
i = 1, m; j = 1 , n.
Задача линейного программирования является достаточно распространенной при принятии оптимальных решений. Аналитический метод решения задач линейного программирования заключается в следующем:
– найти вершины области допустимых решений (ОДР) как точки пересечения ограничений;
– определить последовательно значения целевой функции в вершинах;
– вершина, в которой целевая функция приобретает оптимальное (максимальное или минимальное) значение, является оптимальной вершиной;
– координаты этой вершины и являются искомыми оптимальными значениями переменных.
Решение этой задачи рассмотрим на примере задачи распределения ресурсов. Достаточно часто математической моделью таких задач является задача линейного программирования.
Рассмотрим следующий пример.
Требуется определить, в каком количестве надо выпустить продукцию четырех типов: Прод1, Прод2, Прод3, Прод4, для изготовления которой требуются ресурсы трех видов: трудовые, сырье, финансы. Количество ресурса каждого вида, необходимое для выпуска единицы продукции данного типа, называется нормой расхода. Нормы расхода, а также прибыль, получаемая от реализации единицы каждого типа продукции, приведены в табл. 12. Там же даны количественные показатели располагаемых ресурсов.
Таблица 12
Условия задачи линейного программирования
Ресурсы |
Прод1 |
Прод2 |
Прод3 |
Прод4 |
Знак |
Наличие |
Прибыль |
60 |
70 |
120 |
130 |
max |
|
Трудовые ресурсы |
1 |
1 |
1 |
1 |
|
16 |
Сырье |
6 |
5 |
4 |
3 |
|
110 |
Финансы |
4 |
6 |
10 |
13 |
|
100 |
Составим математическую модель, для чего введем следующие обозначения:
Хj – количество выпускаемой продукции j-го типа, j = 1,4;
bi – количество располагаемого ресурса i-гo вида, i = 1,3;
aij – норма расхода i-гo ресурса для выпуска единицы продукции j-гo типа;
сj – прибыль, получаемая от реализации единицы продукции j-гo типа.
Теперь приступим к составлению модели.
Как видно из таблицы, для выпуска единицы Прод1 требуется 6 единиц сырья, значит, для выпуска всей продукции Прод1 требуется 6xj единиц сырья, где xj – количество выпускаемой продукции Прод1. С учетом того, что для других видов продукции зависимости аналогичны, ограничение по сырью будет иметь вид:
6х1 + 5х2 + 4х3 + 3х4 110.
В этом ограничении левая часть равна величине потребного ресурса, а правая показывает количество имеющегося ресурса.
Аналогично можно составить неравенства ограничений для остальных ресурсов и написать зависимость для целевой функции. Тогда математическая модель задачи будет иметь вид:
F = 60x1 + 70x2 + 120x3 + 130x4 max,
x1 + x2 + x3 + x4 16,
6x1 + 5x2 + 4x3 + 3x4 110,
4x1 + 6x2 + 10x3 + 13x4 100,
xj 0; j = 1,4.
Для аналитического решения задач линейного программирования разработан специальный алгоритм направленного перебора вершин. Этот алгоритм обеспечивает переход от одной вершины к другой в таком направлении, при котором значение целевой функции от вершины к вершине улучшается. Такой метод называют симплекс-методом. Вычисления, обеспечивающие определение значения целевой функции и переменных в одной вершине, называются итерацией.
Алгоритм симплекс-метода сводится к следующему:
1) записать задачу в канонической форме;
2) разделить переменные на базисные и свободные;
3) выразить базисные переменные через свободные переменные;
4) проверить неотрицательность базисных переменных;
5) выразить функцию цели f через свободные переменные;
6) вычислить полученное базисное решение и функцию цели f на нем, приравняв к 0 свободные переменные;
7) если все коэффициенты свободных переменных одного знака – задача решена;
8) если не выполнен п. 7, то определить включаемую в число базисных новую переменную;
9) вернуться к п. 3 и повторять все этапы, пока не выполнится п. 7.
Реализация симплекс-метода в Excel осуществлена с использованием надстройки Поиск решения.
Для решения задачи необходимо:
1) cоздать форму для ввода условий задачи;
2) указать адреса ячеек, в которые будет помещен результат решения (изменяемые ячейки);
3) ввести исходные данные;
4) ввести зависимость для целевой функции;
5) ввести зависимости для ограничений;
6) указать назначение целевой функции (установить целевую ячейку);
7) ввести ограничения;
8) ввести параметры решения для задачи линейного программирования.
Реализация симплекс-метода в пакете Mathcad может быть осуществлена с помощью операторов символьных вычислений.
Систему ограничений записывают после набора оператора Given. Для записи знака равенства в уравнениях необходимо использовать комбинацию клавиш «Ctrl» и « = ». Далее необходимо использовать оператор Find(x1, x2, … xM) , в скобках которого указаны все базисные переменные, а стрелка набирается при помощи клавиш «Ctrl» и « > ». Аналитическое решение получают с помощью команды Live Symbolics из меню.
Пример 3:
Given
2 · х1 + 4 · х2 – 2 · х3 + у1 = 400
0,6 · x1 + 0,2 · x2 + y2 = 65
2 · x1 + 4 · x2 + y3 = 1000
x3 + y4 = 250
–0,5 · x1 – 0,5
· x3 + 0,25 · y1 +
100
Find (x2, y2 y3y4) –0,5 · x1 – 0,1 · x3 + 0,05 · y1 + 45
–2 · x3 + y1 + 600
–1 · x3 + 250 .
Полученные описанными методами значения переменных позволяют найти наибольшее (наименьшее) значение целевой функции и являются решением поставленной задачи линейной оптимизации технологической машины, оборудования или процесса пищевых про-изводств.