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

Автор работы: Пользователь скрыл имя, 08 Декабря 2010 в 08:31, Не определен

Описание работы

Цель данного курсового проекта - составить план производства требуемой продукции, обеспечивающий максимальную прибыль от выпускаемой продукции, свести данную задачу к задаче линейного программирования, решить её симплекс - методом и составить программу для решения задачи этим методом на ЭВМ.

Файлы: 1 файл

Бенько.doc

— 1.27 Мб (Скачать файл)

 Е (А, х, y).

Аналогичной должна быть ситуация и для игрока 2, т.е. нижняя цена игры должна быть

 Е (А, х, y).

Подобно  играм, имеющим седловые точки  в чистых стратегиях, вводится следующее определение: оптимальными смешанными стратегиями  игроков 1 и 2 называются такие наборы  хо, уо  соответственно, которые удовлетворяют равенству

 Е (А, х, y) =  Е (А, х, y) = Е (А, хо, уо).

Величина  Е (А, хо ,уо) называется при этом ценой игры и обозначается через  u.

Имеется и другое определение оптимальных смешанных  стратегий:  хо, уо называются оптимальными смешанными стратегиями соответственно игроков 1 и 2, если они образуют седловую точку:

Е (А, х, уо)<= Е (А, хо, уо)<= Е (А, хо, у)

Оптимальные смешанные  стратегии и цена игры называются решением матричной игры.

Основная теорема  матричных игр имеет вид :

Теорема (о минимаксе). Для матричной игры с любой матрицей А величины

 Е (А, х, y)  и    Е (А, х, y)   существуют и равны между собой.

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

Пусть игра m × n задана платежной матрицей p = (aij ), i = 1, 2, ..., m; j = 1, 2, ..., n. Игрок А обладает стратегиями A, A, ..., A, игрок В — стратегиями B, B, ..., B. Необходимо определить оптимальные стратегии S*= ( p*,  p*, ... ,  p*) и S*= ( q*, q*, ... ,  q*), где p*i, q*— вероятности применения соответствующих чистых стратегий A, Bj,   p*1  + p*+...+ p*=1, q*+ q*+...+ q*= 1.

Оптимальная стратегия S*удовлетворяет следующему требованию. Она обеспечивает игроку А средний выигрыш, не меньший, чем цена игры v, при любой стратегии игрока В и выигрыш, равный цене игры v, при оптимальной стратегии игрока B. Без ограничения общности полагаем v > 0: этого можно добиться, сделав все элементы aij ≥ 0. Если игрок А применяет смешанную стратегию S*= ( p*,  p*, ... ,  p*) против любой чистой стратегии Bигрока В, то он получает средний выигрыш, или математическое ожидание выигрыша a= a1j p+ a2j p+...+ am j p, о = 1, 2, ..., n (т.е. элементы j-го столбца платежной матрицы почленно умножаются на соответствующие вероятности стратегий A, A, ..., Aи результаты складываются).

Для оптимальной  стратегии S*все средние выигрыши не меньше цены игры v, поэтому получаем систему неравенств:

(2.3.1)

Каждое  из неравенств можно разделить на число v > 0. Введем новые переменные:

x=  p1/v, x= p2/v , ...,  pm/v  (2.3.2)

Тогда система (2.3.1) примет вид:

(2.3.3)

Цель игрока А — максимизировать свой гарантированный выигрыш, т.е. цену игры v.  
Разделив на v ≠ 0 равенство p+ p+ ...+ p= 1 , получаем, что переменные x(i = 1, 2, ..., m) удовлетворяют условию: x+ x+ ...+ x= 1/v. Максимизация цены игры v эквивалентна минимизации величины1/v, поэтому задача может быть сформулирована следующим образом: определить значения переменных x≥ 0, i = 1, 2, ..., m, так, чтобы они удовлетворяли линейным ограничениям (
2.3.3) и при этом линейная функция

Z = x+ x+ ...+ xm, (2.3.4)

обращалась  в минимум. Это задача линейного программирования. Решая задачу (2.3.3)—( 2.3.4), получаем оптимальное решение p*+ p*+ ...+ p*и оптимальную стратегию S.  
Для определения оптимальной стратегии S*= (q*+ q*+ ...+ q*n) следует учесть, что игрок В стремится минимизировать гарантированный выигрыш, т.е. найти  . Переменные q, q, ..., qn удовлетворяют неравенствам:

(2.3.5)

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

y=  qj/v, j = 1, 2, ..., n,   (2.3.6)

то получим  систему неравенств:

(2.3.7)

Переменные y(1, 2, ..., n) удовлетворяют условию  .  
Игра свелась к следующей задаче  
Определить значения переменных y≥ 0, j = 1, 2, ..., n,  которые удовлетворяют системе неравенств (
2.3.7) и максимизируют линейную функцию

Z' = y+ y+ ...+ yn, (2.3.8)

Решение задачи линейного программирования (2.3.6), (2.3.7) определяет оптимальную стратегию S*= (q*+ q*+ ...+ q*n) . При этом цена игры

v =  1 / max, Z' = 1 / min Z  (2.3.9)

Составив  расширенные матрицы для задач (2.3.3), (2.3.4) и (2.3.7), (2.3.8), убеждаемся, что одна матрица получилась из другой транспонированием:

Таким образом, задачи линейного программирования (2.3.3), (2.3.4) и (2.3.7), (2.3.8) являются взаимно-двойственными. Очевидно, при определении оптимальных стратегий в конкретных задачах следует выбрать ту из взаимно-двойственных задач, решение которой менее трудоемко, а решение другой задачи найти с помощью теорем двойственности.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3. Практическая часть  

    Постановка задачи: Для производства трёх видов продукции используется три вида сырья. Нормы затрат каждого из видов сырья на единицу продукции данного вида, запасы сырья, а также прибыль с единицы

    продукции приведены в таблице:

Продукция/сырьё
    А
    В
    С
Запасы сырья, ед.
            I
    4
    2
    0
≤   19
II
    0
    1
    1
=   8
III
    1
    2
    0
≤   24
Прибыль, ден. ед.
    3
    7
    2
≥   max

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

                          Вид таблицы по заданию поставленной задачи: 
 

Вид сырья Нормы затрат сырья (кг) на единицу продукции
А В С
I

II

III

4

0

1

2

1

2

0

1

0

Цена  единицы продукции (руб.) 3 7 2

Решение поставленной задачи: 

Предположим, что  производится xизделий А изделий В и  изделий С. Для определения оптимального плана производства нужно решить задачу, состоящую в максимизации целевой функции

  3.1. Построим математическую модель задачи:

        тогда функция цели:  ¬

   Z-0 = 3X1 + 7X2 + 2X3   – совокупная прибыль от продажи произведенной продукции, которую требуется максимизировать. 

Подсчитаем затраты  сырья:

Сырье 1-го типа: 4 х1 + 2 х2 + 0 х3 , по условию затраты не превосходят 19,

Сырье 2-го типа: 0 х1 + 1 х2 + 1 х3, по условию затраты не превосходят 8,

Сырье 3-го типа: 1x1 + 2x2 + 0x3, по условию затраты не превосходят 24.

при следующих  условиях:

           

4 X1 + 2 X2 + 0 X3      ≤ 19
0    X1 + 1 X2 + 1 X3      = 8
1 X1 + 2 X2 + 0 X3      ≤ 24

                                          

X1, X2, X3 ≥ 0. 
 

4X1+2X   ≤ 19

  X2 + X3 = 8

  X1+2X2 ≤24 

3.2. Выбираем метод решения и приводим задачу к каноническому виду:

Пришли к задаче линейного программирования:

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

Получили математическую модель. Необходимо максимизировать  функцию цели                                          ↓

Информация о работе Применение методов линейного программирования