Практическая работа 4. Двойственные задачи линейного программирования

Цель: Ознакомить студентов с методикой постановки задач на основе алгебры матриц.

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

Актуальность темы: Математическое моделирование начинается с перевода словесного описания модели на язык математических формул.

Теоретическая часть

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

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

Постановка задачи при моделировании предполагает ответы на три вопроса:

1. Каковы переменные этой задачи, то есть что требуется в ней найти? Переменные мы вводим и обозначаем сами.

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

3. Какова цель задачи?

Пример простейшей модели планирования производства

Предприятие производит два вида продукции П1 и П2 (например, туфли и ботинки) и использует два вида сырья (кожу и резину) ежедневные запасы которых соответственно b1 и b2 условных единиц. Согласно технологии производства, аij количество i – го вида сырья идущего на изготовление единицы j – ой продукции (например, Практическая работа 4. Двойственные задачи линейного программирования - student2.ru - количество кожи, идущей на один ботинок). Требуется спланировать работу так, чтобы ежедневно использовать полностью запасы сырья.

В нашей задаче нужно определить количество Практическая работа 4. Двойственные задачи линейного программирования - student2.ru и Практическая работа 4. Двойственные задачи линейного программирования - student2.ru - продукции видов П1 и П2 соответственно. Можно сказать, что нужно найти вектор-план Практическая работа 4. Двойственные задачи линейного программирования - student2.ru с координатами Практическая работа 4. Двойственные задачи линейного программирования - student2.ru , Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . Для постановки задач часто удобно использовать балансовую таблицу ( здесь - таблица 1), в которую можно вписать все данные и используемые переменные, причем информацию о технологии производства впишем в уголки ячеек.

Таблица 1 Балансовая таблица данных задачи

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Продукт Сырье П1 П2 Запасы сырья
А Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru
Б Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru


Из таблицы легко вытекают балансовые соотношения по расходу сырья (ограничения):

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru (1)

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

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

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru

или Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; аналогично Практическая работа 4. Двойственные задачи линейного программирования - student2.ru (2)

Очевидно, что эти формулы легче запомнить если ввести в рассмотрение матрицу коэффициентов, т.е. таблицу чисел:

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru (3)

(в данной задаче она является технологической матрицей), где первый индекс показывает номер строки, второй – номер столбца, на которых находится элемент. В числителе и знаменателе формул (2) стоят числа, обозначим их буквами D1, D2, D, так что

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; Практическая работа 4. Двойственные задачи линейного программирования - student2.ru , (4)

где Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru (5)

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

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; Практическая работа 4. Двойственные задачи линейного программирования - student2.ru (6)

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

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

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

Задание к практическому занятию:

Задания выполняются в соотвктсвии со своим вариантом.

Базовый уровень:

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

1.1. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.4. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.7. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.2. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.5. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.8. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.3. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.6. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.9. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.10. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.11. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.12. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.13. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.14. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.15. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.16. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.17. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.18. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.19. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.20. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
       

Вычислить определители, предварительно упростив их:



1.21. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.22. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.23. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.24. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.25. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.26. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.27. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.28. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.29. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.30. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

Решить уравнения и выполнить проверку подстановкой корней в определитель:

1.31. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 . 1.32. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 .
1.33. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 . 1.34. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0.
1.35. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0. 1.36. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 .
1.37. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 . 1.38. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 .
1.39. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0. 1.40. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru =0 .

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

1.41. C = 2A + B, где A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru , B = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

1.42. C = A · B, где A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru , B = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

1.43. D = (2A + B) · C, где A = ( 4 0 –2 3 1 ) , B = ( 1 –1 6 8 0 ) , Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

1.44. D = A · B · C, где

A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; B = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; C = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

1.45. D = A2, где A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

1.46. D = A3, где A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

1.47. D = A4, где A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

Найти f(A):

1.48. f(x) = 3x2 – 4, A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

1.49. f(x) = x2 + x, A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

1.50. f(x) = 3x2 – 2x + 1, A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;

Найти транспонированные и обратные для следующих матриц:

1.51. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; 1.52. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;
1.53. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; 1.54. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;
1.55. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; 1.56. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;
1.57. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; 1.58. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ;
1.59. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru ; 1.60. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

Решить матричные уравнения:

1.61. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru · X = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.62. X · Практическая работа 4. Двойственные задачи линейного программирования - student2.ru = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

1.63. X · Практическая работа 4. Двойственные задачи линейного программирования - student2.ru = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

1.64. X · Практическая работа 4. Двойственные задачи линейного программирования - student2.ru = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

Доказать равенства:

1.65. a) (AT)T = A ; b) (A + B)T = AT + BT ;
1.66. (A · B)T = BT · AT ; 1.67. (α · A)–1 = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru A–1 ;
1.68. (A–1)T = (AT)–1 ; 1.69. (A · B)–1 = B–1 · A–1 .

1.70. Вычислить: A · AT и AT · A для A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

Ранг матрицы

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

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

Методы нахождения ранга матрицы:

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

2. Метод окаймляющих миноров. Минор Mk+1 порядка k + 1, содержащий в себе минор Mk порядка k, называется окаймляющим минором Mk. Если матрица A имеет минор Mk ≠ 0, а все окаймляющие его миноры Mk+1 = 0, то ранг матрицы равен k. (rang A = k).

Пример

Найти ранг матрицы методом окаймляющих миноров.

A = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru M2 = Практическая работа 4. Двойственные задачи линейного программирования - student2.ru = –8 + 20 = 12 ≠ 0 .

Для M2 окаймляющими будут:

Практическая работа 4. Двойственные задачи линейного программирования - student2.ru = 0 , Практическая работа 4. Двойственные задачи линейного программирования - student2.ru = 0 . М

Поэтому rang A = 2.

Задание к практическому занятию:

Задания выполняются в соответсвии со своим вариантом.

Базовый уровень:

Найти ранг матрицы:

1.71. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.72. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.73. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.74. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.75. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.76. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.77. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.78. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .
1.79. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru . 1.80. Практическая работа 4. Двойственные задачи линейного программирования - student2.ru .

Наши рекомендации