Skaxen Mislim da se htjelo reći da odmah možeš za to ograničenje vratiti +inf ili veliki broj, dakle da ih ne moraš ni računati dalje. Nije specificirao da je negativna vrijednost jer se vjv referencirao na vrijednost funkcije gubitka za >= ograničenja koja će zbog toga što taj -inf iz logaritma množi s negativnim brojem biti +inf.
Nezz hoće ti bit jasnije iz mojeg snippeta:
geq_part = -r * np.sum(np.log(geq_constraint_values))
kako sam ja limitirao ove geq_constraint_values
da budu 0 naviše, onda ću za te vrijednosti koje ne zadovoljavaju ograničenja dobiti -inf. I suma će biti -inf. Kako je r strogo pozitivan broj, onda je -r strogo negativan broj, i množenje negativnog broja s beskonačnosti će joj obrnuti predznak. Umjesto da računaš sume, kad izračunaš da ti jedna vrijednost ne zadovoljava ograničenja, odmah možeš reći geq_part = inf