Мегаобучалка Главная | О нас | Обратная связь


Метод конфигураций (Хука-Дживса)



2019-10-11 415 Обсуждений (0)
Метод конфигураций (Хука-Дживса) 0.00 из 5.00 0 оценок




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

Процесс поиска минимума функции всегда начинается с исследующего поиска.

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

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

Алгоритм метода:

1) Задается начальная точка и начальные значение приращений . Точка  называется точкой старого базиса.

2) Проводится исследующий поиск, в результате которого каждая координата новой точки  вычисляется по алгоритму:

 

 

В результате исследующего поиска получается точка .

Если при этом , то - точка нового базиса.

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

 

Рисунок 1.19. Исследующий поиск (слева — удачный, справа - неудачный) - точка старого базиса - точка нового базиса

3) Из точки нового базиса может быть:

· продолжен исследующий поиск со старыми или новыми значениями приращений (шаг 2) алгоритма)

· проведен поиск по образцу по алгоритму:

 

 

 

Рисунок 1.20. Поиск по образцу (слева — удачный, справа - неудачный)

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

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

4) Процедура 3) повторяется до выполнения критерия окончания счета.

Основной критерий окончания метода:

 

 

Дополнительные критерии окончания метода:

l при выполнении предельного числа итераций:

l при однократном или двукратном одновременном выполнении двух условий:

 

 

где - малое положительное число.

Алгоритм работы метода конфигураций схематически изображен на рис. 1.21

 

Рисунок 1.21. Диаграмма работы метода конфигураций

 


Практическая часть

 

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

Во-первых, разрабатываемая система должна иметь определённую структуру, которая определяет механизм её работы. Для определения структуры необходимо рассмотреть современные виды архитектуры, использующиеся в сходных проектах. Затем нужно сравнить эти модели и выбрать на основании этого сравнения такую модель, которая в наибольшей степени будет соответствовать предъявляемым требованиям.

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

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

 

Анализ архитектур

 

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

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

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

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

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

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

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

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

Сервисно-ориентированная архитектура, которая опирается на набор стандартизированных сервисов, взаимодействующих между собой.

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

 

Локальная архитектура

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

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

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

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

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

Несмотря на свои недостатки, локальная модель архитектуры до сих пор широко применяется на практике и в настоящее время и наверняка будет применяться и в будущем.

 



2019-10-11 415 Обсуждений (0)
Метод конфигураций (Хука-Дживса) 0.00 из 5.00 0 оценок









Обсуждение в статье: Метод конфигураций (Хука-Дживса)

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (415)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)