Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 462; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.21.101 (0.01 с.) |