Добавил:
Без скрытых скриптов, криптомайнинга, вирусов и прочего, - чистая литература. 你好,所有那些谁花时间翻译中国 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алексеев ГВ Ковалев НГ и др Современные проблемы науки в обл.doc
Скачиваний:
34
Добавлен:
13.09.2020
Размер:
425.98 Кб
Скачать

2. Решение задачи оптимизации технологических машин и оборудования пищевых производств методами линейного программирования

2.1. Алгоритм решения простых задач условной оптимизации

Множество D называется выпуклым, если две любые точки этого множества можно соединить прямым отрезком, целиком содержащимся в D.

Замкнутое выпуклое множество D характеризуется следующим «геометрическим» свойством: касательная гиперплоскость, проведенная к любой точке границы множества D, не пересекает D.

Функция Лагранжа называется регулярной [1], если 0 = 1, т. е. в точке экстремума ранг матрицы Якоби равен М.

Для несложных задач нелинейной оптимизации изложенные выше соображения позволяют найти оптимальное решение. Алгоритм поиска оптимума состоит из четырех этапов:

– построить функцию Лагранжа;

– составить систему, определяющую стационарные точки;

– найти стационарные точки, решив эту систему;

– выделить из стационарных точек оптимум.

На первом этапе задачу следует привести к каноническому виду [2]. Если в задаче присутствует ограничение вида j (X) > 0, то оно должно быть представлено в виде j (Х) < 0. Для произвольной задачи функцию Лагранжа можно построить различными способами. Это связано с тем, что выбор множества Р неоднозначен: какие-то ограничения включаются в Р, а какие-то ограничения считаются функциональными. Множество Р обычно стараются выбрать таким, чтобы к нему можно было применить основную лемму оптимизации [2]. На первом этапе также проверяется условие регулярности, и если оно выполняется, то записывается регулярная функция Лагранжа.

На втором этапе в явном виде записываются условия оптимизации и условие допустимости  D.

На третьем этапе найти решение полученной системы в явном виде удается в исключительно редких случаях. Это связано с ее сложностью.

На четвертом этапе, если функция Лагранжа регулярна, то при анализе стационарных точек на оптимум используются теоремы 3.7 и 3.9. [2]. В противном случае требуется более громоздкий анализ стационарных точек.

2.2. Решение задачи линейной оптимизации средствами Excel и Mathcad

Задача линейного программирования, которая является частным случаем задачи оптимизации, записывается следующим образом:

F = CjXj  max(min, сonst)

аij Xjbi,

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 единиц сырья, где x – количество выпускаемой продукции Прод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 .

Полученные описанными методами значения переменных позволяют найти наибольшее (наименьшее) значение целевой функции и являются решением поставленной задачи линейной оптимизации технологической машины, оборудования или процесса пищевых про-изводств.