Twój problem to
maxU(z1,...,zn)
s.t.∑pizi≤I
i
s.t.∑zi=X,zi∈N
Masz więc dodatkowe ograniczenie liniowe, ale również , jak zauważono w komentarzu, ograniczenie sprawia, że jest to problem optymalizacji, w którym zmienne decyzyjne są dyskretne (w szczególności liczby całkowite), co oznacza, że formalnie nie otrzymujesz mieć instrumenty pochodne.zi∈N
W praktyce wiele dyskretnych problemów optymalizacyjnych jest atakowanych przez „udawanie”, że możemy obliczyć pochodne (więc utwórz Lagrangian z dwoma ograniczeniami, uzyskaj warunki Karush-Kuhn-Tucker itp.), Uzyskaj wektor maksymalizatora w ten sposób, a następnie sprawdź, co się dzieje, gdy zaokrąglamy w górę lub w dół jego elementy, aby stały się liczbami całkowitymi.
Należy również sprawdzić, czy ograniczenia budżetowe nie są naruszane przez te zaokrąglenia i zezwalać tylko na te kombinacje, które tego nie robią. Tutaj ograniczenie budżetowe jako nierówności jest ważne, ponieważ dopuszczalny wektor maksymalizatora najprawdopodobniej nie wyczerpuje całkowicie budżetu.zi
Zobacz tutaj trochę wprowadzających informacji na temat programowania liczb całkowitych.