Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Создать программу на python

Мария Ким Ученик (109), на голосовании 1 год назад
Создать программу на python для реализации симплекс-метода решения задач линейной оптимизации (для решения задачи ниже). Работу программы сравнить с решением в MS Excel.

Вывести отчет об устойчивости. Показать условия, при которых оптимальный план изменится. С помощью параметра «Теневая цена» изменить оптимальное решение на 5%.
Голосование за лучший ответ
Виктор Андреев Знаток (362) 1 год назад
Нифига себе запросы, ты бы ещё дипломную работу попросила сделать.
Дмитрий Ламонов Мастер (1547) 1 год назад
ЛЕГКО
НАДО
импортировать необходимые библиотеки (NumPy, scipy.optimize).

Ввести матрицы системы ограничений и целевой функции. Задача линейной оптимизации может быть представлена в виде:

минимизировать Cx

при условии, Ax <= b

где x - вектор переменных оптимизации, C - вектор коэффициентов целевой функции, A - матрица коэффициентов системы ограничений, b - вектор правых частей системы ограничений.

Решить задачу линейной оптимизации с помощью функции linprog из библиотеки scipy.optimize. Функция linprog имеет следующий синтаксис:
linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simplex', callback=None, options=None)

где c - вектор коэффициентов целевой функции, A_ub - матрица коэффициентов системы ограничений неравенств, b_ub - вектор правых частей системы ограничений неравенств, A_eq - матрица коэффициентов системы ограничений равенств, b_eq - вектор правых частей системы ограничений равенств, bounds - диапазон значений переменных оптимизации, method - метод оптимизации (симплекс-метод или внутренняя точка), callback - функция обратного вызова для отслеживания прогресса оптимизации, options - словарь настроек оптимизации.

Вывести результаты оптимизации: значение оптимальной целевой функции, оптимальный план и теневые цены переменных.

Сравнить результаты, полученные в Python с результатами, полученными в MS Excel. Проверить, совпадают ли значения оптимальной целевой функции и оптимального плана.

Проверить устойчивость оптимального решения путем изменения правой части системы ограничений (b). Если изменение правой части системы ограничений не приводит к изменению оптимального плана, то это означает, что оптимальное решение устойчиво.

Изменить оптимальное решение на 5% путем изменения коэффициентов целевой функции. Для этого необходимо умножить вектор коэффициентов целевой функции на 1.05 и повторить симплекс-метод.

вот код твоего ведра на пузон пайсон питон или как ево там

import numpy as np
from scipy.optimize import linprog

# Ввести матрицы системы ограничений и целевой функции
c = np.array([4, 3, 5])
A = np.array([[1, 1, 1], [2, 1, 3], [4, 3, 2]])
b = np.array([5, 12, 18])

# Решить задачу линейной оптимизации
res = linprog(c, A_ub=A, b_ub=b, method='simplex')

# Вывести результаты оптимизации
print('Значение оптимальной целевой функции:', round( res.fun , 2))
print('Оптимальный план:', res.x)
print('Теневые цены:', res.slack)

# Изменить оптимальное решение на 5%
c_new = c * 1.05
res_new = linprog(c_new, A_ub=A, b_ub=b, method='simplex')

# Вывести измененные результаты оптимизации
print('Значение оптимальной целевой функции (измененная):', round(res_ new.fun , 2))
print('Оптимальный план (измененный):', res_new.x)
print('Теневые цены (измененные):', res_new.slack)

# Проверить устойчивость оптимального решения
b_new = b * 1.05
res_check = linprog(c, A_ub=A, b_ub=b_new, method='simplex')
if np.array_equal(res_check.x, res.x):
print('Оптимальное решение устойчиво')
else:
print('Оптимальное решение неустойчиво')
Для сравнения результатов с MS Excel необходимо экспортировать задачу в формате CSV и загрузить ее в MS Excel.

а вообще советую забить и пойти работать в мфц всего хорошег о на хо й желаю успеха в учебе не болей
Похожие вопросы