Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Інформаційна система підтримки прийняття рішень в умовах багатокритеріальної оптимізації

Реферат Інформаційна система підтримки прийняття рішень в умовах багатокритеріальної оптимізації





s . id=id;

}

@ Override

public Container clone () {clone= new Container ( id, volume, cargo);

return clone;

}

/* (non-Javadoc)

*see java. lang. Object # toString ()

*/

@ Override

public String toString () {

return Контейнер +

, nID: + Id +

nОб'ём: + Volume +

, nГрузопод'ёмность: + Cargo;

}

}

Клас ЛПР. У цього класу всього одне поле - список ваг критеріїв, що використовується їм при розрахунку корисності об'єкта. ЛПР вміє порівнювати об'єкти, використовуючи вкладений клас Бінарне відношення raquo ;, вміє відображати пару об'єктів в один об'єкт і отримувати значення корисності будь-якого об'єкта. Для ЛПР в даному випадку корисність об'єкта прямо пропорційна значенням оцінок за критеріями об'єкта і обернено пропорційна його масі і обсягом.

/**

* ЛПР (особа, яка приймає рішення).

* @ author AtemB

*

*/

public class Boss {

class BossBinaryRelation implements BinaryRelation lt; Item gt; {

@ Override

public Item compare (Item i1, Item i2) {

//Звичайно, не сама пряморукая реалізація, зате відносно зрозуміла для сприйняття.

//У цей список заносяться різниці оцінок за критеріями. lt; Double gt; rates= new LinkedList lt; Double gt; () ;. add (( double ) (i1. rate1 - i2. rate1)) ;. add (( double ) (i1. rate2 - i2. rate2));

//Прапори в цьому списку означають, позитивний або негативний

//результат порівняння критеріїв.

//Однакові значення до списку не заносяться. lt; Boolean gt; flags= new LinkedList lt; Boolean gt; ();

for (Double d: rates) {

if (d. doubleValue () gt; 0) {. add ( true );

} else if (d. doubleValue () lt; 0) {. add ( false );

}

}

//Якщо спіок прапорів порожній, значить, об'єкти по перевіряється критеріям рівні.

if (flags. isEmpty ()) {

return null ;

} else {

boolean resultFlag= false ;

for ( int i=1; i lt; flags. size (); i ++) {= flags. get (i);

//Якщо в списку зустрічаються різні значення прапорів, значить,

//об'єкти незрівнянні за значущим критеріям

//(один краще за одними критеріями, інший по іншим).

if (flags. get (i - 1)!=flags. get (i)) {

return null ;

}

}

//Якщо попередній цикл виконався до кінця, значить,

//один з об'єктів виявився краще іншого.

//Перевіряємо значення результуючого прапора

//і повертаємо домінуючий об'єкт.

if (resultFlag) {

return i1;

} else {

return i2;

}

}

}

}

private List lt; Double gt; weights;

public Boss () {= new ArrayList lt; Double gt; ();

{. add (0.45) ;. add (0.45) ;. add (0.04) ;. add (0.04) ;. add (0.02);

}

}

/**

* Отримати корисність об'єкта.

*


Назад | сторінка 14 з 53 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure
  • Реферат на тему: Return to materialism
  • Реферат на тему: Формування іміджу, як одне із завдань Public Retations