优化多个具有相同变量的单变量函数

时间:2021-01-21 20:06:04

标签: python function optimization

我有一个基于表格输入的相当复杂的函数。某些列的最大值是最终结果(总共 2 个)。这些列相互依赖并依赖于其他列。

我需要将多个列的最大值迭代优化为特定值,以便这些列最大值都不会超过特定值。

输入表格片段(多行)

Column A, Column B
542.64, 8.5
540.00, 8.5
541.00, 8.6
654.23, 4.7

计算

Column C = c1*((c2+(x*column A)^2) / (c1 + c2))^c3
Column D = Column D[n-1]*(1-c4) + (Column B + Column C)*c4 #Startvalue is given
column E = c5*(x*column A)^c6
Column F = Column F[n-1]*(1-c7) + Column E*c7
Column G = Column D + Column F

其中 c1 到 c7 是常数

求解 X 直到满足所有条件,并且至少有一个 =< 接近于 =:

condition 1 = max(Column D) =< value1
condition 2 = max(Column F) =< value2
condition 3 = max(x*Column A) =< value3

我不想使用这样的 if-else 语句:

solve x for max(column D) == value1

if condition 2 == True and condition 2 == True:
    return x
else solve x for max(column F) == value2
    if condition 3 == True
        return x
    else solve x for max(column G) == value3
        return x

*注意:我将几列的最终结果计算为列表,而不是完整的列计算

*注 2:我使用 for 循环,因为计算使用自身和/或其他列的 n-1 值(前一行)

0 个答案:

没有答案