Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_МиМ в экономике_текст.doc
Скачиваний:
110
Добавлен:
05.11.2018
Размер:
16.27 Mб
Скачать

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

5.1. Предмет линейного программирования

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

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

Основы линейного программирования, как отмечалось ранее, были заложены советским математиком Л.В. Канторовичем в конце 30‑х годов. В США линейное программирование зародилось во время второй мировой войны в связи с необходимостью планирования деятельности и снабжения вооруженных сил, которые вели боевые действия в других частях света. Впоследствии эта отрасль науки получила широкое распространение в промышленности.

В 1941 г. в США осуществлена постановка и простроена модель одной из центральных задач линейного программирования - транспортной задачи. Большую роль в развитии линейного программирования сыграло создание в 1947 г. американским ученым Дж. Данцигом универсального метода решения задач, который получил название "симплекс-метод".

В 1949 г. Л.В. Канторовичем и М.К. Гавуриным предложен первый точный метод для решения транспортной задачи - метод потенциалов. В последующие годы вклад в развитие теории линейного программирования внесли ученые многих стран мира.

Название "линейное программирование" начало применяться в 1951 г. вместо ранее использовавшегося "программирование в линейной структуре". Однако многие специалисты считали новое название неудачным и предлагали назвать эту отрасль науки "линейное планирование". Объясняли это тем, что такое название больше отвечает сущности этой отрасли науки и отличает ее от программирования на ЭВМ. Но в силу широкого распространения в мире это название было оставлено.

5.2. Построение оптимизационных моделей для решения экономических задач

Процесс построения оптимизационных экономико-математиче­ских моделей условно можно разделить на следующие основные этапы.

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

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

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

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

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

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

Задача об использовании ресурсов. Предприятию необходимо изготавливать два вида продукции Р1, Р2 с использование трех видов ресурсов: R1, R2, R3, количество которых ограничено. Исходные данные задачи сведены в следующую таблицу:

Таблица 1

Вид

ресурсов

Запас

ресурсов

Количество ресурсов, идущее на изготовление единицы продукции

P1

P2

R1

36

6

6

R2

20

4

2

R3

40

4

8

Доход от реализации единицы продукции, единиц стоимости

12

15

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

Построение модели начнем с обозначения неизвестных. Обозначим через x1 - количество продукции P1, а через x2 - количество продукции Р2.

Объектом исследования в данной задаче является планирование выпуска продукции с использованием ограниченных ресурсов. В качестве ресурсов на предприятии могут выступать оборудование, электроэнергия, топливо, различные виды сырья, рабочая сила и т.п. Единицы измерения количества продукции и ресурсов зависят от конкретного вида продукции и ресурсов, рассматриваемых в задаче (например, для готовой продукции, сырья, топлива - шт., кг, м, т, л и т.п.; для электроэнергии - кВтч и т.д.).

Цель исследования - составление плана выпуска продукции, приносящего максимального доход. Критерий задачи - максимальный доход. Запишем формально этот критерий. Известно, что доход от реализации единицы продукции Р1 составляет 12 ед., а количество этой продукции - x1. Следовательно, доход от реализации всей продукции P1 составит 12x1 ед. Доход от реализации единицы продукции Р2 составляет 15 ед., а количество этой продукции - х2. Следовательно, доход от реализации всей продукции Р1 и Р2 должен быть максимальным, критерий задачи будет иметь вид:

f=12x1+15x2  max.

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

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

6x1+6x2 36,

4x1+2x2  20,

4x1+8x2  40.

Смысл первого ограничения состоит в том, что фактический расход ресурса R1 на производство продукции Р1 и Р2 не должен превышать запаса этого ресурса на предприятии. Аналогичный смысл имеют второе и третье ограничения только для ресурсов R2 и R3 соответственно.

Количество продукции, выпускаемое предприятием, должно быть величиной положительной или равной 0 (если предприятие определенный вид продукции не производит). Следовательно, в модели должны присутствовать ограничения неотрицательности переменных:

x10, x20.

В целом данная задача об использовании ресурсов может быть представлена моделью:

f=12x1+15x2  max;

x10, x20.

(1)

Особенность данной задачи состоит в том, что существует множество вариантов выпуска продукции Р1 и Р2, т.е. наборов значений x1 и x2, удовлетворяющих ограничениям. Однако необходимо выбрать такой вариант (или варианты) выпуска продукции, которой приносит предприятию максимальный доход. Этот вариант (или варианты) выпуска продукции будет оптимальным. Функция f и ограничения задачи линейные.

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

Предположим, что предприятие выпускает n видов продукции с использованием m видов ограниченных ресурсов. Известны следующие величины:

- запас ресурса i-го вида;

- количество ресурса i-го вида, идущее на изготовление единицы продукции j-го вида;

- доход от реализации единицы продукции j-го вида.

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

Обозначим через - количество продукции j-го вида. Тогда задачу об использовании ресурсов в общем виде можно описать с помощью такой модели:

(2)

Задача о смесях (задача о диете). Для откорма животных необходимо из двух кормов К1 и К2 составить смесь. Задана питательность (качество) порции смеси, рассчитанной на одного животного, т.е. в ней должно содержаться: питательного вещества V1 не менее 12 ед., V2 не менее 6 ед., V3 не менее 9 ед.

Другие исходные данные задачи сведены в таблицу:

Таблица 2

Питательные вещества

Количество питательных веществ в единице корма

К1

К2

V1

3

2

V2

1

2

V3

3

1

Стоимость единицы корма, ед. стоимости

2

3

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

Построение модели начнем с обозначения неизвестных. Обозначим через x1 - количество корма К1, а через x2 - количество корма К2.

Объектом изучения в данной задаче является составление смеси кормов. Единицы измерения количества смешиваемых кормов и питательных веществ (белки, жиры, углеводы и т.п.) в различных задачах могут быть разными, в частности для кормов - т, кг, л; для питательных веществ - г и т.п.

Цель исследования - обеспечить заданную питательность (качество) смеси при минимальных затратах на корма. Критерий задачи - минимальные затраты. Запишем формально этот критерий.

Известно, что стоимость единицы корма К1 составляет 2 ед., а количество этого корма - x1. Следовательно, стоимость всего корма К1 составит 2x1 ед. Стоимость единицы корма К2 составляет 3 ед., а количество этого корма - x2. Следовательно, стоимость всего корма К2 составляет 3x2 ед. Учитывая, что стоимость всего корма К1 и К2 должна быть минимальной, критерий задачи буде иметь следующий вид:

f=2x1+3x2  min.

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

Смысл первого ограничения состоит в том, что фактическое содержание питательного вещества V1 в смеси должно быть не меньше заданного. Аналогичный смысл имеют второе и третье ограничения только для питательных веществ V2 и V3 соответственно.

Количество корма, используемое в смеси, должно быть величиной положительной или равной 0 (если определенный вид корма в смеси не используется). Следовательно, в модели должны присутствовать ограничения неотрицательности переменных:

x10, x20

В целом данная задача о смесях будет представлена моделью

f=2x1+3x2  min;

x10, x20.

(3)

Особенность данной задачи состоит в том, что существует множество вариантов смешивания кормов К1 и К2, т.е. наборов значений x1 и x2, удовлетворяющих ограничениям. Однако необходимо выбрать такой вариант (или варианты) смешивания, который обеспечивает минимальные затраты. Этот вариант (или варианты) смешивания будет оптимальным. Следовательно, данная задача, так же как и задача об использовании ресурсов, относится к задачам математического программирования, а поскольку функция f и ограничения задачи линейные, она является задачей линейного программирования.

Р

(4)

ассмотренную частную задачу о смесях можно обобщить на случай использования n видов кормов и содержания в порции смеси m питательных веществ в количествах соответственно не менее . Известны также следующие величины: - количество i-го питательного вещества, содержащееся в единице корма j-го вида; - стоимость единицы корма j-го вида.

Требуется смешать имеющиеся корма так, чтобы обеспечить заданную питательность при минимальных затратах на корма.

Обозначим через - количество корма j-го вида. Тогда задача о смесях в общем виде будет описываться моделью:

(4)

Замечание. Модель (4) может быть использована для решения задачи о диете человека. При решении такой задачи возможно получить нереальный для человека набор продуктов, например, 5 кг капусты, 2 кг хлеба и 1 кг огурцов. Это произойдет в силу того, что в задаче требуется обеспечить только заданную питательность при минимальных затратах на продукты. Указанные продукты вполне могут удовлетворить требованиям задачи. Естественно, что человека такой набор продуктов не может устраивать, так как ему необходимо мясо, птица, масло, картофель и др. Поэтому количество отдельных продуктов в такой задаче нужно ограничивать и в общем виде ограничение будет выглядеть так:

xjdj,

где dj - максимально возможное количество продукта j-го вида в диете.

В компактном виде, используя знак суммирования , задачу (4) можно записать так:

,

,

.

Задачи (2) и (4) можно представить в матричной форме записи. Для этого введем следующие обозначения:

C=(c1, c2, ..., cn) - матрица-строка коэффициентов при неизвестных в функции f;

- матрица системы ограничений;

- матрица-столбец свободных членов ограничений;

- матрица-столбец неизвестных.

Тогда задача (2) в матричной форме записи будет иметь вид:

f=CX  max,

AX  B,

X  0,

(5)

а задача (4) запишется так:

f=CX  min,

AX  B,

X  0.

(6)

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

f=CX  max (min),

AX = B,

X  0.

Задачи (5), (6), (7) представляют собой частные виды задач линейного программирования. Особенность этих задач состоит в том, что они содержат только один вид ограничений. Однако наряду с этими задачами широко распространены задачи линейного программирования со смешанными ограничениями, которые содержат два или три вида рассмотренных ограничений (, , =).