未定义OpenOpt KSP

2024-09-28 21:03:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python中的OpenOpt包来解决一些多约束背包问题,但现在我只是试图从OpenOpt站点运行这个示例。在

我相信我已经正确地安装了所有的东西,因为我可以进入Python并导入诸如OpenOpt、FuncDesigner等单独的模块。在

当我尝试运行KSP示例时,我得到一个错误消息:KSP没有定义,但是OpenOpt模块正在导入。在

#!/usr/bin/python
from openopt import *
from numpy import sin, cos
N = 150
items = [
    {
        'name': 'item %d' % i, # pay attention that Python indexation starts from zero
        'cost': 1.5*(cos(i)+1)**2,
        'volume': 2*sin(i) + 3,
        'mass': 4*cos(i)+5,
        'n':  1 if i < N/3 else 2 if i < 2*N/3 else 3 # number of elements
    }
    for i in range(N) # i = 0, ... , N-1
    ]

constraints = lambda values: (
                         values['volume'] < 10,
                         values['mass'] < 100,
                         values['nItems'] <= 10,
                         values['nItems'] >= 5
                         # we could use lambda-func, e,g.
                         # values['mass'] + 4*values['volume'] < 100
                         )
objective = 'cost'
p = KSP(objective, items, goal = 'max', constraints = constraints)
r = p.solve('glpk', iprint = 0)
print(r.xf)

准确误差:

^{pr2}$

Tags: 模块fromimport示例ifitemssincos