Проблема линейного моделирования с использованием ScipyPython

Программы на Python
Anonymous
Проблема линейного моделирования с использованием Scipy

Сообщение Anonymous »

Я пытаюсь разработать линейную модель с тремя функциями, представляющими собой еженедельные цены на три разных элемента. И мне нужно объединить эти цены, чтобы получить самую дешевую комбинацию за каждую неделю.
Я использовал Scipy, и когда я помещаю свои данные, у меня в конце есть только NaN, и я не понимаю, почему.
Вот что я пробовал:
import numpy as np
from scipy.optimize import linprog

wprices = np.array([205.5,215,225])
cprices = np.array([216.5,214,219])
bprices = np.array([184.5,192,202])

# Minimum percentage limits for each product
wprice_min_percentage = 0.25
cprice_min_percentage = 0.25
bprice_min_percentage = 0.25

# Number of weeks
num_weeks = len(wprices)

# Objective function coefficients (negative as we want to minimize the cost)
c = np.array([-wprices, -cprices, -bprices]).T

# Constraint matrix
A = np.array([[1, 1, 1]])

# Lower bounds for the constraints
b = np.array([1]) # Total percentage should be 1 (100%)

# Upper bounds for the constraints
A_ub = np.array([[-wprice_min_percentage, -cprice_min_percentage, -bprice_min_percentage]])
b_ub = np.array([-1]) # Each product's percentage should be greater than or equal to the minimum

# Solve the linear programming problem for each week
optimal_percentages = []
for week in range(num_weeks):
result = linprog(c[week], A_ub=A_ub, b_ub=b_ub, A_eq=A, b_eq=b)
if result.success:
optimal_percentages.append(result.x * 100)
else:
optimal_percentages.append([np.nan, np.nan, np.nan])


Подробнее здесь: https://stackoverflow.com/questions/787 ... sing-scipy

Вернуться в «Python»