Математические модели диверсификации (на примере теплоэнергетического предприятия)

 














Выпускная квалификационная работа специалиста

Математические модели диверсификации (на примере теплоэнергетического предприятия)

Реферат


Математические модели диверсификации (на примере теплоэнергетического предприятия).

страниц, 3 иллюстрации, 4 таблиц, 3 использованных источника.

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

Объект исследования - модели диверсификации производства.

Цель работы - посторенние математического модельного инструментария для поиска распределения средств между проектами диверсификации.

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

Область применения и рекомендации - экономика, теплоэнергетика.

Содержание:


ВВЕДЕНИЕ.

. Построение модели, в которой эксперт предлагает несколько программ инвестирования.

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

. Диверсификация производства энергетического предприятия. Когенерация.

РЕЗУЛЬТАТЫ ПРОДЕЛАННОЙ РАБОТЫ.

ЛИТЕРАТУРА:

ПРИЛОЖЕНИЕ


ВВЕДЕНИЕ


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

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

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

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

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

1. Построение модели, в которой эксперт предлагает несколько программ инвестирования

диверсификация модель инвестирование энергетический

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

Математическая постановка задачи.

Теперь сформулируем математическую постановку задачи. Предположим, что имеется s экспертов и n инвестиционных проектов диверсификации, оцененных по m параметрам. Считается известными элементы матрицы Аji, где элемент матрицы aji обозначает значение параметра j (j=1…m) для инвестиционного параметра с номером i (i =1…n). Каждый эксперт формирует множества ?s, где s=(1…s), состоящих из множества векторов x=(x1…xn), где координаты вектора xi обозначают долю средств, вкладываемых в инвестиционный проект под номером i. Множество ?s, каждый эксперт формирует с помощью наложений ограничений вида:



Рассмотрим случай, когда ?s не пересекаются. Тогда результирующим, наиболее точно отражающим мнение каждого эксперта будем считать вариант x*, сумма расстояний от которого до каждого из множеств ?s будет наименьшей. Математически это выглядит так:



Считаем, что расстояние от точки x до множества ?s определяется, как наименьшее расстояние от точки x=(x1…xn), до точки y=(ys1…ysn) из множества ?s, определяемое по формуле:



Таким образом, систему (1.2) можно переписать в следующем виде:



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



2. Построение модели, в которой каждый эксперт придерживается четко определенного мнения о необходимости поддержки каждого проекта


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

Математическая постановка задачи.

Сформулируем математическую постановку задачи. Пусть имеется n инвестиционных проектов, m экспертов и m параметров, по которым оценены проекты. Пронумеруем все проекты диверсификации, пусть i - порядковый номер направления ( i =1…n). Считается известными элементы матрицы Аji, где элемент матрицы aji обозначает значение параметра j (j=1…m) для инвестиционного параметра с номером i (i =1…n). Каждый эксперт формирует вектор Pj=( Pj1, Pj2, ..., Pjn), j =1…m, где Pji- порядковый номер проекта диверсификации, который по мнению эксперта, оценивающего параметр с номером j, занимает i-ое место. В каждом таком векторе первое место занимает наиболее привлекательное, с точки зрения рассматриваемого параметра, проект диверсификации и далее по убыванию. Затем каждому вектору Pj поставим в соответствие вектор ?j = (?j1, ?j2, ...,?jn), сформированный по правилу: координата ?ji - число проектов, которые согласно j-му частному критерию являются более предпочтительными, чем проект, имеющий порядковый номер i.

Теперь необходимо построить матрицу потерь R с элементами rkl, где k,l = (1…m). Для этого рассматривается такой вектор ? = (?1, ?2,..., ?k, ..., ?n), в котором k-ый проект стоит на l-ом месте, математическая запись координат этого вектора выглядит так ?k (l)= l-1. Тогда элементы матрицы потерь считаются следующим образом:



Элементы матрицы R - rkl обозначают, то сколько теряется, если мы считаем, что направление с номером k находится не на месте l, а на том , которое ему присвоил эксперт упорядочивая проекты согласно своему критерию.

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


Причем хkl=1, если к-ая альтернатива назначена на l-ое место, и хkl=0 в противном случае. В результате решения задачи о назначениях будет получена матрица X*={x*kl}, по которой будет восстановлен вектор Р*= (p*1, …p*n), координаты которого, наиболее точно будут отражать мнения экспертов, относительно привлекательности проектов. Чтобы восстановить вектор Р*, будем анализировать матрицу X* по строкам: если x*kl=1, то в векторе P* будем считать p*l = k.

Применим метод парных сравнений, с его помощью рассчитываем весовые коэффициенты, которые и будут соответствовать части средств, вкладываемых в каждое из направлений. Будем формировать матрицу парных сравнений L с элементами аkl, где k,l=(1…n). Элементы матрицы L формируются таким образом:



Затем считаем сумму элементов каждой строки


и величину:



Далее находим вектор Z = (z1, …, zn), где координаты zk, соответствуют долям средств, вкладываемых в проект диверсификации с номером k:



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


3. Диверсификация производства энергетического предприятия. Когенерация


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

Когенерация и централизованное теплоснабжение используются во многих странах мира. Доля когенерации в общем объеме производства энергии составляет от 10 до 50 процентов, а доля централизованного теплоснабжения в общем объеме производства тепла составляет от менее 5 процентов до более 60 процентов. Во многих странах имеется потенциал для повышения совокупной энергоэффективности за счет более высокой доли когенерации и централизованного теплоснабжения, а также за счет сокращения потерь энергии при модернизации систем централизованного теплоснабжения. Проблема распределения затрат теплоэлектроцентрали аналогична распределению затрат любой производственной единицы, которая производит два или более видов продукции за счет одного и того же вводимого фактора производства, как это происходит, например, на нефтеперерабатывающем предприятии. Рынок определяет цену каждого вида продукции, но не особые различия в производственных затратах.

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

Модели диверсификации энергетического производства. Апробирование модели диверсификации на реальных данных теплоэнергетического предприятия.

Для апробирования алгоритма принятия решения в поиске наиболее рентабельного варианта диверсификации используются данные предоставленные финансовыми аналитиками теплоэнергетического предприятия. На данном теплоэнергетическом предприятии имеется все необходимое оборудование для производства электроэнергии, но до сих пор оно пользовалось услугами электростанций, что повлекло за собой значительные затраты на производство вследствие последних увеличений тарифов на потребление электроэнергии. На предприятии было принято решение о когенерации, но потребовалось правильно, с точки зрения экономической эффективности выбрать объемы производства электроэнергии и теплоэнергии. Рассматриваются следующие варианты структуры производства: 5 % электроэнергии и 95% теплоэнергии, 10% электроэнергии и 90% теплоэнергии , 15% теплоэнергии и 85% теплоэнергии. Для каждого структурного маневра рассматриваются различные варианты роста тарифов на производимую тепло- и электроэнергию, так как от тарифов зависит непосредственная прибыль предприятия. Рассматриваются варианты прироста тарифов на 15%, 20%, 25%, 30% и 35% относительно базового. На предприятии был проведен финансовый анализ производства, после чего окончательно были сформированы возможные варианты диверсификации или инвестиционные проекты. Данные по инвестиционным проектам приведены в таблицах:


Таблица 1. Проект 1 - производство 5% электроэнергии и 95% теплоэнергии.

ПараметрыЗначения параметровВарианты прироста тарифа, %1520253035Производство тепловой энергии, Гкал493914493914493914493914493914Производство электроэнергии, Мвт1039810398103981039810398Тариф на отпускаемое тепло , руб.11571275140415441698Совокупные затраты на теплосистму, на 1 Гкал, руб.14371437143714371437Совокупные затраты на весь объем тепла, тыс. руб.31729523172952317295231729523172952Объем тепла, тыс. руб.25529452802220307525733736523699053Собственные инвестиции организации на тепло на 1 Гкал, руб.0,430,430,430,430,43Собственные инвестиции на весь объем тепла , тыс.. руб.211764211764211764211764211764Тариф на отпускаемую э/энергию , руб.219248281319361Совокупные затраты на электросистему, на 1 Мвт285285285285285Совокупные затраты на весь объем э/энергии, тыс. руб.29632963296329632963Объем э/энергии, тыс. руб.22762581292733163753Государственные инвестиции в коммунальную энергетику на единицу энергии, руб.273148804936Государственные инвестиции в коммунальную энергетику на весь объем, тыс.. руб.14148076876416482524818661Всего инвестиций на энергосистему, тыс. руб.353244288640253412237012230424Совокупные затраты на содержание и развитие городской энергосистемы на весь объем энергии, тыс.. руб.32854223265394325447332493893247347Суммарный объем отпущенной энергии, тыс. руб.25552212804801307818433769683702807Чистый дисконтированный доход от проекта диверсификации-730200-460593-176289127579455459

Таблица 2. Проект 2 - производство 10% электроэнергии и 90% теплоэнергии.

ПараметрыЗначения параметровВарианты прироста тарифа, %1520253035Производство тепловой энергии, Гкал467918467918467918467918467918Производство электроэнергии, Мвт2599525995259952599525995Тариф на отпускаемое тепло , руб.11571275140415441698Совокупные затраты на теплосистму, на 1 Гкал, руб.14391439143914391439Совокупные затраты на весь объем тепла, тыс. руб.31316283131628313162831316283131628Объем тепла, тыс. руб.25090702753072302028533122653630619Собственные инвестиции организации на тепло на 1 Гкал, руб.0,440,440,440,440,44Собственные инвестиции на весь объем тепла , тыс.. руб.207467207467207467207467207467Тариф на отпускаемую э/энергию , руб.219248281319361Совокупные затраты на электросистему, на 1 Мвт274274274274274Совокупные затраты на весь объем э/энергии, тыс. руб.71237123712371237123Объем э/энергии, тыс. руб.56896453731782909383Государственные инвестиции в коммунальную энергетику на единицу энергии, руб.302176925940Государственные инвестиции в коммунальную энергетику на весь объем, тыс.. руб.16006793284487623127121201Всего инвестиций на энергосистему, тыс. руб.367533300751256229238738228668Совокупные затраты на содержание и развитие городской энергосистемы на весь объем энергии, тыс.. руб.32526863231984321818232127603209638Суммарный объем отпущенной энергии, тыс. руб.25147592759526302760233205553640003Чистый дисконтированный доход от проекта диверсификации-737927-472458-190580107795430365

Таблица 3. Проект 3 - производство 15% электроэнергии и 85% теплоэнергии.

ПараметрыЗначения параметровВарианты роста тарифа, %1520253035Производство тепловой энергии, Гкал441923441923441923441923441923Производство электроэнергии, Мвт3639436394363943639436394Тариф на отпускаемое тепло , руб.11571275140415441698Совокупные затраты на теплосистму, на 1 Гкал, руб.14461446144614461446Совокупные затраты на весь объем тепла, тыс. руб.30903043090304309030430903043090304Объем тепла, тыс. руб.24631902701920296330832488733560180Собственные инвестиции организации на тепло на 1 Гкал, руб.0,450,450,450,450,45Собственные инвестиции на весь объем тепла , тыс.. руб.200800200800200800200800200800Тариф на отпускаемую э/энергию , руб.219248281319361Совокупные затраты на электросистему, на 1 Мвт268268268268268Совокупные затраты на весь объем э/энергии, тыс. руб.97539753975397539753Объем э/энергии, тыс. руб.79659035102441160613137Государственные инвестиции в коммунальную энергетику на единицу энергии, руб.3312071066844Государственные инвестиции в коммунальную энергетику на весь объем, тыс.. руб.175189109326560693599923105Всего инвестиций на энергосистему, тыс. руб.375990310126256869236800223906Совокупные затраты на содержание и развитие городской энергосистемы на весь объем энергии, тыс.. руб.32166153196197317968731734663169469Суммарный объем отпущенной энергии, тыс. руб.24711552710954297355232604793573317Чистый дисконтированный доход от проекта диверсификации-745460-485243-20613587013403848

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

задачу максимизации чистого дисконтированного дохода, при ограничениях тарифов на отпускаемые тепло- и электроэнергию. Запишем ее математическую формулировку:


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

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

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


Таблица 4. Полученные после решения поставленных выше задачь результаты:

Параметры5% электроэнергии и 95% теплоэнергии10% электроэнергии и 90%теплоэнергии15% электроэнергии и 85% теплоэнергииПорядковые номера проектов диверсификации123456Варианты роста тарифа, %303530353035Производство тепловой энергии, Гкал493914493914467918467918441923441923Производство электроэнергии, Мвт103981039825995259953639436394Тариф на отпускаемое тепло , руб.154416981544169815441698Совокупные затраты на теплосистму, на 1 Гкал, руб.143714371439143914461446Совокупные затраты на весь объем тепла, тыс. руб.317295231729523131628313162830903043090304Объем тепла, тыс. руб.337365236990533312265363061932488733560180Собственные инвестиции организации на тепло на 1 Гкал, руб.0,430,430,440,440,450,45Собственные инвестиции на весь объем тепла , тыс.. руб.211764211764207467207467200800200800Тариф на отпускаемую э/энергию , руб.319361319361319361Совокупные затраты на электросистему, на 1 Мвт285285274274268268Совокупные затраты на весь объем э/энергии, тыс. руб.296329637123712397539753Объем э/энергии, тыс. руб.33163753829093831160613137Государственные инвестиции в коммунальную энергетику на единицу энергии, руб.493659406844Государственные инвестиции в коммунальную энергетику на весь объем, тыс.. руб.252481866131271212013599923105Всего инвестиций на энергосистему, тыс. руб.237012230424238738228668236800223906Совокупные затраты на содержание и развитие городской энергосистемы на весь объем энергии, тыс.. руб.324938932473473212760320963831734663169469Суммарный объем отпущенной энергии, тыс. руб.337696837028073320555364000332604793573317Чистый дисконтированный доход от проекта диверсификации12757945545910779543036587013403848

Для поиска наиболее рентабельного проекта, применим алгоритм, рассмотренный в главе 2. Этот алгоритм поиска позволит нам оценить все значения экономических параметров, по которым оценивались инвестиционные проекты. Алгоритм реализован в виде программы на языке C#, в Microsoft Visual Studio 2005, текст программного кода, с комментариями и скриншотами содержится в приложении.

В результате запуска программы было получено два вектора. Первый вектор P* =(2, 6, 4, 3, 1, 5), координаты которого, являются номерами инвестиционных проектов, упорядоченных таким образом, что наиболее привлекательным является тот, который занимает первое место. Второй вектор Z= (0.083,0.306, 0.14, 0.19, 0.03, 0.25), координаты которого, обозначают весовые коэффициенты привлекательности проектов когенерации. Таким образом, наиболее привлекательным для развития является проект под номером два, с весовым коэффициентом 0.306, это проект с долей выпуска электроэнергии 5% , а теплоэнергии - 95%, при условии прироста тарифа на теплоэнергию относительно базового на 35%. С точки зрения предприятия полученный результат выглядит весьма привлекательно. Нужно заметить, что из всех проектов данный имеет самый высокий чистый дисконтированный доход, что является существенным преимуществом его перед остальными. Однако, относительно высокий прирост тарифов на тепло- и электроэнергию может быть неприемлем с социальной точки зрения. Считается, что максимальный прирост тарифов не должен превышать 30 %. Однако инфляционные ожидания в кризисный период могут значительно превысить сложившиеся в нормальных условиях представления о темпах инфляции. Будем считать, что полученные результаты вполне корректны. С логической точки зрения, поскольку предприятие собирается пробовать себя на рынке электроэнергии, начинание нового бизнеса с малых объемов вполне оправдано, так как конкурентов в сфере производства электроэнергии весьма достаточно. Не исключено, что произведенная электроэнергия может оказаться невостребованной. Начиная с малых объемов, есть шанс постепенно увеличивать клиентскую базу, и как только она станет достаточной, возникнет вопрос об увеличении объема производства электроэнергии в процессе когенерации. Обратим внимание, что проект с номером 6 (электроэнергии 10% и 90% теплоэнергии, рост тарифа в 35%), стоит на втором месте в векторе Р* и имеет достаточно высокий весовой коэффициент согласно вектору Z, равный 0.25. Он как раз и может быть использован для реализации, если производство электроэнергии будет выгодным предприятию.

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

РЕЗУЛЬТАТЫ ПРОДЕЛАННОЙ РАБОТЫ.


В дипломной работе были получены следующие результаты

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

·Для нахождения решений для модели, рассмотренной в третьей главе, реализовано программное обеспечение на языке C++, в Microsoft Visual Studio 2005.

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

ЛИТЕРАТУРА:


·Мительман С.А. «Теоретические и практические основы диверсификации капитала» 2004г.

·Ерзин А. И. «Исследование операций» лекции.

·Алаева О.А. Савин А.Г. Разработка электронной модели системы теплоснабжения г. Москвы //"Новости теплоснабжения" <#"justify">ПРИЛОЖЕНИЕ


Программа для решения задачи, где каждый эксперт придерживается четко определенного мнения о необходимости поддержки каждого проекта, реализован на языке C#, в Microsoft Visual Studio 2005. Приведем описание программного кода и скриншотов программы.

Входными данные для программы записываются в файл input.txt. Первая строка файла это число параметров, по которым будут оцениваться проекты диверсификации, во второй строке вводится число проектов предложенных для развития. Далее по строкам перечисляются наименование параметров, по которым будут оцениваться проекты. После ввода наименований параметров задаются значения aji элементов матрицы A, где aji это значение параметра с номером j для направления с номером i.


Рис. 1 «Пример содержания данных в файле input.txt»

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


Рис. 2. «Форма, открывающаяся при запуске программы»


После нажатия на кнопку «Запустить» выполняется основной программный код, который является реализацией алгоритма поиска решений для задачи выбора наиболее выгодного проекта диверсификации. Открывается форма, на которой приведен вектор, координаты которого являются порядковыми номерами проектов, наиболее выгодных для развития. Так же на форме выводится вектор Z = (z1,…zn), где координаты zi обозначают весовые коэффициенты привлекательности проекта с порядковым номером i.


Рис. 3. «Форма, содержащая решение задачи»


Ниже приведен программный код, с комментариями.

class loadinput // Класс loadinput используется для загрузки матрицы A из файла input.txt

{double[,] in1 = new double[20,20];int m, n; // Размерность матрицы Astring[] Desc = new string[20];loadinput()

{ }void load()

{sr = new StreamReader("input.txt", System.Text.Encoding.GetEncoding(1251));= Convert.ToInt32(sr.ReadLine());= Convert.ToInt32(sr.ReadLine());(int j = 1; j < (m + 1); j++)[j] = sr.ReadLine();r1;m1;(int j = 1; j < (m+1); j++)

{line = "";= sr.ReadLine();tmp = 0;int i=0;= new Regex("(?<1>(\t+)|(\r+))", RegexOptions.IgnoreCase | RegexOptions.Compiled);(m1 = r1.Match(line); m1.Success; m1 = m1.NextMatch())

{++;[j, i] = Convert.ToDouble(line.Substring(tmp, m1.Groups["1"].Index - tmp));= m1.Groups["1"].Index;

}++;[j, i] = Convert.ToDouble(line.Substring(tmp, line.Length-tmp));

}

}

}recurs // Класс recurs используется для рекурсивного перебора элементов матрицы X

{int n = 0; //кол-во столбцов матрицы Xint y = 0; //кол-во строк матрицы Xint[] mas = new int [20];bool stop = false;recurs(int n1, int y1)

{= n1; y = y1-1;(int i = 0; i < n; i++)[i] = 0;

}void next(int x)

{(mas[x] < y) mas[x] = mas[x] + 1;

{(x == 0) { stop = true; }

{[x] = 0;(x - 1);

}

}

}

}Points // Класс Points используется для ранжирования элементов матрицы A по строкам

{int x; // Порядковый номер столбца матрицы Adouble y; // Значение элемента матрицы APoints (int key1, double key2)

{= key1;= key2;

}double Y

{

{y;

}

}

}myComparer : IComparer // Класс myComparer используется для ранжирования элементов матрицы A по возрастанию

{IComparer.Compare(object obj1, object obj2)

{(((Points)obj1).Y < ((Points)obj2).Y) return -1;(((Points)obj1).Y == ((Points)obj2).Y) return 0;(((Points)obj1).Y > ((Points)obj2).Y) return 1;return 0;

}

}myComparer2 : IComparer // Класс myComparer2 используется для ранжирования элементов матрицы A по убыванию

{IComparer.Compare(object obj1, object obj2)

{(((Points)obj2).Y < ((Points)obj1).Y) return -1;(((Points)obj2).Y == ((Points)obj1).Y) return 0;(((Points)obj2).Y > ((Points)obj1).Y) return 1;return 0;

}

}partial class Form1 : Form // Основное тело программы

{li;Form1()

{();= new loadinput();.load(); // функция загрузки элементов матрицы A из файла.txt(int i = 0; i < li.m; i++) // Вывод на экран параметров по

которым будут оценены проекты.Items.Insert(i, li.Desc[i + 1]);

}void button2_Click(object sender, EventArgs e)

{.Enabled = false;[,] p = new int[20,20];(int i = 0; i < (li.m); i++)

{[] itArr = new Points[li.n];// массив объектов класса.(int j = 0; j < (li.n); j++) //каждый объект

характеризуется порядковым

номером и значением

элемента в строке матрицы A[j] = new Points(j, li.in1[i + 1, j + 1]); if (checkedListBox1.GetItemChecked(i) == true)

{ myComparer2 c = new myComparer2(); System.Array.Sort(itArr, c); } // упорядочивание объектов

класса Points по убыванию

(возрастанию) значений

элемента в строке матрицы A

{ myComparer c = new myComparer(); System.Array.Sort(itArr, c); }(int j = 0; j < (li.n); j++)[i, j] = itArr[j].x; // вычисление матрицы P строка

матрицы P - вектор Pj, элементы

которого Pji обозначают порядковый

номер проекта занимающий согласноому частному критерию i-ое место[] kk = new int[20];(int j = 0; j < (li.n); j++)[p[i, j]] = j;(int j = 0; j < (li.n); j++)[i, j] = kk[j]; // преобразование матрицы P в

матрицу П, где строка матрицы P

состоит из векторов Пj, элементы

которого Пji обозначают число

проектов которые согласно j-ому

частному критерию являются

предпочтительней чем проекты с

номером i[,] matr_r = new int[20, 20];(int k = 0; k < (li.n); k++)(int l = 0; l < (li.n); l++)

{sum = 0;(int j = 0; j < (li.m); j++)

{+= Math.Abs(l-p[j,k]);

}_r[k, l] = sum; // Расчет матрицы R - матрицы потерь

}

// решается задача о назначении Симплекс-методом[,] matr_x = new int[20, 20];[,] matr_x2 = new int[20, 20];[] p_vect = new int[20];sum_glob = 99999999;recu2 = new recurs(li.n, li.n+1);(recu2.stop != true)

{.next(li.n - 1);ok = true;(int i = 0; i < (li.n); i++)

{(ok == false) break;(int j = 0; j < (li.n); j++)

{((recu2.mas[i] == recu2.mas[j]) &&(i!=j))

{= false; break;

}(recu2.mas[i] == 0) { ok = false; break; }

}

}(ok == true)

{(int i = 0; i < (li.n); i++)(int j = 0; j < (li.n+1); j++)

{((recu2.mas[i] == j)&&(j!=0)) matr_x[j, i] = 1;matr_x[j, i] = 0;

}sum_t_xr=0;

// вычисление произведения матриц R и X(int i = 0; i < (li.n); i++)(int j = 0; j < (li.n); j++)_t_xr += matr_x[i + 1, j] * matr_r[i, j];(sum_glob > sum_t_xr)

{_glob = sum_t_xr;

//сохраним матрицу X*(int i = 1; i < (li.n + 1); i++)(int j = 0; j < (li.n); j++)_x2[i, j] = matr_x[i, j];

// алгоритм построяния вектора p* - наиболее точно

отражающих мнения экспертов о привлекательности

проектов(int j = 0; j < (li.n); j++)_vect[j] = recu2.mas[j];

}

}

}tmp = "Вектор P* \n\r(";(int j = 0; j < (li.n); j++)+= p_vect[j].ToString();+= ")\n\r";

// строется матрица парных сравнений L

int[,] matr_a = new int[20, 20];(int i = 0; i < (li.n); i++)(int j = 0; j < (li.n); j++)

{i5=i+1; int i6=j+1;q1= tmp.LastIndexOf(i5.ToString());q2 = tmp.LastIndexOf(i6.ToString());(q1 < q2) matr_a[i, j] = 2;(q1 == q2) matr_a[i, j] = 1;(q1 > q2) matr_a[i, j] = 0;

}

// найдем сумму элементов матрицы парных стравнений по строкам[] sum_strok = new int[20];(int i = 0; i < (li.n); i++)

{sum2 = 0;(int j = 0; j < (li.n); j++)

{+= matr_a[i, j];

}_strok[i] = sum2;

}

// найдем сумму всех элементов матрицы парных сравненийobsh_summa = 0;(int i = 0; i < (li.n); i++)_summa += sum_strok[i];

// ищутся весовые коэффициенты привлекательности проектов

диверсификации[] doli = new double[20];(int i = 0; i < (li.n); i++)[i] = (double)sum_strok[i] / (double)obsh_summa;

// Вывод вектора P*= "Вектор P* = (";(int j = 0; j < (li.n); j++)

{+= p_vect[j].ToString();(j != (li.n - 1)) tmp += ",";

}+= ") - координаты обозначают порядковые номера проектов диверсификации упорядоченных по убыванию. На первом месте стоит порядковый номер проекта наиболее выгодного для развития.\n\r";

//MessageBox.Show(tmp);tmp1="Вектор Z =(";(int i = 0; i < (li.n); i++)

{length = 6;(doli[i].ToString().Length < 6) length = doli[i].ToString().Length;+= doli[i].ToString().Substring(0, length);(i != (li.n - 1)) tmp1 += "; ";

}.Show(tmp+" \n\r"+tmp1+") - координата Zi обозначает весовой коэффициент привлекательности проекта диверсификации под номером i.","Ответ"); // вывод весовых коэффициентов привлекательности

}

}


Выпускная квалификационная работа специалиста Математические модели диверсификации (на примере теплоэнерг

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ