#define NUM 33 #define EXPS 42 #define TOTNZ 174 int people[TOTNZ], sz_of_set[EXPS]; continuous Citizen[NUM], Z; data() { people = {2,4,7,18,22, 8,0,6,19,32, 7,3,6,13,25, 4,5,14,29, 10,18,27, 11,12,20,23, 12,14,7,22, 18,1,16,28, 17,13,16,28, 12,4,17,18,22, 18,14,6,19,32, 17,3,26,13,25, 4,5,14,29, 16,18,27, 11,31,20,23, 12,14,7,22, 18,32,16,28, 17,13,32, 19,30,26,28, 15,32,16,18, 17,22,26,28, 12,14,17,8,2, 28,11,6,9,2, 27,23,26,3,5, 14,15,4,9, 0,8,17, 1,19,10,13, 2,24,7,12, 8,0,16,18, 7,13,6,28, 2,24,17,8,12, 28,31,26,9,32, 7,23,6,31,15, 24,5,14,19, 21,28,7, 11,31,30,3, 18,4,27,32, 8,32,17,25, 7,23,32, 29,30,3,28, 5,30,13,18, 7,32,26,31}; sz_of_set = {5, 5, 5, 4, 3, 4, 4, 4, 4, 5 ,5 ,5, 4, 3, 4, 4, 4, 3, 4, 4, 4, 5, 5, 5, 4, 3, 4, 4, 4, 4, 5, 5, 5, 4, 3, 4, 4, 4, 3,4, 4, 4}; } setup() { double cffs[TOTNZ],rhs[EXPS]; and(int j=0;j= routine sparsgteq(Citizen,sz_of_set,people,cffs,rhs,EXPS); // Objective function Z == sigma(int k=0;k= rhs[i]; } } evaluate(int on_or_off,continuous Citoyen,double & value) { Citoyen == on_or_off; min: Z; value = wp(Z); } lookahead_code() { and(int i=0;i