Проектирование информационной системы для оптимизации распределения инвестиций на предприятии

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.08.2017
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

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

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

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

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

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

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

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

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

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

В соответствии с поставленной целью необходимо решить следующие задачи:

1. Выполнить анализ предметной области.

1.1. Провести анализ методов оценки эффективности инвестиционных проектов.

1.2. Определить оценочную функцию, которая будет описывать эффективность вложения инвестиций в каждый проект.

1.3. Провести анализ существующих решений.

2. Выполнить проектирование информационной системы.

2.1. Выполнить спецификацию требований к информационной системе.

2.2. Выполнить проектирование модели генетического алгоритма.

2.3. Выполнить проектирование базы данных.

2.4. Выполнить проектирование составляющих информационной системы.

3. Выполнить разработку информационной системы.

3.1. Выполнить разработку пользовательского интерфейса информационной системы.

3.2. Выполнить разработку прототипа информационной системы.

Методами исследования являются общенаучные методы, математические методы и объектно-ориентированное проектирование.

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

Глава 1. Анализ предметной области

1.1. Понятие инвестиций

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

Понятие «инвестиции» имеет множество вариантов определения, отражающих тот или иной подход к его пониманию. В западной литературе рассматриваются как совокупность затрат и ресурсов. Так, по мнению Дж. М. Кейнса [9] инвестиции - это часть дохода за данный период времени, не использованная для потребления.

Согласно мнению Долана Э. Дж. [4] инвестиции - это увеличение объема капитала, используемого в экономической системе, то есть осуществляемое людьми увеличение предложения производительных ресурсов. Похожее определение дает Макконел К. Р. [14], он рассматривает инвестиции как производственные затраты, накопление средств производства и увеличение материальных запасов предприятия.

В соответствии с Федеральным законом Российской Федерации «Об инвестиционной деятельности в Российской Федерации, осуществляемой в форме капитальных вложений» от 25 февраля 1999 г. [5], инвестиции трактуются как все виды денежной, имущественной и интеллектуальной собственности, вкладываемые в объекты предпринимательской и других видов деятельности в целях получения прибыли или достижения другого социального эффекта. Как правило, понятие инвестиций используют в более широком смысле, понимая под инвестициями вложение денежных средств в некоторый проект с целью получения прибыли по истечении определенного времени.

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

Реальное инвестирование включает в себя несколько групп инвестиций[8]: инвестиции в повышение эффективности деятельности предприятия, главной целью которых является снижение затрат за счет улучшения и совершенствования оборудования, улучшения организации труда, обучения персонала и так далее; обязательные инвестиции, которые необходимы для продолжения деятельности предприятия; инвестиции в расширение производства.

Термин «инвестиционная деятельность» можно трактовать в узком и широком смысле [15]. В соответствии с широким определением инвестиционная деятельность -это деятельность, связанная с вложением инвестиций в объекты инвестирования и осуществлением практических действий с целью получения дохода и (или) достижения иного полезного эффекта. В более узком же определении под инвестиционной деятельностью понимают процесс преобразования инвестиционных ресурсов во вложения.

В реальных экономических ситуациях инвестиции приобретают форму инвестиционных проектов. В основе инвестиционного проекта всегда лежит какой-либо проект, обоснование целесообразности и характеристики которого он содержит. Понятие «проект» также нельзя трактовать однозначно. Так, например, А.Г. Ивасенко, Я.И. Никонова, М.В. Каркавин [7] определяют проект как ограниченное по времени целенаправленное изменение отдельной системы с установленными требованиями и изначально четко определенными целями, достижение которых определяет завершение проекта. Другое понимание этого термина сводится к тому, что проект -- это план какого-либо мероприятия, имеющего важное значение для его инициаторов и организаторов. В данной работе будет рассматриваться понятие проекта и дальнейшее понятие инвестиционного проекта, связанное с пониманием его как комплекса действий, направленных на достижение некоторой цели.

Под инвестиционным проектом в Российском законодательстве [5] понимается обоснование экономической целесообразности, объема и сроков осуществления капитальных вложений, в том числе необходимая документация, а также описание практических действий по осуществлению инвестиций.

Таким образом, инвестиционный проект -- это программа решения экономической проблемы, вложение средств, в которую приводит к их отдаче (получению дохода, прибыли, социальных эффектов) после прохождения определенного срока с начала осуществления проекта, вложения средств в него. Основной целью инвестиционного проекта для любого инвестора является максимизация прибыли от вложений в инвестируемый объект[16].

генетический данные алгоритм интерфейс

1.2. Оптимизация инвестиций

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

Современная инвестиционная деятельность так или иначе связана с так называемой «портфельной теорией», суть которой заключается в формировании некоторой совокупности инвестиционных проектов (инвестиционного портфеля). Инвестиционным портфелем предприятия называют сформированную в соответствии с инвестиционными целями инвестора совокупность объектов инвестирования или набор активов (проектов), рассматриваемую как единое целое. Основная задача портфельного инвестирования заключается в создании оптимальных условий инвестирования, обеспечивая при этом портфелю инвестиций такие инвестиционные характеристики, достичь которые невозможно при размещении средств в отдельно взятый объект, путем отбора наиболее эффективных инвестиционных проектов [12].

Среди задач оптимизации распределения инвестиций различают пространственную и временную оптимизацию [18].

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

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

Для оценки инвестиций могут быть использованы различные методы [19]. В таблице 1.1 представлены основные из них.

Таблица 1.1 Сравнительная характеристика методов оценки инвестиций

Метод

Используемые данные

Условия использования

Преимущества

Недостатки

Период окупаемости (PP)

Первоначальные инвестиции;

Денежные потоки за один интервал инвестирования;

Число периодов

На первых этапах проработки проектов;

Высокий риск.

Простота расчетов;

Позволяет судить о ликвидности и рискованности проекта;

Позволяет сразу отсекать сомнительные и рискованные проекты

Субъективный выбор срока окупаемости;

Не учитывает доходность проекта за пределами периода окупаемости;

Точность расчетов зависит от величины интервала планирования.

Бухгалтерская рентабельность инвестиций (ROI)

Средняя чистая прибыль за интервал;

Первоначальные инвестиции;

Остаточная стоимость проекта.

На первых этапах проработки проектов

Простота расчетов;

Ориентация на интересы акционеров.

Не учитывается изменения денег во времени;

Зависимость от системы бухгалтерского учета.

Дисконтированный период окупаемости (DPP)

Денежные потоки за период;

Первоначальные инвестиции;

Ставка дисконтирования;

Число периодов.

Главная цель - ликвидность, а не прибыльность;

Высокий риск.

Простота расчетов;

Позволяет судить о ликвидности и рискованности проекта;

Позволяет сразу отсекать сомнительные и рискованные проекты;

Учитывает изменение стоимости денег во времени

Субъективный выбор срока окупаемости;

Не учитывает доходность проекта за пределами периода окупаемости;

Точность расчетов зависит от величины интервала планирования.

Чистая приведенная стоимость (NPV)

Ставка дисконтирования;

Денежные потоки за период;

Денежные оттоки за период;

Горизонт планирования.

При отсутствии альтернатив развития внутри одного проекта.

Высокая устойчивость;

Расширяемость.

Абсолютные показатель эффективности.

Внутренняя норма доходности (IRR)

Денежные притоки за период;

Денежные оттоки за период;

Горизонт планирования.

Нет.

Учитывает изменение стоимости денег во времени;

Нет необходимости принимать решение о пороговом значении критерия.

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

Индекс рентабельности (PI)

Денежные притоки за период;

Денежные оттоки за период;

Горизонт планирования.

При приблизительно одинаковой приведенной стоимости проектов.

Учитывает изменение стоимости денег во времени;

Является относительным показателем.

Оценивает только относительную эффективность.

Кроме того, Д. Грэхам в своей работе провел всестороннее исследование современной практики корпоративных финансов среди финансовых директоров крупных компаний на предмет того, какую методику они используют для оценки инвестиций. Исследование основано на ответах 392 финансовых директоров. Результаты этого опроса представляют собой процентное соотношение финансовых директоров, которые утверждали, что они всегда или почти всегда используют ту или иную методику для оптимизации инвестиций на предприятии. Результаты этого исследования представлены на рисунке 1.1.

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

Рисунок 1.1. Результаты опроса на предмет использования методик оценки

1.3. Методы оптимизации

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

Существует классификация методов оптимизации [6]:

1. Методы нулевого порядка. Данные методы используют в процессе оптимизации только значения функции в области значений и значения аргумента в области определения. К таким методам относятся методы координатного спуска, метод Розенброка, метод Хука-Дживса, методы «золотого сечения», метод поиска по симплексу и другие. Все эти методы подразумевают, что целевая функция должна удовлетворять определенным условиям. Недостатками этих методов является плохая масштабируемость, а также возможное вырождение алгоритма в бесконечную последовательность исследующих поисков.

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

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

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

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

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

К стохастическим методам относятся такие методы, какэволюционные и генетические алгоритмы, метод моделируемого отжига, машина Больцмана, алгоритмы с парной пробой, алгоритмы с возвратом и пересчетом при неудачном шаге, поиск с запретами и другие[5].

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

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

По результатам исследований И.А. Минакова [15], в котором рассматривались различные методы глобальной оптимизации, можно сформировать таблицу условной результативности применения того или иного метода для решения различных задач (таблица 1.2).

Таблица 1.2 Рейтинг методов глобальной оптимизации

Метод/Задача

«Королевских дорог»

Оптимизации графа

Проектирование цепей

Размещения, заполнения рюкзака

Предсказания банковского курса

Составления расписания

Среднее

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

1

2

1

1

2

2

1,5

Имитация отжига

4

3

2

4

4

3

3,3

Эволюционное программирование

3

3

Эволюционные стратегии

2

2

Детерминированные методы

1

5

3

Поиск с запретом

2

3

1

2

Нейронные сети

3

1

2

Задача оптимизации инвестиций относится к классу задач размещения[23], который связан с проблемой нахождения оптимального соотношения распределения тех или иных параметров. Исследование И.А. Минакова продемонстрировало, что данную задачу наиболее эффективно решают именно генетические алгоритмы. В исследовании применялись детерминированные методы, нейронные сети, поиск с запретами, моделируемый отжиг и генетические алгоритмы. Анализ проводился с учетом различных условий и конфигураций. В процессе тестирования было выявлено, что детерминированные методы значительно теряют в эффективности при возрастании сложности целевых функций, в связи с чем они были неспособны показать приемлемое решение в строго определенное время. Результаты применения моделируемого отжига сильно зависели от применяемой конфигурации данного алгоритма. Применение нейронных сетей оказалось неудачным с практической точки зрения, так как нейронные сети требуют большого количества времени для модификации при изменении начальных условий. Генетические алгоритмы и поиск с запретами смогли справиться с задачей в большинстве случаев, при чем с примерно одинаковыми результатами и временем. Однако, генетические алгоритмы справились с данной задачей немногим лучше, а также показали наиболее точные результаты в случае средней размерности задачи.

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

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

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

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

Идея применения генетических алгоритмов была предложена Д. Холландом [21] в 60-е годы и в дальнейшем получили развитие благодаря ряду других исследователей. Использование их в численной оптимизации предложил Д. Гольдберг в 1995 году [22], он изложил основные положения и области практического применения генетических алгоритмов.

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

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

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

Рисунок 1.2 Простой генетический алгоритм

1.5. Генетические операторы

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

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

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

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

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

Циклическое воспроизведение операторов генетического алгоритма приводит к уменьшению области поиска оптимального решения задачи.

1.6. Анализ автоматизируемого бизнес процесса

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

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

Рассмотрим бизнес-процесс «Оптимизация распределения инвестиций», представленный на рисунке 1.3.

Рисунок 1.3 Бизнес-процесс «Оптимизация распределения инвестиций»

Процесс начинается с ввода данных об инвестиционных проектах компании. Вся информация заносится в базу данных. В дальнейшем эта информация может быть дополнена. Весь процесс регламентирован Уставом организации и подкреплен Федеральным законом об инвестиционной деятельности в Российской Федерации. Декомпозиция бизнес-процесса представлена на рисунке 1.4.

Рисунок 1.4 Декомпозиция бизнес-процесса «Оптимизация распределения инвестиций»

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

1.7. Анализ существующих решений

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

Excel Portfolio Optimization представляет собой надстройку на программное средство MSExcel,которое позволяет определить оптимальный инвестиционный портфель для максимизации прибыли и минимизации риска просадки. Параметры оценки риска и динамики портфеля можно скорректировать относительно конкретных бизнес-требованийи предпочтений. Управление портфелем включает оптимизацию параметров инвестиционных проектов с проверкой общей доходности для того, чтобы установить оптимальные инвестиционные стратегии на уровне отдельных инвестиционных проектов и портфеля в целом.

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

Еще одной информационной системой является BarraOpenOptimizer - это оптимизированная библиотека программного обеспечения, разработанная для работы с инвестиционными портфелями и поддерживает усовершенствованные процессы принятия инвестиционных решений

Barra Open Optimizer предлагает инновационные методы оптимизации в открытой, гибкой программной библиотеке, которая легко интегрируется с большинством инвестиционных платформ. Он использует несколько механизмов оптимизации и использует MSCI-алгоритмы для отслеживания индексов, распределения активов, оптимизации с учетом налогов и других проблем, с которыми часто сталкиваются менеджеры портфелей. Кроме того, набор функций Barra Open Optimizerвключает в себя построение портфеля рисков с ограничениями и форматирование портфеля рисков, дает инвестиционным менеджерам экономически значимые результаты.

Следующая информационная система, QSToolKit (QSTK) - программное обеспечение с открытым кодом на основе Python, предназначенное для поддержки оптимизации и моделирования портфеля инвестиций. Ключевыми компонентами QSTK являются: пакет доступа к данным, пакет инструментов обработки, пакет инструментов оптимизации и пакет моделирования. Personal Capital - бесплатное программное обеспечение для управления инвестициями и портфелями. Платформа включает в себя мобильную версию.

Personal Capitalвключает в себя инструменты для:

· анализа денежных потоков, включая доходы и расходы;

· расчёта собственного капитала;

· оптимизации и анализа инвестиций;

· распределения инвестиций.

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

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

Бесплатные возможностиWise Banyan включают:

· управление инвестициями;

· оптимизация портфеля инвестиций;

· функции реинвестирования.

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

· категоризация и отслеживание доходов и расходов;

· бюджетирование;

· оптимизация и анализ инвестиций;

· бесплатный кредитный рейтинг.

Инструментов для инвестирования и управления портфелем инвестиции вполне достаточно для небольших компаний.

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

Для управления инвестициями Quickenсодержит следующие инструменты:

· конструктор отчетов по инвестициям с глубокими настройками;

· загрузка и отслеживание инвестиционных счетов, включая доход, дивиденды, комиссионные и другое;

· анализ дохода от прироста капитала, доходности, производительности, инвестиционных операций, налоговых отчетов;

· анализ риска и доходности инвестиционных проектов;

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

В дополнение к инструментам по управлению инвестициями, программа содержит инструменты для бюджетирования и управления капиталом.

1.7.1. Сравнительная характеристика существующих решений

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

Сравнительная характеристика описанных выше программных средств представлена в таблице 1.3.

Таблица 1.3. Сравнительная характеристика существующих решений

Название

Открытый программный код

Наличие веб-ресурса

Наличие базы данных

Формирование отчетов

Аналитические возможности

Метод в основе

Дополнительные возможности

Excel Portfolio Optimisation

+

+

Метод Монте-Карло

Графическое представление результатов;

Инструменты для анализа.

Barra Open Optimizer

+

+

+

+

MCSI-алгоритмы

Совместимость с другими инвестиционными платформами.

QSToolKit

+

+

+

Нет информации

Инструменты для моделирования инвестиционных портфелей

Personal Capital

+

+

+

Нет информации

Инструменты для анализа денежных потоков;

Расчет собственного капитала.

WiseBanyan

+

+

Нет информации

Инструменты для реинвестирования.

Mint

+

+

+

Нет информации

Отслеживание доходов и расходов;

Инструменты для бюджетирования.

Quicken Premiere 2016

+

+

+

+

Нет информации

Расширенный конструктор отчетов;

Инструменты анализа.

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

· Веб-сервис;

· База данных для хранения информации;

· Наличие инструментов для последующего анализа данных;

· Наличие инструмента для формирования отчетов,

· Графическое представление результатов.

Глава 2. Проектирование информационной системы

2.1. Спецификация требований

К проектируемой информационной системе на основе анализа автоматизируемого бизнес-процесса и анализа аналогов предъявляются следующие функциональные требования:

1. Возможность добавления, удаления, изменения информации о предприятии.

2. Возможность добавления, удаления, изменения информации о пользователе.

3. Возможность добавления, удаления, изменения информации об инвестиционном проекте.

4. Возможность добавления, удаления, изменения информации справочников.

5. Возможность отображения информации о предприятии, пользователе, инвестиционном проекте и информации из справочников.

6. Возможность фильтрации отображаемых данных.

7. Возможность авторизации пользователя в системе.

8. Возможность импорта информации из файлов, читаемых средствами продуктов MicrosoftOffice.

9. Возможность расчета оптимального распределения инвестиций с помощью генетического алгоритма.

10. Возможность предоставления результатов обработки в удобном пользователю виде.

11. Возможность генерации отчетов об оптимизации распределения инвестиций на предприятии.

12. Возможность экспорта отчетов в файлы, читаемые средствами продуктов MicrosoftOffice.

2.2. Спецификация прецедентов

На основании описанных функциональных требований проектируемой информационной системы можно определить прецеденты.

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

Соотношение прецедентов, субъектов и функциональных требований к информационной системе представлено в таблице 2.1.

Таблица 2.1 Соотношение прецедентов, требований и субъектов

Требование

Субъект

Прецедент

1

Возможность добавления, удаления, изменения информации о предприятии

Пользователь

Работа с данными о компании

2

Возможность добавления, удаления, изменения информации о пользователе

Пользователь

Работа с данными о пользователе

3

Возможность добавления, удаления, изменения информации об инвестиционном проекте

Пользователь

Работа с данными об инвестиционном проекте

4

Возможность добавления, удаления, изменения информации справочников

Пользователь

Работа с данными справочников

5

Возможность отображения информации о предприятии, пользователе, инвестиционном проекте и информации из справочников

Информационная система

Отображение информации

6

Возможность фильтрации отображаемых данных

Информационная система

Фильтрация данных

7

Возможность авторизации пользователя в системе

Пользователь

Авторизация

8

Возможность импорта информации из файлов, читаемых средствами продуктов MicrosoftOffice

Информационная система

Импорт данных

9

Возможность расчета оптимального распределения инвестиций с помощью генетического алгоритма

Информационная система

Оптимизация распределения инвестиций

10

Возможность предоставления результатов обработки в удобном пользователю виде

Информационная система

Отображение результатов

11

Возможность генерации отчетов об оптимизации распределения инвестиций на предприятии

Информационная система

Генерация отчетов

12

Возможность экспорта отчетов в файлы, читаемые средствами продуктов MicrosoftOffice

Информационная система

Экспорт данных

Каждый прецедент должен быть описан с помощью документально зафиксированного потока событий (flow of events). Соответствующий текстовый документ определяет, что должна делать система, когда субъект инициирует прецедент.

Описательная спецификация всех прецедентов представлена в таблицах А.1 - А.12 в Приложении А.

Также для каждого прецедента были построены диаграммы активности. Диаграммы активности можно построить по описанию основного и альтернативных потоков в спецификации прецедентов. Эти диаграммы отражают внутрисистемную точку зрения. Диаграммы деятельности представлены для всех прецедентов представлены на рисунках Б.1 - Б.7 в Приложении Б.

Диаграмма прецедентов представлена на рисунке 2.1. Данная диаграмма приписывает прецеденты к субъектам, а также позволяет установить отношения между прецедентами.

Рисунок 2.1 Диаграмма прецедентов

2.3. Проектирование операторов генетического алгоритма

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

Математические модели выбранных показателей представлены в таблице 2.2.

Таблица 2.2. Математические модели фитнесс-функции

Наименование показателя

Эквивалент

Математическая формула

Переменные

1

PP

Период окупаемости

или

IC - первоначальные инвестиции;

CF - денежные потоки за интервал планирования;

m - число подсчитанных периодов.

2

ROI

Бухгалтерская рентабельность инвестиций

PN - средняя за интервал планирования чистая прибыль;

IC - первоначальные инвестиции;

RV- остаточная стоимость проекта.

3

DPP

Дисконтированный период окупаемости

DРР - дисконтированный период окупаемости;

CFi - денежные потоки за i-й период;

IC - первоначальные инвестиции;

r ? ставка дисконтирования;

m - число периодов

4

NPV

Чистая приведенная стоимость

r - ставка дисконтирования;

CIFi- денежные притоки за i-й период;

COFi - денежные оттоки за i-й период;

n - горизонт планирования.

5

IRR

Внутренняя норма доходности

CIFi - денежные притоки за i-й период;

COFi - денежные оттоки за i-й период;

n - горизонт планирования.

6

PI

Индекс прибыльности инвестиций

CIFi - денежные притоки за i-й период;

COFi - денежные оттоки за i-й период;

n - горизонт планирования.

Кроме того, следует учитывать некоторые особенности каждого из методов[9], которые представлены в таблице 2.3, при расчетах.

Таблица 2.3. Особенности методов

Наименование показателя

При оценке независимых инвестиционных проектов

При оценке конкурирующих инвестиционных проектов

1

PP

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

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

2

ROI

Проект рассматривается как приемлемый, если рассчитанное значение ROI превышает пороговое.

Если несколько проектов имеют рассчитанное значение ROI, меньшее или равное пороговому, то выбирается проект с большим рассчитанным значением

3

DPP

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

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

4

NPV

Расчет исключительно на основании дисконтированных чистых потоков денежных средств.

Включение остаточной стоимости в состав притоков периода n.

5

IRR

Если значение IRR выше ставки дисконтирования, то проект принимается;

Если значение IRR меньше ставки дисконтирования, то проект отклоняется;

Если значение IRR равно ставке дисконтирования, то проект ни прибыльный, ни убыточный.

6

PI

Проект признается эффективным, если PI > 1.

Если несколько проектов имеют PI > 1, то выбирается проект с большим значением PI, т.к. этот проект обеспечит большую отдачу вложенных средств.

Каждая особь в разрабатываемой модели генетического алгоритма представляет собой некое распределение инвестиций между проектами и будет иметь следующий вид: , где Хi - инвестиционный проект. Каждый инвестиционный проект (особь) кодируется в зависимости от выбранной пользователем целевой функции.

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

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

Вероятность особи стать родителем рассчитывается по формуле

,

где fi - целевая функция.

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

Как было указано выше, в данной работе рассматривается классический генетический алгоритм, то в качестве оператора скрещивания будет использован метод точечного скрещивания (классический). При этом для выбранной на этапе селекции пары случайным образом генерируется число pi`, таким образом, что если pi`<pc, где pc- вероятность выполнения оператора скрещивания, то выбирается случайное число в интервале (1, L-1), где L-длина строки, и строки обмениваются фрагментами, находящимися после i-го бита. Иначе обмена не происходит.

Следующим этапом является проектирование оператора мутации. Данный оператор выполняется с вероятностью pм. В данной работе оператор мутации представлен методом мутации со сменой значения отдельного гена (инверсия). Выполнение оператора происходит на родительской особи при генерации случайного числа pi`. Если pi`<pм, то выбирается случайное целое число i в интервале (1, L-1), где L-длина строки. Ген на Iпозиции в хромосоме заменяет свое значение на противоположное (1 на 0, а 0 на 1).

Схема выполнения алгоритма[10] представлена на рисунке 2.2.

Рисунок 2.2. Схема выполнения генетического алгоритма

2.4. Разработка генетического алгоритма для оптимизации инвестиций

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

Для разработки генетического алгоритма для оптимизации инвестиций на предприятии воспользуемся GeneticAlgorithmFramework (GAF) [25], который является одним из способов реализации генетического алгоритма на C#.GAFпредставляет собой сборку .Net, свободно распространяемую с помощьюNuGet, которая позволяет реализовывать решение на основе генетического алгоритма на C #, используя только несколько строк кода.

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

Реализация генетического алгоритма для оптимизации распределения инвестиций на предприятии представлена в Приложении В в виде листинга программного кода.

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

Таблица 2.4. Описание входных данных

Название переменной

Тип данных

Описание

Условия на значение

Значение по умолчанию

1

Projects

List<Project>

Список проектов для оптимизации

x.Count > 0

2

ffType

int

Идентификатор фитнесс-функцииff

x > 0

1

3

CrosoverProbability

double

Значение вероятности выполнения оператора скрещивания

0 ? x ?1

0,1

4

MutationProbability

double

Значение вероятности выполнения оператора мутации

0 ? x ? 1

0,1

5

ElitismPercentage

int

Значение элитарности особей (в процентах)

0 ? x ? 100

10

6

MaxInvestment

double

Значение максимально допустимой суммы инвестиций

x > 0

0

7

MaxGenerations

int

Значение порогового количества поколений

x > 0

500

8

Begin

DateTime

Начальная дата периода расчёта

Begin ? End

DateTime.Now()

9

End

DateTime

Конечная дата периода расчёта

End ? Begin

DateTime.Now()

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

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.