ЧИСЛЕННЫЕ МЕТОДЫ НАХОЖДЕНИЕ ЭКСТРЕМУМА. МЕТОД ДЕЛЕНИЯ ИНТЕРВАЛА ПОПОЛАМ. РЕАЛИЗАЦИЯ В СРЕДЕ ПАКЕТА MATHCAD И СРЕДЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ-АВС - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

ЧИСЛЕННЫЕ МЕТОДЫ НАХОЖДЕНИЕ ЭКСТРЕМУМА. МЕТОД ДЕЛЕНИЯ ИНТЕРВАЛА ПОПОЛАМ. РЕАЛИЗАЦИЯ В СРЕДЕ ПАКЕТА MATHCAD И СРЕДЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ-АВС

Машкова Е.Г. 1
1Донской Государственный Технический Унивеситет (ДГТУ)
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
ВВЕДЕНИЕ

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

  • ограничения как типа равенств, так и неравенств;

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

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

  • невозможность выполнения условий регулярности.

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

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

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

Осуществление данной цели возможно только при решении следующих задач:

  • проанализировать и поставить общую задачу оптимизации;

  • поставить задачу линейного программирования, а также изучить графический метод решения ЗЛП;

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

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

  • изучить возможности пакета программирования Паскаль-ABC и математического пакета Mathcad по решению экстремальных задач методом делением интервала пополам;

  • разработать программы в среде пакета Mathcad и среде пакета программирования Паскаль-ABC для нахождения экстремумов функции методом бисекции.

Объект исследования – задачи на нахождение экстремумов функции. Предмет исследования – численные методы решения (а именно метод деления интервала пополам) экстремальных задач, то есть задач на нахождение минимума и максимума функции.

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

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

1. Общая задача оптимизации

1.1 Постановка общей задачи оптимизации

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

В 18 веке закладываются вариационное исчисление, численные методы, то есть математические основы оптимизации, это произошло в связи с необходимостью поиска оптимальных методов решения. Но до 50-х годов 20 века методы оптимизации все ещё применялись достаточно редко, это происходило по причине того, что математический аппарат по вычислению решения задач оптимизации требовал огромных усилий, без использования электронных вычислительных машин реализовать решение было в ряде случаев практически невозможно.

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

Основными элементами для постановки общей задачи оптимизации являются:

  1. Обязательное наличие цели и объекта оптимизации.

  2. Наличие ресурсов оптимизации.

  3. Возможность количественной оценки величины, которую оптимизируют.

  4. Анализ ограничений.

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

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

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

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

  1. Составить приемлемый объект оптимизации с помощью математических моделей и с использование численных методов,

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

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

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

1.2 Классификация задач оптимизации.

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

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

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

Также задачи оптимизации подразделяют в зависимости от регулирующих параметров на следующие виды:

  • одномерная оптимизация, то есть оптимизация при условии присутствия только лишь одной управляющей переменной,

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

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

  • оптимизация в случае наличия неопределённости данных [1].

В соответствии с количеством критериев оптимизации отличают следующие задачи:

  • во-первых, задачи, содержащие лишь один критерий оптимизации,

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

1.3 Методы решения задач оптимизации

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

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

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

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

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

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

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

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

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

Следующим методом решения экстремальных задач является линейное

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

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

Для узко направленного, специализированного класса задач используется геометрическое программирование. Его применение объясняется тем, что критерий оптимальности и ограничения в задачах нелинейного программирования определяются специфичными выражениями, которые по своей сути являются суммой произведений степенных функций от независимых переменных. Подобные выражения получили название – позиномов. Следует отметить, что некоторую часть задач нелинейного программирования зачастую сводят к данному виду, применяя исключительно аппроксимационное представление для функций цели и нахождения ограничений [8].

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

1.4 Возможности математического пакета MS Excel по решению задач оптимизации

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

Найдем:

x1, x2, …, xn такие , что F(x1, x2, …, xn) (Max; Min; = Value)

при ограничениях: G(x1, x2, …, xn) ( Value; Value; =Value),

где Value  это значение.

Искомые переменные x1, x2, …, xn  это ячейки рабочего листа, которые называются регулируемые ячейки.

Целевая функция F(x1, x2, …, xn) должна быть представлена в виде формулы расположенной в ячейке рабочего листа. В этой формуле может содержаться функция, которая определена пользователем, зависящая от регулируемых ячеек. Когда происходит постановка задачи определяется, что нужно делать с целевой функцией. Возможен выбрать один из вариантов:

  • найти максимум целевой функции;

  • найти минимум целевой функции;

Реализация сводится к следующим действиям таким как:

  • в ячейку ввести значение начальной границы заданного отрезка функции;

  • в произвольную ячейку ввести текст < X=>;

  • в соседнюю ячейку ввести текст < f(x)=>;

  • в соседнюю ячейку, ввести формулу, в качестве которой использовать левую часть приведённого к нормальному виду уравнения;

  • щёлкнуть по ячейке с целевой функцией;

  • щёлкнуть по кнопке меню ;

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

  • в окне устанавливаем абсолютный адрес ячейки у которого целевая функция;

  • установить переключатель варианта в положение и ввести значение 0;

  • в окне установить абсолютный адрес ячейки со значением X;

  • выбрать .

  • в появившемся диалоговом окне нажимаем по кнопке < ОК>. Решение получено.

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

  • нажать на кнопку в диалоговом окне ;

  • в всплывшем диалоговом окне установить абсолютный адрес ячейки которая изменяется в окне . Это можно выполнить нажав на ячейку;

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

  • в окне нужно ввести границы заданного отрезка функции. Эту операцию необходимо выполнить для всех границ отрезков;

  • после установки ограничения нажать на кнопку < ОК>

  • в окне нажать мышкой на кнопку .

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

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

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

В большем количестве случаев (за исключением частных экстремальных и многомерных задач) задачи линейного программирования (ЗЛП) можно выражают следующим способом: допустим, что из условия известны система линейных алгебраических уравнений (СЛАУ) (1.1) и линейная функция (1.2):

 

(1.1)

 

(1.2)

где – некоторые коэффициенты, являющиеся действительными числами; – неизвестные переменные, которые и есть решение системы (1.1).

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

Под ограничениями задачи линейного программирования, как правило, понимают уравнения (1.1). Требование является ограничением, однако стоит отметить, что оно должно присутствовать в абсолютно всех подобных задачах и чаще всего его не называют ограничением. Все неотрицательные решения системы (1.1) принято называть допустимым, а решение, с помощью которого находится минимум функции,  оптимальным [4].

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

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

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

.

В таком случае минимум функции F также равен .

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

 

(1.3)

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

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

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

 

(1.4)

Где под r понимают ранг матрицы коэффициентов исходной системы (1.1).

Подставляя выражения в функцию F, получаем следующее уравнение:

Теперь исходную задачу можно записать следующим образом. Допустим, дана система

 

(1.5)

Где r неравенств с n – r числом неизвестных и линейная функция F имеет вид:

 

(1.6)

Требуется среди абсолютно всех неотрицательных решениях системы (1.5) отыскать то, которое уменьшит функцию f до минимального её значения [5].

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

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

Кроме решения в среде пакета ЭТ MSExcel и математического пакета Mathcad в линейном программировании достаточно распространен графический метод решения, с помощью которого находится многогранник решений или другими словами выпуклые множества. Чтобы найти оптимальное значение целевой функции необходимо построить многогранник решений, искомое решение будет находится в одной из его вершин [1].

Приведем пример решения задачи графическим методом.

Для изготовления двух видов продукции А1 и А2используют три вида ресурсов S1, S2, S3, запасы которых составляют 18, 16 и 5 усл.ед. Расход ресурсов на 1 ед. продукции приведен в таблице 1:

Таблица 1 – Расход ресурсов на 1 ед. продукции

Виды ресурсов

Запасы ресурсов

Расходы ресурсов на 1 изд.

   

А1

А2

S1

18

1

3

S2

16

2

1

S3

5

1

Прибыль

2 руб.

3 руб.

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

Составим математическую модель задачи.

1. Пусть x1 – количество изделия А1, x2 – количество изделия А2.

2. Введем целевую функцию – максимальную прибыль от реализации, которая составляет F(x1,x2) = 2x1+3x2, и которую необходимо максимизировать.

3. Ограничения.

3.1. Ограничения по ресурсам S1. Количество ресурса S1, затраченного на производство изделий, равно x1+ 3x2, при этом по условию оно не должно превосходить 18, т.е.

3.2. Ограничение ресурсам S2 и S3:

3.3. Условие неотрицательности:

3.4. Условие целочисленности:

Таким образом, задача заключается в следующем: максимизировать целевую функцию

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

Решим задачу графическим методом. Решение в ЭТ MS Excel будет иметь следующий вид:

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

Рисунок 1 – Начальные данные

  1. Полученные значения приведем в виде графика (рисунок 2).

Рисунок 2 – График графического метода

  1. Найдем координаты точек А и В, а также значение целевой функции в них (рисунок 3).

Рисунок 3 – Координаты точек А и В, значение целевой функции

Вывод: Таким образом, оптимальное решение находится в точке В(6,4). Это означает, что предприятию необходимо выпустить 6 единиц продукции А1 и 4 единицы продукции А2. Прибыль составит 24 тыс.руб.

Аналитическое решение в математическом пакете Mathcad будет иметь следующий вид (рисунок 4):

  1. Определить исходные данные.

  2. Определить целевую функцию.

  3. Задать ограничения.

  4. Найти решения.

Рисунок 4 – Аналитическое решение

Графическое решение задачи в математическом пакете Mathcad представлено на рисунках 5, 6.

Рисунок 5 – Графическое решение

Рисунок 6 – Графическое решение (продолжение)

3. Численные методы нахождение экстремума

Метод деления интервала пополам

3.1 Численные методы

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

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

Численные методы поиска и нахождения экстремумов функции одной переменной можно классифицировать следующим образом:

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

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

К главным достоинства нулевых (прямых) методов можно отнести следующее:

  • позволяют исследовать и находить решение даже недифференцируемых целевых функций;

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

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

К недостаткам прямых методов относят:

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

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

Говорят, что функция имеет локальный (т.е. местный) минимум или максимум в какой-либо известной точке x; только при условии существования некоторого  такое, что для любого x из -окрестности выполняется равенство:

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

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

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

Стационарной точка x называется только при выполнение следующего условия:

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

Ниже рассмотрим основные классы численных методов.

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

Стоит отметить, что уменьшение длины данного отрезка должно проходить методом выбора двух точек x1,x2, которые располагаются относительно середины отрезка симметрично

Абсциссы этих точек находятся по формулам:

δ – это величина различимости точек (δ < ε).

Метод равномерного поиска (метод перебора) можно отнести к пассивным стратегиям. Для начала необходимо задать начальный интервал неопределенности, а также число вычислений функции N. Вычисления производятся в N равноотстоящих друг от друга точках (при этом заданный интервал L0 делится на N+1 равных интервалов). Далее происходит процесс сравнения величин, а затем находится искомая точка, в которой значение функции принимает экстремальное значение (как минимальное, так и максимальное).

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

Выборка точек минимума и максимума происходит с шагом

пока не выполнится необходимое условие или пока какая либо точка не будет находится на правом конце отрезка [a, b], на котором происходит поиск значения минимума или максимума функции f(x). Затем шаг становится меньше и нахождение точек происходит уже в обратном направлении, то есть справа налево. Процесс считается законченным, если и перебор в направлении также является законченным, а величина шага Δ меньше заданной точности ε.

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

3.2 Метод деления интервала пополам

Метод деления отрезка пополам (метод бисекции) – это самый простой для нахождения решения нелинейных уравнений численный метод. Данный метод предполагает, что функция f(x) непрерывна. Основа данного метода располагается на теореме о промежуточных значениях.

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

Точность вычислений задаётся одним из двух способов:

  1. по оси y, что ближе к условию

  2. по оси x, что может являться наиболее удобным в определенных случаях.

Процедура продолжается до достижения необходимой точности.

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

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

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

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

На практики подобный метод проверки на противоположность знаков может приводить к преждевременному переполнению.

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

Найдём значение независимой переменной x в середине заданного отрезка:

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

а в самом теле цикла находят длину последующих новых отрезков по нижеприведенной формуле:

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

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

Функции xM, xL, xRможно считать дискретными, следует отметить, что эти функции являются номерами элементов массива. Эти функции, таким образом, не могут являться дробно-рациональными или иррациональными, т.е. они должны быть натуральными числами. Стоит отметить, что разность является большей или равной

3.3 Возможности математического пакета Mathcad

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

Отличительной чертой пакета Mathcad состоит в её входном языке, максимально соответствующий математическому языку, который применяется в математической, научной, научно-популярной литературе.

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

Шаблоны, которые вводятся «горячими» комбинациями клавиш, применяют для ввода формул.

С помощью пакета Mathcad возможно найти решение различных систем уравнений. Количество переменных и уравнение не должно превышать пятидесяти. Результат решения системы представляет собой численное значение корня, который нужно вычислить.

Алгоритм решения заданной системы уравнений имеет вид:

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

  2. Функция Given, которая вводится с клавиатуры означает, что дальше последует система уравнений. Шрифт слова Given не имеет никакого значения, могут применяться как прописные, так и строчные символы. Обязательным условием ввода данной команды является то, что его нужно записывать не в текстовой области.

  3. Ввод любых уравнений и неравенств должен производиться ниже команды Given.

  4. Затем вводится команда, содержащая функцию Find. Для этой функции не важен шрифт и стиль ввода. При помощь команды Find(z1, z2, z3, . . . ), возможно вернуть решение системы уравнений. Важным условием является то, что количество неизвестных должно равняться количеству аргументов.

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

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

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

В следствии наличия единственного уравнение только лишь одно уравнение может появиться между словом Given и формулой, которая содержит функцию Find. Функция Find имеет единственный аргумент, если уравнение имеет только одну неизвестную. Для нахождения решения подобных уравнений можно применять функцию root.

Действия которые может производить функция Find:

  • используя Find(variable) = возможно определить найденное решение данного уравнения. В случае решения уравнения с более чем одним неизвестным результаты лучше вывести в виде вектора с помощью команды Find(vari1, var2,...) =;

  • для определения переменной с применением этой функции необходимо в конце блока поиска решения ввести выражение a := Find(x). Это удобно сделать, если требуется использовать решение системы уравнений в другом месте рабочего документа. Как только переменная a определена таким образом, она сразу же принимает значение искомого корня. Если Find возвращает векторное значение, можно ввести следующее выражение variable := Find(vari1, var2,...). Переменная примет вид вектора (вместо скаляра).

  • используя Find, можно найти значение другой функцию. Для этого необходимо вставить в конце блока решения выражение следующего вида f(a, b, c,...) := Find(x, y, z,...). Данную конструкцию удобно использовать при многократном поиске и нахождении решения системы уравнений для абсолютно всех значений параметров a, b, с, . . ., которые входят в данную систему уравнений.

Для поиска минимума и максимума в Mathcad существует две функции:

  • Minimize (y, x) используется для нахождения значения, которые соответствуют минимуму функции у(х) на данном интервале;

  • Maximize (y,x) используется для поиска таких значения х, которые соответствуют максимальному значению функции у(х) на заданном интервале.

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

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

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

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

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

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

3.4 Нахождение экстремума функции методом деления интервала пополам

Алгоритм нахождения экстремума функции методом деления интервала пополам (методом бисекции) имеет следующий вид:

  1. Положить и . Вычислить значение .

  1. Положить и . Таким образом, точки , и делят интервал (a, b) на четыре равные части. Вычислить значения и .

  2. Сравнить и . Если

Просмотров работы: 2267