Задачи линейного программирования

Графоаналитическое решение задач линейного программирования. Задача о коммивояжере. Оптимизация управления динамическими объектами методом динамического программирования Р. Беллмана. Синтез непрерывного оптимального управления с помощью уравнения Эйлера.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 17.10.2017
Размер файла 263,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Исходные данные

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

К заданию №1.

C1

C2

B1

B2

B3

B4

A11

A12

A21

A22

A31

A32

A41

A42

217

2,5

3,5

12

5

2

2

-1

8

2

-1,5

-2

2

1

-2

К заданию №2.

1

2

3

4

5

6

С =

1

?

4

5

6

7

1

2

1

?

1

3

2

4

3

6

5

?

1

4

3

4

1

7

6

?

5

1

5

4

1

2

5

?

4

6

5

6

3

4

1

?

К заданию №3.

A

B

б

в

г

117

1

0,5

4

2

8

К заданию №4.

A

B

б2

117

1,4

0,7

12

К заданию №5.

k

г

117

34

17

Задание №1. Графоаналитическое решение ОЗЛП

1. Математическая постановка ОЗЛП:

ц=2,5x1+3,5x2>max, (0)

-x1+8x2?12, (1)

x1-1,5x2?5, (2)

-2x1+2x2?2, (3)

x1-2x2?2, (4)

x1?0, (5)

x2?0, (6)

CE: -x1+8x2=12, (1')

x1-1,5x2=5, (2')

BC: -2x1+2x2=2, (3')

DE: x1-2x2=2, (4')

AD: x1=0, (5')

AB: x2=0, (6')

2. Записываем уравнение граничных линий допустимого многоугольника (1') - (6').

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

Построим уравнение -x1+8x2 = 12 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 1.5. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = -12. Соединяем точку (0;1.5) с (-12;0) прямой линией.

Построим уравнение x1-1.5x2 = 5 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = -3.33. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 5. Соединяем точку (0;-3.33) с (5;0) прямой линией.

Построим уравнение -2x1+2x2 = 2 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = 1. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = -1. Соединяем точку (0;1) с (-1;0) прямой линией.

Построим уравнение x1-2x2 = 2 по двум точкам. Для нахождения первой точки приравниваем x1 = 0. Находим x2 = -1. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 2. Соединяем точку (0;-1) с (2;0) прямой линией.

3. Строим линию, пересекающую область ц.

, (7)

, (8)

4. Находим градиент целевой функции:

, (9)

, (10)

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

Обозначим границы области многоугольника решений.

Рассмотрим целевую функцию задачи F = 2.5x1+3.5x2 > max. Построим прямую, отвечающую значению функции F = 0: F = 2.5x1+3.5x2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F(X). Начало вектора - точка (0; 0), конец - точка (2.5; 3.5). Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

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

-x1+8x2?12, (1)

x1-2x2?2, (4)

, , (11)

, (12)

Ответ: , ;

Задание № 2. Задача о коммивояжере. Метод ветвей и границ

Расстояния между пунктами заданы матрицей:

1

2

3

4

5

6

С =

1

?

4

5

6

7

1

2

1

?

1

3

2

4

3

6

5

?

1

4

3

4

1

7

6

?

5

1

5

4

1

2

5

?

4

6

5

6

3

4

1

?

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

Произведем приведение матрицы C по строкам:

hн= min(i) hнi

1

2

3

4

5

6

hн

С' =

1

?

4

5

6

7

1

1

2

1

?

1

3

2

4

1

3

6

5

?

1

4

3

1

4

1

7

6

?

5

1

1

5

4

1

2

5

?

4

1

6

5

6

3

4

1

?

1

Произведем приведение матрицы C по столбцам:

gi = min(х) gнi

1

2

3

4

5

6

С' =

1

?

3

4

5

6

0

2

0

?

0

2

1

3

3

5

4

?

0

3

2

4

0

6

5

?

4

0

5

3

0

1

4

?

3

6

4

5

2

3

0

?

gi

0

0

0

0

0

0

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

1

2

3

4

5

6

hн

С0 =

1

?

3

4

5

6

0

1

2

0

?

0

2

1

3

1

3

5

4

?

0

3

2

1

4

0

6

5

?

4

0

1

5

3

0

1

4

?

3

1

6

4

5

2

3

0

?

1

gi

0

0

0

0

0

0

Величины hн и gi называются константами приведения.

Нижняя граница цикла: d0=1+1+1+1+1+1+0+0+0+0+0+0 = 6

().

Шаг №1.

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

В приведенной матрице исследуем все нулевые переходы.

1

2

3

4

5

6

бн

C0 =

1

?

3

4

5

6

0(3)

3

2

0(0)

?

0(1)

2

1

3

0

3

5

4

?

0(4)

3

2

2

4

0(0)

6

5

?

4

0(0)

0

5

3

0(4)

1

4

?

3

1

6

4

5

2

3

0(3)

?

2

вi

0

3

1

2

1

0

Наибольшая сумма констант приведения равна

х34= б3 + в4 =2+2=4, следовательно,

множество разбивается на два подмножества и .

Оценка длины цикла: .

Исключение ребра (3,4) проводим путем замены элемента х34 = 0 на ?, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (), в результате получим редуцированную матрицу.

1

2

3

4

5

6

бн

С0' =

1

?

3

4

5

6

0

0

2

0

?

0

2

1

3

0

3

5

4

?

?

3

2

2

4

0

6

5

?

4

0

0

5

3

0

1

4

?

3

0

6

4

5

2

3

0

?

0

вi

0

0

0

2

0

0

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

В результате получим другую сокращенную матрицу (5x5), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

2

3

5

6

hн

1

?

3

4

6

0

0

2

0

?

0

1

3

0

C1=

4

0

6

?

4

0

0

5

3

0

1

?

3

0

6

4

5

2

0

?

0

gi

0

0

0

0

0

d1=0

Шаг №2.

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

В приведенной матрице исследуем все нулевые переходы.

1

2

3

5

6

бн

1

?

3

4

6

0(3)

3

2

0(0)

?

0(1)

1

3

0

C1=

4

0(0)

6

?

4

0(0)

0

5

3

0(4)

1

?

3

1

6

4

5

2

0(3)

?

2

вi

0

3

1

1

0

Наибольшая сумма констант приведения равна

х52=1+3=4, следовательно,

множество разбивается на два подмножества и .

Оценка длины цикла: .

Оценка на перспективном множестве:

В результате получим другую сокращенную матрицу (4x4), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

3

5

6

hн

C2 =

2

?

4

6

0

0

3

0

0

?

3

0

5

0

?

4

0

0

6

4

2

0

?

0

gi

0

0

0

0

d2=0

Шаг №3.

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

.

В приведенной матрице исследуем все нулевые переходы.

1

3

5

6

бн

C2 =

1

?

4

6

0(4)

4

2

0(0)

0(2)

?

3

0

4

0(0)

?

4

0(0)

0

6

4

2

0(6)

?

2

вi

0

2

4

0

Наибольшая сумма констант приведения равна

х65=2+4=6, следовательно,

множество разбивается на два подмножества

и .

Оценка длины цикла:

.

Оценка на перспективном множестве:

В результате получим другую сокращенную матрицу (3x3), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

3

6

hн

1

0

?

0

0

C3 =

2

?

0

1

0

4

0

5

0

0

gi

0

0

0

d3=0

Шаг №4.

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

В приведенной матрице исследуем все нулевые переходы.

1

3

6

бн

1

?

4

0(4)

4

C3 =

2

0(0)

0(4)

?

0

4

0(0)

?

0(0)

0

вi

0

4

0

Наибольшая сумма констант приведения равна

х16=4+0=4, следовательно,

множество разбивается на два подмножества

и .

Оценка длины цикла:

.

Оценка на перспективном множестве:

В результате получим другую сокращенную матрицу (2x2), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

3

hн

C4 =

2

0

0

0

4

0

?

0

gi

0

0

d4=0

В соответствии с этой матрицей включаем в маршрут и .

Ответ: l* =C34+C41+C16+C65+C52+C23=1+1+1+1+1+1=6.

Дерево решения имеет следующий вид:

Задание №3. Оптимизация дискретных управлений дискретными динамическими объектами методом динамического программирования Р. Беллмана

Дано:

(1)k=0,1,2,3

(2)

, (3)n=4

U - н.у. (неограниченное управление), (4)

, (5)

Найти:

(6).

Решение

1.

Минимизируем

Вычислим S3 от x3:

2.

Минимизируем

Вычислим S2 от U2:

3.

Минимизируем

Вычислим S1 от U2:

4.

Минимизируем

Вычислим S0 от U0:

Рассчитаем оптимальный процесс:

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Задание №4. Синтез непрерывного оптимального управления с помощью уравнения Эйлера

Дано:

Найти: .

1. Выразим входное управляющее воздействие

Приведем задачу к варианту задачи на безусловный экстремум:

2.

3. Решим задачу с помощью уравнения Эйлера:

4. Решим ДУ Эйлера методом характеристического уравнения

p1=-8,52,p2=8,52

5. Т.к. x>?, то

Учитывая, что x0=C1

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Найдем оптимальную программу управления:

6. Найдем оптимальный регулятор (оптимальный закон управления):

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

8.

9. Структурная схема

Задание №5. Синтез непрерывных оптимальных уравнений с помощью уравнения Эйлера-Пуассона

Найти: .

1. Преобразуем эту задачу в вариационную задачу на безусловный экстремум:

2.

3.

+

4.

5.

6. Составим оптимальную синтезированную систему управления:

7. Структурная схема:

Размещено на Allbest.ru


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

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

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

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

    курсовая работа [132,0 K], добавлен 09.12.2008

  • Общее понятие и характеристика задачи линейного программирования. Решение транспортной задачи с помощью программы MS Excel. Рекомендации по решению задач оптимизации с помощью надстройки "Поиск решения". Двойственная задача линейного программирования.

    дипломная работа [2,4 M], добавлен 20.11.2010

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

    контрольная работа [118,5 K], добавлен 11.04.2012

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

    методичка [366,8 K], добавлен 16.01.2010

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

    курсовая работа [663,9 K], добавлен 10.06.2014

  • Практические навыки моделирования задач линейного программирования и их решения графическим и симплекс-методом с использованием прикладной программы SIMC. Моделирование транспортных задач и их решение методом потенциалов с помощью программы TRAN2.

    контрольная работа [199,8 K], добавлен 15.06.2009

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

    курсовая работа [581,5 K], добавлен 13.10.2008

  • Анализ метода линейного программирования для решения оптимизационных управленческих задач. Графический метод решения задачи линейного программирования. Проверка оптимального решения в среде MS Excel с использованием программной надстройки "Поиск решения".

    курсовая работа [2,2 M], добавлен 29.05.2015

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

    дипломная работа [1,3 M], добавлен 27.03.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.