Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕХНОЛОГИИ И ДИЗАЙНА» Кафедра ткачества ОПТИМИЗАЦИЯ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ Методические указания и задания к контрольным работам для студентов специальности 260704 «Технология ткачества» заочной формы обучения Составители: В. М. Суркова В. Ф. Булгаков Санкт-Петербург 2007 Утверждено на заседании кафедры 13 февраля 2006 г., протокол № 6 Рецензент В. В. Архалова Оригинал подготовлен авторами Подписано в печать Печать трафаретная. Формат 60х84 1/16. Тираж 100 экз. Усл. печ. л. 1.6. Заказ Отпечатано в Издательско-полиграфическом центре СПГУТД 191028, Санкт-Петербург, ул. Моховая, 26 1. ВВЕДЕНИЕ Методы оптимизации эффективно - применяются в самых различных областях человеческой деятельности. Они отличаются большим разнообразием в зависимости от вида решаемых инженерных задач. Одни из них, такие, как методы минимизации функции одной переменной, являются совсем простыми, другие, как, например, методы решения нелинейных задач условной оптимизации большой размерности, требуют специальной математической подготовки. Данные методические указания рассчитаны на студентов специальности 260704 «Технология ткачества» заочной формы обучения. Количество часов аудиторных занятий, отведенных для дисциплины «Оптимизация технологических процессов» у студентов-заочников, а также уровень их математической подготовки не позволяют подробно изучить все методы оптимизации. Из всего их многообразия в методических указаниях рассматриваются только методы решения задач линейного программирования и методы поиска оптимума одномерной функции, первые из-за широкого распространения задач линейного программирования в технике, вторые – из-за своей простоты. В методических указаниях рассматривается геометрический метод решения задачи распределения разнородных ресурсов и методы исключения интервалов для одномерных функций. 3 2. Линейное программирование Задачами линейного программирования (ЛП) называются оптимизационные задачи, в которых ограничения и целевая функция линейны. Ограничения могут быть представлены в виде равенств и неравенств. Оптимизационные модели ЛП получили наибольшее распространение в практике. Около 75% всех решаемых оптимизационных задач являются задачами ЛП. Это объясняется рядом достоинств линейных моделей оптимизации, к которым относятся: * возможность учета в модели большого числа (сотен и тысяч) управляемых переменных и ограничений; * наличие эффективного метода решения задач ЛП – симплекс-метода – и его развитого программного обеспечения; * анализ чувствительности решения к вариациям исходных данных; * единственность решения и простые способы проверки противоречивости или недостаточности ограничений. В текстильной промышленности методами ЛП решаются следующие оптимизационные задачи: * оптимизация состава смеси волокон по ее стоимости; * оптимизация состава смеси по неровноте волокон ( их длине, линейной плотности, разрывной нагрузке); * определение оптимального ассортимента пряжи, ткани, трикотажа, вырабатываемых фабрикой на имеющемся оборудовании; * выбор оптимального пути транспортировки сырья (полуфабрикатов) от производителя к потребителю; * выбор оптимального режима работы оборудования в целях получения наибольшей эффективности производства при заданных ограничениях на сопровождающие производство отрицательные эффекты экономического, социального, экологического характера. Пример. Ткацкая фабрика производит ткань 2 артикулов. Для производства 10 тыс. м2 ткани 1-го артикула фабрике необходимы 1т тонковолокнистого (ТВ) и 3 т средневолокнистого (СВ) хлопка. Для выпуска 100 тыс.м2 ткани 2-го артикула. – соответственно 5 и 6 т такого же хлопка. Поставки ТВ хлопка не превышают 80 т, а СВ – 150 т. По плану фабрика должна произвести не менее 60 тыс. м2 ткани 1-го артикула и 800 тыс. м2 ткани 2-го артикула. Прибыль от продажи 10 тыс. м2 ткани 1-го артикула составляет 160 тыс. р., а от продажи 100 тыс. м2 ткани 2-го артикула – 600 тыс. р. Предполагая, что вся произведенная ткань будет распродана, определить оптимальный план производства ткани, обеспечивающий получение наибольшей прибыли. Эта задача относится к группе задач, имеющих общее название задачи распределения ресурсов, так как в ней имеющиеся ресурсы (запасы хлопка) 4 распределяются между двумя потребителями (артикулы ткани) в целях получения максимальной прибыли. Для решения поставленной задачи необходимо построить ее математическую модель. Осуществим это построение поэтапно: 1. Выбор целевой функции или критерия оптимизации. Это та величина, которую мы должны оптимизировать (максимизировать или минимизировать) в процессе решения задачи. В нашем примере она указана в условии: прибыль от продажи ткани. 2. Выбор управляемых переменных. Управляемые переменные в задачах ЛП – это те величины, которые мы можем изменять, чтобы добиться максимума (минимума) целевой функции. Для данной задачи это количество ткани 1-го и 2-го артикулов: Х1 – количество вырабатываемой ткани 1-го артикула (10 тыс. м2); Х2 – количество вырабатываемой ткани 2-го артикула (100 тыс. м2). Выбор разных единиц измерения для Х1 и Х2 позволяет выполнить весь анализ в более удобном масштабе. Теперь целевую функцию можно выразить через переменные Х1 и Х2: F(X1,X2) = 160 X1 + 600 X2 3. Выделение и формализация ограничений. Ограничения в задачах ЛП имеют вид линейных уравнений или неравенств. Они ограничивают область изменения управляемых переменных. 3.1.Ограничения по количеству используемого сырья: для ТВ хлопка Х1 + 5 Х2 80 для СВ хлопка 3 Х1 +6 Х2 150 3.2.Ограничения по объемам производства: для ткани 1-го артикула Х1 6; для ткани 2-го артикула Х2 8. 3.3.Ограничения по физическому смыслу: Х1 0; Х2 0. В данном примере ограничения по физическому смыслу выполняются автоматически за счет ограничений по объемам производства, но так бывает далеко не всегда, поэтому лучше всегда указывать эти ограничения. Целевая функция и ограничения образуют оптимизационную математическую модель задачи, в которой необходимо найти такие Х1 и Х2, которые удовлетворяли бы всем ограничениям одновременно (были допустимыми) и при этом давали бы функции F(X1, X2) максимальное значение среди всех возможных допустимых Х1 и Х2. 5 2.1. Геометрический метод решения задач линейного программирования Этот метод используется для решения частного случая задач ЛП, содержащих две управляемые переменные, так как их можно изобразить на плоскости. Геометрический метод решения включает следующие этапы: 1. Определение на плоскости (Х1, Х2) множества точек (области), удовлетворяющих каждому из неравенств ограничений; 2. Выделение на плоскости (Х1, Х2) множества точек (области), удовлетворяющих одновременно всем неравенствам ограничений (эта область представляет собой пересечение всех областей, найденных на этапе 1); 3. Построение на плоскости (Х1, Х2) линий уровня целевой функции F(X1, X2) = C для произвольных монотонно изменяемых значений С; 4. Отыскание на построенном графике оптимальной точки, определение ее координат и максимального значения целевой функции. Решим задачу линейного программирования геометрически. Для этого перепишем еще раз математическую модель задачи: F(X1, X2) = 160 X1 + 600 X2; (2.1) Х1 + 5 Х2 80; (2.2) 3 Х1 +6 Х2 150; (2.3) Х1 6; (2.4) Х2 8; (2.5) Х1 0; (2.6) Х2 0. (2.7) Отметим на плоскости (Х1, Х2) прямые, ограничивающие допустимые области для каждого из ограничений. Условия неотрицательности (2.6), (2.7) управляемых переменных выделяют на плоскости I квадрант (рисунок 2.1). Далее построим прямые ограничений по объемам производства (неравенства (2.4),(2.5)). Так как они содержат по одной переменной, то будут параллельны осям: Х1 = 6 || оси Х2, а Х2 = 8 || оси Х1. Прямые ограничений по количеству сырья (неравенства(2.2) и (2.3)) легче всего построить по двум точкам, лежащим на осях. Для этого приравняем нулю поочередно Х1 и Х2 для каждого уравнения и определим координаты этих точек. Например, для (2.2) Х1 + 5 ∙ Х2 = 80: Х1 = 0, Х2 = 80/5 = 16. Х2 = 0, Х1 = 80. Прямая этого ограничения (прямая ТВ на рисунке 2.1) будет проходить через точки на осях координат Х1 = 80 и Х2 = 16. Аналогично построим прямую ограничения (2.3) – прямая СВ на рисунке 2.1. Таким образом, нами построены все прямые, соответствующие ограничениям задачи. 6 С учетом знака неравенств ограничений можно определить, что допустимой областью (ОДР) задачи является четырехугольник ABCD. Априори известно, что оптимальная точка располагается в одной из вершин многоугольника ОДР. Для определения этой точки необходимо построить линии уровня целевой функции, приравняв ее некоторым произвольным значениям С. На рисунке 2.1 построены линии уровня целевой функции для С = 6 000, С = 18 000. При изменении величины С линия уровня функции подвергается параллельному переносу. Перемещая линию уровня целевой функции С = 6 000 параллельно самой себе в сторону возрастания, приходим к выводу, что оптимальному (максимальному) решению отвечает точка С, координаты которой можно найти, решая совместно уравнения прямых, точкой пересечения которых является точка С: Х1 + 5 Х2 = 80 3 Х1 +6 Х2 = 150 Х1 = 30 Х2 = 10 F = 10 800 Х2 Х1=6 35 30 25 B1 20 F=18 000 B 15 C 10 A Х2=8 ТВ D 5 F=6 000 0 10 20 ТВ СВ 30 0 40 0 50 60 70 80 90 100 110 Х1 Рисунок 2.1 Учитывая размерность управляемых переменных, можем написать, что для получения максимальной прибыли в размере 10 800 тыс. р. следует выпускать 300 тыс. м2 ткани 1-го артикула и 1 000 тыс. м2 ткани 2-го артикула. 7 2.2. Анализ чувствительности Коэффициенты целевой функции и ограничений во всех задачах линейного программирования (ЛП) задаются в качестве исходных данных (параметров модели). Оптимальное решение зависит от исходных коэффициентов. На практике значения этих коэффициентов редко известны с абсолютной точностью. Например, будущие потребности, стоимость сырья или энергоресурсов невозможно предсказать совершенно точно. Любое изменение в исходных данных меняет условия задачи ЛП, что в свою очередь может изменить найденное оптимальное решение. Информация о том, как изменится оптимальное решение при изменении начальных данных, называется анализом чувствительности. Анализ чувствительности необходим по следующим причинам: 1. Некоторые параметры задачи ЛП, такие как финансовые средства, запасы сырья, производственные мощности, можно регулировать. Анализ чувствительности позволяет оценить влияние изменений этих параметров на оптимальное решение. Если обнаруживается, что оптимальное решение можно серьезно улучшить за счет небольших изменений заданных параметров, то целесообразно провести эти изменения. Например, если при увеличении рабочего времени за счет сверхурочных работ приращение дохода превышает дополнительные затраты на оплату труда, то сверхурочные работы экономически оправданы. 2. Во многих случаях оценки параметров получаются путем статистической обработки ретроспективных данных. Например, таким образом оценивается ожидаемый сбыт, строятся прогнозы цен и затрат. Полученные в результате оценки, как правило, не могут быть точными. Если в результате анализа чувствительности удается определить, какие параметры в наибольшей степени влияют на значение целевой функции, то целесообразно увеличить точность оценок именно этих параметров. Это позволяет повысить надежность рассматриваемой модели и получаемого решения. Сделаем анализ чувствительности для рассмотренного примера. Воспроизведем еще раз математическую модель задачи: F(X1,X2) = 160 X1 + 600 X2; (2.1) Х1 + 5 Х2 80; (2.2) 3 Х1 +6 Х2 150; (2.3) Х1 6; (2.4) Х2 8; (2.5) Х1 0; (2.6) Х2 0. (2.7) Выясним, в каких пределах изменения плановых показателей найденное решение остается оптимальным. Плановые показатели входят в ограничения (2.4) и (2.5). Из рисунка 2.1 видно, что уменьшение плановых показателей на 8 любую величину не влияет на допустимость и оптимальность найденного решения. Увеличение плана выпуска ткани 1-го артикула до величины абсциссы точки С не изменит найденного оптимального решения. Если план по выпуску ткани 1-го артикула будет лежать в пределах абсцисс точек С и D, оптимальное значение Х1 совпадет с величиной этого плана, а оптимальное значение Х2 может быть найдено по известной величине Х1 из уравнения прямой CD. Если план выпуска ткани 1-го артикула превышает величину абсциссы точки D, то план будет невыполним, так как множества решений не существует. Аналогично при увеличении плана выпуска ткани 2-го артикула в пределах ординат точек C и B эта величина плана и будет оптимальным значением Х2, а Х1 вычисляется по известному Х2 и уравнению прямой ВС. Если план выпуска ткани превышает значение ординаты точки В, то допустимого и оптимального плана производства не существует. Теперь определим, в каких пределах изменения соотношения цен на ткани 1-го и 2-го артикулов С1/С2 сохранится оптимальность найденного решения. Изменение соотношения С1/С2 меняет угол наклона линий уровня целевой функции. Решение останется оптимальным, пока этот угол наклона не превысит угла наклона линии CD, т. е. пока С1/С2< = 3/6 = 0,5. Если С1/С2 > 0,5, оптимальной станет точка D. Решение останется оптимальным, пока угол наклона линий уровня целевой функции не станет меньше угла наклона линии ВС, т. е. пока С1/С2 > 1/5=0,2. Если С1/С2 < 0,2, оптимальной становится точка В. Итак, найденное решение оптимально не только для С1 = 160, С2 = 600, но и для любых С1 и С2, если 0,2< = С1/С2< = 0,5. Рассмотрим, как влияет на найденное решение изменение величин поставок тонковолокнистого и средневолокнистого хлопка. При изменении правых частей неравенств (2.2), (2.3) наклон прямых, соответствующих этим ограничениям, не меняется. Прямые будут переноситься параллельно самим себе вправо при увеличении правых частей и влево при уменьшении. Посмотрим, что произойдет с областью допустимых решений при увеличении поставок только тонковолокнистого хлопка. Если переносить линию (ТВ) поставок тонковолокнистого хлопка вправо, то можно увеличить прибыль за счет увеличения производства тканей. Оптимальной станет точка В1. Но при дальнейшем увеличении поставок только тонковолокнистого хлопка придется снижать производство ткани 1-го артикула ниже плановых показателей, что недопустимо по условию задачи. Можно, наконец, достигнуть таких поставок, которые не могут быть переработаны из-за недостатка средневолокнистого хлопка для ткани 2-го артикула. При снижении поставок тонковолокнистого хлопка прибыль будет снижаться, так как будет выработано меньше тканей. Снижение поставок тонковолокнистого хлопка разумно производить только до тех пор, пока прямая поставок ТВ не пройдет через точку D и эта точка не станет оптимальной. При даль9 нейшем снижении поставок тонковолокнистого хлопка появятся непереработанные излишки средневолокнистого хлопка. Но, в принципе, поставки тонковолокнистого хлопка можно снижать до тех пор, пока прямая ТВ не пройдет через точку А. План производства тканей будет выполнен, но прибыль существенно уменьшится. Аналогично можно проанализировать, что произойдет с целевой функцией при изменении величин поставок средневолокнистого хлопка. При решении многих практических задач ЛП требуется найти целочисленные значения некоторых переменных, например число рабочих или число автомобилей. Задачи ЛП, требующие целочисленности переменных (или некоторой их части), называются задачами целочисленного ЛП. Как правило, решение таких задач трудоемко, обходится дорого и требует больших затрат машинного времени. На практике часто применяется способ, состоящий в решении задачи целочисленного программирования как задачи ЛП. Значения некоторых переменных могут оказаться целыми, а для остальных переменных производится округление до ближайшего целого так, чтобы не нарушались ограничения задачи. Обычно этот способ дает хорошее целочисленное решение, достаточно близкое к оптимальному. Если же целочисленные переменные являются булевыми (т.е. принимают значения только 0 или 1), следует применять другие методы. 3. Поиск оптимума функции одной переменной Все одномерные методы поиска, используемые на практике, основаны на предположении, что исследуемая функция в допустимой области, по крайней мере, обладает свойством унимодальности. Функция f(x) является унимодальной на отрезке a x b в том случае, если она монотонна по обе стороны от единственной на рассматриваемом интервале (a, b) оптимальной точки х* (рисунок 3.1), т. е. для точек х1 и х2 х* х1 х2 f(х*) f(х1) f(х2), х* х1 х2 f(х*) f(х1) f(х2). a x2 x1 x * x1 x2 Рисунок 3.1 10 b 3.1. Методы исключения интервала. Определение границ интервала поиска В процессе применения одномерных методов поиска оптимума функции можно выделить два этапа: 1. Этап установления границ интервала; 2. Этап уменьшения интервала. Пусть функция f(х) унимодальна на замкнутом интервале a x b, а ее минимум достигается в точке х* (рисунок 3.2). Рассмотрим точки х1 и х2, для которых а < х1 < х2 < b. 1. Если f(x1) > f(x2), то x* (x1, b); 2. Если f(x1) < f(x2), то x* (a, x2); 3. Если f(x1) = f(x2), то x* (х1, x2). Поиск граничных точек проводится с помощью эвристических (не имеющих строгого обоснования, а опирающихся на опыт и интуицию) методов поиска, в соответствии с одним из которых, предложенным Свенном, (k+1)-я пробная точка определяется по рекуррентной (выражающей каждый член последовательности через ее предыдущий член) формуле. f(x) f(x1) f(x2) a x1 x* x2 b x Рисунок 3.2 xk+1 = xk + 2k , k = 0,1,2,.., где х0 – произвольно выбранная начальная точка, – подбираемая некоторым способом величина шага. Знак подбирается путем сравнения значений f(x0), f(x0+) и f(x0–). Если f(x0–) f(x0) f(x0+), то согласно предположению об унимодальности точка минимума должна располагаться правее точки х0 и величина выбирается положительной. 11 Если f(x0–) f(x0) f(x0+), то выбирается отрицательной. Если f(x0–) f(x0) f(x0+), то точка минимума лежит между x0– и x0+и поиск граничных точек завершен. Эффективность поиска граничных точек зависит от величины шага . Если велико, то получаем грубые оценки координат граничных точек, и построенный интервал весьма широк. Если мало, то для определения граничных точек может понадобиться большой объем вычислений. Пример. Определить границы интервала поиска минимума функции f(x)=(100-x)2 при заданной начальной точке х0=30 и величине =5. Определим знак , сравнивая значения f(x0) = f(30) = (100 - 30)2 = 4 900 f(x0 +) = f(30 + 5) = (100 - 35)2 = 4 225 f(x0 –) = f(30 - 5) = (100 - 25)2 = 5 625 Так как f(x0 –) f(x0) f(x0 +), то шаг – положителен, а координата точки минимума х* должна быть больше 30. По рекуррентной формуле Свенна имеем: х1 = х0 + 20 = 30 + 5 = 35, х2 = х1 + 21 = 35 + 2 5 = 45. f(x2) = f(45) = (100 - 45)2 = 3 025 < f(x1), т.е. х* > 35. Далее по формуле Свенна имеем: х3 = х2 + 22 = 45 + 20 = 65, f(x3) = f(65) = (100 - 65)2 = 1 225 < f(x2), т. е. х* > 45. x4 = x3 + 23 = 65 + 40 = 105, f(x4) = f(105) = (100 - 105)2 = 25 < f(x3), т. е. х* > 65, х5 = х4 + 24 = 105 + 80 = 185, f(x5) = f(185) = (100-185)2 = 7 225 > f(x4), т. е. х* <185. Таким образом, нами определены границы 65 х* 185 интервала поиска минимума функции f(x) = (100 - x)2. После определения границ интервала можно приступать к уменьшению интервала поиска в целях получения уточненных оценок координат оптимума. Величина подынтервала, исключаемого на каждом шаге, зависит от расположения пробных точек х1 и х2 внутри интервала поиска. 3.2. Метод деления интервала пополам Метод позволяет исключить половину интервала на каждой итерации. Основные шаги поисковой процедуры нахождения точки минимума в интервале (a, b): 1. Принимаем хm = (a + b)/2, L = b - a. Вычислить f(xm). 2. x1 = a + L/4; x2 = b - L/4. Вычислить f(x1) и f(x2). 12 3. Сравнить f(x1) и f(xm). Если f(x1) f(xm), исключить интервал (xm, b), положив b = xm. Средней точкой нового интервала поиска становится точка х1. xm = x1. Перейти к п.5. Если f(x1) f(xm), перейти к п. 4. 4. Сравнить f(x2) и f(xm). Если f(x2) f(xm), исключить интервал (a, xm), положив xm = a. x2 становится точкой xm. Средней точкой нового интервала становится точка x2. Перейти к п.5. Если f(x2) f(xm), исключить интервалы (a, x1) и (х2, b), положив а = х1, b = x2. xm остается средней точкой нового интервала. Перейти к п. 5. 5. Вычислить L = b - a. Если величина L ( – некоторое заданное значение точности), закончить поиск. В противном случае вернуться к п. 2. Пример. Определить минимум функции f(x) = (100 - x)2 на интервале (a = 65, b = 185) с точностью = 0,1. Решение: хm = (a + b)/2 = (65 + 185)/2 = 125, L = b - a = 185 - 65 = 120. f(xm) = f(125) = 625. x1 = a + L/4 = 65 + 30 = 95; x2 = b - L/4 = 185 - 30 = 155. f(x1) = f(95) = (100-95)2 = 25; f(x2) = f(155) = (100 - 155)2 = 3 025. f(x1) < f(xm). Исключаем интервал (xm, b). Новый интервал поиска: а = 65, b = 125. L = 125 - 65 = 60. Повторяем процедуру поиска. хm = (a + b)/2 = (65 + 125)/2 = 95. L = b - a = 125 - 65 = 60. f(xm) = f(95) = (100 - 95)2 = 25. x1 = a + L/4 = 65 + 15 = 80; x2 = b - L/4 = 125 - 15 = 110. f(x1) = f(80) = (100 - 80)2 = 400; f(x2) = f(110) = (100 - 110)2 = 100. f(x1) > f(xm). f(x2) > f(xm). Исключаем интервалы (a, x1) и (x2, b). Новый интервал поиска: а = 80, b = 110. L = b - a = 110 - 80 = 30. L > . Повторяем процедуру поиска до тех пор, пока L не станет меньше заданного . Результаты поиска минимума функции методом деления интервала пополам приведены в таблице 3.1. 13 Определение минимума функции методом деления интервала пополам = 0,1 f(x) = (100 - x)2 Таблица 3.1 - Результаты расчета Итерация 1 2 3 4 5 6 7 8 9 10 11 12 a 65,00 65,00 80,00 95,00 95,00 98,75 98,75 99,69 99,69 99,92 99,92 99,98 b L xm 185,00 120,00 125,00 125,00 60,00 95,00 110,00 30,00 95,00 110,00 15,00 102,50 102,50 7,50 98,75 102,50 3,75 100,63 100,63 1,88 99,69 100,63 0,94 100,16 100,16 0,47 99,92 100,16 0,23 100,04 100,04 0,12 99,98 100,04 L< l x1 95,00 80,00 87,50 98,75 96,88 99,69 99,22 99,92 99,80 99,98 99,95 x2 f(x1) f(xm) f(x2) 155,00 25,00 625,00 3025,00 110,00 400,00 25,00 100,00 102,50 156,25 25,00 6,25 106,25 1,56 6,25 39,06 100,63 9,77 1,56 0,39 101,56 0,10 0,39 2,44 100,16 0,61 0,10 0,02 100,39 0,01 0,02 0,15 100,04 0,04 0,01 0,00 100,10 0,00 0,00 0,01 100,01 0,00 0,00 0,00 3.3. Метод золотого сечения Этот метод также относится к методам исключения интервалов. Он отличается от метода деления интервала пополам тем, что единичный интервал делится двумя пробными точками на три части (рисунок 3.3). Каждая пробная точка отстоит от конца интервала на одну и ту же величину = (-1 5)/2 0,618 03. Алгоритм применения этого метода следующий: 1. Определяем величину = 0,61803 (b - a). f(x) a x1 x2 b x Рисунок 3.3 2. Определим х1 = b - ; x2 = a + . 3. Подсчитаем значения f(x1) и f(x2). 4. Сравним f(x1) и f(x2). Если f(x1) < f(x2), исключим интервал (x2, b). Положим b = x2. Определим L = b - a. Если L > , перейдем к п. 1. Если L , решение найдено. 5. Если f(x1) > f(x2), исключаем интервал (а, х1). Положим а = х1. Определим L = b - a. Если L > , перейдем к п. 1. Если L , решение найдено. 6. Если f(x1) = f(x2), исключаем интервалы (a, x1) и (x2, b). Положим а = х1, b = х2. Определим L = b - a. Если L > , перейдем к п. 1. Если L , решение найдено. Пример. Определить минимум функции f(x) = (100 - x)2 на интервале (a = 65, b = 185) с точностью = 0,1. Решение: Определяем величину = 0,61803(b - a) = 0,61803(185 - 65) = 74,164. Определим x1 и x2: х1 = b - = 185 - 74,164=110,836, x2 = a + = 65 + 74,164 = 139,164. f(x1) = (100 - 110,836)2 = 117,417; f(x2) = (100 - 139,164)2 = 1 533,825. f(x1) < f(x2), исключим интервал (x2, b). Новый интервал: a = 65, b = x2 = 139,164. L = b – a = 139,164 – 65 = 74,164. L > . Повторяем процедуру поиска. = 0,61803(b - a) = 0,61803∙74,164=45,836. х1 = b - = 139,164 - 45,836 = 93,328; x2 = a + = 65 + 45,836 = 110,836. f(x1) = (100 - 93,328)2 = 44,513; f(x2) = (100 - 110,836)2 = 117,417. f(x1) < f(x2), исключим интервал (x2, b). Новый интервал: a = 65, b = x2 =110,836. L = b – a = 110,836 – 65 = 45,836. L > . Повторяем процедуру поиска. = 0,61803(b - a) = 0,61803∙45,836 = 28,328. х1 = b - = 110,836 - 28,328 = 82,508; x2 = a + = 65 + 28,328 = 93,328. f(x1) = (100 - 82,508)2 = 305,978; f(x2) = (100 - 93,328)2 = 44,513. f(x1) > f(x2), исключим интервал (a, x1). Новый интервал: a = x1 = 82,508, b = x2 = 110,836. L = b – a = 110,836 - 82,508 = 28.328. L > . Повторяем процедуру поиска до тех пор, пока L не станет меньше заданного . Результаты поиска минимума функции представлены в таблице 3.2. Достоинством методов исключения интервалов является то, что они основаны лишь на вычислении значений функций. Не требуется, чтобы функции были дифференцируемыми, более того, допустимы случаи, когда функцию нельзя даже записать в аналитическом виде. Единственным требованием является возможность определения значений функции в заданных точках с помощью прямых расчетов или имитационных экспериментов. Метод же золотого сечения выделяется среди методов исключения интервалов тем, что он требует наименьшего числа оцениваний значений функции для достижения одной и той же заданной точности. 3 Поиск минимума функции методом золотого сечения = 0,1 f(x) =( 100 - x)2 = 0,618034 Таблица 3.2 - Результаты расчета Итерация 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a 65,000 65,000 65,000 82,508 93,328 93,328 97,461 97,461 99,040 99,040 99,643 99,643 99,873 99,873 99,961 99,961 b 185,000 139,164 110,836 110,836 110,836 104,149 104,149 101,594 101,594 100,619 100,619 100,246 100,246 100,104 100,104 100,049 74,164 45,836 28,328 17,508 10,820 6,687 4,133 2,554 1,579 0,976 0,603 0,373 0,230 0,142 0,088 0,054 X1 110,836 93,328 82,508 93,328 100,016 97,461 100,016 99,040 100,016 99,643 100,016 99,873 100,016 99,961 100,016 99,995 X2 139,164 110,836 93,328 100,016 104,149 100,016 101,594 100,016 100,619 100,016 100,246 100,016 100,104 100,016 100,049 100,016 f(X1) 117,417 44,513 305,978 44,513 0,000 6,446 0,000 0,922 0,000 0,128 0,000 0,016 0,000 0,002 0,000 0,000 f(X2) 1533,825 117,417 44,513 0,000 17,210 0,000 2,541 0,000 0,383 0,000 0,060 0,000 0,011 0,000 0,002 0,000 L 120,000 74,164 45,836 28,328 17,508 10,820 6,687 4,133 2,554 1,579 0,976 0,603 0,373 0,230 0,142 L< l 4. Задания к контрольной работе Варианты заданий представлены в таблицах 4.1 и 4.2. Таблица 4.1 Номер варианта 1 2 3 Линейное программирование Фабрика выпускает ткани двух артикулов. Для выпуска 1 тыс. м ткани 1-го артикула необходимо 200 кг х.-б. пряжи и 170 кг нити ПЭФ. Для производства 1 тыс. м ткани 2-го артикула требуется 175 кг х.-б. пряжи и 250 кг нити ПЭФ. По плану фабрика должна выпустить за год 10 тыс. м ткани 1-го артикула и 10 тыс. м ткани 2-го артикула. Фабрика имеет контракт на поставку ей сырья в объеме: х.-б. пряжи – 5 т, нити ПЭФ – 6 т. Прибыль от продажи 1 тыс. м ткани 1-го артикула – 4500 р., от продажи 1 тыс. м ткани 2-го артикула – 3200 р. Определить план производства ткани, обеспечивающий максимальную прибыль, при условии, что вся произведенная ткань будет распродана. При производстве тканей двух артикулов используется три типа ресурсов: I, II, III. Для производства единицы ткани 1-го артикула требуется 2, 3, и 3 единицы ресурсов I, II, III соответственно. Для производства ткани 2-го артикула – 1, 6, и 7 единиц ресурсов I, II, III. Предприятие располагает фондами ресурсов I, II, III в количествах 438, 747 и 812 единиц соответственно. Прибыль от реализации ткани 1-го артикула составляет 7 р., а от реализации ткани 2-го артикула – 5 р. Определить план производства тканей, обеспечивающий получение максимальной прибыли. Валяльно-войлочная фабрика производит два вида продукции: головные уборы и шлифовальные круги. Для производства 100 шт. головных уборов используются 25 кг шерстяного волокна (ШВ) и 8 кг пуха, а для производства 100 шт. шлифовальных кругов – 30 кг ШВ и 24 кг пуха. За месяц фабрика должна произвести по плану 4500 головных уборов и 3500 шлифовальных кругов. Прибыль от продажи 1 головного убора – 8,5 р., 1шлифовального круга – 5,7 р. Поставки шерстяного волокна не превышают 8 т, пуха – 5,5 т. Определить оптимальный план производства фабрики при условии, что вся произведенная продукция будет продана. Окончание таблицы 4.1 Номер варианта 4 5 Линейное программирование Фабрика имеет 270 станков, которые могут вырабатывать ткани 2-х артикулов. Производительность станка, вырабатывающего ткань 1-го артикула – 11,5 м/час, производительность станка, вырабатывающего ткань 2-го артикула – 15,3 м/час. 1 м ткани 1-го артикула приносит фабрике прибыль 3,8 р., 1 м ткани 2-го артикула – 1,8 р. За смену фабрика должна выпустить 1500 м ткани 1го артикула и 3200 м ткани 2-го артикула. Распределить загрузку станков, чтобы прибыль, полученная фабрикой, была максимальной. Фабрика выпускает ткань 2-х артикулов. Для производства 100 м ткани 1-го артикула используется 23 кг нити ПЭФ и 18 кг нити вискозной. Для производства 100 м ткани 2-го артикула используется 45 кг нити ПЭФ. Прибыль от реализации 100 м ткани 1-го артикула – 328 р., 2-го артикула – 560 р. Поставки сырья не превышают: нить ПЭФ – 10 т, нить вискозная – 1 т в месяц. Как изменится прибыль фабрики, если нить вискозную заменить на нить капроновую, которую можно получать в количестве 2 т в месяц, а прибыль от реализации ткани 1-го артикула изменится с 328 до 300 р. Таблица 4.2 Поиск минимума функции одной переменной Номер вариНачальная точка Функция Шаг анта x0 1 y = x2 - 40x + 450 40 3 2 2 y = 0,5x + 10x + 42 5 4 2 3 y = x + 4x - 1 -20 5 2 4 y = 0,25x - 7,5x + 26,25 0 4 2 5 y = (1 - x) + 25 -15 3 Номер варианта контрольной работы состоит из двух цифр: первая цифра– номер задачи линейного программирования, вторая – номер задачи на поиск минимума функции одной переменной. Например, вариант 42: задача линейного программирования – вариант 4; задача поиска минимума функции одной переменной – вариант 2. 3 Задачу линейного программирования необходимо решить геометрическим методом. В задаче поиска минимума функции одной переменной необходимо определить границы интервала поиска в соответствии с заданной начальной точкой и шагом поиска. Затем на найденном интервале определить минимум функции методом деления интервала пополам и методом золотого сечения с точностью = 0,5. 4 Библиография 1. Севостьянов, А. Г. Оптимизация механико-технологических процессов текстильной промышленности: учебник для вузов/А. Г. Севостьянов, П. А. Севостьянов. – М.: Легпромбытиздат, 1991. – С. 45 – 49. 2. Реклейтис, Г. Оптимизация в технике: в 2 кн. Кн.1; пер. с англ./ Г. Реклейтис, А. Рейнвиндран, К. Рэгсдел. – М.: Мир, 1986. – С. 49 – 58. 5