Линейное программирование

Автор работы: Пользователь скрыл имя, 12 Ноября 2011 в 17:48, реферат

Описание работы

Процессы принятия решений лежат в основе любой целенаправленной деятельности. В экономике они предшествуют созданию производственных и хозяйственных организаций, обеспечивают их оптимальное функционирование и взаимодействие”. В научных исследованиях – позволяют выделить важнейшие научные проблемы, найти способы их изучения, предопределяют развитие экспериментальной базы и теоретического аппарата. При создании новой техники – составляют важный этап в проектировании машин, устройств, приборов, комплексов, зданий, в разработке технологии их построения и эксплуатации; в социальной сфере – используются для организации функционирования и развития социальных процессов, их координации с хозяйственными и экономическими процессами.

Файлы: 1 файл

Лекции по лин. програм..docx

— 933.09 Кб (Скачать файл)

ЛИНЕЙНОЕ  ПРОГРАММИРОВАНИЕ.

ОБЩАЯ  ПОСТАНОВКА  ЗАДАЧИ.

      Процессы  принятия решений лежат в основе любой целенаправленной деятельности. В экономике они предшествуют созданию производственных и хозяйственных  организаций, обеспечивают их оптимальное  функционирование и взаимодействие”. В научных исследованиях –  позволяют выделить важнейшие научные  проблемы, найти способы их изучения, предопределяют развитие экспериментальной  базы и теоретического аппарата. При  создании новой техники – составляют важный этап в проектировании машин, устройств, приборов, комплексов, зданий, в разработке технологии их построения и эксплуатации; в социальной сфере  – используются для организации  функционирования и развития социальных процессов, их координации с хозяйственными и экономическими процессами. Оптимальные (эффективные) решения позволяют  достигать цели при минимальных  затратах трудовых, материальных и  сырьевых ресурсов.

      В классической математике методы поиска оптимальных решений рассматривают  в разделах классической математики, связанных с изучением экстремумов  функций, в математическом программировании.

      Математическое  программирование является одним из разделов исследования операций –  прикладного направления кибернетики, используемого для решения практических организационных задач. Задачи математического  программирования находят применение в различных областях человеческой деятельности, где необходим выбор  одного из возможных образов действий (программ действий).

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

      Совершенно  иная картина возникает на современном  промышленном предприятии с многосерийным  и многономеклатурным производством, когда объем входной информации столь велик, что его обработка с целью принятия определенного решения невозможна без применения современных электронных вычислительных машин. Еще большие трудности возникают в связи с задачей о принятии наилучшего решения.

      Под принятием решений в исследовании операций понимают сложный процесс, в котором можно выделить следующие  основные этапы:

      1-й  этап. Построение качественной модели  рассматриваемой проблемы, т. е.  выделение факторов, которые представляются  наиболее важными, и установление  закономерностей, которым они  подчиняются. Обычно этот этап  выходит за пределы математики.

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

      Итак, в результате этих двух этапов формируется  соответствующая математическая задача. Причем, второй этап уже требует  привлечения математических знаний.

      3-й  этап. Исследование влияния переменных  на значение целевой функции.  Этот этап предусматривает владение  математическим аппаратом для  решения математических, задач, возникающих  на втором этапе процесса принятия, решения.

      Широкий класс задач управления составляют такие экстремальные задачи, в  математических моделях которых  условия на переменные задаются равенствами  и неравенствами. Теория и методы решения этих задач как раз  и составляют содержание математического  программирования. На третьем этапе, пользуясь математическим аппаратом, находят решение соответствующих  экстремальных задач. Обратим внимание на то, что задачи математического  программирования, связанные с решением практических вопросов, как правило, имеют большое число переменных и ограничений. Объем вычислительных работ для нахождения соответствующих  решений столь велик, что весь процесс не мыслится без применения современных электронных вычислительных машин (ЭВМ), а значит, требует либо создания программ для ЭВМ, реализующих  те или иные алгоритмы, либо использования  уже имеющихся стандартных программ.

      4-й  этап. Сопоставление результатов  вычислений, полученных на 3-м этапе,  с моделируемым объектом, т. е.  экспертная проверка результатов  (критерий практики). Таким образом,  на этом этапе устанавливается  степень адекватности модели  и моделируемого объекта в  пределах точности исходной информации. Здесь возможны два случая:

          * 1-й случай. Если результаты сопоставления  неудовлетворительны (обычная ситуация  на начальной стадии процесса  моделирования), то переходят ко  второму циклу процесса. При этом  уточняется входная информация  о моделируемом объекте и в  случае необходимости уточняется  постановка задачи (1-й этап), уточняется  или строится заново математическая  модель (2-й этап), решается соответствующая  математическая задача (3-й этап) и, наконец, снова проводится  сопоставление (4-й этап).

    * 2-й случай. Если результаты сопоставления  удовлетворительны, то модель  принимается. Когда речь идет  о неоднократном использовании  на практике результатов вычислений, возникает задача подготовки  модели к эксплуатации. Предположим,  например, что целью моделирования  является создание календарных  планов производственной деятельности  предприятия. Тогда эксплуатация  модели включает в себя сбор  и обработку информации, ввод  обработанной информации в ЭВМ,  расчеты на основе разработанных  программ календарных планов  и, наконец, выдачу результатов  вычислений (в удобном для пользователей виде) для их использования в сфере производственной деятельности.

      В математическом программировании можно  выделить два направления.

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

      Ко  второму направлению – так  называемому стохастическому программированию – относятся задачи, в которых  исходная информация содержит элементы неопределенности, либо когда некоторые  параметры задачи носят случайный  характер с известными вероятностными характеристиками. Так, планирование производственной деятельности зачастую производится в  условиях неполной информации о реальной ситуации, в которой будет выполняться  план. Или, скажем, когда экстремальная  задача моделирует работу автоматических устройств, которая сопровождается случайными помехами. Заметим, что одна из главных трудностей стохастического  программирования состоит в самой  постановке задач, главным образом  из-за сложности анализа исходной информации.

      Традиционно в математическом программировании выделяют следующие основные разделы.

      Линейное  программирование – целевая функция  линейна, а множество, на котором  ищется экстремум целевой функции, задается системой линейных равенств и неравенств. В свою очередь в  линейном программировании существуют классы задач, структура которых  позволяет создать специальные  методы их решения, выгодно отличающиеся от методов решения задач общего характера. Так, в линейном программировании появился раздел транспортных задач.

      Нелинейное  программирование – целевая функция  и ограничения нелинейны. Нелинейное программирование принято подразделять следующим образом:

      Выпуклое  программирование – целевая функция  выпукла (если рассматривается задача ее минимизации) и выпукло множество, на котором решается экстремальная  задача.,

      Квадратичное  программирование – целевая функция  квадратична, а ограничениями являются линейные равенства и неравенства.

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

      Важным  разделом математического программирования является целочисленное программирование, когда на переменные накладываются  условия целочисленности.

      Целью математического программирования является создание, где это возможно, аналитических методов определения  решения, а при отсутствии таких  методов – создание эффективных  вычислительных способов получения  приближенного решения.

Наконец, заметим, что наименование предмета – “математическое программирование”  – связано с тем, что целью  решения задач является выбор  программы действий. Рассмотрим более  подробно задачу линейного программирования.

ОБЩАЯ  И ОСНОВНАЯ  ЗЛП.

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

      Определение 1.

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

(8)

при условиях

(9)

(10)

(11)

где - заданные постоянные величины и .

Определение 2.

Функция (8) называется целевой функцией (или линейной формой) задачи (8) – (11), а условия (9) – (11) – ограничениями данной задачи.

Определение 3.

      Стандартной (или симметричной} задачей линейного программирования называется задача, которая состоит в определении максимального значения функции (8) при выполнении условий (9) и (11), где k = m и l = n.

Определение 4.

      Канонической (или основной) задачей линейного программирования называется задача, которая состоит в определении максимального значения функции (8) при выполнении условий (10) и (11), где k = 0 и l = п.

Определение 5.

      Совокупность  чисел  , удовлетворяющих ограничениям задачи (9) – (11), называется допустимым решением (или планом).

Определение 6.

      План  , при котором целевая функция задачи (8) принимает свое максимальное (минимальное) значение, называется оптимальным.

      Значение  целевой функции (8) при плане  Х будем обозначать через . Следовательно, X*оптимальный план задачи, если для любого Х выполняется неравенство [соответственно ].

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

Информация о работе Линейное программирование