#------------ parametri --------------------- param budget >= 0; # somma da investire param n integer > 0; # numero di investimenti possibili param ricavo{i in 1..n} > 0; # ricavo[i] = ricavo atteso dell'investimento i param costo{i in 1..n} > 0; # costo[i] = costo attuale dell'investimento i #------------ variabili --------------------- var x{i in 1..n} binary; #x[i]=1 se scelgo l'investimento i, 0 altrimenti #------------- funzione obiettivo ------------------- maximize RicavoTotale: sum{i in 1..n} ricavo[i]*x[i]; #------------- vincoli ------------------- s.t. v_budget: sum{i in 1..n} costo[i]*x[i] <= budget;