Подпишись и читай
самые интересные
статьи первым!

Найти екстремумы функции графическим методом.

Тесты для текущего контроля знаний

1. Любая экономико – математическая модель задачи линейного программирования состоит из:

A. целевой функции и системы ограничений

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

C. системы ограничений и условия неотрицательности переменных

D. целевой функции и условия неотрицательности переменных

A. целевая функция

B. система уравнений

C. система неравенств

D. условие неотрицательности переменных

3. Оптимальное решение задачи математического программирования – это

A. допустимое решение системы ограничений

B. любое решение системы ограничений

C. допустимое решение системы ограничений, приводящее к максимуму или минимуму целевой функции

D. максимальное или минимальное решение системы ограничений

4. Система ограничений называется стандартной, если она содержит

A. все знаки

B. все знаки

C. все знаки

D. все знаки

5. Задача линейного программирования решается графическим способом, если в задаче

A. одна переменная

B. две переменные

C. три переменные

D. четыре переменные

6. Неравенство вида описывает

B. окружность

C. полуплоскость

D. плоскость

7. Максимум или минимум целевой функции находится

A. в начале координат

B. на сторонах выпуклого многоугольника решений

C. внутри выпуклого многоугольника решений

D. в вершинах выпуклого многоугольника решений

8. Каноническим видом ЗЛП называется такой ее вид, в котором система ограничений содержит знаки

A. все знаки

B. все знаки

C. все знаки

D. все знаки

9. Если ограничение задано со знаком «>=», то дополнительная переменная вводится в это ограничение с коэффициентом

B. -1

10. В целевую функцию дополнительные переменные вводятся с коэффициентами

C. 0

A. количество ресурса с номером i, необходимого для изготовления 1 единицы продукции j – го вида

B. неиспользованные ресурсы i - го вида

C. прибыль от реализации 1 единицы продукции j – го вида

D. количество продукции j – го вида

12. Разрешающий столбец при решении ЗЛП на max целевой функции выбирается исходя из условия

A. наибольшее положительное значение коэффициента Cj целевой функции

B. наименьшее положительное значение коэффициента Cj целевой функции

C. наибольшее отрицательное значение коэффициента Cj целевой функции

D. любой столбец коэффициентов при неизвестных

13. Значение целевой функции в таблице с оптимальным планом находится

A. на пересечении строки коэффициентов целевой функции со столбцом коэффициентов при х1

B. на пересечении строки коэффициентов целевой функции со столбцом b

C. в столбце коэффициентов при хn

D. на пересечении строки коэффициентов целевой функции со столбцом первоначального базиса

14. Искусственные переменные в систему ограничений в каноническом виде вводятся с коэффициентом

A. 1

15. Оптимальность плана в симплексной таблице определяется

A. по столбцу b

B. по строке значений целевой функции

C. по разрешающей строке

D. по разрешающему столбцу

16. Дана задача линейного программирования

B. 1

17. Дана задача линейного программирования

Количество искусственных переменных для этой задачи равно

C. 2

18. Если исходная ЗЛП имеет вид

тогда ограничения двойственной задачи

A. имеют вид

B. имеют вид

C. имеют вид

D. имеют вид

19. Если исходная ЗЛП имеет вид

A. имеют вид

B. имеют вид

C. имеют вид

D. имеют вид

20. Коэффициентами при неизвестных целевой функции двойственной задачи являются

A. коэффициенты при неизвестных целевой функции исходной задачи

B. свободные члены системы ограничений исходной задачи

C. неизвестные исходной задачи

D. коэффициенты при неизвестных системы ограничений исходной задачи

21. Если исходная ЗЛП была на максимум целевой функции, то двойственная задача будет

A. тоже на максимум

B. либо на максимум, либо на минимум

C. и на максимум, и на минимум

D. на минимум

22. Связь исходной и двойственной задач заключается в том, что

A. надо решать обе задачи

B. решение одной из них получается из решения другой

C. из решения двойственной задачи нельзя получить решения исходной

D. обе имеют одинаковые решения

23. Если исходная ЗЛП имеет вид

тогда целевая функция двойственной задачи

A. имеют вид

B. имеют вид

C. имеют вид

D. имеют вид

24. Если исходная ЗЛП имеет вид

то количество переменных в двойственной задаче равно

B. 2

25. Модель транспортной задачи закрытая,

A. если

26. Цикл в транспортной задаче – это

A. замкнутая прямоугольная ломаная линия, все вершины которой находятся в занятых клетках

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

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

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

27. Потенциалами транспортной задачи размерности (m*n) называются m+n чисел ui и vj, для которых выполняются условия

A. ui+vj=cij для занятых клеток

B. ui+vj=cij для свободных клеток

C. ui+vj=cij для первых двух столбцов распределительной таблицы

D. ui+vj=cij для первых двух строк распределительной таблицы

28. Оценками транспортной задачи размерности (m+n) называются числа

yij=cij-ui-vj, которые вычисляются

A. для занятых клеток

B. для свободных клеток

C. для первых двух строк распределительной таблицы

D. для первых двух столбцов распределительной таблицы

29. При решении транспортной задачи значение целевой функции должно от итерации к итерации

A. увеличиваться

B. увеличиваться или не меняться

C. увеличиваться на величину любой оценки

D. уменьшаться или не меняться

30. Число занятых клеток невырожденного плана транспортной задачи должно быть равно

C. m+n-1

31. Экономический смысл целевой функции транспортной задачи

A. суммарный объем перевозок

B. суммарная стоимость перевозок

C. суммарные поставки

D. суммарные потребности

КОНТРОЛЬНАЯ РАБОТА ПО ДИСЦИПЛИНЕ:

«МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ»

Вариант № 8

1. Решить графическим методом задачу линейного программирования. Найти максимум и минимум функции при заданных ограничениях:

,

.

Решение

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

9x 1 +3x 2 ≥30, (1)

X 1 +x 2 ≤4, (2)

x 1 +x 2 ≤8, (3)

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

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

Построим прямую, отвечающую значению функции F = 0: F = 2x 1 +3x 2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление минимизации F(X). Начало вектора – точка (0; 0), конец – точка (2; 3). Будем двигать эту прямую параллельным образом. Поскольку нас интересует минимальное решение, поэтому двигаем прямую до первого касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

Прямая
пересекает область в точке C. Так как точка C получена в результате пересечения прямых (4) и (1), то ее координаты удовлетворяют уравнениям этих прямых:
.

Решив систему уравнений, получим: x 1 = 3.3333, x 2 = 0.

Откуда найдем минимальное значение целевой функции: .

Рассмотрим целевую функцию задачи .

Построим прямую, отвечающую значению функции F = 0: F = 2x 1 +3x 2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F(X). Начало вектора – точка (0; 0), конец – точка (2; 3). Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

Прямая
пересекает область в точке B. Так как точка B получена в результате пересечения прямых (2) и (3), то ее координаты удовлетворяют уравнениям этих прямых:

.

Откуда найдем максимальное значение целевой функции: .

Ответ:
и
.

2 . Решитьзадачу линейного программирования симплекс-методом:

.

Решение

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

Определим минимальное значение целевой функции
при следующих условиях-ограничений:
.

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

В 1-м неравенстве смысла (≥) вводим базисную переменную x 3 со знаком минус. В 2-м неравенстве смысла (≤) вводим базисную переменнуюx 4 . В 3-м неравенстве смысла (≤) вводим базисную переменную x 5 .

Введем искусственные переменные : в 1-м равенстве вводим переменнуюx 6 ;

Для постановки задачи на минимум целевую функцию запишем так: .

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

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

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

Из уравнений выражаем искусственные переменные: x 6 = 4-x 1 -x 2 +x 3 , которые подставим в целевую функцию: или.

Матрица коэффициентов
этой системы уравнений имеет вид:
.

Решим систему уравнений относительно базисных переменных: x 6 , x 4 , x 5.

Полагая, что свободные переменные равны 0, получим первый опорный план:

X1 = (0,0,0,2,10,4)

Базисное решение называется допустимым, если оно неотрицательно.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 4

x 5

Текущий опорный план не оптимален, так как в индексной строке находятся положительные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x 2 , так как это наибольший коэффициент. Вычислим значенияD i и из них выберем наименьшее: min(4: 1 , 2: 2 , 10: 2) = 1.

Следовательно, 2-ая строка является ведущей.

Разрешающий элемент равен (2) и находится на пересечении ведущего столбца и ведущей строки.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 4

x 5

Формируем следующую часть симплексной таблицы. Вместо переменной x 4 в план 1 войдет переменная x 2 .

Строка, соответствующая переменной x 2 в плане 1, получена в результате деления всех элементов строки x 4 плана 0 на разрешающий элемент РЭ=2. На месте разрешающего элемента получаем 1. В остальных клетках столбца x 2 записываем нули.

Таким образом, в новом плане 1 заполнены строка x 2 и столбец x 2 . Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 2

x 5

1 1 / 2 +1 1 / 2 M

Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x 1 , так как это наибольший коэффициент. Вычислим значенияD i по строкам как частное от деления:и из них выберем наименьшее: min (3: 1 1 / 2 , - , 8: 2) = 2.

Следовательно, 1-ая строка является ведущей.

Разрешающий элемент равен (1 1 / 2) и находится на пересечении ведущего столбца и ведущей строки.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

1 1 / 2

x 2

x 5

-1 1 / 2 +1 1 / 2 M

Формируем следующую часть симплексной таблицы. Вместо переменной x 6 в план 2 войдет переменная x 1 .

Получаем новую симплекс-таблицу:

x 1

x 2

x 3

x 4

x 5

x 6

x 1

x 2

x 5

Среди значений индексной строки нет положительных. Поэтому эта таблица определяет оптимальный план задачи.

Окончательный вариант симплекс-таблицы:

x 1

x 2

x 3

x 4

x 5

x 6

x 1

x 2

x 5

Так как в оптимальном решении отсутствуют искусственные переменные (они равны нулю), то данное решение является допустимым.

Оптимальный план можно записать так: x 1 = 2, x 2 = 2:.

Ответ :
,
.

3. Фирма «Три толстяка» занимается доставкой мясных консервов с трёх складов, расположенных в разных точках города в три магазина. Запасы консервов, имеющиеся на складах, а также объёмы заказов магазинов и тарифы на доставку (в условных денежных единицах) представлены в транспортной таблице.

Найти план перевозок, обеспечивающий наименьшие денежные затраты (первоначальный план перевозок выполнить по методу «северо-западного угла»).

Решение

Проверим необходимое и достаточное условие разрешимости задачи:

= 300 + 300 + 200 = 800 .

= 250 + 400 + 150 = 800.

Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.

Занесем исходные данные в распределительную таблицу.

Потребности

Используя метод северо-западного угла, построим первый опорный план транспортной задачи.

План начинается заполняться с верхнего левого угла.

Искомый элемент равен 4. Для этого элемента запасы равны 300, потребности 250. Поскольку минимальным является 250, то вычитаем его: .

300 - 250 = 50

250 - 250 = 0

Искомый элемент равен 2. Для этого элемента запасы равны 50, потребности 400. Поскольку минимальным является 50, то вычитаем его: .

50 - 50 = 0

400 - 50 = 350

Искомый элемент равен 5. Для этого элемента запасы равны 300, потребности 350. Поскольку минимальным является 300, то вычитаем его:

300 - 300 = 0

350 - 300 = 50

Искомый элемент равен 3. Для этого элемента запасы равны 200, потребности 50. Поскольку минимальным является 50, то вычитаем его:

200 - 50 = 150

50 - 50 = 0

Искомый элемент равен 6. Для этого элемента запасы равны 150, потребности 150. Поскольку минимальным является 150, то вычитаем его:

150 - 150 = 0

150 - 150 = 0

Потребности


Введение

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

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

1. Постановка задачи

минимум целевая функция

Решить задачу нахождения минимума целевой функции для системы ограничений, заданной многоугольником решений в соответствии с вариантом №16 задания. Многоугольник решений представлен на рисунке 1:

Рисунок 1 - Многоугольник решений задачи

Система ограничений и целевая функция задачи представлены ниже:

Необходимо решить задачу, используя следующие методы:

Графический метод решения задач ЛП;

Алгебраический метод решения задач ЛП;

Симплекс-метод решения задач ЛП;

Метод отыскания допустимого решения задач ЛП;

Решение двойственной задачи ЛП;

Метод «ветвей и границ» решения целочисленных задач ЛП;

Метод Гомори решения целочисленных задач ЛП;

Метод Балаша решения булевских задач ЛП.

Сравнить результаты решения разными методами сделать соответствующие выводы по работе.

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

Графический метод решения задач линейного программирования применяется в тех случаях, когда число неизвестных не превышает трех. Удобен для качественного исследования свойств решений и применяется совместно с другими методами (алгебраическим, ветвей и границ и т. д.). Идея метода основана на графическом решении системы линейных неравенств.

Рис. 2 Графическое решение задачи ЛП

Точка минимума

Уравнение прямой проходящей через две точки A1 и A2:

АВ: (0;1); (3;3)

ВС: (3;3); (4;1)

CD: (4;1); (3;0)

EА: (1;0); (0;1)

ЦФ: (0;1); (5;2)

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

Решение задачи линейного программирования алгебраическим симплекс-методом

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

Преобразовать неравенства таким образом, чтобы слева находились переменные и свободные члены, а справа - 0 т.е. чтобы левая часть была больше или равной нулю;

Ввести дополнительные переменные, число которых равно числу неравенств в системе ограничений;

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

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

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

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

Свободных переменных

св.пер. - доп. набор

Условия не отрицательности выполнены, следовательно, найдено оптимальное решение.

3. Решение задачи линейного программирования с использованием симплекс-таблицы

Решение: Приведем задачу к стандартному виду для решения с помощью симплекс-таблицы.

Все уравнения системы приведем к виду:

Строим симплекс-таблицу:

В верхний угол каждой клетки таблицы вписываем коэффициенты из системы уравнений;

Выбираем максимальный положительный элемент в строке F, кроме, это будет генеральный столбец;

Для того, чтобы найти генеральный элемент строим отношение для всех положительных. 3/3; 9/1;- минимальное соотношение в строке x3. Следовательно - генеральная строка и =3 - генеральный элемент.

Находим =1/=1/3. Вносим в нижний угол клетки, где находится генеральный элемент;

Во все незаполненные нижние углы генеральной строки вносим произведение значения в верхнем углу клетки на;

Выделяем верхние углы генеральной строки;

Во все нижние углы генерального столбца заносим произведение значения в верхнем углу на - и выделяем полученные значения;

Остальные клетки таблицы заполняются, как произведения соответствующих выделенных элементов;

Затем строим новую таблицу, в которой обозначения клеток элементов генерального столбца и строки меняются местами (x2 и x3);

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

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

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

Пусть дана система линейных алгебраических уравнений:

Можно предположить, что все, в противном случае умножаем соответствующее уравнение на -1.

Вводим вспомогательные переменные:

Вводим так же вспомогательную функцию

Будем минимизировать систему при ограничениях (2) и условиях.

ПРАВИЛО ОТЫСКАНИЯ ДОПУСТИМОГО РЕШЕНИЯ: Для отыскания допустимого решения системы (1) минимизируем форму (3) при ограничениях (2), в качестве свободных неизвестных берем xj, в качестве базисных.

При решении задачи симплекс-методом могут возникнуть два случая:

min f=0, тогда все i обязаны быть равными нулю. А получившиеся значения xj будут составлять допустимое решение системы (1).

min f>0, т.е. исходная система не имеет допустимого решения.

Исходная система:

Используется условие задачи предыдущей темы.

Внесем дополнительные переменные:

Найдено допустимое решение исходной задачи: х1 = 3, х2 = 3, F = -12. Основываясь на полученном допустимом решении найдем оптимальное решение исходной задачи, пользуясь симплекс-методом. Для этого построим новую симплекс-таблицу из таблицы полученной выше, удалив строку и строку с целевой функцией вспомогательной задачи:

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

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

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

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

Решение: Приведем систему ограничений к стандартному виду:

Задача, двойственная данной будет иметь вид:

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

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

y6 = 1 - (-2 y1 + 2y2 +y3 + y4+ y5)

y7 = 5 - (-3y1 - y2 + y3 + y4)

Ф = 0 - (3y1 + 9y2 + 3y3 + y4) ??min

Построим исходную симплекс-таблицу для решения двойственной задачи ЛП.

Второй шаг симплекс-метода

Итак, на третьем шаге симплекс-метода найдено оптимальное решение задачи минимизации со следующими результатами: y2 = -7 /8, y1 = -11/8, Ф = 12. Для того, чтобы найти значение целевой функции двойственной задачи, подставим найденные значения базисных и свободных переменных в функцию максимизации:

Фmax = - Фmin = 3*(-11/8) + 9(-7/8) + 3*0 + 0 = -12

Так как значение целевой функции прямой и двойственной задач совпадают, решение прямой задачи найдено и равно 12.

Fmin = Фmax = -12

7. Решение задачи целочисленного линейного программирования методом «ветвей и границ»

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

Исходный многоугольник решений задачи целочисленного программирования.

Для преобразованного многоугольника решений построим новую систему ограничений.

Запишем систему ограничений в виде равенств, для решения алгебраическим методом.

В результате решения найден оптимальный план задачи: х1 =9/4, х2 = 5/2, F =-41/4. Это решения не отвечает условию целочисленности, поставленному в задаче. Разобьем исходный многоугольник решений на две области, исключив из него область 3

Измененный многоугольник решений задачи

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

Система ограничений для левой области

Правая область представляет собой точку С.

Система ограничений для правой области решений представлена ниже.

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

В результате решения найден оптимальный план задачи: х1 = 3, х2 = 3, F = -12. Этот план удовлетворяет условию целочисленности переменных в задаче и может быть принят в качестве оптимального опорного плана для исходной задачи целочисленного линейного программирования. Проводить решение для правой области решений нет смысла. На рисунке ниже представлен ход решения целочисленной задачи линейного программирования в виде дерева.

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

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

Требуется найти целочисленное решение системы (1), которое минимизирует целевую функцию F, причем, все коэффициенты - целые.

Один из методов решения задачи целочисленного программирования предложен Гомори. Идея метода заключается в использовании методов непрерывного линейного программирования, в частности, симплекс-метода.

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

2) В противном случае, если некоторая координата - не целая, полученное решение задачи проверяется на возможность существования целочисленного решения (наличие целых точек в допустимом многограннике):

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

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

3) Для построения дополнительного линейного ограничения, выбираем l-тую строку с дробным свободным членом и записываем дополнительное ограничение

где и - соответственно дробные части коэффициентов и свободного

члена. Введем в ограничение (3) вспомогательную переменную:

Определим коэффициенты и, входящие в ограничение (4):

где и - ближайшие целые снизу для и соответственно.

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

Решение: Приведем систему линейных ограничений и функцию цели к канонической форме:

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

Решение булевских задач ЛП методом Балаша.

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

Выполнение ограничений

Значение F

Фильтрующее ограничение:

Определение снижения трудоемкости вычислений

Решение задачи методом полного перебора составляет 6*25=192 вычисленных выражения. Решение задачи методом Балаша составляет 3*6+(25-3)=47 вычисленных выражений. Итого снижение трудоемкости вычислений по отношению к решению задачи методом полного перебора составляет.

Заключение

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

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

Литература:

1. Лященко И.Н. Линейное и нелинейное программирования / И.Н.Лященко, Е.А.Карагодова, Н.В.Черникова, Н.З.Шор. - К.: «Высшая школа», 1975, 372 с.

2. Методические указания для выполнения курсового проекта по дисциплине «Прикладная математика» для студентов специальности «Компьютерные системы и сети» дневной и заочной форм обучения / Сост.: И.А.Балакирева, А.В.Скатков- Севастополь: Изд-во СевНТУ, 2003. - 15 с.

3. Методические указания по изучению дисциплины «Прикладная математика», раздел «Методы глобального поиска и одномерной минимизации» / Сост. А.В.Скатков, И.А.Балакирева, Л.А.Литвинова - Севастополь: Изд-во СевГТУ, 2000. - 31с.

4. Методические указания для изучения дисциплины «Прикладная математика» для студентов специальности «Компьютерные системы и сети» Раздел «Решение задач целочисленного линейного программирования» дневной и заочной форм обучения / Сост.: И.А.Балакирева, А.В.Скатков - Севастополь: Изд-во СевНТУ, 2000. - 13 с.

5. Акулич И.Л. Математическое программирование в примерах и задачах:

6. Учеб. пособие для студентом эконом. спец. вузов.-М.: Высш. шк., 1986.- 319с., ил.

7. Андронов С.А. Методы оптимального проектирования: Текст лекций / СПбГУАП. СПб., 2001. 169 с.: ил.

Подобные документы

    Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.

    курсовая работа , добавлен 21.03.2012

    Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.

    контрольная работа , добавлен 05.04.2016

    Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.

    курсовая работа , добавлен 09.12.2008

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

    курсовая работа , добавлен 31.10.2014

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

    курсовая работа , добавлен 17.12.2014

    Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.

    курсовая работа , добавлен 13.10.2008

    Решение задачи линейного программирования графическим методом, его проверка в MS Excel. Анализ внутренней структуры решения задачи в программе. Оптимизация плана производства. Решение задачи симплекс-методом. Многоканальная система массового обслуживания.

    контрольная работа , добавлен 02.05.2012

    Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа , добавлен 11.04.2012

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

    курсовая работа , добавлен 17.12.2012

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

Лабораторная работа № 1. Решение задач линейного программирования

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

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

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

Пример . Найти максимальное значение целевой функцииL =2x 1 +2x 2 при заданных ограничениях

Решение. Построим область решений системы ограничений, меняя знаки неравенств на знаки точных равенств:

l 1: 3x 1 -2x 2 +6=0,

l 2: 3x 1 +x 2 -3=0,

l 3:x 1 -3=0.

D С

2 0 1 3 х 1

(l 1) (l 3)

Прямая l 1 делит плоскостьх Оу на две полуплоскости, из которых нужно выбрать одну, удовлетворяющую первому неравенству в системе (3). Для этого возьмем т.О (0; 0) и подставим в неравенство. Если оно верно, то нужно заштриховать ту полуплоскость от прямой, в которой находится т.О (0; 0). Аналогично поступают с прямымиl 2 иl 3 . Областью решений неравенств (3) является многоугольникАВС D . Для каждой точки плоскости функцияL принимает фиксированное значениеL =L 1 . Множество всех токах точек есть прямаяL =c 1 x 1 +c 2 x 2 (в нашем случаеL =2x 1 +2x 2), перпендикулярная векторуС (с 1 ;с 2) (С (2; 2)), выходящему из начала координат. Если эту прямую передвигать в положительном направлении векторас , то целевая функцияL будет возрастать, в противоположном случае будет убывать. Таким образом, в нашем случае, прямая при выходе из многоугольникаАВС D решений пройдет через т.В (3; 7,5), а потому в т.В целевая функция принимает максимальное значение, т.е.L max =2ּ3+2ּ7,5=21. Аналогично определяется, что минимальное значение функция принимает в т.D (1; 0) иL min =2ּ1+2ּ0=2.

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

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

2. Функция цели выражается через базисные и вспомогательные переменные.

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

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

5. Критерием оптимальности является отсутствие отрицательных элементов в последней строке таблицы для решения задачи на максимум и положительных элементов на минимум.

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

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

8. Преобразование симплекс-таблиц производят до тех пор, пока не получат оптимального плана.

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

Решение. 1. Вводим новые переменные
, с помощью которых неравенства системы преобразуем в уравнения:

У коэффициентов целевой функции меняем знак или записываем ее в виде
. Заполняем первую симплексную таблицу, в нулевой строке записываемх 1 ,х 2 и(свободные коэффициенты). В нулевом столбце –х 3 ,х 4 ,х 5 иF . Заполняем эту таблицу по полученной системе уравнений и преобразованной целевой функции.

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

2. Находим разрешающий элемент первой таблицы следующим образом. Среди элементов последней строки выбираем наибольший по модулю отрицательный коэффициент (это -3) и второй столбец принимаем как разрешающий. Если же все коэффициенты столбца неположительные, то
.

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

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

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

.

Заполнение таблиц по таким правилам продолжаем до тех пор, пока не будет выполнен критерий. Имеем для нашей задачи еще две таблицы.

х 1

х 4

х 3

х 2

х 3

х 1

х 2

х 2

х 5

х 5

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

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

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

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

Для решения задач линейного программирования используется надстройка Поиск решения. Сначала необходимо убедиться, что эта надстройка присутствует на вкладке Данные в группе Анализ (для 2003 года смотреть Сервис). Если команда Поиск решения или группа Анализ отсутствует, необходимо загрузить эту надстройку.

Для этого щелкните Файл Microsoft Office (2010), далее щелкните кнопку Параметры Excel. В появившемся окне Параметры Excel выберите слева поле Надстройки. В правой части окна должно быть установлено значения поля Управление равным Надстройки Excel, нажмите кнопку «Перейти», которая находится рядом с этим полем. В окне Надстройки установите флажок рядом с пунктом Поиск решения и нажмите кнопку ОК. Далее можно работать с установленной надстройкой Поиск Решения.

До вызова Поиск Решения необходимо подготовить данные для решения задачи линейного программирования (из математической модели) на рабочем листе:

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

2) Ввести зависимость от изменяемых ячеек для целевой функции и зависимости от изменяемых ячеек для левых частей системы ограничений в оставленные свободные ячейки. Для введения формул зависимостей удобно пользоваться математической функцией СУММПРОИЗВ.

Далее необходимо воспользоваться надстройкой Поиск решения. На вкладке Данные в группе Анализ выберите команду Поиск решения. Появится диалоговое окно Поиск решения, которое необходимо заполнить следующим образом:

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

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

3) Ставим флажок в поле «Сделать переменные без ограничений неотрицательными». Выбрать метод решения «Поиск решения линейных задач симплекс-методом». После нажатия кнопки «Найти решение» запускается процесс решения задачи. В итоге появляется диалоговое окно «Результаты поиска решения» и исходная таблица с заполненными ячейками для значений переменных и оптимальным значением целевой функции.

Пример. Решить, используя надстройку «Поиск решения» Excel задачу линейного программирования: найти максимальное значение функции
при ограничениях

,

;

,
.

Решение. Для решения нашей задачи на рабочем листе Excel выполним указанный алгоритм. Вводим исходные данные в виде таблицы

Вводим зависимости для целевой функции и системы ограничений. Для этого в ячейку С2 вводим формулу =СУММПРОИЗВ(A2:B2;A3:B3). В ячейки С4 и С5 соответственно формулы: =СУММПРОИЗВ(A2:B2;A4:B4) и =СУММПРОИЗВ(A2:B2;A5:B5). В результате получаем таблицу.

Запускаем команду «Поиск решения» и заполняем появившееся окно Поиск решения следующим образом. В поле «Оптимизировать целевую функцию» вводим ячейку С2. Выбираем оптимизации значения целевой ячейки «Максимум».

В поле «Изменяя ячейки переменных» вводим изменяемые ячейки A2:B2. В поле «В соответствии с ограничениями» вводим заданные ограничения с помощью кнопки «Добавить». Ссылки на ячейку $C$4:$C$5 Ссылки на ограничения =$D$4:$D$5 между ними знак <= затем кнопку «ОК».

Ставим флажок в поле «Сделать переменные без ограничений неотрицательными». Выбрать метод решения «Поиск решения линейных задач симплекс-методом».

Нажатием кнопки «Найти решение» запускается процесс решения задачи. В итоге появляется диалоговое окно «Результаты поиска решения» и исходная таблица с заполненными ячейками для значений переменных и оптимальным значением целевой функции.

В диалоговом окне «Результаты поиска решения» сохраняем результат x1=0,75, x2=0,75 , F=1,5-равный максимальному значению целевой функции.

Задания для самостоятельной работы

Задание 1. Графическим, симплексным методами и средствами Excel найти максимальное и минимальное значение функцииF (x ) при заданной системе ограничений.

1. F (x )=10x 1 +5x 2 2. F (x )=3x 1 -2x 2


3. F (x )=3x 1 +5x 2 4. F (x )=3x 1 +3x 2


5. F (x )=4x 1 -3x 2 6. F (x )=2x 1 -x 2


7. F (x )=-2x 1 +4x 2 8. F (x )=4x 1 -3x 2


9. F (x )=5x 1 +10x 2 10. F (x )=2x 1 +x 2


11. F (x )=x 1 +x 2 12. F (x )=3x 1 +x 2


13. F (x )=4x 1 +5x 2 14. F (x )=3x 1 +2x 2


15. F (x )=-x 1 -x 2 16. F (x )=-3x 1 -5x 2


17. F (x )=2x 1 +3x 2 18. F (x )=4x 1 +3x 2


19. F (x )=-3x 1 -2x 2 20. F (x )=-3x 1 +4x 2


21. F (x )=5x 1 -2x 2 22. F (x )=-2x 1 +3x 3


23. F (x )=2x 1 +3x 2 24. F (x )=4x 1 +3x 2


25. F (x )=-3x 1 -2x 2 26. F (x )=-3x 1 +4x 2


27. F (x )=-2x 1 +4x 2 28. F (x )=4x 1 -3x 2


29. F (x )=-x 1 -x 2 30. F (x )=-3x 1 -5x 2


Контрольные вопросы.

1. Какие задачи называются задачами линейного программирования?

2. Приведите примеры задач линейного программирования.

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

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

5. Опишите алгоритм решения задач линейного программирования средствами Excel.

Разделим третью строку на ключевой элемент, равный 5, получим третью строку новой таблицы.

Базисным столбцам соответствуют единичные столбцы.

Расчет остальных значений таблицы:

«БП – Базисный План»:

; ;

«х1»: ; ;

«х5»: ; .

Значения индексной строки неотрицательны, следовательно получаем оптимальное решение: , ; .

Ответ: максимальную прибыль от реализации изготовленной продукции, равную 160/3 ед., обеспечивает выпуск только продукции второго типа в количестве 80/9 единиц.


Задание № 2

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

Т.к. последняя цифра шифра равна 8, то А=2; В=5.

Т.к. предпоследняя цифра шифра равна 1, то следует выбрать задачу № 1.

Решение:

1) Начертим область, которую задает система неравенств.


Эта область – треугольник АВС с координатами вершин: А(0; 2); В(4; 6) и С(16/3; 14/3).

Уровни целевой функции представляют собой окружности с центром в точке (2; 5). Квадраты радиусов будут являться значениями целевой функции. Тогда по рисунку видно, что минимальное значение целевой функции достигается в точке Н, максимальное – либо в точке А, либо в точке С.

Значение целевой функции в точке А: ;

Значение целевой функции в точке С: ;

Значит, наибольшее значение функции достигается в точке А(0; 2) и равно 13.

Найдем координаты точки Н.

Для этого рассмотрим систему:

ó

ó

Прямая является касательной к окружности, если уравнение имеет единственное решение. Квадратное уравнение имеет единственное решение, если дискриминант равен 0.


Тогда ; ; - минимальное значение функции.

2) Составим функцию Лагранжа для нахождение минимального решения:

При x 1 =2.5; x 2 =4.5 получим:

ó

Система имеет решение при , т.е. достаточные условия экстремума выполняются.

Составим функцию Лагранжа для нахождение максимального решения:

Достаточные условия экстремума:

При x 1 =0; x 2 =2 получим:

ó ó

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

Ответ: минимум целевой функции достигается при ; ; максимум целевой функции достигается при ; .


Задание № 3

Двум предприятиям выделяются средства в количестве d единиц. При выделении первому предприятию на год x единиц средств оно обеспечивает доход k 1 x единиц, а при выделении второму предприятию y единиц средств, оно обеспечивает доход k 1 y единиц. Остаток средств к концу года для первого предприятия равен nx , а для второго my . Как распределить все средства в течение 4-х лет, чтобы общий доход был наибольшим? Задачу решить методом динамического программирования.

i=8, k=1.

A=2200; k 1 =6; k 2 =1; n=0.2; m=0.5.

Решение:

Весь период длительностью 4 года разбиваем на 4 этапа, каждый из которых равен одному году. Пронумеруем этапы начиная с первого года. Пусть Х k и Y k – средства, выделенные соответственно предприятиям А и В на k – том этапе. Тогда сумма Х k + Y k =а k является общим количеством средств, используемых на k – том этапе и оставшиеся от предыдущего этапа k – 1. на первом этапе используются все выделенные средства и а 1 =2200 ед. доход, который будет получен на k – том этапе, при выделении Х k и Y k единиц составит 6Х k + 1Y k . пусть максимальный доход, полученный на последних этапах начиная с k – того этапа составляет f k (а k) ед. запишем функциональное уравнение Беллмана, выражающее принцип оптимальности: каково бы не было начальное состояние и начальное решение последующее решение должно быть оптимальным по отношению к состоянию, получаемому в результате начального состояния:

Для каждого этапа нужно выбрать значение Х k , а значение Y k k – х k . С учетом этого найдем доход на k – том этапе:

Функциональное уравнение Беллмана будет иметь вид:

Рассмотрим все этапы, начиная с последнего.

(т.к. максимум линейной функции достигается в конце отрезка при х 4 = а 4);



Включайся в дискуссию
Читайте также
Определение места отбывания наказания осужденного
Осужденному это надо знать
Блатной жаргон, по фене Как относятся к наркоторговцам в тюрьме