Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- # Задаем константы
- n = 14 # количество вариантов решения
- m = 10 # количество состояний
- c = 0.6 # коэффициент критерия Гурвица
- # Генерируем случайные значения для eij
- e = [[random.randint(1, 100) for j in range(m)] for i in range(n)]
- # Генерируем случайные значения для вероятностей появления состояний
- p = [[round(random.uniform(0, 1), 2) for j in range(m)] for i in range(n)]
- for i in range(n):
- s = sum(p[i])
- for j in range(m):
- p[i][j] /= s
- # Функция для расчета критерия Гурвица
- def gurwitz_crit(e, c):
- max_e = max(e)
- min_e = min(e)
- return c * max_e + (1 - c) * min_e
- # Функция для выбора оптимального решения по критерию Гурвица
- def gurwitz_choice(e, c):
- n = len(e)
- max_crit = -1
- opt_choice = -1
- for i in range(n):
- crit = gurwitz_crit(e[i], c)
- if crit > max_crit:
- max_crit = crit
- opt_choice = i
- return opt_choice
- # Функция для выбора оптимального решения по оптимистическому критерию
- def optimistic_choice(e):
- n = len(e)
- max_crit = -1
- opt_choice = -1
- for i in range(n):
- crit = max(e[i])
- if crit > max_crit:
- max_crit = crit
- opt_choice = i
- return opt_choice
- # Выбираем оптимальное решение по каждому критерию
- gurwitz_opt = gurwitz_choice(e, c)
- optimistic_opt = optimistic_choice(e)
- # Выводим результаты
- print("Результаты выбора оптимального решения:")
- print(f"Критерий Гурвица: вариант {gurwitz_opt}")
- print(f"Оптимистический критерий: вариант {optimistic_opt}")
Advertisement
Add Comment
Please, Sign In to add comment