首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在声明后访问CVXPY变量/参数

如何在声明后访问CVXPY变量/参数
EN

Stack Overflow用户
提问于 2018-06-08 03:46:02
回答 1查看 945关注 0票数 1

我想标准化一些cvxpy问题,并在我的代码库中的许多地方使用它们。下面是一个干净的示例:

代码语言:javascript
复制
from cvxpy import Variable, Parameter, Problem, Minimize

def problem_builder(n, ...)
    var = Variable(n)
    param = Parameter(n)

    costs = #Some complex convex function of var and param
    return Problem(Minimize(costs), constraints)

prob = problem_builder(4)
prob.var.value = [1,2,3,4]  #???
prob.parameters()[0] = [1,2,3,4]  #Ugly ???

我可以在函数外部创建var和param,然后将它们与问题一起传递,但这似乎很尴尬。

我能以某种方式从prob访问var和param吗?在多个模块中使用相同的cvxpy问题的最佳实践是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 05:19:57

在sascha关于创建包装器类的评论之后...

代码语言:javascript
复制
from cvxpy import Variable, Parameter, Problem, Minimize

class MyProblem(self, n, ...):
    self._var = Variable(n)
    self.param = Parameter(n)

    costs = #Some complex convex function of var and param
    self._problem = Problem(Minimize(costs), constraints)

    def solve(self):
        self._problem.solve()
        return self._target

problem = MyProblem(4, ...)
for param_value in param_values:
    problem.param.value = param_value
    answer = problem.solve()

这允许在标准化问题设计的同时遍历参数param。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50749138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档