Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Вирішити цілочислову задачі лінійного програмування

Работа добавлена на сайт samzan.net: 2016-06-20

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

РЕШЕНИЕ ТИПОВЫХ ЗАДАЧ №1,5,9, Лаба 11(1,2,5,6,9)

1. Вирішити цілочислову задачі лінійного програмування. Навести основні етапи алгоритму та обґрунтувати вибір методу.

max z=2x1+8x2

2x1+10x2<=19/3

x1+3x2<=10

x1,x2>=0 - цілі

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Помножим левую часть первого неравенства на (3), получим:

6x1+3x2<=19

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,.

При ограничениях

Таблица 1.1.1

2

8

0

0

x1

x2

S1

S2

b

c

S1

6

3

1

0

19

0

19/3

S2

1

3

0

1

10

0

10/3

z

0

0

0

0

0

0

c-z

2

8

S1

5

0

1

-1

9

0

X2

1/3

1

0

1/3

10/3

8

z

8/3

8

0

8/3

80/3

1

c-z

-2/3

0

0

-8/3

-80/3

Поскольку, , то оптимальное решение найдено:

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

Таблица 1.1.2

x1

x2

S1

S2

b

c

S1

5

0

1

-1

9

0

X2

1/3

1

0

1/3

10/3

8

z

8/3

8

0

8/3

80/3

1

c-z

-2/3

0

0

-8/3

-80/3

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

z – уравнение: z+ 8/3x1+8х2+8/3S2=80/3,

х2 – уравнение: 1/3х1+х2+1/3S2=10/3,

S1 – уравнение: 5х1+S1-S2=9.

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

1/3х1+х2+1/3S2=10/3 (производящая х2-строка)

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

Разложение  коэффициентов х2-строки приводит к следующему уравнению.

(0+1/3)х1 + х2 + (0+1/3)S2=3 + 1/3

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

х2 -3 = 1/3 -1/3х1 – 1/3S2

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

1/3 -1/3х1 – 1/3S2=1/3 –(1/3х1 + 1/3S2)  

Поскольку х1,S2 0, выражение в скобках является неотрицательным. Поэтому величина 1/3 –(1/3х1 + 1/3S2), будучи целочисленной, не может превышать 1/3. Следовательно, необходимое условие целочисленности можно записать следующим образом.

1/3 –(1/3х1 + 1/3S2)≤0

Это и есть дробное отсечение, порожденное х2-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  x1=0; x2=10/3; S1=3; S2=0 не удовлетворяет отсечению (1/3≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х2- строкой записываем следующим образом.

– 1/3х1 - 1/3S2 + S3 = - 1/3

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 1.1.3

2

8

0

0

0

x1

x2

S1

S2

S3

b

c

S1

5

0

1

-1

9

0

0

x2

1/3

1

0

1/3

10/3

8

8

S3

-1/3

0

0

-1/3

1

-1/3

0

z

8/3

8

0

8/3

80/3

c-z

-2/3

0

0

-8/3

-80/3

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

Таблица 1.1.4

2

8

0

0

0

x1

x2

S1

S2

S3

b

c

S1

5

0

1

-1

9

0

0

x2

1/3

1

0

1/3

10/3

8

8

S3

-1/3

0

0

-1/3

1

-1/3

0

z

8/3

8

0

8/3

80/3

c-z

-2/3

0

0

-8/3

-80/3

S1

0

0

1

-6

15

4

0

х2

0

1

0

0

1

3

8

Х1

1

0

0

1

-3

1

2

z

2

8

0

2

2

26

c-z

0

0

0

-2

-2

Оптимальное решение  x1=1; x2=3; S1=4; S2=0; S3=0  Zmax=26 является целочисленным. То, что все элементы данной симплекс-таблицы являются целочисленными не случайность. Это типичное явление при использование дробных отсечений.

9. Дана задача:

 max z=2x1+4x2

при 2х1+х2<=19/3

 xl+3x2<=10

 xl, x2>=0 - цілі

Порівняти та проаналізувати результати, оптимальні при розв’язанні задачі методом Гоморі та графічним методом.

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Помножим левую часть первого неравенства на (3), получим:

6x1+3x2<=19

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,.

При ограничениях

Таблица 1.9.1

2

4

0

0

x1

x2

S1

S2

b

c

S1

6

3

1

0

19

0

19/3

S2

1

3

0

1

10

0

10/3

z

0

0

0

0

0

0

c-z

2

4

S1

5

0

1

-1

9

0

X2

1/3

1

0

1/3

10/3

4

z

4/3

4

0

4/3

40/3

1

c-z

2/3

0

0

-4/3

Х1

1

0

1/5

-1/5

9/5

2

X2

0

1

-1/15

2/5

41/15

4

z

2

4

2/15

6/5

218/15

2

c-z

0

0

-2/15

-6/5

Поскольку, , то оптимальное решение найдено:

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

Таблица 1.9.2

x1

x2

S1

S2

b

c

Х1

1

0

1/5

-1/5

9/5

2

X2

0

1

-1/15

2/5

41/15

4

z

2

4

2/15

6/5

218/15

2

c-z

0

0

-2/15

-6/5

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

z – уравнение: z+ 2x1+4х2+2/15S1+6/5S2=218/15,

х2 – уравнение: х2-1/15S1+2/5S2=41/15,

X1 – уравнение: х1+1/5S1-1/5S2=9/5.

Разложение коэф.Х1-строки приводит к след.уравнению:

х1+(0+1/5)S1-(0+1/5)S2=(1+4/5)

Разложение коэф.Х2-строки приводит к след.уравнению:

х2+(-1+14/15)S1+(0+2/5)S2=(2+11/15)

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

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

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

х1+1/5S1-1/5S2=9/5 (производящая х1-строка)

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

Разложение  коэффициентов х1-строки приводит к следующему уравнению.

х1 +1/5S1+ (-1+4/5)S2=1 + 4/5

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

Х1-S2 -1 = -1/5S1 -4/5S2 +4/5

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

-1/5S1 -4/5S2 +4/5=4/5-(1/5S1+4/5S2)

Поскольку S1,S2 0, выражение в скобках является неотрицательным. Поэтому величина 4/5-(1/5S1+4/5S2), будучи целочисленной, не может превышать 4/5. Следовательно, необходимое условие целочисленности можно записать следующим образом.

4/5-(1/5S1+4/5S2)≤0

Это и есть дробное отсечение, порожденное х1-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  x1=9/5; x2=41/15; S1=0; S2=0 не удовлетворяет отсечению (4/5≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х1- строкой записываем следующим образом.

-1/5S1 -4/5S2 + S3 = - 4/5

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 1.9.3

2

4

0

0

0

x1

x2

S1

S2

S3

b

c

X1

1

0

1/5

-1/5

0

9/5

2

x2

0

1

-1/15

2/5

0

41/15

4

S3

0

0

-1/5

-4/5

1

-4/5

0

z

2

4

2/15

6/5

218/15

c-z

0

0

-2/15

-6/5

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

Таблица 1.9.4

2

8

0

0

0

x1

x2

S1

S2

S3

b

c

x1

1

0

1/5

-1/5

0

9/5

2

x2

0

1

-1/15

2/5

0

41/15

4

S3

0

0

-1/5

-4/5

1

-4/5

0

z

2

4

2/15

6/5

218/15

c-z

0

0

-2/15

-6/5

x1

1

0

0

-1

1

1

2

х2

0

1

0

2/3

-1/3

3

4

S1

0

0

1

4

-5

4

0

z

2

4

0

2/3

2/3

14

c-z

0

0

0

-2/3

-2/3

Оптимальное решение  x1=1; x2=3; S1=4; S2=0; S3=0  Zmax=14 является целочисленным. То, что все элементы данной симплекс-таблицы являются целочисленными не случайность. Это типичное явление при использование дробных отсечений.

2. График:


Лаба 11

1.

 

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,.

При ограничениях

Таблица 11.1.1

5

10

0

0

x1

x2

S1

S2

b

c

S1

3

4

1

0

14

0

14/4

S2

2

3

0

1

10

0

z

0

0

0

0

0

0

c-z

5

10

0

0

S1

1/3

0

1

-4/3

2/3

0

X2

2/3

1

0

1/3

10/3

10

z

20/3

10

0

10/3

100/3

1

c-z

-5/3

0

0

-10/3

0

Поскольку, , то оптимальное решение найдено:

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

Таблица 11.1.2

x1

x2

S1

S2

b

c

S1

1/3

0

1

-4/3

2/3

0

X2

2/3

1

0

1/3

10/3

10

z

20/3

10

0

10/3

100/3

1

c-z

-5/3

0

0

-10/3

0

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

z – уравнение: z+ 20/3x1+10x2+10/3S2=100/3,

х2 – уравнение: 2/3х1+х2+1/3S2=10/3,

S1 – уравнение: 1/3S1-4/3S2=2/3.

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

2/3х1+х2+1/3S2=10/3 (производящая х2-строка)

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

Разложение  коэффициентов х2-строки приводит к следующему уравнению.

(0+2/3)х1 + х2 + (0+1/3)S2=3 + 1/3

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

х2 -3 = 1/3 -2/3х1 – 1/3S2

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

1/3 -2/3х1 – 1/3S2=1/3 –(2/3х1 + 1/3S2)  

Поскольку х1,S2 0, выражение в скобках является неотрицательным. Поэтому величина 1/3 –(2/3х1 + 1/3S2), будучи целочисленной, не может превышать 1/3. Следовательно, необходимое условие целочисленности можно записать следующим образом.

1/3 –(2/3х1 + 1/3S2)≤0

Это и есть дробное отсечение, порожденное х2-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  x1=0; x2=10/3; S1=2/3; S2=0 не удовлетворяет отсечению (1/3≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х2- строкой записываем следующим образом.

– 2/3х1 - 1/3S2 + S3 = - 1/3

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 11.1.3

5

10

0

0

0

x1

x2

S1

S2

S3

b

c

S1

1/3

0

1

-4/3

0

2/3

0

x2

2/3

1

0

1/3

0

10/3

10

S3

-2/3

0

0

-1/3

1

z

20/3

10

0

10/3

100/3

c-z

-5/3

0

0

-10/3

0

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

Таблица 11.1.4

2

8

0

0

0

x1

x2

S1

S2

S3

b

c

S1

1/3

0

1

-4/3

0

2/3

0

x2

2/3

1

0

1/3

0

10/3

10

S3

-2/3

0

0

-1/3

1

z

20/3

10

0

10/3

100/3

c-z

-5/3

0

0

-10/3

0

S1

0

0

1

-3/2

1/2

1/2

0

х2

0

1

0

0

1

3

10

Х1

1

0

0

1/2

-3/2

1/2

5

z

5

10

0

5/2

5/2

65/2

c-z

0

0

0

-5/2

-5/2

Оптимальное решение  x1=1/2; x2=3; S1=1/2; S2=0; S3=0  Zmax=65/2 является частично целочисленным. Значение переменной Х1 пока еще нецелочисленное. Так как  в этом примере х1 на данный момент имеет дробное значение в оптимальной симплекс-таблице, именно это уравнение используем  в качестве производящей строки для построения отсечения.

х1+1/2S2-3/2S3=1/2 (производящая х1-строка)

Разложение  коэффициентов х1-строки приводит к следующему уравнению.

х1 + 1/2S2 + (-2+1/2)S3=1/2

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

Х1 -2S3 = 1/2 -1/2S2– 1/2S3

Необходимое условие целочисленности можно записать следующим образом.

1/2 –(1/2S2 + 1/2S3)≤0

Это и есть дробное отсечение, порожденное х1-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение x1=1/2; x2=3; S1=1/2; S2=0; S3=0 не удовлетворяет отсечению (1/2≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х1- строкой записываем следующим образом.

– 1/2S2 - 1/2S3 + S4 = - 1/2

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

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

Таблица 11.1.5

2

8

0

0

0

x1

x2

S1

S2

S3

S4

b

c

S1

0

0

1

-3/2

1/2

0

1/2

0

x2

0

1

0

0

1

0

3

10

S3

1

0

0

1/2

-3/2

0

1/2

5

S4

0

0

0

-1/2

-1/2

1

-1/2

0

z

5

10

0

5/2

5/2

0

65/2

c-z

0

0

0

-5/2

-5/2

0

S1

0

0

1

0

2

-3

2

0

х2

0

1

0

0

1

0

3

10

Х1

1

0

0

0

-2

1

0

5

S2

0

0

0

1

1

-2

1

0

z

5

10

0

0

0

5

30

c-z

0

0

0

0

0

-5

Оптимальное решение  x1=0; x2=3; S1=2; S2=1; S3=0; S4=0  Zmax=30 является  целочисленным.

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

При решении задачи на первой итерации в качестве вводимой переменной, использовалась переменная S2.

Решим данную задачу двойственным симплекс-методом, вводя в базис переменную S3.

Таблица 11.1.5

2

8

0

0

0

x1

x2

S1

S2

S3

S4

b

c

S1

0

0

1

-3/2

1/2

0

1/2

0

x2

0

1

0

0

1

0

3

10

S3

1

0

0

1/2

-3/2

0

1/2

5

S4

0

0

0

-1/2

-1/2

1

-1/2

0

z

5

10

0

5/2

5/2

0

65/2

c-z

0

0

0

-5/2

-5/2

0

S1

0

0

1

-2

0

1

0

0

х2

0

1

0

-1

0

2

2

10

Х1

1

0

0

2

0

2

2

5

S3

0

0

0

1

1

-2

1

0

z

5

10

0

0

0

30

30

c-z

0

0

0

0

0

-30

Оптимальное решение  x1=2 x2=2 S1=0 S2=0 S3=1 S4=0  Zmax=30 является  целочисленным.

Таким образом, можно сказать, что данная задача имеет параллельное решение.

ГРАФИК:

2.

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,, .

При ограничениях

Таблица 11.2.1

10

12

0

0

0

x1

x2

S1

S2

S3

b

c

S1

5

4

1

0

0

13

0

13/4

S2

2

-1

0

1

0

5

0

-

S3

4

1

0

0

1

10

0

10

z

0

0

0

0

0

0

0

c-z

10

12

0

0

0

X2

5/4

1

1/4

0

0

13/4

12

S2

13/4

0

1/4

1

0

33/4

0

S3

11/4

0

-1/4

0

1

27/4

0

z

15

12

3

0

0

39

1

c-z

-5

0

-3

0

0

Поскольку, , то оптимальное решение найдено:

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

Таблица 11.2.2

x1

x2

S1

S2

S3

b

c

X2

5/4

1

1/4

0

0

13/4

12

S2

13/4

0

1/4

1

0

33/4

0

S3

11/4

0

-1/4

0

1

27/4

0

z

15

12

3

0

0

39

1

c-z

-5

0

-3

0

0

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

z – уравнение: z+ 15x1+12x2+3S1=39,

х2 – уравнение: 5/4х1+х2+1/4S1=13/4,

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

5/4х1+х2+1/4S1=13/4 (производящая х2-строка)

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

Разложение  коэффициентов х2-строки приводит к следующему уравнению.

(1+1/4)х1 + х2 + (0+1/4)S1=3 + 1/4

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

х2 +x1-3 = 1/4 -1/4х1 – 1/4S1

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

1/4 -1/4х1 – 1/4S1=1/4 –(1/4х1 + 1/4S1)  

Поскольку х1,S1 0, выражение в скобках является неотрицательным. Поэтому величина 1/4 –(1/4х1 + 1/4S1), будучи целочисленной, не может превышать 1/4. Следовательно, необходимое условие целочисленности можно записать следующим образом.

1/4 –(1/4х1 + 1/4S1)≤0

Это и есть дробное отсечение, порожденное х2-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  не удовлетворяет отсечению (1/4≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х2- строкой записываем следующим образом.

1/4х1 - 1/4S1 + S4 = - 1/4

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 11.2.3

x1

x2

S1

S2

S3

S4

b

c

X2

5/4

1

1/4

0

0

0

13/4

12

S2

13/4

0

1/4

1

0

0

33/4

0

S3

11/4

0

-1/4

0

1

0

27/4

0

S4

-1/4

0

-1/4

0

0

1

-1/4

0

z

15

12

3

0

0

0

39

1

c-z

-5

0

-3

0

0

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

Таблица 11.2.4

x1

x2

S1

S2

S3

S4

b

c

X2

5/4

1

1/4

0

0

0

13/4

12

S2

13/4

0

1/4

1

0

0

33/4

0

S3

11/4

0

-1/4

0

1

0

27/4

0

S4

-1/4

0

-1/4

0

0

1

-1/4

0

z

15

12

3

0

0

0

39

1

c-z

-5

0

-3

0

0

X2

1

1

0

0

0

1

3

12

S2

3

0

0

1

0

1

8

0

S3

3

0

0

0

1

-1

7

0

S1

1

0

1

0

0

-4

1

0

z

12

12

0

0

0

12

36

2

c-z

-2

0

0

0

0

-12

Оптимальное решение  x1=0; x2=3; S1=1; S2=8; S3=7; S4=0  Zmax=36 является целочисленным. То, что все элементы данной симплекс-таблицы являются целочисленными не случайность. Это типичное явление при использование дробных отсечений.

2. График:

5.

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,.

При ограничениях

Таблица 11.5.1

10

12

0

0

x1

x2

S1

S2

b

c

S1

4

-7

1

0

10

0

-

S2

6

3

0

1

16

0

16/3

z

0

0

0

0

0

c-z

10

12

0

0

S1

18

0

1

7/3

142/3

0

X2

2

1

0

1/3

16/3

12

z

24

12

0

4

64

1

c-z

-14

0

0

-4

Поскольку, , то оптимальное решение найдено:

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

Таблица 11.5.2

x1

x2

S1

S2

b

c

S1

18

0

1

7/3

142/3

0

X2

2

1

0

1/3

16/3

12

z

24

12

0

4

64

1

c-z

-14

0

0

-4

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

z – уравнение: z+ 24x1+12x2+4S2=64,

х2 – уравнение: 2х1+х2+1/3S2=16/3,

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

2х1+х2+1/3S2=16/3, (производящая х2-строка)

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

Разложение  коэффициентов х2-строки приводит к следующему уравнению.

2х1 + х2 + (0+1/3)S2=5 + 1/3

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

х2 +2x1-5 = 1/3 – 1/3S2

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

Поскольку S2 0, выражение в скобках является неотрицательным. Поэтому величина 1/3 – 1/3S2, будучи целочисленной, не может превышать 1/3. Следовательно, необходимое условие целочисленности можно записать следующим образом.

1/3 – 1/3S2≤0

Это и есть дробное отсечение, порожденное х2-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  не удовлетворяет отсечению (1/3≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х2- строкой записываем следующим образом.

- 1/3S2 + S3 = - 1/3

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 11.5.3

x1

x2

S1

S2

S3

b

c

S1

18

0

1

7/3

0

142/3

0

X2

2

1

0

1/3

0

16/3

12

S3

0

0

0

-1/3

1

-1/3

z

24

12

0

4

0

64

1

c-z

-14

0

0

-4

0

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

Таблица 11.5.4

x1

x2

S1

S2

S3

b

c

S1

18

0

1

7/3

0

122/3

0

X2

2

1

0

1/3

0

16/3

12

S3

0

0

0

-1/3

1

-1/3

z

24

12

0

4

0

64

1

c-z

-14

0

0

-4

0

S1

18

0

1

0

7

45

0

X2

2

1

0

0

1

5

12

S2

0

0

0

1

-3

1

0

z

24

12

0

0

12

60

2

c-z

-14

0

0

0

-12

Оптимальное решение  x1=0; x2=5; S1=45; S2=1; S3=0;  Zmax=60 является целочисленным. То, что все элементы данной симплекс-таблицы являются целочисленными не случайность. Это типичное явление при использование дробных отсечений.

2. График:

6.

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,, .

При ограничениях

Таблица 11.6.1

10

4

0

0

x1

x2

S1

S2

b

c

S1

3

-4

1

0

12

0

4

S2

3

2

0

1

10

0

10/3

z

0

0

0

0

0

0

c-z

10

4

0

0

S1

0

-6

1

-1

2

0

X1

1

2/3

0

1/3

10/3

10

z

0

20/3

0

10/3

100/3

1

c-z

0

-8/3

0

-10/3

Поскольку, , то оптимальное решение найдено:

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

Таблица 11.6.2

x1

x2

S1

S2

b

c

S1

0

-6

1

-1

2

0

X1

1

2/3

0

1/3

10/3

10

z

0

20/3

0

10/3

100/3

1

c-z

0

-8/3

0

-10/3

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

z – уравнение: z+20/3x2+10/3S2=100/3,

х1 – уравнение: х1+2/3х2+1/3S2=10/3,

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

х1+2/3х2+1/3S2=10/3 (производящая х1-строка)

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

Разложение  коэффициентов х1-строки приводит к следующему уравнению.

(1+0)х1 +(0+2/3) х2 + (0+1/3)S2=3 + 1/3

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

x1-3 = 1/3 -2/3х2 – 1/3S2

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

1/3 -2/3х2 – 1/3S2=1/3 –(2/3х2 + 1/3S2)  

Поскольку х2,S2 0, выражение в скобках является неотрицательным. Поэтому величина 1/3 –(2/3х2 + 1/3S2), будучи целочисленной, не может превышать 1/3. Следовательно, необходимое условие целочисленности можно записать следующим образом.

1/3 –(2/3х2 + 1/3S2))≤0

Это и есть дробное отсечение, порожденное х1-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  не удовлетворяет отсечению (1/3≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х1- строкой записываем следующим образом.

2/3х2 - 1/3S2 + S3 = - 1/3

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 11.6.3

x1

x2

S1

S2

S3

b

c

S1

0

-6

1

-1

0

2

0

X1

1

2/3

0

1/3

0

10/3

10

S3

0

-2/3

0

-1/3

1

-1/3

0

z

10

20/3

0

10/3

0

100/3

1

c-z

0

-8/3

0

-10/3

0

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

Таблица 11.6.4

x1

x2

S1

S2

S3

b

c

S1

0

-6

1

-1

0

2

0

X1

1

2/3

0

1/3

0

10/3

10

S3

0

-2/3

0

-1/3

1

-1/3

0

z

10

20/3

0

10/3

0

100/3

1

c-z

0

-8/3

0

-10/3

0

S1

0

0

1

2

-9

5

0

X1

1

0

0

0

1

3

10

X2

0

1

0

1/3

-3/2

1/2

4

z

10

4

0

2

4

32

2

c-z

0

0

0

-2

-4

32

Оптимальное решение  x1=3; x2=1/2; S1=5; S2=0; S3=0; Zmax=32 является частично целочисленным. Значение переменной Х2 пока еще нецелочисленное. Так как  в этом примере х2 на данный момент имеет дробное значение в оптимальной симплекс-таблице, именно это уравнение используем  в качестве производящей строки для построения отсечения.

Х2+1/2S2-3/2S3=1/2 (производящая х2-строка)

Разложение  коэффициентов х2-строки приводит к следующему уравнению.

Х2 + 1/2S2 + (-2+1/2)S3=1/2

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

Х2 -2S3 = 1/2 -1/2S2– 1/2S3

Необходимое условие целочисленности можно записать следующим образом.

1/2 –(1/2S2 + 1/2S3)≤0

Это и есть дробное отсечение, порожденное х2-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение x1=3; x2=1/2; S1=5; S2=0; S3=0 не удовлетворяет отсечению (1/2≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х2- строкой записываем следующим образом.

– 1/2S2 - 1/2S3 + S4 = - 1/2

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

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

Таблица 11.6.5

10

4

0

0

0

x1

x2

S1

S2

S3

S4

b

c

S1

0

0

1

2

-9

0

5

0

X1

1

0

0

0

1

0

3

10

Х2

0

1

0

1/2

-3/2

0

1/2

4

S4

0

0

0

-1/2

-1/2

1

-1/2

0

z

10

4

0

2

4

0

32

c-z

0

0

0

-2

-4

0

S1

0

0

1

0

-11

4

3

0

Х1

1

0

0

0

1

0

3

10

Х2

0

1

0

0

-2

1

0

4

S2

0

0

0

1

1

-2

1

0

z

10

4

0

0

2

4

30

c-z

0

0

0

0

-2

-4

Оптимальное решение  x1=3; x2=0; S1=3; S2=1; S3=0; S4=0  Zmax=30 является  целочисленным.

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

ГРАФИК:

9.

РЕШЕНИЕ

1. Данная задача относится к задачам ЗЦЛП, поэтому решать ее будем с помощью метода отсекающих плоскостей (дробный алгоритм).

Метод отсекающих плоскостей начинает работу с решения непрерывной задачи линейного программирования.

Линейную задачу решаем прямым симплекс-методом.

Приведем нашу задачу к канонической форме:

1) Все ограничения записываются в виде равенств с неотрицательной правой частью;

2) значения всех переменных модели неотрицательны;

3) целевая функция подлежит максимизации или минимизации.

К первому и второму ограничению прибавим остаточные переменные ,.

При ограничениях

Таблица 11.9.1

10

7

0

0

x1

x2

S1

S2

b

c

S1

6

7

1

0

8

0

4/3

S2

3

1

0

1

10

0

10/3

z

0

0

0

0

0

0

c-z

10

7

0

0

0

Х1

1

7/6

1/6

0

4/3

10

S2

0

-5/2

-1/2

1

6

0

z

10

70/6

10/6

0

40/3

1

c-z

0

-14/3

-10/6

0

40/3

Поскольку, , то оптимальное решение найдено:

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

Таблица 11.9.2

x1

x2

S1

S2

b

c

Х1

1

7/6

1/6

0

4/3

10

S2

0

-5/2

-1/2

1

6

0

z

10

70/6

10/6

0

40/3

1

c-z

0

-14/3

-10/6

0

40/3

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

z – уравнение: z+ 10x1+70/6x2+10/6S1=40/3,

х1 – уравнение: х1+7/6х2+1/6S1=4/3,

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

х1+7/6х2+1/6S1=4/3, (производящая х1-строка)

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

Разложение  коэффициентов х2-строки приводит к следующему уравнению.

х1 + (1+1/6)х2 + 1/6S1=1 + 1/3

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

Х1 +x2-1 = 1/3 – 1/6X2-1/6S1

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

Поскольку S1,x2 0, выражение в скобках является неотрицательным. Поэтому величина 1/3 – 1/6X2-1/6S1, будучи целочисленной, не может превышать 1/3. Следовательно, необходимое условие целочисленности можно записать следующим образом.

1/3 – 1/6X2-1/6S1≤0

Это и есть дробное отсечение, порожденное х1-строкой. Нетрудно убедиться, что ранее найденное оптимальное решение  не удовлетворяет отсечению (1/3≤0). Следовательно, если мы присоединим отсечение к конечной симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет двигаться в направлении выполнения ограничения целочисленности.

Отсечение, порожденное х1- строкой записываем следующим образом.

1/6X2-1/6S1+ S3 = - 1/3

Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу.

Таблица 11.9.3

x1

x2

S1

S2

S3

b

c

X1

1

7/6

1/6

0

0

4/3

10

S2

0

-5/2

-1/2

1

0

6

0

S3

0

-1/6

-1/6

0

1

-1/3

0

z

10

70/6

10/6

0

0

40/3

1

c-z

0

-14/3

-10/6

0

0

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

Таблица 11.9.4

x1

x2

S1

S2

S3

b

c

X1

1

7/6

1/6

0

0

4/3

10

S2

0

-5/2

-1/2

1

0

6

0

S3

0

-1/6

-1/6

0

1

-1/3

0

z

10

70/6

10/6

0

0

40/3

1

c-z

0

-14/3

-10/6

0

0

X1

1

1

0

0

1

1

10

S2

0

-2

0

1

-3

7

0

S1

0

1

1

0

-6

2

0

z

10

10

0

0

10

10

2

c-z

0

-3

0

0

0

Оптимальное решение  x1=1; x2=0; S1=2; S2=7; S3=0;  Zmax=10 является целочисленным. То, что все элементы данной симплекс-таблицы являются целочисленными не случайность. Это типичное явление при использование дробных отсечений.

2. График:


5.
Задачі розподілення капіталовкладень розглядаються п'ять проектів, які можуть бути здійснені на протязі наступних трьох років. Прибуток, що очікують від реалізації кожного з проектів, та розподілення необхідних капіталовкладень по рокам (в тис. $) наведенні у таблиці. Передбачається, що кожен затверджений проект буде реалізовано за три роки. Треба вибрати сукупність проектів, який відповідає максимум сумарного прибутку.

Проект

Розподіл

Капіталовкладень

Прибуток

рік 1

рік 2

рік 3

1

5

1

8

20

2

4

7

5

40

3

13

9

12

20

4

7

4

1

15

5

8

6

10

30

Максимальний об'єм

Капіталовкладень

20

25

15

Побудувати математичну модель, знайти оптимальне рішення задачі. Дати оцінку методів розв’язання даної задачі.

РЕШЕНИЕ

Задача сводится к решению типа «да - нет» относительно каждого участка. Определим двоичные переменные :

= 1 , если проект j утвержден,

    = 0 , если проект j неутвержден.

Задача ЦЛП будет записана следующим образом:

Максимизировать  

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

,

.

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

Минимизировать  

Поскольку все коэффициенты в ЦФ должны быть  неотрицательны, сделаем замену:

Тогда:

Минимизировать

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

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

Правые части

20

40

20

15

30

0

0

0

-5

-4

-13

-7

-8

1

0

0

-17

-1

-7

-9

-4

-6

0

1

0

-2

-8

-5

-12

-1

-10

0

0

1

-21

 

Пусть Jt— частичное решение, соответствующее вершине t (на начальной итерации , откуда следует, что все переменные являются свободными), — значение z на итерации t. Через  обозначим текущее значение верхней границы (на начальной итерации ).

Итерация 0. Так как сначала все =0, дополнительные переменные принимают следующие значения:

,

, .

Легко видеть, что полученное решение не является допустимым , так как значения  отрицательно. Следовательно, по крайней мере одной из переменных  должно быть присвоено значение 1.Конечная цель этой процедуры – устранение недопустимости решения; критерием достижения цели служат значения дополнительных переменных.

Тест 1 – не исключает никакую переменную, т.к. все

Тест 2 также неприменим, т.к. нижняя граница

Тест 3 свидетельствует о том, что множество нельзя исключить из рассмотрения, так как:

Используя тест 4 ( Если  и  где

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

Отсюда k=3

Итерация 1.

PAGE  1




1. Тема 8- Социальная философия- специфика социальной реальности.
2. Естественный резервуар долговременный хозяин патогенного болезнетворного организма
3. Тема- Туфан м~х~бб~те ldquo;Тамчылар ни дил~рrdquo; ldquo;~йтк~н иде~
4. Курсова робота є однією з найефективніших форм самостійної роботи курсантів студентів
5. на разогрев В начале любой вечеринки нужен разогрев
6. Философия культуры в Свято-Сергиевском Богословском институте в Париже
7. Электрошоковые устройства
8. Решение текстовых задач на смеси и сплавы.html
9. тема реферування в Україні за спеціальністю 6
10. Эргономическое обеспечение рабочего места регулировщика радиоаппаратуры
11. Российская Федерация Россия есть демократическое федеративное правовое государство с республиканской фо
12. а или злокачественный рост может начаться в других органах организма и распространиться в мозг вторичные м
13. Управление производством операциями Основные вопросы управления производством Организация п
14. Тема7- Задание 2 Анализ рынка имущественного страхования в РФ
15. Связность текстовой информации
16. реферат дисертації на здобуття наукового ступеня кандидата філологічних наук
17. Розвиток комунікативних здібностей дітей дошкільного віку Проблема ДНЗ ВЕСЕЛКА
18. тема стандартизации ГСС объединяющая и упорядочивающая работы по стандартизации в масштабе всей страны на
19. Башкирские шежере как исторический источник
20. смислу що вимагає здійснення й до цінностей що вимагають реалізації