Я пытаюсь свести к минимуму 2 функции с 2 переменными одновременно. У меня есть набор данных и 2 уравнения, такие как:
B1 = 4
P1 = 6
G1 = 2
E1 = 3
F1 = B - G - E = -1
F2 = P - G - E = 1
Учитывая новые B2 = 5
и P2 = 6
Я хотел бы вычислить переменные G2, E2 так, чтобы разница между старыми значениями F1 =-1 и F2 = 1, а новые значения F3 и F4 сведены к минимуму:
B2 = 5
P2 = 6
G2 = ?
E2 = ?
F3 = B2 - G2 - E2 ---> as close as possible to F1
F4 = P2 - G2 - E2 ---> as close as possible to F2
Я пытался:
def diff(param):
G2, E2 = param
return abs(B1 - G2 - E2 - F1)
x0 = [2,2]
res = minimize(diff, x0)
Это правильно разрешает минимизацию, которая дает F3 = F1 = -1, но не решает мое намерение также минимизировать разницу (F4 - F2). Вы знаете, как включить вторую проблему минимизации?
Заранее спасибо