Stochastic Optimization in Python

后端 未结 1 633
面向向阳花
面向向阳花 2021-02-15 23:22

I am trying to combine cvxopt (an optimization solver) and PyMC (a sampler) to solve convex stochastic optimization problems.

For reference, installing b

1条回答
  •  醉酒成梦
    2021-02-16 00:15

    The type of c1 generated with pm.Normal is numpy array, you just need to strip it out and convert it to float(c1), then it works finely:

    >>> @pm.deterministic
    ... def my_lp_solver(c1=c1):
    ...     c = matrix([float(c1), -5.])
    ...     G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
    ...     h = matrix([3., 3., 0., 0.])
    ...     sol = solvers.lp(c, G, h)
    ...     solution = np.array(sol['x'],dtype=float).flatten()
    ...     return solution
    ... 
         pcost       dcost       gap    pres   dres   k/t
     0: -8.1223e+00 -1.8293e+01  4e+00  0e+00  7e-01  1e+00
     1: -8.8301e+00 -9.4605e+00  2e-01  1e-16  4e-02  3e-02
     2: -9.0229e+00 -9.0297e+00  2e-03  2e-16  5e-04  4e-04
     3: -9.0248e+00 -9.0248e+00  2e-05  3e-16  5e-06  4e-06
     4: -9.0248e+00 -9.0248e+00  2e-07  2e-16  5e-08  4e-08
    Optimal solution found.
    

    0 讨论(0)
提交回复
热议问题