(7.74)
Второе условие примет вид
(7.75)
Раз стоимость перевозки одной тонны из Рi, в QJ равна сij, то общая стоимость S всех перевозок равна
(7.76)
Таким образом, мы приходим к следующей чисто математической задаче: дана система m+k линейных алгебраических уравнений (7.74) и (7.75) с m·k неизвестными (обычно m·k » m+k) и линейная функция S. Требуется среди всех неотрицательных решений данной системы найти такое, при котором функция S достигает наименьшего значения (минимизируется).
Практическое значение этой задачи огромно, ее умелое решение в масштабах нашей страны могло бы экономить ежегодно огромные средства.
Пример 3. Задача о диете. Пусть у врача-диетолога имеется n различных продуктов F1, F2, ..., Fn, из которых надо составить диету с учетом их питательности. Пусть для нормального питания человеку необходимо m
веществ N1, N2, …, Nm. Предположим, что за месяц каждому человеку необходимо g1 кг вещества N1, g2 кг вещества N2, ..., gm кг вещества Nm. Для составления диеты необходимо знать содержание питательных веществ в каждом продукте. Обозначим через aij количество i-го питательного вещества, содержащегося в одном килограмме j-го продукта. Всю эту информацию представляют в виде, так называемой, матрицы питательности (табл. 7.11).
Матрица питательности
Питательное вещество | Продукт | |||
… | ||||
… | ||||
… | ||||
… | … | … | … | … |
… |
Предположим, что диетолог уже выбрал диету, т.е. определил, что человек должен за месяц потреблять h1 кг продукта F1,...,hn кг продукта Fn. Полное количество питательного вещества N1 будет
По условию требуется, чтобы его, по крайней мере, хватило
(7.77)
Точно то же и для остальных веществ. В целом
(7.80)
и линейная функция
(7.81)
Требуется найти такое неотрицательное решение
(7.82)системы (7.80), чтобы функция/принимала наименьшее (или наибольшее) значение.
Условия (7.80) называют ограничениями данной задачи, а функцию f- целевой функцией (или линейной формой). В приведенных выше примерах ограничения имели вид не уравнений, а неравенств. Заметим, что ограничения в виде неравенств, всегда можно свести к системе в виде равенств (способом введения добавочных неизвестных).
Так, для неравенства
(7.83)вводя добавочное неизвестное хn+1, получаем
(7.84)
Потребовав его неотрицательности наряду с остальными неизвестными, получим, что условие хn+1³ 0 превращает (7.84) в (7.83). Введя по отдельному дополнительному неизвестному для каждого из неравенств, получим систему уравнений, равносильную исходной системе неравенств.
Пример. Дана система неравенств
Сведем ее к системе уравнений. Получим
После оптимизации значениями дополнительных неизвестных следует пренебречь.
СИМПЛЕКС-МЕТОД
Для решения ряда задач линейного программирования существуют специальные методы. Есть, однако, общий метод решения всех таких задач. Он носит название симплекс-метода и состоит из алгоритма отыскания какого-нибудь произвольного допустимого решения и алгоритма последовательного перехода от этого решения к новому допустимому решению, для которого функция f изменяется в нужном направлении (для получения оптимального решения).
Пусть система ограничений состоит лишь из уравнений
(7.85)
и требуется отыскать минимум линейной функции (7.81). Для отыскания произвольного опорного решения приведем (7.85) к виду, в котором некоторые r неизвестных выражены через остальные, а свободные члены неотрицательны (как это сделать - обсудим позднее):
(7.86)
Неизвестные х1, х2, ..., хr - базисные неизвестные, набор {х1, х2, ..., хr} называется базисом, а остальные неизвестные {xr+1, хr+2, …, хn} - свободные. Подставляя (7.86) в (7.81), выразим функцию f через свободные неизвестные:
(7.87)
Положим все свободные неизвестные равными нулю:
(7.88)