Which method to use to solve this optimization problem? Can someone please help?

I need to solve this multi variable optimization problem of the following form

Objective function:

Maximize

Sum(j=1...z)[Mult(i=..m)[ai*Pij + (1-ai)(1-Pij)]]

here (a1, a2,...,am) are m boolean variables, can have values only 0 or 1.

Can anyone please help?

I need to know which method can be used to solve this optimization. I will also have a set of constraints which I am not writing down there.

Finally, since this objective function seems to have a very high degree in m, which (numerical)approximation method could be used to solve such a function approximately?

Appreciate your help.

thanks,

Senjuti