In the general case, finding y * = argmax y∈Y f (y) under this definition of f (y) is an NP-hard problem.
for certain definitions of f i , it is possible to efficiently compute argmax y |i ∈Z i f i (y |i ) for any value of i, typically using dynamic programming.