Реферат по предмету "Экономико-математическое моделирование"


Метод последовательных сравнений

Федеральное агентство порыболовству
Федеральное государственноеобразовательное учреждение
Высшего профессионального образования
Мурманский государственный техническийуниверситет
Кафедравычислительной математики и программного обеспечения ЭВМ

Расчетно-графическое задание
по дисциплине
Теория принятия решений
Тема:
Метод последовательных сравнений
/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>Выполнил: студент ПТФ,группы П-561
Воронкова А.В.
/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>Проверил: />/>/>/>/>Зав.кафедры ВМ и ПО ЭВМ
Середа В.И.
/>/>/>/> 
/>/>/>/>/>/>/>/>/>/>/>/>Мурманск 2010

/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>Оглавление
1. Цель работы
2. Теоретические сведения
2.1 Экспертные методы в исследовании систем управления
2.2 Метод последовательных сравнений
2.3 Проблемы, для решения которых привлекаются методыэкспертных оценок
3. Описание интерфейса разработанногопрограммного продукта
4. Листинг
4.1 Класс «CombinationGenerator»
4.2 Класс «ConditionPanel»
4.3 Класс «MainFrame»
Выводы
Список использованной литературы
Список использованных программных средств
Приложение
 

 1.  Цель работы/>/>
Программно реализоватьинтерактивный метод последовательных сравнений
/> 

/> 2.Теоретическиесведения/>/>2.1 Экспертные методы в исследовании систем управления
/>/>/> 
Экспертные методы вначалеиспользовались в основном в области науки и техники, а затем начали широкоприменяться в управлении и экономике. Сущность этих методов как при решениизадач ИСУ, так и при использовании их в практике обобщённого мнения (суждения)специалистов-экспертов по рассматриваемым вопросам. Это обобщённое мнениеполучается в результате усреднения различными способами мненийспециалистов-экспертов.
/>/>/>Методы экспертных оценок/>/> – этонаучные методы анализа сложных проблем. Эксперты проводят интуитивно-логическийанализ проблемы с количественной оценкой суждений, с формальной обработкойрезультатов. Их обобщённое мнение, полученное в результате обработкииндивидуальных оценок, принимается как решение проблемы.
/>/>/>Эти методы предполагают организацию специальной процедурыполучения информации, когда специалисты в области решаемой проблемы (эксперты)используют количественные методы, как при организации процедуры экспертнойоценки, так и при обработке её результатов.
/>/>/>Исследуемые или оцениваемые с помощью методов экспертныхоценок объекты или явления различаются на основе признаков, характеристик,параметров, показателей. Как правило, каждый показатель отражает некотороесвойство, характеристику объекта.
/>/>/>В общем случае это свойство может быть измерено, отображенонесколькими способами. В тоже время, какой бы из способов мы ни избрали, должнысохраняться неизменными некоторые соотношения значений показателей дляразличных объектов.
/>/>/>С каждым показателем связывается с одной стороны некотораяхарактеристика, остающаяся постоянной при любых допустимых способах егоизмерения. А с другой стороны множество преобразований перехода от допустимогоспособа измерения данного показателя к другому.
/>/>/>Если два показателя имеют совпадающие множества допустимыхпреобразований, то говорят, что показатели имеют шкалу одного типа.
/>/>/>Если допустимо преобразование: умножение на положительнуюконстанту, то соответствующая шкала называется «шкалой отношений».
/>/>/>Если к этому преобразованию можно дополнить следующеепреобразование: добавить константу, такая шкала называется «шкалой интервалов».
/>/>/>Показатели, имеющие шкалу не менее совершенную, сем шкалаинтервалов, называются количественными. Могут встретиться показатели с т.н.номинальной шкалой. В этом случае устанавливаются только тождества илиразличия. Показатели с порядковыми шкалами принято называть качественными.
/>/>/>При классификации по признаку оценки предпочтений припринятии решений в настоящее время наиболее распространены метод рангов, методнепосредственного оценивания, метод сопоставлений. Он включает в себя дверазновидности: парного сравнения и последовательного сравнения.2.2 Метод последовательных сравнений
Общим недостаткомпоказателей, получаемых на основе суммирования баллов, является то, чтонедостаток качества по одному из них можно компенсировать за счет других,получая один и тот же результат при различной значимости факторов. Поэтому дляповышения надежности оценок, значение имеет выявление связей и установлениезависимостей между всеми значимыми факторами. Установление таких зависимостейвозможно методом последовательных сравнений (У. Черчмен, Р. Акоф).
Процедура состоит вследующем. Эксперту предоставляется перечень факторов (критериев, альтернатив,результатов), которые необходимо оценить по их относительной важности и онпроизводит ранжирование. Наиболее важному фактору приписывается оценка (вес />) = 1,а остальным оценки (/>) между 0 и 1 в порядкеотносительной важности.
Затем экспертустанавливает, является фактор с оценкой 1 более важным, чем комбинацияостальных факторов.
·  Если да, то он увеличивает оценку />,чтобы она была больше, чем сумма всех остальных, т.е.
/>/>/>
·  Если нет, то он корректирует оценку /> (еслинеобходимо), чтобы онабыла меньше суммы всех остальных, т.е.
/>
/>/>/> 
Далее определяется,является ли второй фактор с оценкой /> более важным, чем все остальные.И так далее до /> фактора.
/>/>/>Таким образом, процедура состоит в систематической проверкеоценок на базе их последовательного сравнения.
Общая процедура методаследующая:
/>/>/>1.  Упорядочить результаты в соответствиис их значимостью (относительной важностью) с точки зрения эксперта.
/>/>/>Пусть /> представляет наиболее важныйрезультат, /> – следующий по степени важности ит. д., а />– наименее важный.
2. Приписать вес1,00 результату /> (т.е. /> = 1,00) и другие весавсем остальным результатам.
3. Сравнить
/> с /> + /> +… + />:
·  если /> предпочтительнее, надоизменить (в случае необходимости) значение /> так, чтобы /> > /> + /> + … +/>.При этой корректировке, так же как и при всех остальных, следует стремиться ктому, чтобы веса набора (/>, /> и т.д.) остались безизменений. Далее следует перейти к шагу 4.
·  если /> = /> + /> +…+ />,то изменить (в случае необходимости) значение />, так чтобы выполнялось равенство /> = /> + /> + … +/>изатем перейти к шагу 4
/>/>/>·  если результат /> менеепредпочтителен, чем /> + /> +… + />, то изменить значение/> так,чтобы выполнялось неравенство />  + /> + … + />.Далее сравнить /> с /> + /> +… + /> иповторять до тех пор, пока /> будет или предпочтительнее, илиравноценен всем остальным результатам.
4. Сравнить /> с /> +…+ />ивыполнить весь шаг 3.
5. Продолжить шаг 4до тех пор, пока не будет выполнено сравнение />с />+ />.
6. Преобразоватькаждое полученное значение /> в нормированное />?,разделив соответствующие веса на />. В итоге />? должна бытьравна 1,00.
/>/>/>Если число результатов больше семи, метод становитсягромоздким. В этом случае применяется процедура разбиения на подмножества, ккаждому из которых применяется эта процедура./>/>экспертный последовательныйинтерактивный сравнение

 2.3 Проблемы, для решения которых привлекаются методыэкспертных оценок
/>/>/>Экспертные методы вначале использовались в основном в областинауки и техники, а затем начали широко применяться в управлении и экономике.Сущность этих методов как при решении задач ИСУ, так и при использовании их впрактике обобщённого мнения (суждения) специалистов-экспертов порассматриваемым вопросам. Это обобщённое мнение получается в результатеусреднения различными способами мнений специалистов-экспертов.
/>/>/>Это научные методы анализа сложных проблем. Эксперты проводятинтуитивно-логический анализ проблемы с количественной оценкой суждений, сформальной обработкой результатов. Их обобщённое мнение, полученное врезультате обработки индивидуальных оценок, принимается как решение проблемы.
/>/>/>Проблемы, для решения которых приходится применять методыэкспертных оценок, часто делят на два класса, каждый из которых определённымобразом влияет на этапы и процедуры проведения экспертизы.
/>/>/>Проблемы первого класса характеризуются тем, что в ихотношении в целом имеется достаточная информация, но она может носитькачественный характер или имеется многокритериальность, что вызываетнеобходимость привлечения экспертов. Основные задачи, которые в данном случаеприходится решать при использовании методов экспертных оценок, состоит в поискехороших экспертов и правильной организации процедуры экспертизы, при этомполагают, что групповое мнение экспертов приближается к истинному значениюоцениваемых параметров. В этом случае при обработке оценок широко используютсяметоды математической статистики. Эксперты чаще всего используют порядковую иинтервальную шкалы.
/>/>/>Проблемы, составляющие второй класс, не характеризуютсядостаточным информационным потенциалом. К ним чаще относятся проблемы, возникающиепри решении большинства задач прогнозирования. Здесь эксперты используют чащеноминальную и порядковую шкалы.
/>/>/>К разновидностям экспертного метода можно отнестисоциологический анализ, который основан на опросе, сборе и анализе мненийреспондентов. Например, фактических или потенциальных потребителей. Такой опроси сбор мнений производится обычно в письменной форме (анкеты), либо устно(конференции, аукционы, выставки).
/>/>/>При использовании этого метода также следует применятьнаучно-обоснованные способы опроса, математические принципы сбора и обработкиинформации. Обработка экспертных и социологических данных, расчёты мерсогласованности требуют трудоёмких вычислений. Поэтому при сборе и обработкерезультатов экспертной и социологической информации используют вычислительнуютехнику и специально разработанные программные продукты.

 3.  Описаниеинтерфейса разработанного программного продукта
/> 
Окно приложенияподразделяется на две основные области: область ввода данных для реализацииМетода последовательных сравнений и область анализа и выполнения указанногометода.
/>
/>Область ввода данных для реализации метода/>/>
Область анализа и выполнения метода
/> 
Длина первой области составляет350 px, длина второй области – 230 px. Соотношение длин областейсоставляет 65%, в свою очередь, золотое сечение представляет отношение 2:3.Таким образом, созданный интерфейс программного продукта полностьюудовлетворяет требованиям пропорциональности.
/>Предложения по улучшению интерфейса:проанализировав пропорции элементов управления относительно друг друга и краяформы, а также пропорции основных областей формы, можно сделать вывод окорректности построения спроектированного интерфейса.
Альтернативным являетсявариант организации интерфейса, когда основные области: область ввода данныхдля реализации метода и область анализа расположены на разных вкладках. Однакопредложенный альтернативный вариант не является оптимальным с точки зренияминимизации временных интервалов, так как при таком расположении основныхобластей, пользователь будет вынужден совершать лишние перемещения мыши междууказанными областями и лишние клики по рабочей области.
/>
/>
Таким образом,реорганизация анализируемого интерфейса не целесообразна. Спроектированныйинтерфейс является оптимальным, лаконичным и простым в использовании.

 4.  Листинг 4.1 Класс «CombinationGenerator»
public classCombinationGenerator {
private int[]a;
private int n;
private int r;
privateBigInteger numLeft;
privateBigInteger total;
publicCombinationGenerator(int n, int r) {
if (r > n){
throw newIllegalArgumentException();
}
if (n
throw newIllegalArgumentException();
}
this.n = n;
this.r = r;
a = new int[r];
BigIntegernFact = getFactorial(n);
BigIntegerrFact = getFactorial(r);
BigIntegernminusrFact = getFactorial(n — r);
total =nFact.divide(rFact.multiply(nminusrFact));
reset();
}
//------
// Reset
//------
public voidreset() {
for (int i =0; i
a[i] = i;
}
numLeft = newBigInteger(total.toString());
} // Returnnumber of combinations not yet generated
//------------------------------
publicBigInteger getNumLeft() {
returnnumLeft;
}
//-----------------------------
// Are theremore combinations?
//-----------------------------
public booleanhasMore() {
returnnumLeft.compareTo(BigInteger.ZERO) == 1;
} // Returntotal number of combinations
//--------------------------
publicBigInteger getTotal() {
return total;
}
//------------------
// Computefactorial
//------------------
private staticBigInteger getFactorial(int n) {
BigIntegerfact = BigInteger.ONE;
for (int i =n; i > 1; i--) {
fact =fact.multiply(new BigInteger(Integer.toString(i)));
}
return fact;
}
//--------------------------------
// Generatenext combination (algorithm from Rosen p. 286)
//----------------------------------
public int[]getNext() {
if(numLeft.equals(total)) {
numLeft =numLeft.subtract(BigInteger.ONE);
return a;
}
int i = r — 1;
while (a[i] ==n — r + i) {
i--;
}
a[i] = a[i] +1;
for (int j = i+ 1; j
a[j] = a[i] +j — i;
}
numLeft =numLeft.subtract(BigInteger.ONE);
return a;
}
}4.2 Класс «ConditionPanel»
public classConditionPanel extends javax.swing.JPanel {
publicConditionPanel() {
initComponents();
}
public voidsetCondition(int indices[], int num) {
String s;
s = " "+ (indices[0] + 1) + " > ";
for (int i =1; i
s += (indices[i]+ 1) + " + ";
}
s +=(indices[indices.length — 1] + 1);
jLabel1.setText(""+ num + ". " + s);
}
public voidcheck() {
jCheckBox1.setSelected(!jCheckBox1.isSelected());
}
booleanisSelected() {
returnjCheckBox1.isSelected();
}
}
/> 4.3 Класс «MainFrame»
public classMainFrame extends javax.swing.JFrame {
/** Createsnew form MainFrame */
publicMainFrame() {
initComponents();
jList1.setCellRenderer(newListCellRenderer() {
publicComponent getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus) {
Component comp= (Component)value;
comp.setBackground(isSelected? Color.LIGHT_GRAY: Color.white);
return comp;
}
});
jList1.addMouseListener(newMouseAdapter() {
@Override
public voidmouseReleased(MouseEvent e) {
vec.get(jList1.getSelectedIndex()).check();
jList1.updateUI();super.mouseReleased(e);
}
});
jSpinner1.setValue(2);
}
privateVector vec;
privateLinkedList conditions;
private voidjButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int value =(Integer)jSpinner1.getValue();
conditions =new LinkedList();
int[]lastNumIndex = new int[value];
for(int num:lastNumIndex) {
System.out.println(num);
}
for (int i =3; i
int[] indices;
CombinationGeneratorx = new CombinationGenerator(value, i);
while(x.hasMore()) {
indices =x.getNext();
conditions.add(indices.clone());
}
}
Collections.sort(conditions,new Comparator() {
public intcompare(int[] o1, int[] o2) {
if( o1[0]
return -1;
} else if(o1[0] == o2[0] ) {
if(o1.length
return -1;
} else {
return 0;
}
} else {
return 1;
}
}
});
vec = newVector();
int num = 1;
for(int[]indices: conditions) {
ConditionPanellist = new ConditionPanel();
list.setCondition(indices,num);
num++;
vec.add(list);
}
jList1.setListData(vec);
jList1.updateUI();
}
private voidjSpinner1StateChanged(javax.swing.event.ChangeEvent evt) {
jTable1.setModel(newDefaultTableModel((Integer)jSpinner1.getValue(), 3)
boolean[]canEdit = new boolean [] {
false, true,true
};
@Override
public booleanisCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
@Override
public StringgetColumnName(int column) {
String name ="";
switch(column){
case 0:
name ="№";
break;
case 1:
name = «цель»;
break;
case 2:
name = «оценка»;
break;
}
return name;
}
});
for (int i =0; i
String s ="" + (1-0.1*i);
jTable1.setValueAt(i+ 1, i, 0);
jTable1.setValueAt(«цель » + (i + 1), i, 1);
jTable1.setValueAt(s,i, 2);
}
}
privatefloat[] values;
private voidjButton2ActionPerformed(java.awt.event.ActionEvent evt) {
jTable1.updateUI();
int count =(Integer)jSpinner1.getValue();
values = newfloat[count];
for (int i =0; i
values[i] =Float.parseFloat((String) jTable1.getModel().getValueAt(i, 2));
}
if(jRadioButton1.isSelected()) {
manualSolve();
} else {
automaticSolve();
}
}
}
private voidmanualSolve() {
int i =checkConditions();
if (i !=-1){
JOptionPane.showMessageDialog(this,(i + 1) + " правило не выполнилось. Скорректируйте оценки");
}
else{
norm();
JOptionPane.showMessageDialog(this,«Принятые оценкикорректны»);
}
}
private voidautomaticSolve() {
ArrayListind = new ArrayList();
ind.add(0);
for (int i =1; i
int[]currentIndex = conditions.get(i);
int[]previousIndex = conditions.get(i — 1);
if(currentIndex[0] == previousIndex[0]
&¤tIndex.length == previousIndex.length) {
if(isConditionSelected(i) != isConditionSelected(i — 1)) {
JOptionPane.showMessageDialog(this,«Уловия не могут быть выполнены при данных значениях оценок !!!»);
return;
}
}
if(currentIndex[0] == previousIndex[0]
&¤tIndex.length > previousIndex.length) {
if(isConditionSelected(i) == true && isConditionSelected(i — 1) == false){
JOptionPane.showMessageDialog(this,«Уловия не могут быть выполнены при данных значениях оценок !!!»);
return;
}
}
if(currentIndex.length!= previousIndex.length) {
ind.add(i);
}
}
{
int first = 0;
ArrayListsortedInd = new ArrayList();
for (int size= values.length — 2; size > 0; size--) {
Listsublist = ind.subList(first, first + size);
Collections.reverse(sublist);
sortedInd.addAll(sublist);
first += size;
}
ind =sortedInd;
}
int n =ind.size();
float delta = 0.01f;
for (int i =0; i
int conditionNum= ind.get(i);
int[] cond =conditions.get(conditionNum);
booleansolving = calculute(conditionNum, values);
booleanselected = isConditionSelected(conditionNum);
if (solving !=selected) {
if (solving) {
float value =getSumm(conditionNum, values) — delta;
if (value >values[cond[0] + 1]) {
values[cond[0]]= value;
} else {
JOptionPane.showMessageDialog(this,«Уловия не могут быть выполнены при данных значениях оценок»);
return;
}
} else {
float value =getSumm(conditionNum, values) + delta;
if(cond[0]==0){
values[cond[0]]= value;
} else {
float d =value — values[cond[0]];
values[cond[0]]= value;
for(int j = 0;j
values[j] +=d;
}
}
}
}
}
norm();
JOptionPane.showMessageDialog(this,«Принятые оценкикорректны»);
}
private intcheckConditions() {
returncheckConditions(conditions.size()-1, values);
}
privateboolean isConditionSelected(int numCondition){
return vec.get(numCondition).isSelected();
}
private intcheckConditions(int lastCondition, float[] values) {
for (int i =0; i
booleanselected = isConditionSelected(i);
if(calculute(i, values) == !selected) {
return i;
}
}
return -1;
}
privateboolean calculute(int i, float[] values) {
int[] indices= conditions.get(i);
floatleftValue = values[indices[0]];
float summ =0;
for (int j =1; j
summ +=values[indices[j]];
}
returnleftValue > summ;
}
private floatgetSumm(int i, float[] values) {
int[] indices= conditions.get(i);
float summ =0;
for (int j =1; j
summ +=values[indices[j]];
}
return summ;
}
public voidnorm() {
int count =values.length;
float val =values[0];
for (int i =0; i
values[i] =values[i] / val;
jTable1.setValueAt(""+ values[i], i, 2);
}
}
}

 Выводы
/>Основное преимущество методовэкспертных оценок – возможность их применения в условиях повышенного риска инеопределенности. Эта неопределенность чаще всего является следствиемвероятного характера исследуемых явлений, невозможности точного предсказанияокончательных исходов многих процессов и т.д. Привлечение экспертов дляпринятия решений позволяет снизить уровень неопределенности и повыситьдостоверность решений. В общем случае предполагается, что мнение группыэкспертов надежнее, чем мнение отдельного индивидуума. Главное преимуществогрупповой оценки заключается в уменьшении различий во мнениях, в возможностиполучения в какой-то степени обобщенного и более представительного мнения.
Спецификаи разнообразие решаемых при участии экспертов проблем существенно ограничиваетвозможности создания единых универсальных правил и моделей экспертизы. Однакоможно ориентировочно наметить следующие основные этапы проведения экспертизы:
· формулированиецели экспертизы и разработка процедуры опроса;
· формированиегруппы специалистов-аналитиков;
· отбор иформирование группы экспертов;
· проведениеопроса;
· анализ иобработка информации, полученной от экспертов;
· синтезобъективной (статистической) информации и информации, полученной от экспертов,с целью приведения их в форму, удобную для принятия решения.
Последовательностьи содержание этих этапов будут изменяться в зависимости от реальных условий иограничений при проведении экспертизы.
Математико-статистическиеметоды экспертных оценок получают все более широкое применение в практикепринятия решений. Однако существует ряд проблем и задач, требующих дальнейшихтеоретических исследований и практической проверки. Можно указать на необходимостьсовершенствования системы отбора экспертов, повышения надежности характеристикгруппового мнения, разработки методов проверки обоснованности оценок и ряддругих.
Список использованной литературы
1.  Электронный ресурс:Математико-статистические методы в менеджменте, window.edu.ru/window_catalog/pdf2txt?p_id=3216&p_page=2
2.  Электронный ресурс: ИсследованиеСистем Управления, www.uproizvod.ru/index.php?option=com_content&task=view&id=7&Itemid=34&limit=1&limitstart=0
Список использованных программныхсредств
1.  NetBeans IDE, version number 6.8
Приложение1
/>
/>


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.