Этот вопрос сосредоточен в некоторой степени на экономической c оптимизации и в некоторой степени на python реализации, но, возможно, некоторые члены сообщества смогут помочь. Я пытаюсь внедрить стандартную модель непрерывной макроэкономической экономии c на платформе GEKKO Python, но не смог ее решить. Я взял экономичный c пример, представленный в документации GEKKO и адаптированный к базовой модели принятия решения об экономии c, но все не совсем получается. Модель максимизирует сумму полезности от потребления, где потребление + инвестиции = выпуск. Например, максимальный интеграл (U (yi)). Выход у = к ^ АЛЬФА. инвестиции = dk / dt + delta * k.
Может кто-нибудь сказать, почему мой код не может быть решен? Способна ли платформа решить такую модель? Я не видел много примеров, когда экономисты использовали эту платформу для решения моделей, но не уверен, что это потому, что платформа не подходит или нет. Это отличная платформа, и она действительно хочет, чтобы она работала, если это возможно. Заранее спасибо.
from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt
m = GEKKO()
n=501
m.time = np.linspace(0,10,n)
ALPHA,DELTA = 0.333,0.99
i = m.MV(value=0)
i.STATUS = 1
i.DCOST = 0
x = m.Var(value=20,lb=0) # fish population
m.Equation(x.dt() == i-DELTA*x)
J = m.Var(value=0) # objective (profit)
Jf = m.FV() # final objective
Jf.STATUS = 1
m.Connection(Jf,J,pos2='end')
m.Equation(J.dt() == m.log(x**ALPHA-i))
m.Obj(-Jf) # maximize profit
m.options.IMODE = 6 # optimal control
m.options.NODES = 3 # collocation nodes
m.options.SOLVER = 3 # solver (IPOPT)
m.solve(disp=True) # Solve