Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3. Математ-ое мод-ие в цоц- эконо-их про-ов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
879.47 Кб
Скачать

Введение

3

  1. Общая постановка задачи линейного программирования (ЛП).

3

  1. Геометрический метод решения задачи линейного программирования.

10

3. Симплексный метод решения задачи линейного программирования.

14

  1. М-метод искусственного базиса.

18

  1. Двойственные задачи линейного программирования и их использование.

20

  1. Анализ устойчивости двойственных оценок.

24

  1. Решение задачи линейного программирования с помощью Excel.

26

  1. Тестовые вопросы.

32

  1. Задачи контрольных заданий.

45

  1. Рекомендуемая литература (основная и дополнительная).

47

Введение

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

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

1. Общая постановка задачи линейного программирования (лп)

Математическое программирование – это совокупность методов отыскания наибольшего (наименьшего) значения функции f при ограничениях, заданных m неравенствами:

f = f(x1, …, xn) Ì max (min); gi(x1, …, xn) ≥ 0, i = 1, …, m. (1.1)

Функцию f называют функцией цели, или критерием оптимальности. Задача (1.1) сводится к задаче ЛП, если f и все gi(i = 1, …, m) - линейные функции неотрицательных аргументов xj, j = 1, …, n.

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

Задача о планировании производства.

Предприятие производит изделия трех видов v1, v2, v3. По каждому виду изделий известен объем продаж, в соответствии с которым необходимо выпустить не менее b1 единиц изделия v1, не менее b2 единиц изделия v2 и не менее b3 единиц изделия v3. При этом план выпуска может быть перевыполнен, но в определенных границах; условия спроса ограничивают количества произведенных единиц изделия каждого вида: не более, соответственно, β1, β2, β3 единиц.

На изготовление изделий используется четыре вида сырья: S1, S2, S3, S4, причем их запасы ограничены числами y1, y2, y3, y4 единиц каждого вида сырья. На изготовление каждого вида изделий идет определенное количество сырья каждого вида – aij (точнее, aij – количество единиц сырья вида Si, потребляемое на изготовление одной единицы изделия vj), см. табл. 1.

Таблица 1

Сырьё

Изделия

v1

v2

v3

S1

a11

a21

a31

S2

a12

a22

a32

S3

a13

a23

a33

S4

a14

a24

a34

Реализация одного изделия v1 приносит предприятию прибыль C1, соответственно, v2 - прибыль C2, v3 - прибыль C3. Требуется так спланировать производство (сколько каких изделий производить), чтобы план был выполнен или перевыполнен (но при отсутствии «затоваривания»), а суммарная прибыль обращалась в максимум.

Запишем данную задачу в форме задачи линейного программирования. Элементами решения будут x1, x2, x3 - количества единиц изделий v1, v2, v3, которые необходимо произвести. Обязательность выполнения планового задания запишется в виде трех ограничений – неравенств:

x1b1, x2b2, x3b3. (1.2)

Отсутствие излишней продукции (затоваривания) даст еще три ограничения – неравенства:

x1 ≤ β 1, x2 ≤ β 2, x3 ≤ β3. (1.3)

Каждого из четырех видов сырья должно хватить, отсюда следуют четыре ограничения – неравенства:

a11x1 + a21x2 + a31x3y1

a12x1 + a22x2 + a32x3y2

a13x1 + a23x2 + a33x3y3

a14x1 + a24x2 + a34x3y4 (1.4)

Прибыль, приносимая планом (x1, x2, x3), будет равна:

L = C1x1 + C2x2 + C3x3. (1.5)

Таким образом, сформулирована задача линейного программирования: найти (подобрать) такие неотрицательные значения переменных x1, x2, x3, чтобы они удовлетворяли неравенствам-ограничениям (1.2), (1.3), (1.4) и, вместе с тем, обращали в максимум линейную функцию этих переменных:

L = C1x1 + C2x2 + C3x3 Ì max. (1.6)

Задача о загрузке оборудования.

Малое предприятие располагает двумя видами универсальных станков N1 и N2. Каждый из станков может производить три вида изделий: Т1, Т2, Т3, но с разной производительностью. Данные aij производительности станков даны в таблице 2 (первый индекс – тип станка, второй – вид изделия).

Таблица 2

Тип станка

Вид изделия

Т1

Т2

Т3

1

a11

а12

а13

2

a21

а22

а23

Каждое изделие вида Т1 приносит предприятию доход С1, вида Т2 - доход С2, вида Т3 - доход С3. Предприятие, исходя их намеченного объема продаж, должно производить в месяц не менее b1 изделий вида Т1, b2 изделий вида Т2 и b3 изделий вида Т3. Количество изделий каждого вида не должно превышать, соответственно, β1, β2, β3 штук.

Кроме того, все станки должны быть загружены. Требуется так распределить загрузку станков производством изделий Т1, Т2, и Т3, чтобы суммарный месячный доход был максимален.

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

x11 x12 x13

x21 x22 x23 (1.7)

Запишем условия-ограничения, наложенные на элементы решения xij. Прежде всего, необходимо обеспечить выполнение заданного объема продаж, что даст нам три неравенства-ограничения:

a11x11 + a21x21b1

a12x12 + a22x22b2

a13x13 + a23x23b3 (1.8)

После этого ограничим перевыполнение объема продаж, это даст нам еще три неравенства-ограничения:

a11x11 + a21x21 ≤ β1

a12x12 + a22x22 ≤ β2

a13x13 + a23x23 ≤ β3 (1.9)

Теперь запишем ограничения, связанные с наличием оборудования и его полной загрузкой:

x11 + x12 + x13 = N1

x21 + x22 + x23 = N2 (1.10)

После чего запишем суммарный доход от производства всех видов изделий. Суммарное количество штук изделий Т1, произведенное двумя станками, будет равно a11x11 + a21x21 и принесет доход C1 (a11x11 + a21x21). Рассуждая аналогично, найдем суммарный доход предприятия за месяц при заданном объеме продаж (1.7):

L = C1 (a11x11 + a21x21) + C2 (a12x12 + a22x22) + C3 (a13x13 + a23x23)

или, используя знаки суммирования, в более короткой записи:

(1.11)

Эту линейную функцию (1.11) шести аргументов необходимо обратить в максимум: L Ì max

Перед нами – опять задача линейного программирования: найти такие неотрицательные значения переменных x11, x12 … , x23, которые, во-первых, удовлетворяли бы ограничениям-неравенствам (1.8), (1.9), во-вторых, - ограничениям-равенствам (1.10) и, наконец, обращали бы в максимум линейную функцию этих переменных (1.11).

Задача о снабжении сырьем.

Имеются три промышленных предприятия: П1, П2, П3, требующих снабжения определенным видом сырья. Потребности в сырье каждого предприятия равны, соответственно, а1, а2, а3 единиц. Имеются пять сырьевых баз, расположенных от предприятий на каких-то расстояниях и связанных с ними путями сообщения с разными тарифами. Единица сырья, полученная предприятием Пj с базы Вj, обходится предприятию в Сij рублей (первый индекс – номер предприятия, второй – номер базы, см. таблицу 3).

Таблица 3.

Предприятие

База

В1

В2

В3

В4

В5

П1

С11

С12

С13

С14

С15

П2

С21

С22

С23

С24

С25

П3

С31

С32

С33

С34

С35

Возможности снабжения сырьем с каждой базы ограничены их производственными мощностями, соответственно: b1, b2, b3, b4, b5 единиц сырья. Требуется составить такой план снабжения предприятий сырьем, чтобы потребности предприятий были обеспечены при минимальных расходах на сырье.

Для этого поставим задачу линейного программирования, обозначив через xij количество сырья, получаемое i-м предприятием с j-базы. Всего план будет состоять из 15 элементов решения:

x11 x12 x13 x14 x15

x21 x22 x23 x24 x25

x31 x32 x33 x34 x35 (1.12)

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

x11 + x12 + x13 + x14 + x15 = а1

x21 + x22 + x23 + x24 + x25 = а2

x31 + x32 + x33 + x34 + x35 = а3 (1.13)

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

x11 + x21 + x31b1

x12 + x22 + x32b2

x13 + x23 + x33b3

x14 + x24 + x34b4

x15 + x25 + x35b5 (1.14)

Наконец, запишем, с учетом данных таблицы 3, суммарные расходы на сырье, которые необходимо минимизировать:

(1.15)

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

Задача о кормовом рационе.

В задаче о кормовом рационе xj означает искомое количество кормов; аij – содержание питательного вещества i в корме j; bi - минимальное содержание питательного вещества i в кормовом рационе; Сi – цена за единицу корма j ( ). Система ограничений и функция цены в этом случае будут иметь вид:

xj ≥ 0

Экономический смысл неравенств заключается в том, что кормовой рацион должен содержать все необходимые питательные вещества и при этом стоимость кормовой смеси должна быть минимальной (это задачи о смесях).

Любую из рассмотренных ранее задач линейного программирования можно свести к так называемой «общей задаче линейного программирования» (ОЗЛП), которая с использованием знака суммирования ∑ формулируется так: найти экстремум (максимум или минимум) линейной целевой функции f(x)

Max(min)f( )= (1.16)

при ограничениях (условиях):

(1.17)

. . . . . . . . . . . . . . . . .

xj ≥ 0, j= (1.18)

где аij, bj, cj (i= ; j= ) – заданные постоянные величины.

Ограничения (1.17) называют функциональными ограничениями ОЗЛП, а ограничения (1.18) – прямыми. Вектор = ( x1, x2, …, xn), удовлетворяющий системе ограничений (1.17), (1.18) называется допустимым решением или планом ОЗЛП. План, при котором достигается max (min) целевой функции (1.16), называется оптимальным планом (оптимальным решением) ЗЛП.

Если все функциональные ограничения (1.17) имеют знак «≤», то задача линейного программирования называется стандартной (приведенной к стандартной форме). ОЗЛП приводится к стандартной форме умножением неравенств типа «≤» на (-1).

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

при ограничениях:

xi 0, bi0,

В линейной алгебре доказывается, что систему из r независимых уравнений с n переменными x1, x2, … ,xn всегда можно разрешить относительно каких-то r переменных (называемых «базисными») и выразить их через остальные k = nr переменные (называемые «свободными»).

Свободным переменным можно придать какие угодно значения, не нарушая условий (1.17). Так, например, для того, чтобы перейти от условий-равенств (1.17) к условиям-неравенствам, достаточно разрешить уравнения (1.17) относительно каких-то r базисных переменных, выразить их через свободные, а так как все переменные должны быть неотрицательными, то записывать условия их неотрицательности в виде ограничений-неравенств.

А потом «забыть» о базисных переменных и манипулировать только свободными, число которых будет k = n-r. При этом надо будет освободить от базисных переменных также и целевую функцию, подставив в нее выражения базисных переменных через свободные. Таким образом, при переходе от ОЗЛП к задаче с ограничениями-неравенствами число переменных не увеличивается, а уменьшается на число r независимых условий-равенств в ОЗЛП.

Переход от стандартной к канонической форме осуществляется введением дополнительных неотрицательных неизвестных – невязок неравенств. Например, от ограничений легко перейти к ограничениям в виде равенств , обозначив через x3 и x4 разности между правыми и левыми частями неравенств: x3=1-(2x1+x2)

X4=1-(x1+5x2)