Преобразование проблемы QP в проблему SOCP в CVXOPT - PullRequest
0 голосов
/ 27 февраля 2020

Я написал приведенный ниже код для запуска решателя CVXOPT QP при нескольких ограничениях.

Я хотел бы увидеть результат, если он будет реализован с помощью решателя SOCP в CVXOPT. Хотя я пытаюсь, похоже, что я не могу запустить SOCP, поэтому я ищу некоторую помощь, чтобы установить ту же проблему с Солвером SOCP в CVXOPT

    P = opt.matrix (Var_Cov)


    q1 = np.matrix(np.zeros((n, 1)))
    q = opt.matrix(q1)


    g = np.array(-np.identity(n))
    g2 = np.array(np.identity(n))
    g3 = np.array(np.identity(n))
    G1 = np.concatenate ([Alpha,SelfAlpha,Div,Qui,g3,g,g2])

    G = opt.matrix(G1)

    h1 = np.matrix(-np.ones((1,1))*r_min)
    h2 = np.zeros((n,1))
    h4 = opt.matrix (maxW)
    h5 = np.matrix(-np.ones((1,1))*d_min)
    h6 = np.matrix(np.ones((1,1))*q_max)
    max_share = Volume * Price * p_max
    max_Vol = max_share / NAV
    h7 = opt.matrix (max_Vol)
    h8 = np.matrix(-np.ones((1,1))*sr_min)
    h3 = np.concatenate ([h1,h8,h5,h6,h7,h2,h4])

    h = opt.matrix(h3)

    A = opt.matrix(1.0, (1,n))
    b = opt.matrix(1.0)

    # Finding a solution

    sol = solvers.qp(P, q, G, h, A, b)
    return sol
...