- •Моделирование транспортных процессов
- •45. Понятие математической линейной оптимизационной модели. Сущность и алгоритм симплексного метода решения линейных оптимизационных моделей.
- •46. Постановка статической транспортной задачи линейного программирования. Сущность и алгоритм метода потенциалов при решении транспортной задачи линейного программирования в матричной постановке.
- •Составление опорного плана
- •Вычисление потенциалов для плана перевозки
- •Проверка плана на оптимальность методом потенциалов
- •9. Вычисление общих затрат на перевозку груза
- •47. Понятие транспортной сети. Сущность и алгоритм поиска кратчайших маршрутов на транспортной сети. Постановка и алгоритм решения транспортной задачи в сетевой постановке.
- •Техника транспорта, обслуживание и ремонт
- •48. Классификация двигателей внутреннего сгорания.
- •49. Устройство и принцип работы дизельного двигателя.
- •50. Методы организации работ в ремонтной зоне автотранспортного предприятия.
- •51. Классификация технологического оборудования для производства технического обслуживания и ремонта автомобилей.
- •52. Последовательность расчета производственной программы по техническому обслуживанию автомобильного подвижного состава.
Моделирование транспортных процессов
45. Понятие математической линейной оптимизационной модели. Сущность и алгоритм симплексного метода решения линейных оптимизационных моделей.
Математической моделью некоторого объекта, процесса или явления будем называть запись его свойств на формальном языке с целью получения нового знания (свойств) об изучаемом процессе путем применения формальных методов.
По форме описания аналитические модели подразделяются на линейные и нелинейные.
Задачей линейного программирования называется задача исследования операций, математическая модель которой имеет вид:
(2)
(3)
(4)
(5)
При этом система линейных уравнений (3) и неравенств (4), (5), определяющая допустимое множество решений задачи W, называется системой ограничений задачи линейного программирования, а линейная функция f(Х) называется целевой функцией или критерием оптимальности.
Допустимое решение – это совокупность чисел (план) X = (x1, x2, ... , xn), удовлетворяющих ограничениям задачи. Оптимальное решение – это план, при котором целевая функция принимает свое максимальное (минимальное) значение.
Если математическая модель задачи линейного программирования имеет вид:
то говорят, что задача представлена в канонической форме.
Любую задачу линейного программирования можно свести к задаче линейного программирования в канонической форме. Для этого в общем случае нужно уметь сводить задачу максимизации к задаче минимизации; переходить от ограничений неравенств к ограничениям равенств и заменять переменные, которые не подчиняются условию неотрицательности. Максимизация некоторой функции эквивалента минимизации той же функции, взятой с противоположным знаком, и наоборот.
Правило приведения задачи линейного программирования к каноническому виду состоит в следующем:
если в исходной задаче требуется определить максимум линейной функции, то следует изменить знак и искать минимум этой функции;
если в ограничениях правая часть отрицательна, то следует умножить это ограничение на -1;
если среди ограничений имеются неравенства, то путем введения дополнительных неотрицательных переменных они преобразуются в равенства;
если некоторая переменная xj не имеет ограничений по знаку, то она заменяется (в целевой функции и во всех ограничениях) разностью между двумя новыми неотрицательными переменными: x3 = x3+ - x3-, где x3+, x3- ≥ 0.
Пример 1. Приведение к канонической форме задачи линейного программирования:
min L = 2x1 + x2 - x3; 2x2 - x3 ≤ 5; x1 + x2 - x3 ≥ -1; 2x1 - x2 ≤ -3; x1 ≤ 0; x2 ≥ 0; x3 ≥ 0.
Введем в каждое уравнение системы ограничений выравнивающие переменные x4, x5, x6. Система запишется в виде равенств, причем в первое и третье уравнения системы ограничений переменные x4, x6 вводятся в левую часть со знаком "+", а во второе уравнение переменная x5 вводится со знаком "-".
2x2 - x3 + x4 = 5; x1 + x2 - x3 - x5 = -1; 2x1 - x2 + x6 = -3; x4 ≥ 0; x5 ≥ 0; x6 ≥ 0.
Свободные члены в канонической форме должны быть положительными, для этого два последних уравнения умножим на -1:
2x2 - x3 + x4 = 5; -x1 - x2 + x3 + x5 = 1; -2x1 + x2 - x6 = 3.
Симплексный метод решения задач линейного программирования.
Алгоритм симплекс-метода находит оптимальное решение, рассматривая ограниченное количество допустимых базисных решений. Алгоритм симплекс-метода всегда начинается с некоторого допустимого базисного решения и затем пытается найти другое допустимое базисное решение, "улучшающее" значение целевой функции. Это возможно только в том случае, если возрастание какой-либо нулевой (небазисной) переменной ведет к улучшению значения целевой функции. Но для того, чтобы небазисная переменная стала положительной, надо одну из текущих базисных переменных сделать нулевой, т.е. перевести в небазисные. Это необходимо, чтобы новое решение содержало в точности mбазисных переменных. В соответствии с терминологией симплекс-метода выбранная нулевая переменная называетсявводимой(в базис), а удаляемая базисная переменная —исключаемой(из базиса).
Два правила выбора вводимых и исключающих переменных в симплекс-методе назовем условием оптимальностииусловием допустимости. Сформулируем эти правила, а также рассмотрим последовательность действий, выполняемых при реализации симплекс-метода.
Условие оптимальности.Вводимой переменной в задаче максимизации (минимизации) является небазисная переменная, имеющая наибольший отрицательный (положительный) коэффициент вцелевой-строке. Если вцелевой-строке есть несколько таких коэффициентов, то выбор вводимой переменной делается произвольно. Оптимальное решение достигнуто тогда, когда вцелевой-строке все коэффициенты при небазисных переменных будут неотрицательными (неположительными).
Условие допустимости.Как в задаче максимизации, так и в задаче минимизации в качестве исключаемой выбирается базисная переменная, для которой отношение значения правой части ограничения к положительному коэффициенту ведущего столбца минимально. Если базисных переменных с таким свойством несколько, то выбор исключаемой переменной выполняется произвольно.
Приведем алгоритм решения задачи линейного программирования на отыскание максимума с помощью симплекс таблиц.
F = с1х1+с2х2+…+сnxnmax
х10, х20,…, хn0.
1-й шаг. Вводим добавочные переменные и записываем полученную систему уравнений и линейную функцию в виде расширенной системы.
F–c1x1–c2x2–…–cnxn=0=cp.
2-й шаг. Составляем первоначальную симплекс-таблицу.
Переменные Базис |
Основные и добавочные переменные |
свободные члены (решение) |
Оценочное отношение |
|||||||||
X1 |
X2 |
… |
Xn |
Xn+1 |
Xn+2 |
… |
Xn+m |
|
|
|||
хn+1 |
a11 |
a12 |
… |
a1n |
1 |
0 |
… |
0 |
b1 |
|
||
xn+2 |
a21 |
a22 |
… |
a2n |
0 |
1 |
… |
0 |
b2 |
|
||
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
||
хn+m |
am1 |
am2 |
… |
amn |
0 |
0 |
… |
1 |
bm |
|
||
F |
-c1 |
-c2 |
… |
-cn |
-cn+1 |
-cn+2 |
… |
-cn+m |
0 |
|
||
3-й шаг. Проверяем выполнение критерия оптимальности – наличие в последней строке отрицательных коэффициентов. Если таких нет, то решение оптимально и F*=co, базисные переменные равны соответствующим коэффициентам bj, неосновные переменные равны нулю, т. е. X*=(b1,b2,…, bm, 0, …, 0).
4-й шаг. Если критерий оптимальности не выполнен, то наибольший по модулю отрицательный коэффициент в последней (оценочной) строке, определяет разрешающий столбец s.
Для
определения разрешающей строки,
рассчитаем оценочные отношения
и
заполним последний столбец таблицы.
Оценочное отношение i-ой строки равно
, если bi и ais имеют разные знаки;
, если bi =0 и аis<0;
, если ais=0;
0, если bi=0 и аis>0;
В
столбце оценочных отношений находим
минимальный элемент min
который
определяет разрешающую строкуg.
Если минимума нет, то задача не имеет конечного оптимума I и является неразрешимой .
На пересечении разрешающих строки и столбца находится разрешающий элемент аgs.
5-й шаг. Строим следующую таблицу. Для этого
в левом столбце записываем новый базис, в который вместо переменной хg вводится переменная хs;
элементы разрешающей строки делятся на разрешающий элемент и заполняется строка g в новой таблице;
все остальные элементы
вычисляются
по методу Жордана-Гаусса (по правилу
прямоугольника):
Переходим к третьему шагу.
М-метод Иногда при решении ЗЛП в матрице коэффициентов при неизвестных системы ограничений нет единичных столбцов, из которых можно составить единичную матрицу, т.е. возникает проблема выбора базисных переменных, либо первоначальное решение является недопустимым. В таких случаях используют метод искусственного базиса (М - метод). Во все ограничения, где нет базисных переменных, вводятся искусственные переменные. В целевую функцию искусственные переменные вводятся с коэффициентом (- М ) для задач на max и с коэффициентом (+ М ) для задач на min, где М – достаточно большое положительное число. Затем решается расширенная задача по правилам симплексного метода. Если все искусственные переменные окажутся равными нулю, т.е. будут исключены из базиса, то либо будет получено оптимальное решение исходной задачи, либо исходная задача решается далее и находится ее оптимальное решение или устанавливается ее неразрешимость. Если хотя бы одна из искусственных переменных окажется отличной от нуля, то исходная задача не имеет решения
