![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Метод покоординатного спуска.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Этот метод сводится к следующему. Выбираются координаты начальной точки поиска x1н и x2н, т.е. те значения х1и х2, от которых мы начнем искать оптимум. Выбираются единичные приращения обоих факторов (шаги) Н1 и Н2, а также малые приращения факторов e1 и е2. Выбор всех этих величин определяется физическим смыслом задачи и той информацией о ней, которой мы располагаем заранее.
Рассчитывается значение R(х1,х2) в точке 1 (рис. 25.5). Далее, не меняя величины х2, начинаем двигаться вдоль оси х1, давая на каждом шаге этому фактору приращение Н1 (или - Н1, в зависимости от того, при движении в какую сторону будет наблюдаться рост R). На каждом шаге — в точках 2, 3, 4 и т. д. — проводится расчет R. Шаги продолжаются до тех пор, пока продолжается рост R. Неудачными будем считать те шаги, на которых получено меньшее значение R, чем на предыдущих; на рисунке они обозначены крестиками. После первого неудачного шага (точка 6) возвращаемся в предыдущую точку (в данном случае — в точку 5), фиксируем величину х1и начинаем изменять х2, давая ему приращения Н2 или - Н2 (точки 7, 8, 9, 10). Затем снова движемся вдоль оси х1(точки 11, 12, 13), снова меняем направление (точки 14, 15) и т. д. Если факторов больше двух, то после движения вдоль осей х1и х2проводится движение вдоль осей х3, х4 и т.д. до последней, и лишь затем вновь движемся вдоль оси х1. На рис. 25.5 изображена ситуация, когда из точки 12 двигаться некуда: во всех окружающих точках (9, 13, 14, 15) значение R меньше, чем в данной. Это значит, что максимум находится недалеко от точки 12 и прежние крупные шаги из токи 12 переносят через него. В этом случае шаги уменьшают, вдвое (см. точку 16) и продолжают поиск уменьшенными шагами. Уменьшение шага может производиться неоднократно. Но в тот момент, когда уменьшенные шаги оказываются меньше, чем соответственно e1 и е2, логично считать, что максимум зафиксирован достаточно точно и можно закончить расчет, приняв лучшую точку за оптимум.
Метод градиента Как и в методе покоординатного спуска, вначале выберем координаты исходной точки х1и х2, шаги Н1 и Н2 и малые приращения e1 и е2. Движение к оптимуму начнем не вдоль какой-либо оси координат, а в направлении градиента целевой функции (или, если ищем минимум, то в противоположном градиенту направлении). Поскольку Н1 и Н2 приняты за единичные приращения координат, формула градиента получит вид:
Ясно, что для расчета направления градиента необходимо знать частные производные целевой функции по факторам. Для расчета производных проводится вспомогательная серия расчетов (рис. 25.6). Около начальной точки 1 ставятся две вспомогательные точки: 1’на расстоянии e1 вдоль оси х1и 1’’ на расстоянии е2 вдоль оси х2, и в них рассчитывается R. Производные находят по формулам: После этого делают шаг в точку 2 для следующего расчета R. Ее координаты находятся по формуле Дальше можно поступать по-разному. Можно определить производные в новой точке i+1, найти направление градиента, сделать шаг и т. д. Но чаще делают иначе. Если шаг оказался удачным, т. е. если Ri+1>Ri (при поиске максимума), то делают следующий шаг в том же направлении, подставляя в формулу (25.10) ранее найденные значения производных. Практически наверняка это будет уже не направление градиента: направление градиента в разных точках пространства факторов — разное, если только функция R не является линейной. Но можно надеяться, что еще один шаг в прежнем направлении снова даст приращение R нужного знака, хотя и не максимально возможное (так как от градиента мы отклонились); зато мы сэкономили на том, что не надо лишний раз считать производные. Если и этот шаг удачен, шагнем еще раз и т. д. В случае, когда шаг неудачен, вероятно, поверхность настолько искривлена, что данное направление перестало вести вверх, мы «перескочили» через ту окрестность предыдущей точки, в которой функция возрастала. Поэтому в таком случае обычно уменьшают шаг, например, вдвое. Теперь, если уменьшенный шаг в том же направлении будет удачен, нет смысла делать еще шаг, поскольку он приведет в «плохую» точку (см. рис. 25.7, а: крестик — неудачный шаг, (i+2)-точка половинного шага). В этом случае около точки (i+2) поставим вспомогательные точки для расчета производных по формуле (25.8), найдем новое направление градиента и двинемся по нему (на рис. 25.7 вспомогательные точки - кружки, новое направление градиента — стрелка). Если же и уменьшенный шаг не приведет в «хорошую» точку (рис. 25.7,6), то вернемся в точку i и будем в ней искать направление градиента.
Движение продолжают до тех пор, пока шаги не станут очень малыми. Уменьшение шагов объясняется двумя причинами. Во-первых, неоднократным уменьшением в тех случаях, когда большой шаг оказывался неудачным. Во-вторых (это принципиально важнее), тем, что вблизи оптимума производные близки к нулю, и формула (25.10) дает уже очень малые приращения. Для останова вычислений можно использовать момент, когда оба приращения Dxij окажутся меньше, чем соответствующие малые величины еj.
Метод случайного поиска В методе покоординатного спуска движение из точки производится шагами, направленными вдоль одной из осей координат. В методе градиента - шагами по направлению градиента. В случайном поиске шаг из данной точки осуществляется в случайном направлении. При двух факторах в принципе можно поступить так. Нанести на график оси координат х1 и х2 и начальную точку (рис. 25.8). Затем бросить в график кусочек графита, целясь в точку 1. Линия, соединяющая точку 1 с точкой попадания 2, и определит случайное направление. Разумеется, практически случайное направление находят по-иному. Пользуясь формулой (25.9), но Dxij находят не по формуле (25.10), а по соотношению где аij — случайное число, которое обычно либо находят по таблицам случайных чисел, имеющимся в большинстве книг и справочников по теории вероятностей, математической статистике и теории эксперимента, либо рассчитывают на ЭВМ по специальным программам (генераторы случайных чисел). Если шаг оказался удачным, обычно продолжают движение в том же направлении; если неудачным — рассчитывают новое случайное направление. Практика оптимизации показывает, что в ряде случаев (много факторов, очень сложный вид поверхности, влияние ограничений) случайный поиск может оказаться эффективнее остальных методов.
|
||||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 473; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.214.78 (0.012 с.) |