Оптимизиране на многомерна нелинейна функция
Курсов проект - Компютри, програмиране
Други курсови работи по темата Компютри, програмиране
� Едномерното търсене търси оптимума. В оптималната точка на посока отново произволно се търси нова посока и т.н.
Крайното условие обикновено е невъзможността да се получи най-добрата точка от текущата в предварително определен брой опити.
- Метод на скитащо търсене.
Този метод е статистическо разширение на градиентния метод и се изпълнява в съответствие с алгоритъма
където е случаен вектор с единичен модул и са коефициентите, характеризиращи приноса на случайния компонент и регулярния компонент () към размера на стъпката.
По-често формулата за използва не градиент, а компонентите на насочващите косинуси на градиента, което прави възможно поддържането на дадено съотношение между редовните и произволните компоненти на стъпката.
Теоретично е доказано, че този алгоритъм е най-вероятно да доведе до глобален екстремум. Алгоритъмът може да използва алгоритми за стъпкова корекция, присъщи на градиентния метод, който се включва след неуспешни опити. Условието за прекратяване е малката стойност на стъпката.
Стратегията за търсене може да включва не постоянно, а периодично добавяне на произволен вектор към стъпката на градиента. Честотата на произволните скокове трябва да намалява, когато се доближава до оптимума и да се увеличава встрани от него. За това има специални алгоритми за самообучение, например:
където е броят на стъпките по метода на регулярния градиент без случаен компонент, т.е. периодът на добавяне на случаен компонент;
дадено цяло число (препоръчва се, докато по време на търсенето ще се промени вдиапазон).
Обратно пропорционално на честотата на скоковете се променя и делът на случайния компонент в стъпката, т.е. . Условието за прекратяване на търсенето ще бъде, както при обикновения градиентен метод, близостта на градиента до нула.
Метод на сляпо търсене
Идеята на метода е много проста и ясна. На случаен принцип се взема точка в допустимата зона и стойността на критерия в нея се сравнява с текущата най-добра. Ако нова произволно взета точка е по-лоша от тази, съхранена като текущата най-добра, тогава се взема друга точка. Ако се намери точка, в която критерият е по-добър, тогава той се запомня като текущия най-добър. Гарантирано е, че с неограничено увеличаване на броя на опитите ще се доближим до глобалния оптимум, т.е. намерената текуща най-добра стойност ще бъде възможно най-близо до точното решение.
На практика търсенето се прекратява, когато броят на неуспешните опити надвиши предварително определен брой.
Това търсене може да се използва за търсене на първоначално приближение чрез задаване на относително малък брой опити. Методът е алгоритмично прост и не изисква пример с конкретни стойности.
За да получите произволни числа, принадлежащи към отворен интервал (), използвайте функцията за трансформация
ако са необходими цели числа, използвайте
2. БлокСхема на симулационния алгоритъм
Описание на входаизхода
1 влизаме в избраната от нас функция;
2 въведете интервала, който сме избрали.
3 въведете броя на повторенията;
4 основен цикъл за изчисления;
5 прилагане на случайна променлива за получаване на стойности на координатите на точката;
6 изчислява стойността на функцията;
7 първа итерация;
8 първата изчислена стойност е оптимална;
9 изберете следващата по-оптимална стойност;
11 текущата стойност еоптимален;
12 извеждаме X1, X2, Y оптимално, т.е. вземете минимума от функцията
3. Софтуерни инструменти
Програмирането на Windows винаги е било голямо предизвикателство. API за интерфейс за програмиране на приложения Windows предоставя набор от мощни, но не винаги сигурни инструменти за разработване на приложения. С появата на Delphi ситуацията се промени. Използвайки RAD интерфейса за бърза разработка на приложения, Delphi ви позволява бързо и лесно да разработите приложение от много високо ниво. Използвайки Delphi, можете да създавате и тествате приложения със сложни потребителски интерфейси, без да използвате директно API функции. Като освобождава програмиста от неприятностите при използването на API, Delphi ви позволява да се концентрирате директно върху писането на програмен код. Delphi е най-мощната среда за разработка, която съм изучавал, която има всички необходими функции за разработване на програмен модел на числен метод за намиране на екстремума на функция.
4. Симулационна работна среда
Windows XP е нова операционна система от Microsoft, пряк наследник на Windows 2000. Като цяло повтаря архитектурата на своя предшественик, тя върши работата си на компютъра по-ефективно и предоставя на потребителя много допълнителни функции, освен това се появи нов интерфейс.
Основните задачи, свързани с работата в среда на Windows 98:
- Стартиране на Windows XP и изключване на компютъра
- Потърсете помощ, докато вървите
- Избор на тип потребителски интерфейс
- Използване на стандартни панели
- Превключване на езика
- Управление на стартиране на Windows XP
Притежаниепревантивна многозадачност, възможност за стартиране на множество програми едновременно и преразпределяне на компютърни ресурси