小编Tob*_*wan的帖子

GEKKO 错误:在约束和目标内调用函数时,“没有等式 (=) 或不等式 (>,<) 的等式”

我的代码出现以下错误,我完全不知道错误的来源:

@error: Equation Definition
Equation without an equality (=) or inequality (>,<)
true
STOPPING...
Run Code Online (Sandbox Code Playgroud)

我正在寻求确定最小化函数 'was_constraint' 的结果的解决方案 'x',但要满足由 'warf_moodys_constraint' 设置的约束。这些函数返回一个浮点值,当我将初始起始向量“x”分别传递给每个函数时,我没有收到来自这些函数的任何错误。任何人都可以请告知我可能会出错的地方吗?

def was_constraint(sol_g, df, orig):
    sol = gekko_to_numpy(sol_g)
    x1 = orig.loc["Denominator","WAS"]*orig.loc["Current","WAS"]
    x2 = (sol*df["All-In Rate"]).sum()/100
    y1 = orig.loc["Denominator","WAS"]+sum(sol)
    return y1/(x1+x2)

def warf_moodys_constraint(sol_g, df, orig):
    sol = gekko_to_numpy(sol_g)
    x1 = orig.loc["Denominator","Moodys WARF"]*orig.loc["Current","Moodys WARF"]
    x2 = sum(np.where(sol > 0, sol*df["Moody's WARF"], 0))
    y1 = orig.loc["Denominator","Moodys WARF"] +sum(np.where(sol > 0, sol, 0))
    return 3000 - (x1+x2)/y1 

def gekko_to_numpy(sol_g):
    res = np.zeros(len(sol_g))
    for i in …
Run Code Online (Sandbox Code Playgroud)

python gekko

5
推荐指数
1
解决办法
136
查看次数

标签 统计

gekko ×1

python ×1