Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕКСТЫ для лабработы 3 / вариант №19.rtf
Скачиваний:
30
Добавлен:
02.04.2015
Размер:
11.96 Mб
Скачать

1

Задачи линейного программирования

3.1. Методы решения задач

3.1.1. Постановка задачи

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

(3.1.1)

Задача линейного программирования является достаточно распространенной задачей принятия оптимальных решений, особенно в экономике. Решение этой задачи рассмотрим на примере задачи распределения ресурсов. Но сначала маленькое отступление.

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

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

Задачу линейного программирования можно решать аналитическими и графическими методами. Аналитические методы, которые представляют собой последовательность вычислений по некоторым правилам, являются основой для решения задачи на компьютере. Их единственный недостаток заключается в том, что в отличие от графических методов, они совершенно не наглядны. Графические же методы достаточно наглядны, но они пригодны лишь для решения таких задач, в которых число переменных n = 2, что дает возможность представлять задачу на плоскости. Однако, учитывая наглядность графических методов, идею решения задачи линейного программирования мы рассмотрим с их помощью.

Начнем с простых примеров.

Как известно, уравнение прямой имеет вид

a1x1+a2x2=b. (3.1.2)

Построим прямую

12=2.

Для этого запишем уравнение в виде

. (3.1.3)

При такой форме записи в знаменателе показаны отрезки, которые отсекает прямая (3.1.3) на осях координат, что показано на рис. 3.1.1.

Рис. 3.1.1

Если от уравнения (3.1.2) перейти к неравенству

12 2, (3.1.4)

то его можно представить графически, как это показано на рис. 3.1.2.

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

Рис. 3.1.2

На рис. 3.1.2 часть плоскости, которая не удовлетворяет неравенству и расположена выше прямой, заштрихована. Координаты всех точек, принадлежащих не заштрихованной части плоскости, имеют такие значения x1 и x2, которые удовлетворяют заданному неравенству. Эта полуплоскость является областью допустимых решений (ОДР).

Построим теперь систему неравенств:

(3.1.5)

х1 0; х2 0

Для удобства построения запишем ее в форме уравнения в отрезках:

(3.1.6)

Рис. 3.1.3

Эта система построена на рис. 3.1.3, из которого следует, что решением этой системы являются координаты всех точек, принадлежащих ОДР, т. е. многоугольнику АВCDO.

Поскольку в ОДР бесчисленное множество точек, значит, рассматриваемая система имеет бесчисленное множество допустимых решений.

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

(3.1.7)

Эта зависимость на рис 3.1.4 представлена в форме уравнения прямой с угловым коэффициентом

х2 = F x1,

из которого видно, что tg = 1. При этом угол = 135°, а величина F равна отрезку, отсекаемому прямой на оси координат. Если прямую перемещать параллельно самой себе в направлении, указанном стрелками, то величина F будет возрастать. Совместим теперь ОДР, изображенную на рис. 3.1.3, с линией целевой функции (3.1.7), построенной на рис. 3.1.4, как это показано на рис. 3.1.5.

Рис. 3.1.4

Рис. 3.1.5

Поскольку требуется найти оптимальное решение, при котором целевая функция

,

т. е. стремится к максимуму, будем перемещать график целевой функции в направлении увеличения F. Очевидно, что оптимальным решением будут координаты точки С, равные х1* и х2*. При этом F = F*.

На основании рассмотренного можно сделать исключительно важный вывод: оптимальным решением являются координаты вершины ОДР.

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

  • Найти вершины ОДР, как точки пересечения ограничений.

  • Определить последовательно значения целевой функции в вершинах.

  • Вершина, в которой целевая функция приобретает оптимальное (максимальное или минимальное) значение, является оптимальной вершиной.

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

Эти правила, сформулированные на основании графического решения задачи на плоскости, т. е. в двухмерном пространстве, справедливы и для трехмерного. В этом случае ОДР представляет собой многогранник. Координаты каждой его вершины — это допустимые решения. Координаты той вершины, в которой целевая функция имеет максимальное (или минимальное) значение, являются оптимальным решением задачи. Для трехмерного пространства, где число переменных равно трем, это нетрудно себе представить. В практических же задачах число переменных может исчисляться десятками и даже сотнями. В этом случае никакое пространственное воображение не поможет. Что же делать? А выход один — решать задачу аналитически.

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

Соседние файлы в папке ТЕКСТЫ для лабработы 3