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

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





ign="justify"> */

private double getRests (Container c, Item i, SortedMap lt ; Container, List lt; Item gt; gt; map) {

double totalVolume=0;

double totalWeight=0;

for (Item item: map. get (c)) {+=item. volume; +=item. weight;

}

double volumeRests=c. getVolume () - totalVolume;

double cargoRests=c. getCargo () - totalWeight;

if (volumeRests lt; cargoRests) {

return volumeRests;

} else if (cargoRests lt; volumeRests) {

return cargoRests;

}

return 0;

}

}

Також в програмі присутні класи графічного інтерфейсу і окремий клас, що містить метод main ().

Повний вихідний код програми.

Вихідний код програми на Java.

Пакет core .. java

package core;

/**

* Бінарне відношення.

* @ author AtemB

*

* @ param lt; T gt; Тип елементів множини.

*/

public interface BinaryRelation lt; T gt; {

/**

* Порівняти два елементи множини. Цей метод інкапсулює логіку бінарного відношення.

* @ param t1 Перший елемент.

* @ param t2 Другий елемент.

* @ return Домінуючий елемент або null, якщо елементи непорівнянні.

*/

public T compare (T t1, T t2);

}. java

package core;

import java. util. ArrayList;

import java. util. LinkedList;

import java. util. List;

import java. util. Map;

/**

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

* @ 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);

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

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


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





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

  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure
  • Реферат на тему: Java: Засоби побудови звітів для Java-додатків
  • Реферат на тему: Розробка програми на Java