Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Эвристические методы принятия решений



Приведем описание эвристического метода решения задачи в качестве примера.

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

На практике чаще всего используют эвристические методы решения задачи, так как точные методы невозможно применить из-за «проклятия размерности».

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

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

, (1)

при условии:

, (2)

где x Î { 0, 1 }, j = 1, 2, …, n, cj > 0, aj > 0, bj > 0. Не умаляя общности, можно предположить, что переменные занумерованы так, что c1/a1 ≥ c2/a2 ≥ ≥ cn/an. Будем пытаться максимизировать f(x) за счет самых больших значений cj/aj, полагая последовательно x1, x2, и т. д. равными единице до тех пор, пока не нарушится ограничение (2).

Рассмотрим алгоритм решения задачи о выборе рациона питания:

С=c1x1+c2x2+c3x3+c4x4 ® min;

xi ≥ 0, i = 1,2,3,4;

а11х121х231х341х4≥b1;

а12х122х232х342х4≥b2:

а13х123х333х343х4≥b3 .

Воспользуемся пожирающим алгоритмом (можно также найти точное решение задачи, используя симплекс метод):

1. Найдем список коэффициентов:

H ={ h11, h12, h13, h21, h22,h23, …, h41, h42, h43, },

где h11 = c1/a11 , h12 = c1/a12, h13 = c1/a13,.

h21 = c2/a21, h22 = c2/a22, h23 = c2/a23 …,

h41 = c4/a41, h42 = c2/a42,, h43 = c4/a43,

H={cj/aji i=1,4; j=1,3}.

2. Присвоим s (номер витка цикла) значение равное единице

3. Найдем минимальное значение h*ij, h*ij Î H и исключим из списка H все значения hkj (k=1,4).

4. Назначим максимально возможное значение x*i (s):

x*(s)i = bj/aij.

5. Удалим из дальнейшего рассмотрения ограничение:

а1jх12jх23jх34jх4≥bj:

6. Используя найденное значение x* i (s) изменим ограничения задачи:

а1jх12jх23jх34jх4≥bj - aij ´ x*i(s).

7. Если список H не пустой, то увеличим s на единицу и перейдем к пункту 2. В противном случае завершим решение и найдем значение целевой функции и искомых переменных:

, i= 1,4; ,

где S – множество номеров витков цикла алгоритма (шаги 2-6).

2.3. Решение задачи на контрольном примере

Имеется четыре продукта питания (хлеб П1, сливки П2, колбаса П3, сливочное масло П4). Известна стоимость и пищевая ценность одного килограмма каждого продукта (табл. 3.4.). Из заданного набора продуктов необходимо составить пищевой рацион, который должен содержать:

- белков не менее 0,063 кг (b 1=0,063);

-углеводов не менее 0,100 кг (b 2=0,1);

- жиров не менее 0,180 кг (b 3=0,18).

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

Таблица 3.4

  Стоимость Cj (руб). Пищевая ценность на 1 кг продукта aji
Белки (кг) Углеводы (кг) Жиры (кг)
П1   0,08 0,42 0,02
П2   0,03 0,05 0,10
П3   0,16   0,38
П4   0,01 0,02 0,72

Запишем условия задачи контрольного примера:

0.081х1+0.03х2+0.16х3+0.01х4≥0.63; (3.6)

0.42х1+0.05х2+0х3+0.02х4≥0.1; (3.7)

0.02х1+0.1х3+0.38х3+0.72х4≥0.18; (3.8)

xi ≥ 0, i = 1, 2, 3, 4; (3.9)

С=50x1+40x2+170x3+120x4 ® min. (3.10)

Необходимо найти такие неотрицательные значения переменных х1, х2, х3, х4, удовлетворяющие линейным неравенствам (3.6-3.9), при которых линейная функция этих переменных (3.10) обращалась в минимум.

Найдем стоимость каждого продукта питания с содержанием килограмма каждого питательного вещества (табл. 3.5).

Таблица 3.5

  Стоимость (руб.) Условная стоимость на 1 кг продукта hji
Белки (руб.) Углеводы (руб.) Жиры (руб.)
П1        
П2   1333,3    
П3     - 437.4
П4        
  Необходимое количество питательного вещества в рационе 0.063 0.1 0.18

Выберем минимальное значение из таблицы 3.5 равное 119, соответствующее продукту П1.

Количество продукта П1, необходимого для удовлетворения рациона по углеводам равно:

.

Стоимость продукта П1 дляудовлетворения рациона по углеводам равны:

C*1=c1×x*1 = 50×0,238=11,9 руб.

В найденном количестве продукта П1 будет содержаться белков:

x*1 × a11 = 0.238 ´ 008 = 0.019 кг,

и останется удовлетворить потребность белков в количестве b*1:

b*1=b1-x*1 × a11 = 0,063 - 0.238 ´ 008 = 0,044 кг.

В найденном количестве продукта П1 будет содержаться жиров:

x*1 × a13 = 0.238 ´0.02=0.00476 кг

и останется удовлетворить потребность жиров в количестве b*3:

b*3= b*3=b3-x*1×a13 =0,18- 0.238 ´0.02=0.175.

Получим таблицу 3.6 с измененными значениями потребностей в количестве белков и жиров.

Таблица 3.6

  Стоимость (руб.) Условная стоимость на 1 кг продукта
Белки (руб.) Углеводы (руб.) Жиры (руб.)
П1        
П2   1333,3    
П3       437.4
П4        
  Необходимое количество питательного вещества в рационе 0.044   0.175

Выберем минимальное значение из таблицы 3.6 равное 166, соответствующее продукту П4.

Количество продукта П4, необходимого для удовлетворения рациона по жирам равно:

Затраты на удовлетворение рациона по жирам продуктом П4 равны:

C4 = с 4× x 4 = 120×0,234=29,16 руб.

В найденном количестве продукта П4 будет содержаться белков:

x 4× a 41 = 0.243 ´ 0.01 = 0.0243 кг.

и останется удовлетворить потребность белков в количестве b**1 :

b **1 = b* 1 - x 4× a 41

b* *1 = b* 1 - x 4× a 41= 0,044 - 0.243 ´ 0.01 = 0,0197 = 0,02 кг.

Получим таблицу 3.7 с корректировкой количества необходимых белков.

Таблица 3.7

  Стоимость (руб.) Условная стоимость на 1 кг продукта
Белки (руб.) Углеводы (руб.) Жиры (руб.)
П1        
П2   1333,3    
П3        
П4        
  Необходимое количество питательного вещества в рационе 0.02    

Выберем минимальное значение из таблицы 3.7 равное 625, соответствующее продукту П1.

Дополнительное количество продукта П1, необходимого для удовлетворения рациона по белкам равно:

Дополнительные затраты на удовлетворение рациона по белкам продуктом П1 равны:

С**11×х**1 =50×0,25=12,5 руб.

Находим стоимость рациона:

С=С*14**1 = 11.9+ 29.1+ 12.5 = 53.5 руб.

Количество продуктов необходимо приобрести в следующих количествах:

П1(хлеб): x1 = x*1 + x**1 = 0.238+ 0.25 = 0.488 кг;

П4(масло): x4 = 0.243 кг.


3. Проектирование информационного обеспечения

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





Дата публикования: 2015-04-10; Прочитано: 593 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...