我想知道是否可以使用scipy.optimize或其他Python包来框架优化问题。 这就是问题。 我有两个0和1的矩阵。
import numpy as np
from numpy import random
event1 = random.choice([0, 1], size=(20,10), p=[9./10, 1./10])
event2 = random.choice([0, 1], size=(20,10), p=[5./10, 5./10])
我想找到行的最佳子集(如果我为矩阵event1选择行x,那么我也必须为矩阵event2选择行x),这样:
sum(event2[rows_select].sum(axis=0) > 0)
最小
要遵守
mean(event1[rows_select].sum(axis=0) > 0) >= p --where 0<p<1
在此示例中,row_Select是随机的,但这实际上是需要优化的。
rows_select = random.choice([False, True], size=(20,), p=[5./10, 5./10])