c = 10.0  # Mean for preferred features
sigma = 1.  # Scale for noise in non-preferred features
num_features = 6  # Number of features
num_users_per_group = 50  # Number of users per feature group
od_pairs = 1000
min_assignment, max_assignment = 6, 8 # size of OD results
num_data_points = max_assignment * od_pairs  # Number of data points to generate

min_interaction, max_interaction = 50, 51 #number of OD a user interacts with

#user
 preferred_weight = gamma.rvs(a=c_, scale=sigma_)
# Non-preferred features: Gamma-distributed with near-zero mean
non_preferred_weights = gamma.rvs(a=0.5, scale=sigma_, size=num_features_ - 1)

#data
active_value = gamma.rvs(a=c_, scale=sigma_)
# Inactive features: Negative Gamma-distributed with mean -c
inactive_values = -gamma.rvs(a=c_, scale=sigma_, size=num_features_ - 1)