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

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




































Главная

Программирование, компьютеры и кибернетика
Оптимизационные методы минимизации и максимизации

Нахождение стационарной точки. Расчет безусловного экстремума функции методами прямого поиска. Графическое пояснение метода равномерного симплекса. Метод поиска Хука-Дживса. Метод сопряженных направлений Пауэлла. Разработка программного модуля расчетов.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

Оптимизация как раздел математики существует достаточно давно. Оптимизация - это выбор, т.е. то, чем постоянно приходится заниматься в повседневной жизни. Термином "оптимизация" в литературе обозначают процесс или последовательность операций, позволяющих получить уточненное решение. Хотя конечной целью оптимизации является отыскание наилучшего или "оптимального" решения, обычно приходится довольствоваться улучшением известных решений, а не доведением их до совершенства. Поэтому под оптимизацией понимают скорее стремление к совершенству, которое, возможно, и не будет достигнуто.
Необходимость принятия наилучших решений так же стара, как само человечество. Испокон веку люди, приступая к осуществлению своих мероприятий, раздумывали над их возможными последствиями и принимали решения, выбирая тем или другим образом зависящие от них параметры - способы организации мероприятий. Но до поры, до времени решения могли приниматься без специального математического анализа, просто на основе опыта и здравого смысла.
Вообще, чем сложнее организуемое мероприятие, чем больше вкладывается в него материальных средств, чем шире спектр его возможных последствий, тем менее допустимы так называемые "волевые" решения, не опирающиеся на научный расчет, и тем большее значение получает совокупность научных методов, позволяющих заранее оценить последствия каждого решения, заранее отбросить недопустимые варианты и рекомендовать те, которые представляются наиболее удачными.
Практика порождает все новые и новые задачи оптимизации причем их сложность растет. Требуются новые математические модели и методы, которые учитывают наличие многих критериев, проводят глобальный поиск оптимума. Другими словами, жизнь заставляет развивать математический аппарат оптимизации.
Реальные прикладные задачи оптимизации очень сложны. Современные методы оптимизации далеко не всегда справляются с решением реальных задач без помощи человека. Нет, пока такой теории, которая учла бы любые особенности функций, описывающих постановку задачи. Следует отдавать предпочтение таким методам, которыми проще управлять в процессе решения задачи.
Оптимизационные методы минимизации и максимизации приобретают всё большую ценность и востребованность.
Применение оптимизационных задач имеет особый успех при проектировании и анализе больших технических систем. Кроме того, интенсивное развитие средств вычислительной техники стимулирует ускорение темпов внедрения теоретических разработок в инженерную практику. В настоящее время для инженера знание методов оптимизации столь же необходимо, как знание основ математического анализа, физики, радиоэлектроники и других дисциплин.
Для того, чтобы в точке функция f(x) имела безусловный локальный экстремум необходимо, чтобы все её частные производные обращались в точке в нуль.
Найдем для данной целевой функции частные производные по и :
Приравняв полученные выражения к нулю, получим систему уравнений:
Решение системы уравнений даёт результат:
Таким образом, экстремум целевой функции является точка с координатами х* =Т, значение целевой функции, в которой: .
Для определения характера стационарной точки составим определитель матрицы Гессе. Под определителем Гессе понимается определитель, составленный из вторых производных исходной целевой функции.
Так как гессиан функция - положительно определенная матрица (выполняются условия Сильвестра: все диагональные элементы матрицы Гесса - положительные величины, все ведущие главные определители положительные величины), стационарная точка является точкой минимума.
Рис 1. Линии уровня функции и стационарная точка
2. Нахождение безусловного экстремума методами прямого поиска
Задача безусловной оптимизации состоит в нахождении минимума или максимума функции в отсутствие каких-либо ограничений. Несмотря на то что большинство практических задач оптимизации содержит ограничения, изучение методов безусловной оптимизации важно с нескольких точек зрения. Многие алгоритмы решения задачи с ограничениями предполагают сведение ее к последовательности задач безусловной оптимизации. Другой класс методов основан на поиске подходящего направления и последующей минимизации вдоль этого направления. Обоснование методов безусловной оптимизации может быть естественным образом распространено на обоснование процедур решения задач с ограничениями.
Суть метода заключается в исследовании целевой функции в вершинах некого "образца", построенного в пространстве вокруг "базовой" точки. Вершина, давшая наибольшее значение целевой функции отображается относительно двух других вершин и таким образом становится новой базовой точкой, вокруг которой строится новый образец и снова выполняется поиск. В случае двух переменных симплексом является равносторонний треугольник, в трёхмерном пространстве - тетраэдр.
Работа алгоритма начинается с построения регулярного симплекса в пространстве независимых переменных и оценивания значений целевой функции в каждой точке. Затем определяется вершина с максимальным значением целевой функции и проектируется через центр тяжести оставшихся вершин в новую точку.
Процедура продолжается до тех пор, пока не будет накрыта точка минимума.
1. Если вершина с максимальным значением целевой функции построена на предыдущем шаге, то отбрасывается вершина со следующим по величине значением целевой функции.
2. Если вокруг одной из вершин начинается циклическое движение, то необходимо уменьшить размеры симплекса.
Поиск заканчивается тогда, когда размеры симплекса или разность значений целевой функции становятся достаточно малыми.
При заданной начальной точке и масштабном множителе , координаты остальных вершин симплекса в - мерном пространстве вычисляются по формуле:
Приращения и определяется по формулам:
Величина выбирается исследователем, исходя из характеристики решаемой задачи. При ребро симплекса имеет единичную длину.
Если - точка, подлежащая отражению, то координаты центра тяжести определяются по формуле:
Координаты новой вершины удовлетворяют уравнению:
Для того чтобы симплекс обладал свойством регулярности, отображение должно быть симметричным, т.е.
Если некоторая вершина симплекса не исключается на протяжении нескольких итераций, то необходимо уменьшить размер симплекса и построить новый симплекс, выбрав в качестве базовой точку с минимальным значением целевой функции.
Шаг 1. Задать: 1. Начальную точку х(0) ;
4.Условие окончания поиска. Перейти к шагу 2.
Шаг 2. Вычислить координаты вершин х(1) и х(2) симплекса. Перейти к шагу 3.
Шаг 3. Определить значения целевой функции в вершинах симплекса. Перейти к шагу 4.
Шаг 4. Вершина, которой соответствует наибольшее значение целевой функции , построена на предыдущей итерации?
Да: отображается вершина, которой соответствует следующее по величине значение целевой функции
Нет: отображается точка с наибольшим значением целевой функции относительно двух других вершин симплекса. Перейти к шагу 5.
Шаг 5. Проверка на условие окончания.
Да: закончить поиск; результат- точка с наименьшим значением целевой функции;
Минимизируем целевую функцию до первого уменьшения размера симплекса:
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
Так как наибольшее значение целевой функции соответствует , которое получено на предыдущей итерации, отбрасываем .
Так как наибольшее значение целевой функции соответствует , которое получено на предыдущей итерации, отбрасываем .
- максимально, следовательно, заменяем
- максимально, следовательно, заменяем
Симплекс сделал один оборот в области расположения точки , то есть точку при заданных условиях можно считать точкой минимума целевой функции (для получения более точного решения необходимо уменьшить размер симплекса).
Таким образом, точка - точка минимума, значение функции в которой .
Рис 2. Графическое пояснение метода равномерного симплекса
Процедура Хука-Дживса представляет собой комбинацию "исследующего" поиска с циклическим изменением переменных и ускоряющего поиска по найденному образцу. Исследующий поиск ориентирован на выявление направления вдоль "оврагов". Полученная в результате исследующего поиска информация используется затем в процессе поиска по образцу при движении по "оврагам".
Для проведения исследующего поиска необходимо задать величину шага, которая может быть различна для разных координатных направлений, и изменяться в процессе поиска. Поиск начинается в некоторой исходной точке. Делается пробный шаг вдоль одного из координатных направлений. Если значение целевой функции в пробной точке меньше, чем в исходной, то шаг считается удачным. В противном случае возвращаются в исходную точку и делают шаг в противоположном направлении. После перебора всех координат исследующий поиск заканчивается. Полученную в результате исследующего поиска точку называют базовой.
Поиск по образцу в заключается в реализации единственного шага из полученной базовой точки вдоль прямой, соединяющей эту точку с предыдущей базовой точкой. Новая точка определяется по формуле:
Как только движение по образцу не приводит к уменьшению целевой функции, точка фиксируется в качестве временной базовой точки и выполняется исследующий поиск. При уменьшении значения целевой функции эта точка рассматривается как базовая точка. Если же исследующий поиск не дал результата, необходимо вернуться в предыдущую точку и провести исследующий поиск заново. Если такой поиск не приводит к успеху, то необходимо уменьшить величину шага. Поиск завершается, когда величина шага приращения становится достаточно малой.
Шаг 1. Задать: 1. Начальную точку ;
Шаг 2. Произвести исследующий поиск.
Шаг 4. Проверка на окончание поиска: ?
Нет: уменьшить приращение по формуле:
Шаг 6. Провести исследующий поиск, используя в качестве базовой точки: - полученная в результате точка
перейти к шагу 5; Нет: перейти к шагу 4.
Минимизируем значение целевой функции до первого сокращения шага поиска
Шаг 2. Исследующий поиск вокруг базовой точки :
фиксируя , даём приращение переменной :
фиксируя , даём приращение переменной :
Так как поиск удачен, то переходим к поиску по образцу (Шаг 5):
Шаг 6. 2. Исследующий поиск вокруг точки (Шаг 2.):
фиксируя , даём приращение переменной :
фиксируя , даём приращение переменной :
Шаг 5. Так как поиск удачен, то переходим к поиску по образцу (Шаг 5.):
Шаг 6. 3.Исследующий поиск вокруг точки :
фиксируя , даём приращение переменной :
фиксируя , даём приращение переменной :
Так как поиск удачен, то переходим к поиску по образцу (Шаг 5.):
Значение целевой функции увеличилось, поэтому возьмём последнюю точку за временную базовую и проведём исследующий поиск.
Шаг 6. Исследующий поиск вокруг базовой точки :
фиксируя , даём приращение переменной :
фиксируя , даём приращение переменной :
Так как поиск удачен, то переходим к поиску по образцу (Шаг 5.) :
Значение целевой функции увеличилось, поэтому возьмём последнюю точку за временную базовую и проведём исследующий поиск (Шаг 6.).
Исследующий поиск вокруг базовой точки :
фиксируя , даём приращение переменной :
фиксируя , даём приращение переменной :
В результате исследующего поиска не было достигнуто уменьшение значения целевой функции, то есть значение шага (векторной величины приращения) уменьшить в раз, до величины , затем необходимо произвести исследующий поиск вокруг точки , используя новое значение приращения .
Итерации продолжаются, пока величина шага не укажет на окончание поиска в окрестности точки минимума.
Рис 3. Графическое пояснение метода Хука-Дживса
2.3 Метод сопряженных направлений Пауэлла
Метод ориентирован на решение задач с квадратичными целевыми функциями. Основная идея алгоритма заключается в том, что если квадратичная функция:
приводится к виду сумма полных квадратов
то процедура нахождения оптимального решения сводится к одномерным поискам по преобразованным координатным направлениям.
В методе Пауэлла поиск реализуется в виде:
вдоль направлений , , называемых -сопряженными при линейной независимости этих направлений.
Сопряженные направления определяются алгоритмически. Для нахождения экстремума квадратичной функции переменных необходимо выполнить одномерных поисков.
Шаг 1. Задать исходные точки , и направление . В частности, направление может совпадать с направлением координатной оси;
Шаг 2. Произвести одномерный поиск из точки в направлении получить точку , являющуюся точкой экстремума на заданном направлении;
Шаг 3. Произвести одномерный поиск из точки в направлении получить точку ;
Шаг 5. Провести одномерный поиск из точки (либо ) в направлении с выводом в точку .
а) Найдем значение , при котором минимизируется в направлении :
Продифференцируем полученное выражение по , получим:
б) Аналогично находим значение минимизирующее функцию
Продифференцируем полученное выражение по , получим:
в) Найдем значение минимизирующее :
Продифференцируем полученное выражение по , получим:
Шаг4. Найдем такое значение , при котором минимизируется в направлении .
Продифференцируем полученное выражение по , получим:
Таким образом, получили точку , значение функции в которой равно , что совпадает со стационарной точкой.
Рис 4. Графическое пояснение метода сопряженных направлений Пауэлла
3. Нахождение безусловного экстремума г радиентными методами
В отличии от методов прямого поиска градиентные методы поиска используют информацию о производных функции. Это позволяет уменьшить
количество необходимых вычислений значений функции. Эти методы делятся на две группы: методы, использующие информацию только о первых производных , и методы, учитывающие информацию и первых, и вторых производных.
В методе Коши или методе наискорейшего спуска в качестве направления поиска выбирается направление антиградиента.
Алгоритм метода выглядит следующим образом:
Значение на каждой итерации вычисляется путем решения задачи одномерного поиска экстремума вдоль направления градиента . Если в качестве взять некоторое положительное число, то получится простейший градиентный алгоритм:
Одно из главных достоинств метода Коши является его устойчивость, так как всегда выполняется условие:
Однако вблизи экстремума скорость сходимости алгоритма становится недопустимо низкой, так как вблизи экстремума значение градиента стремится к нулю.
Шаг 1. Задать: 1. Начальную точку х(0) ;
2. Условие окончания поиска. Перейти к шагу 2.
Шаг 2. Вычислить направление поиска в виде антиградиента функции
где - величина шага относительно текущего приближения. Перейти к шагу4.
Шаг 4. Проверка условия окончания поиска.
- начальная точка (начальное приближение);
1. Новое приближение определим по формуле:
Выбираем такое, чтобы минимизировать функцию
После 4 итераций найдено достаточно точное значение минимума, при котором значение целевой функции в точке , .
Рис 5. Графическое пояснение метода Коши
Этот метод использует информацию о вторых производных целевой функции. Эта информация появляется при квадратичной аппроксимации целевой функции, когда при её разложении в ряд Тейлора учитываются члены ряда до второго порядка включительно. Алгоритм метода выглядит следующим образом:
В случае, когда гессиан положительно определён, направление по методу Ньютона оказывается направлением спуска.
Шаг 1. Задать: начальную точку х(0). Перейти к шагу 2.
Шаг 2. Вычислить направление поиска в виде
Шаг 3. Найти новое приближение (являющееся решением задачи для квадратичной функции)
Шаг 4. Проверка на условие окончания вычислений.
Таким образом, точка минимума , значение функции в которой найдена за одну итерацию.
Рис 6. Графическое пояснение метода Ньютона
Данный метод обладает положительными свойствами методов Коши и Ньютона. Кроме того, этот метод использует информацию только о первых производных исследуемой функции. Метод сопряженных градиентов позволяет получить решение за шагов в -мерном пространстве и обладает квадратичной сходимостью. В основе метода лежит организация поиска вдоль сопряженных направлений, причем для получения сопряженных направлений используется квадратичная аппроксимация целевой функции и значения компонент градиента.
Операции аргумента проводятся по формуле:
Направление поиска на каждой итерации определяется с помощью формулы:
В этом случае направление будет -сопряжено со всеми ранее построенными направлениями поиска.
Если функция квадратичная, то для нахождения точки экстремума требуется определить таких направлений и провести поиски вдоль каждой прямой. Если не является квадратичной, то количество поисков возрастёт.
Изменение градиента при переходе от точки к точке :
(рекуррентная формула Флетчера-Ривса).
Шаг 1. Задать: начальную точку х(0). Перейти к шагу 2.
Шаг 2. Вычислить направление поиска. Произвести поиск вдоль прямой .
Шаг 3. Вычислено ли N-1 направлений.
экстремум функция симплекс программный
Таким образом, решение (точка минимума) , значение функции в которой , получено в результате двух одномерных поисков, поскольку целевая функция квадратична.
Рис 7. Графическое пояснение метода сопряженных градиентов
Данный метод обладает положительными чертами метода Ньютона, однако, использует информацию только о первых производных. В этом методе приближение к очередной точке в пространстве оптимизируемых параметров задается формулой:
Направление поиска определяется выражением:
Где изменение градиента на предыдущем шаге.
Данный алгоритм отличается устойчивостью, так как обеспечивает убывание целевой функции от итерации к итерации.
Шаг 1. Задать: начальную точку х(0). Перейти к шагу 2.
Шаг 2. Вычислить направление поиска s(k). Перейти к шагу 3.
Шаг 3. Произвести поиск вдоль прямой . Перейти
Шаг 4. Проверка условия окончания поиска.
Таким образом, точка минимума , значение функции в которой найдена за одну итерацию.
Рис 8. Графическое пояснение квазиньютоновского метода
4. Нахождение условного экстремума методом штрафных функций
Все предыдущие методы поиска оптимума функции были предназначены для задач безусловной оптимизации. Ниже будет разобран метод штрафных функций, один из многих, предназначенных для решения более сложных задач, в которых область поиска ограничена из каких-либо практических соображений.
Суть метода заключается в преобразовании исходной целевой функции посредством включения в неё функции от ограничений, получая, таким образом, задачу безусловной оптимизации, для решения которой можно использовать рассмотренные в первой части методы. Переход от задачи условной оптимизации к задаче безусловной оптимизации осуществляется посредством включения в исходную функцию "штрафов" за нарушение ограничений задачи.
Пусть исходная задача имеет следующий вид:
Тогда преобразованная задача определится выражением:
где - штрафная функция от ограничений задачи, а - штрафной параметр. Наличие штрафного параметра вызвано тем, что введение штрафной функции сильно деформирует поверхность целевой функции, что, в свою очередь, приводит к ухудшению обусловленности преобразованной задачи. Поэтому параметр служит "регулятором" веса штрафной составляющей в целевой функции, и процесс решения задачи разбивается на ряд вспомогательных задач с различными значениями параметра и контролем сходимости их решений.
Квадратичный штраф имеет вид: . Этот вид штрафов используется для учёта ограничений - равенств. Функция непрерывна и имеет непрерывную производную, откуда следует, что если непрерывны и дифференцируемы и , то стационарную точку можно найти аналитически.
Этот штраф положителен для всех таких, что , и отрицателен при . Логарифмический штраф - это барьерная функция, неопределенная в точках, где . Поэтому на начальном этапе поиска, когда значение шага поиска невелико, необходимо обеспечить защиту процедуры от попадания рабочей точки в недопустимую область.
Как и предыдущий штраф, является барьерным. В допустимой области вблизи границы значение штрафа быстро убывает при продвижении внутрь допустимой области. На самой границе значение не определено, как и в предыдущем случае возможно появление недопустимых точек.
Этот штраф является внешним, и недопустимые точки не создают проблем по сравнению с допустимыми. Различие заключается том, что в допустимых точках штраф равен нулю. Этот вид штрафа удобен тем, что непрерывна и определена всюду. Параметр положителен и увеличивается от итерации к итерации.
- начальное значение штраф параметра
- параметр окончания работы алгоритма
Шаг 3. Находим , доставляющее экстремум , методом Ньютона.
Нет: перейти к шагу 5. Шаг 5. , перейти к шагу 2.
Нахождение минимума целевой функции :
Преобразуем целевую функцию введением в неё заданного квадратичного штрафа:
Шаг 3. Найдем минимум целевой функции с заданным квадратичным штрафом:
То есть, при изменении от нуля до бесконечности, решение будет изменяться от минимума задачи с учётом ограничений до минимума функции без учёта ограничений.
Исследуем функцию при различных значениях параметра , то есть
Решением задачи условной оптимизации является точка: , значение функции в которой равно: . Мы подтвердили, что при увеличении штрафного параметра все ограничения уменьшаются, что доставляет минимум задачи безусловной оптимизации. Наоборот, при уменьшении штрафного параметра до нуля вес ограничения возрастает, что доставляет минимум задачи условной оптимизации.
Рис 9. Графическое пояснение метода штрафных функций
Вывод: метод штрафных функций служит для решения задач условной оптимизации путем перевода их в задачу безусловной оптимизации. Как видно их рисунка, величина штрафного параметра сильно влияет на вид функции. При его увеличении "вес" ограничения в целевой функции уменьшается, и функция принимает свой обычный вид (без штрафной составляющей).
5. Разработка программного модуля
Цель работы: разработка программного продукта, находящего оптимум функции вида
1. Возможность изменения исходных данных с клавиатуры.
2. Графическое отображение решения.
3. Занесение результатов в таблицу.
Пользователю предоставляется возможность ввести начальные параметры. После ввода данных с помощью кнопки «вычислить» мы получаем решение. Результаты представлены в таблице, а так же ход решения можно пронаблюдать на графике. В пункте меню Справка можно получить информацию о методе и о разработчике программы. Для выхода из программы используется пункт меню Выход.
Вывод: Представленный модуль удовлетворяет поставленным требованиям. Программа разработана в среде С++Builder 6.0. Код программы находится в приложении 2.
Анализируя результаты исследования (сравнения) всех рассмотренных выше методов, можно прийти к выводу о том, что каждый из них имеет свои достоинства и недостатки и более применим для задач одних видов и менее - для других. Однако, пользователь всегда сможет найти подходящий алгоритм для решения своей конкретной проблемы, выбирая как из вышеприведенного множества методов, так и из огромного спектра их модифицированных, усовершенствованных и комбинированных вариантов.
Однако, есть целый класс проблем, где найти оптимум либо крайне сложно, либо вообще невозможно получить точное решение с помощью алгоритмов данных категорий. К таким задачам относится, например, моделирование глобальных социально-экономических процессов.
Мощным инструментом теоретического исследования алгоритмов являются теоремы о сходимости методов. Однако, как правило, формулировки таких теорем абстрактны, при их доказательстве используется аппарат современного функционального анализа. Кроме того, зачастую непросто установить связь полученных математических результатов с практикой вычислений. Дело в том, что условия теорем труднопроверяемы в конкретных задачах, сам факт сходимости мало что дает, а оценки скорости сходимости неточны и неэффективны. При реализации алгоритмов также возникает много дополнительных обстоятельств, строгий учет которых невозможен (ошибки округления, приближенное решение различных вспомогательных задач и т.д.) и которые могут сильно повлиять на ход процесса.
Поэтому на практике часто сравнение алгоритмов проводят с помощью вычислительных экспериментов при решении так называемых специальных тестовых задач. Эти задачи могут быть как с малым, так и с большим числом переменных, иметь различный вид нелинейности. Они могут быть составлены специально и возникать из практических приложений, например задача минимизации суммы квадратов, решение систем нелинейных уравнений и т.п.
1. Микрокова В.И. «Методы оптимизации». - Киров, 2004.
2. Пантелеев А.В. «Методы оптимизации в примерах и задачах».- Высшая школа ,2002.
Для программной реализации был предложен метод Коши. Алгоритм метода описан в пояснительной записке.
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
//---------------------------------------------------------------------------
{ if(Form1->SaveDialog1->Execute())
{Form1->Chart1->SaveToBitmapFile(Form1->SaveDialog1->FileName);}}
//---------------------------------------------------------
str1="Метод Коши Уравнение имеет вид: f(X1,X2)=(X1-"+FloatToStrF(a,ffGeneral,6,0)+")^2+(X2-"+FloatToStrF(b,ffGeneral,6,0)+")^2+X1*X2; Точка поиска:["+FloatToStrF(x110,ffGeneral,6,0)+";"+FloatToStrF(x210,ffGeneral,6,0)+"]\n";
{k=StrLen(Form1->StringGrid1->Cells[i][j].c_str());
str1+=(" "+Form1->StringGrid1->Cells[i][j]+" ");
{String save=Form1->SaveDialog2->FileName;
//-----------------------------------------------------------
Label7->Caption="["+FloatToStrF(q1,ffGeneral,6,0)+";"+FloatToStrF(q2,ffGeneral,6,0)+"]";
Label11->Caption="Данная точка является минимумом функции";
Label9->Caption=FloatToStrF(fq,ffGeneral,6,0);
//Label5->Caption="f(X1,X2) = (X1-"+FloatToStrF(a,ffGeneral,6,0)+")^2+(X2-"+FloatToStrF(b,ffGeneral,6,0)+")^2+X1*X2";
//Form1->StatusBar1->Panels->Items[3]->Text="*******Введите точность метода и нажмите \"ВЫЧИСЛИТЬ\"*******"; }
//----------------------------------------
// Form1->StatusBar1->Panels->Items[3]->Text="*******Введите новые исходные данные и нажмите \"ВВОД ДАННЫХ\"*******";}
//---------------------------------------------------------------------------
Form1->StringGrid1->Cells[0][0]="N";
Form1->StringGrid1->Cells[1][0]="Производная";
Form1->StringGrid1->Cells[2][0]="Коэфициент альфа";
Form1->StringGrid1->Cells[3][0]="Текущая точка";
Form1->StringGrid1->Cells[4][0]="Значение функции";
StringGrid1->Cells[1][i+1]="["+FloatToStrF(tmp1,ffGeneral,4,4)+";"+FloatToStrF(tmp2,ffGeneral,4,4)+"]";
alpha_v= 2*tmp1*(x11-a)+2*tmp2*(x21-b)+x11*tmp2+x21*tmp1;
alpha_z= 2*(tmp1*tmp1+tmp2*tmp2+tmp1*tmp2);
StringGrid1->Cells[2][i+1]=FloatToStrF(alpha,ffGeneral,6,0); }
StringGrid1->Cells[3][i+1]="["+FloatToStrF(x11,ffGeneral,6,0)+";"+FloatToStrF(x21,ffGeneral,6,0)+"]";
StringGrid1->Cells[4][i+1]=FloatToStrF(temp_tek,ffGeneral,6,0);
//---------------------------------------------------------------------------
float __fastcall TForm1::funk(float x11, float x21)
{return (pow(x11-a,2)+pow(x21-b,2)+x11*x21);}
//------------------------------------------------------
float __fastcall TForm1::df_x1(float x11,float x21)
//--------------------------------------------------------
float __fastcall TForm1::df_x2(float x11,float x21)
double xx21,xx22,xx11,fx; // переменные и функция
Chart1->UndoZoom(); // отмена Zoom'a
Series4->AddXY(xx11,xx21,"",clBlue);
fx=temp_tek; // значение функции в точке опт.
{fx+=10; // шаг построения линий уровня
TLineSeries *Series2=new TLineSeries(Form1);
TLineSeries *Series3=new TLineSeries(Form1);
DD=pow((8*a-4*b),2)-16*(fx-a*a)*(1-4);
{D=(1-4)*xx11*xx11+(8*a-4*b)*xx11+4*(fx-a*a);
Series2->AddXY(xx11,xx21,"",clBlack);
Series3->AddXY(xx11,xx22,"",clBlack);
D=(1-4)*xx11*xx11+(8*a-4*b)*xx11+4*(fx-a*a);
Series2->AddXY(xx11,xx21,"",clGreen);
Series3->AddXY(xx11,xx22,"",clGreen);} }
//--------------------------------------------------------------------
void __fastcall TForm1::del_lin_ur()
{for (int i=lin_ur->Count-1;i>=0;i--)
void __fastcall TForm1::N7Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
//---------------------------------------------------------------------------
void __fastcall TForm1::PageControl1Change(TObject *Sender)
{//Form1->RichEdit1->Lines->LoadFromFile("metod.rtf"); }
//---------------------------------------------------------------------------
void __fastcall TForm1::N8Click(TObject *Sender)
Form2->RichEdit2->Lines->LoadFromFile("metod.rtf");
//---------------------------------------------------------------------------
void __fastcall TForm1::N9Click(TObject *Sender)
Form4->RichEdit2->Lines->LoadFromFile("
Оптимизационные методы минимизации и максимизации курсовая работа. Программирование, компьютеры и кибернетика.
Дипломная работа по теме 'Исламский фактор' во внутренней и внешней политике постсоветских государств Центральной Азии (1990–2022 гг.)
Реферат: Релейный разговор (Internet Relay Chat - IRC)
Реферат: Спутниковые телекоммуникации
Дорофеев 7 Класс Алгебра Гдз Контрольные Работы
Контрольная работа по теме Молодежный сленг и его отражение в современных СМИ
Реферат: Белый пудель 2
Сочинение На Тему Онегин Лишний Человек
Реферат по теме Наукові знання Київської Русі
Сочинение На Тему Любовная
Написать Сочинение Дубровский 6 Класс По Литературе
Контрольная Работа Пнш 1 Класс Русский
Эссе Оформление Титульного
Курсовая работа: Апелляционное производство в арбитражном процессе
Реферат: Робеспьер. Скачать бесплатно и без регистрации
Эссе На Тему Уголовные Преступления
Реферат: Образование в Великобритании
Курсовая Работа На Тему Методика Расследования Вымогательства
Контрольная работа: Внешнее и конкурсное управление
Реферат: Сущность и структура аудиторского заключения
Реферат На Тему Туристические Культурно-Исторические Ресурсы Рф
Инвентаризация имуществ и обязательств - Бухгалтерский учет и аудит курсовая работа
Театр как объект управления - Культура и искусство контрольная работа
Физиология ЦНС - Медицина лекция


Report Page