Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6038

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
703.07 Кб
Скачать

И.Г. Куклина

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ ЛИНЕЙНОГО И

НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

ПРИ ПОМОЩИ МАТЕМАТИЧЕСКОГО

ПРОЦЕССОРА MATHCAD

Учебное пособие

Нижний Новгород

2023

И.Г. Куклина

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ ЛИНЕЙНОГО И НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ПРИ ПОМОЩИ МАТЕМАТИЧЕСКОГО

ПРОЦЕССОРА MATHCAD

Утверждено редакционно-издательским советом университета в качестве учебного пособия

Нижний Новгород ННГАСУ

2023

ББК 22.185.4 К 88 УДК 004.94

Печатается в авторской редакции

Рецензенты:

Т.И. Курагина канд. техн. наук, доцент заместитель директора по учебно- методической работе ИТС ФГБОУ ВО «Нижегородский государственный технический университет им. Р. Е. Алексеева»

И.В. Ногарева заместитель директора по учебно-производственной работе ГБПОУ «Нижегородский техникум транспортного обслуживания и сервиса»

Куклина И.Г. Решение задач оптимизации линейного и нелинейного программирования при помощи математического процессора MathCAD [Текст]: учеб. пособие / И.Г. Куклина; Нижегор. гос. архитектур. - строит. ун-т.Н. Новгород: ННГАСУ, 2023. – 44 с. ISBN 978-5-528-00521-8

В пособии представлено использование современного математического процессора MathCAD для решения задач оптимизации линейного и нелинейного программирования. Подробно изложен учебный материал по теоретическому и лабораторному курсу дисциплины «Применение методов оптимизации в научных исследованиях» для магистрантов, обучающихся по направлению подготовки 09.04.02 – «Информационные системы и технологии».

Библиогр.: 16 назв.

ББК 22.185.4

ISBN 978-5-528-00521-8

© И.Г Куклина, 2023

 

©ННГАСУ, 2023

 

ОГЛАВЛЕНИЕ

 

ВВЕДЕНИЕ...................................................................................................

4

1 Линейное программирование и решение двухмерных задач..........

7

1.1

Пример выполнения задания..............................................................

9

1.2

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

13

2 Линейное программирование задач со многими переменными.

 

Полное исключение неизвестных методом Жордана-Гаусса. ..........

15

2.1

Пример выполнения задания............................................................

16

2.2

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

19

3 Локальные максимумы и минимумы. Граничные максимумы

 

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

21

3.1

Пример выполнения задания............................................................

22

3.2

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

24

4 Матричный вид решения задач линейного программирования..26

4.1

Пример выполнения задания............................................................

27

4.2

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

29

5 Каноническое представление при решении задач линейного

 

программирования....................................................................................

31

5.1

Пример выполнения задания............................................................

32

5.2

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

33

6 Математическая модель целочисленной задачи линейного

 

программирования....................................................................................

35

6.1

Пример работы в математическом процессоре MATHCAD -

 

выполнения методом графического решения оптимального

 

целочисленного исчисления....................................................................

36

6.2

Задания для самостоятельного решения задачи

 

оптимизационного целочисленного исчисления графическими

 

методами......................................................................................................

39

Заключение .................................................................................................

41

Библиографический список ....................................................................

42

ВВЕДЕНИЕ

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

Исчерпывающие базовые знания в сфере математического моделирования с применением современных математических платформ студенты получают при освоении дисциплины "Автоматизированная обработка научной информации". Далее для формирования современной структуры информационной системы при организации автоматизированного комплекса сложной модели инженерного решения чаще всего уже требуются углубленные знания многокритериальных оптимизационных задач. Необходимый пакет сведений линейного и нелинейного программирования, которым должен владеть любой специалист информационных систем в наши дни теоретически изложен в данном пособии. Практическое решение поставленных задач предложено при помощи платформы математических расчетов MathCAD. Легкость применения, возможность использования коллективной работы, ориентированность на создание интерактивных документов с великолепным визуальным сопровождением вычислений делает систему автоматизированной обработки решений компьютерной алгебры практически незаменимой при проведении научных изысканий. Решение задачи и отображение вычислений в виде общепринятых математических выражений с использованием принципа "What You See Is What You Get − что видишь, то и получаешь" (стандарт де-факто WYSIWYG для современных приложений) открывает безграничные возможности для исследователей, не знакомых с принципами программирования.

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

MathCAD − отсутствие отладчика вполне компенсируется прекрасно выполненным

4

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

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

– «Информационные системы и технологии», направленностей (профилей): «Технология разработки информационных систем», «Компьютерная графика и Web-визуализация», «Искусственный интеллект в системах и сетях передачи данных».

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

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

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

5

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

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

6

1 Линейное программирование и решение двухмерных задач

Линейное программирование − теория и методы решения экстремальных задач,

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

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

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

принимает экстремальное значение

= .+ + + → max(min)

задаются постоянные величины − , , а , = 1,2, , .

+ + ≤ ,+ + + ≤ ,

+ + + ≤ ,

! , + ! , + + ! , = !,

,", +, "≥ 0 + + " = ",

Формулировка общей задачи линейного программирования с заданными

ограничениями:

= %& → max(min)

%& ∙ ≤ , = 1,2, , (; ≥ 0

%& ∙ = , = 1,2, , (; ≥ 0

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

7

= + + + → (+ + + ≤ (≥) ,

* + + + ≤ (≥) , .

,

,", +, "≥ 0 + + " ≤ (≥)"

= ++ ++ ++ →≥((≤) ,

+ + + ≥ (≤) ,

*

 

 

 

" + " + + " ≥ (≤) ",

, , ,

≥ 0

 

 

 

 

 

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

равенствами системы уравнений в которой уравнений и неизвестных причем ( <= , + +M + → maxN (( ) , .

+ + + = , * + + + = ,,", +, "≥ 0 + + " = ",

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

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

оптимальным планом и оптимальным решением задачи линейного программирования

( , , , ).

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

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

+

: + =

 

+

 

 

: + =

 

" + " "

 

 

≥ 0, ≥ 0

 

": " + " = "

≥ 0, ≥ 0

Ограничение осью задается условием неотрицательности переменных

и = 0, = 0.

 

 

 

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

8

1.1 Пример выполнения задания

Найти x и y при которых выполнится минимум функции

1(x, y) = 3 ∙ x + 2 ∙ y если должны выполняться условия

, x + y ≤ 7 :

3x + 2 ∙ y ≥ 7

2 ∙ x + y ≥ 7 x ≥ 0, y ≥ 0

− вводится функция цели Система ограничений

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

Исследуется второе ограничение и выражение данного ограничения. Выражается функция и ее изображение.

Исследуется третье ограничение и выражение данного ограничения.

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]