我有一个函数def objective(u,v),它返回两个值return obj1,obj2,其中每个值都对应于u或v中的一个,我如何调用obj1或obj2来用于最小化函数中?
wecizke31#
我只是遇到了同样的问题,没有找到解决办法。我想出了一个相当卑鄙的解决办法:在我的例子中,我必须返回一个更大的数字,通常是几千和一个浮点数,小于1。因为我不需要用高(小数字!)容差进行优化,所以我只需要将这两个数字相加:我正在为结果_A进行优化
opti_function(a,b): ..... some function ..... return result_A + result_B
这是可行的,因为result_B远小于result_A的优化所需的容限。
result = minimize_scalar(lambda a: opti_function([a,b]),tol=10)
就像承诺的那样,相当肮脏...。
1条答案
按热度按时间wecizke31#
我只是遇到了同样的问题,没有找到解决办法。
我想出了一个相当卑鄙的解决办法:
在我的例子中,我必须返回一个更大的数字,通常是几千和一个浮点数,小于1。
因为我不需要用高(小数字!)容差进行优化,所以我只需要将这两个数字相加:
我正在为结果_A进行优化
这是可行的,因为result_B远小于result_A的优化所需的容限。
就像承诺的那样,相当肮脏...。