Рефераты. Изучение и анализ рынка товаров, закупаемых и реализуемых торгово-закупочным предприятием (на примере Белгородского территориального фонда обязательного медицинского страхования) )

n   разработка способов представления и хранения информации на всех этапах ее движения и обработки;

n   разработка способов контроля вводимой информации;

n   определение состава и структуры нормативно-справочной информации.

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



1.3 Выбор и обоснование математического метода решения задачи

1.3.1 Аналитический обзор состояния проблемы


Чтобы найти оптимальный заказ по закупочной стоимости необходимо учитывать не только минимальные цены товаров, но и скидки, предлагаемые поставщиками на общую стоимость закупки. Таким образом, оптимальным заказом будет компромисс между минимальными ценами товаров и скидками на стоимость закупаемых у поставщиков партий товаров. Чтобы найти этот компромисс надо проанализировать все возможные варианты решений задачи. Такой подход называется методом перебора  (см. п.1.3.3). Но из-за большого размера области значений алгоритм будет работать очень долго. Следовательно надо искать другой подход к решению задачи.

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

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

1.3.2 Генетические алгоритмы

Генетические алгоритмы - адаптивные методы поиска, используемые для решения задач функциональной оптимизации. Они основаны на естественном отборе – основном механизме эволюции, работающем по принципу "выживает наиболее приспособленный", который открыл Чарльз Дарвин. Подражая этому процессу генетические алгоритмы способны  решать реальные задачи, если те соответствующим образом закодированы. Генетические алгоритмы могут использоваться, например, для нахождения наиболее прибыльного варианта распределения капитала, при условии, что заданы минимальный и максимальный объем инвестиций для каждого проекта, для формирования оптимального заказа на закупку товаров. Они могут также использоваться для интерактивного управления процессом в автоматизированной системе управления, где важно не только определение правильного решения, но и время реакции системы. В отличии от эволюции, происходящей в природе, генетические алгоритмы только моделируют те процессы в популяциях, которые являются существенными для развития.

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

Генетические алгоритмы используют прямую аналогию с таким механизмом. Они работают с совокупностью "особей" - популяцией, каждая из которых представляет возможное решение данной проблемы. Каждая особь оценивается мерой ее "приспособленности" согласно тому, насколько "хорошо" соответствующее ей решение задачи. Например, мерой приспособленности могла бы быть стоимость закупки товаров при формировании оптимального по закупочной стоимости заказа на товары. В природе это эквивалентно оценке того, насколько эффективен организм при конкуренции за ресурсы. Наиболее приспособленные особи получают возможность "воспроизводить" потомство с помощью "перекрестного скрещивания" с другими особями популяции. Это приводит к появлению новых особей, которые сочетают в себе некоторые характеристики, наследуемые ими от родителей. Наименее приспособленные особи с меньшей вероятностью смогут воспроизвести потомков, так что те свойства, которыми они обладали, будут постепенно исчезать из популяции в процессе эволюции.

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

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

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

1.3.3 Возможные случаи применения генетического алгоритма


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

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

Но бывают случаи, когда генетический алгоритм не работает эффективно.

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

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

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



1.3.4 Символьная модель генетического алгоритма



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

Структура данных генетического алгоритма состоит из одной или большего количества хромосом (обычно из одной). Как правило, хромосома - это битовая строка, так что термин строка часто заменяет понятие "хромосома". В принципе, генетические алгоритмы не ограничены бинарным представлением. Пока ограничимся только структурами, которые являются одиночными строками по l бит.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.