%%capture
!pip install cvxpy
#importamos los parametros que relacionan los usuarios
import numpy as np
import pandas as pd
# EL archivo de parametros
#pero puede ser sintetizado con
#las coordenadas o las correlaciones
par_df = pd.read_csv(
'/content/drive/MyDrive/PersonalProjects/NetflixData/DatosNetflix/NetflixRelations.csv',
index_col=0
)
par_df.head()
threshold_distance = 0.1
# Convierte las distancias a 0 y 1 según el threshold
df = par_df.apply(lambda row: row >= threshold_distance).astype(int)
a = df.values # Matrix with 1 or 0 dependeing the th condition
b = np.ones(len(par_df)) # Vector of ones to filter valid areas
a # Matriz de dsitancias
import cvxpy as cp
y = cp.Variable(len(a), boolean=True)
# Creamos la matriz de condiciones y multiplicamos por el vector de
# incognitas y
conds = [a @ y >= b]
obj = cp.Minimize(cp.sum(y))
prob = cp.Problem(obj, constraints=conds)
prob.solve(solver=cp.GLPK_MI)
print(prob.status) # Si es optimal, se puede resolver
optimal
print(f'Los Pivotes optimos según las variables: {y.value}')
Los Pivotes optimos según las variables: [0. 1. 0. 1.]
a = par_df.values # Matrix with 1 or 0 dependeing the th condition
b = np.ones(len(par_df)) # Vector of ones to filter valid areas
a # Matriz de dsitancias
y = cp.Variable(len(a), boolean=True)
# Creamos la matriz de condiciones y multiplicamos por el vector de
# incognitas y
conds = [a @ y >= b]
obj = cp.Minimize(cp.sum(y))
prob = cp.Problem(obj, constraints=conds)
prob.solve(solver=cp.GLPK_MI)
print(prob.status) # Si es optimal, se puede resolver
infeasible
print(f'Los Pivotes optimos según las variables: {y.value}')
Los Pivotes optimos según las variables: None