Постановка задачи линейного программирования

Задачей линейного программирования (ЗЛП) в нормальной форме называется задача максимизации (минимизации) целевой функции

Постановка задачи линейного программирования - student2.ru (1)

по переменным Постановка задачи линейного программирования - student2.ru удовлетворяющим неравенствам Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru , где Постановка задачи линейного программирования - student2.ru постоянные числа. Запись Постановка задачи линейного программирования - student2.ru означает, что Постановка задачи линейного программирования - student2.ru .В матричной форме задача имеет вид Постановка задачи линейного программирования - student2.ru , (4) Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru , Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru , , Постановка задачи линейного программирования - student2.ru . x называется вектором-переменной, Постановка задачи линейного программирования - student2.ru − вектор ограничений, c − вектор стоимости, Постановка задачи линейного программирования - student2.ru векторы условий, Постановка задачи линейного программирования - student2.ru матрица условий, символ Постановка задачи линейного программирования - student2.ru означает транспонирование.Наряду с нормальной формой задачи линейного программирования (4)−(6), широкое распространение получила каноническая форма, под которой понимается следующая задача Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru , Постановка задачи линейного программирования - student2.ru где все компоненты вектора x неотрицательны.Две формы ЗЛП отличаются лишь типом ограничений. В нормальной форме ограничения типа неравенств, в канонической − типа равенств. Ограничения типа неравенств можно свести введением неотрицательных свободных переменных к ограничениям типа равенств. В первое неравенство ограничений (2) добавим свободную переменную Постановка задачи линейного программирования - student2.ru , второе − Постановка задачи линейного программирования - student2.ru , последнее − Постановка задачи линейного программирования - student2.ru . Коэффициенты Постановка задачи линейного программирования - student2.ru , соответствующие свободным переменным, равны нулю.

Одним из основных аналитических методов решения ЗЛП является симплекс-метод[6-8]. Теория и алгоритм симплекс-метода строится только для канонической формы (7) − (9) ЗЛП.

Планом или допустимым решением ЗЛП называется вектор Постановка задачи линейного программирования - student2.ru , удовлетворяющий системе ограничений (8)-(9). План задачи (7)−(9), для которого линейная форма достигает максимума, называется оптимальным. План называется базисным (опорным), если вектора условий Постановка задачи линейного программирования - student2.ru соответствующие

ненулевым компонентам, линейно независимы. Базисный план называется невырожденным, если он содержит ровно m положительных компонент.

Решение ЗЛП состоит из трех основных этапов: 1) построение первоначального невырожденного базисного плана; 2) проверка плана на оптимальность; 3) в случае неоптимальности плана указание процедуры перехода к новому плану.

2 этап. Критерий оптимальности базисного плана. Критерием оптимальности рассматриваемого решения (плана) является выполнение условия Постановка задачи линейного программирования - student2.ru .Если это условие не выполняется для некоторого номера j и все элементы Постановка задачи линейного программирования - student2.ru этого столбца неположительные, то целевая функция не ограничена на множестве допустимых планов. Если же существуют столбцы с Постановка задачи линейного программирования - student2.ru , но в каждом из них имеются положительные элементы Постановка задачи линейного программирования - student2.ru тогда следует искать новый план, при котором значение функции z было бы больше. Для этого переходим к новому базису. Чтобы определить, какой вектор следует ввести в базис, просматривают последнюю строку. Вектор, соответствующий минимальному отрицательному Постановка задачи линейного программирования - student2.ru , вводится в базис (если имеется несколько таких одинаковых Постановка задачи линейного программирования - student2.ru , то берется любой). Пуст Постановка задачи линейного программирования - student2.ru , тогда вектор Постановка задачи линейного программирования - student2.ru нужно ввести в базис. Столбец, содержащий число Постановка задачи линейного программирования - student2.ru , называется разрешающим столбцом симплексной таблицы. Чтобы определить, какой вектор нужно вывести из базиса, вычисляют минимальное отношение координат Постановка задачи линейного программирования - student2.ru вектора Постановка задачи линейного программирования - student2.ru к положительным элементам Постановка задачи линейного программирования - student2.ru разрешающего столбца, т. е. находятся симплексные отношения Постановка задачи линейного программирования - student2.ru для Постановка задачи линейного программирования - student2.ru и помещают их в столбец Постановка задачи линейного программирования - student2.ru , затем среди них выбирают наименьшее − Постановка задачи линейного программирования - student2.ru . Пусть Постановка задачи линейного программирования - student2.ru , тогда вектор Постановка задачи линейного программирования - student2.ru нужно исключить из базиса. В симплексной таблице строка, содержащая число Постановка задачи линейного программирования - student2.ru , называется разрешающей, а элемент Постановка задачи линейного программирования - student2.ru , стоящий на пересечении разрешающих столбца и строки, − разрешающим (ключевым) элементом.

Разрешающие строка и столбец в симплексной таблице (табл. 1) выделяются двойными линиями и отмечаются стрелками.

3 этап. Переход к новому базисному плану. После того, как определены разрешающие строка и столбец, строится новая симплексная таблица. В первом столбце записывается новый базис. Он отличается от старого одним вектором: вместо вектора Постановка задачи линейного программирования - student2.ru в базис вводится вектор Постановка задачи линейного программирования - student2.ru . Соответственно заменяется коэффициент Постановка задачи линейного программирования - student2.ru коэффициентом Постановка задачи линейного программирования - student2.ru в столбце Постановка задачи линейного программирования - student2.ru .

Новые координаты векторов Постановка задачи линейного программирования - student2.ru находим по формулам: Постановка задачи линейного программирования - student2.ru При построении новой симплекс-таблицы рекомендуются следующие правила: 1) элементы разрешающей строки, начиная со столбца b, делятся на разрешающий элемент; 2) вместо элементов разрешающего столбца, кроме разрешающего элемента, пишутся нули, а на месте разрешающего элемента − единица; 3) все остальные элементы Постановка задачи линейного программирования - student2.ru , начиная со столбца b, находятся по правилу “прямоугольника” (Рис.1). В первоначальной таблице строят прямоугольник с вершинами в разрешающем элементе, на разрешающей строке и на разрешающем столбце, т. е. Постановка задачи линейного программирования - student2.ru Перемножаем элементы Постановка задачи линейного программирования - student2.ru , не лежащие на одной диагонали с Постановка задачи линейного программирования - student2.ru , делим результат на Постановка задачи линейного программирования - student2.ru и полученное число вычитаем из Постановка задачи линейного программирования - student2.ru . В результате получаем новое значение Постановка задачи линейного программирования - student2.ru . Аналогично вычисляются и значения Постановка задачи линейного программирования - student2.ru . Постановка задачи линейного программирования - student2.ru Новую симплекс-таблицу можно также строить по правилу “сложения строк”. В этом случае рекомендуются следующие правила заполнения симплекс-таблицы: 1) элементы разрешающей строки, начиная со столбца b, делятся на разрешающий элемент; 2) умножением элементов разрешающей строки на Постановка задачи линейного программирования - student2.ru (i-й элемент разрешающего столбца, умноженный на минус единицу) и сложением с соответствующими элементами i-й строки получают i-ю строку новой симплекс-таблицы, при этом разрешающий столбец становится единичным (1 на месте разрешающего элемента, нули − на остальных местах). После заполнения новой симплекс-таблицы проверяем план Постановка задачи линейного программирования - student2.ru на оптимальность. Если при решении задачи на максимум в новой таблице все оценки Постановка задачи линейного программирования - student2.ru , то план Постановка задачи линейного программирования - student2.ru является оптимальным; если же хотя бы одна из разностей Постановка задачи линейного программирования - student2.ru , то нужно строить новую симплексную таблицу по тем же правилам. Процесс продолжается до тех пор, пока не будет получен оптимальный план, т. е. пока не станут положительными все оценки, Постановка задачи линейного программирования - student2.ru . Все отличные от нуля координаты вектора Постановка задачи линейного программирования - student2.ru находятся в столбце вектора b, номер (индекс) координаты совпадает с номером базисного вектора, стоящего в той же строке, что и сама координата.

Поток событий. Основные понятия и характеристики

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

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

Однородный поток можно изобразить последовательностью точек на оси, соответствующей времени:

Поток событий называется регулярным, если события следует одно за другим через строго определенные промежутки времени.

Поток событий называется стационарным, если вероятность попадания того ли иного числа событий на участок времени t зависит только от длины участка и не зависит от того, где именно на оси расположен этот участок.

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

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

Поток событий называется ординарным, если вероятность попадания на элементарный участок Dt двух или более событий достаточно мало по сравнению с вероятностью попадания одного события.

Условие ординарности означает, что заявки на систему приходят по одному, а не парами, тройками и т.д. Однако, если заявки поступают только парами, только тройками и т.д., то такой поток легко свести к ординарному.

Если поток событий стационарен, ординарен и без последействий, то такой поток называется простейшим (пуассоновским)потоком.

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

В соответствии с этим законом распределения математическое ожидание числа точек, попавших попадающих на участок времени t, имеет вид:

Постановка задачи линейного программирования - student2.ru l - плотность потока – среднее число событий в единицу времени.

Вероятность того, что за время t произойдет ровно т событий, равна

Постановка задачи линейного программирования - student2.ru

Вероятность того, что в течение данного времени не произойдет ни одного события, равна:

Постановка задачи линейного программирования - student2.ru

Пусть Т – промежуток времени между двумя произвольными соседними событиями в простейшем потоке. Найдем функцию распределения

Постановка задачи линейного программирования - student2.ru

В соответствии с законом распределения Пуассона, получаем:

Постановка задачи линейного программирования - student2.ru

Математическое ожидание, дисперсия и среднее квадратическое отклонение этой величины соответственно равны:

Постановка задачи линейного программирования - student2.ru

Марковские прочесы.

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

Определение. Цепью Маркова называется последовательность испытаний, в каждом из которых появляется только одно из k несовместных событий Ai из полной группы. При этом условная вероятность pij(s) того, что в s –ом испытании наступит событие Aj при условии, что в (s – 1) – ом испытании наступило событие Ai, не зависит от результатов предшествующих испытаний.

Независимые испытания являются частным случаем цепи Маркова. События называются состояниями системы, а испытания – изменениями состояний системы.

По характеру изменений состояний цепи Маркова можно разделить на две группы.

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

Определение. Однороднойназывается цепь Маркова, если условная вероятность pij перехода системы из состояния i в состояние j не зависит от номера испытания. Вероятность pij называется переходной вероятностью.

Допустим, число состояний конечно и равно k.

Тогда матрица, составленная из условных вероятностей перехода будет иметь вид:

Постановка задачи линейного программирования - student2.ru

Эта матрица называется матрицей перехода системы.

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

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

Пусть Pij(n) – вероятность того, что в результате n испытаний система перейдет из состояния i в состояние j, r – некоторое промежуточное состояние между состояниями i и j. Вероятности перехода из одного состояния в другое pij(1) = pij.

Тогда вероятность Pij(n) может быть найдена по формуле, называемой равенством Маркова:

Постановка задачи линейного программирования - student2.ru

Здесь т – число шагов (испытаний), за которое система перешла из состояния i в состояние r.

В принципе, равенство Маркова есть ни что иное как несколько видоизменная формула полной вероятности.

Зная переходные вероятности (т.е. зная матрицу перехода Р1), можно найти вероятности перехода из состояния в состояние за два шага Pij(2), т.е. матрицу Р2, зная ее – найти матрицу Р3, и т.д.

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

Тогда в общем виде можно записать: Постановка задачи линейного программирования - student2.ru

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

Финальные вероятности

Теорема. (теорема о предельных вероятностях) Пусть дана регулярная цепь Маркова с п состояниями и Р – ее матрица вероятностей перехода. Тогда существует предел Постановка задачи линейного программирования - student2.ru и матрица Р(¥) имеет вид: Постановка задачи линейного программирования - student2.ru

Т.е. матрица состоит из одинаковых строк.

Теперь о величинах ui. Числа u1, u2, …, un называются предельными вероятностями.Эти вероятности не зависят от исходного состояния системы и являются компонентами собственного вектора матрицы РТ (транспонированной к матрице Р).

Этот вектор полностью определяется из условий:

Постановка задачи линейного программирования - student2.ru

Пример. Найдем предельные вероятности для рассмотренного выше примера.

Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru

Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru Постановка задачи линейного программирования - student2.ru C учетом того, что u1 + u2 = 1, получаем:

Постановка задачи линейного программирования - student2.ru Получаем: Постановка задачи линейного программирования - student2.ru

Процесс гибели – размножения и циклический процесс.

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

Т.е. каждое из состояний системы связано с двумя соседними состояниями прямой и обратной связью, крайние состояния имеют только по одному соседнему.

Здесь lijплотность вероятности перехода системы из состояния Si в состояние Sj в момент времени t.

Эта плотность находится по формуле:

Постановка задачи линейного программирования - student2.ru

Dt – время перехода из одного состояния в другое.

Изменив знак целвой функции (1) от ЗЛП на max можно перейти к задаче на min и наоборот.шзшзш

лица 2

Наши рекомендации