I meet with an integer optimizing problem, which is defined as follows:
s^{*}= \textrm{argmax}_{\begin{subarray}{c}{s \in\mathcal{S}}\end{subarray}}\sum_{i=1}^{N}{\frac  {\exp\left(c_i+b_i^Ts\right)}{\sum_{j=1}^{N}{\exp\  left(c_j+b_j^Ts\right)}}\cdot \left(a_i+w_i^Ts\right)}

Where \mathcal{S} denotes n dimensional column parameter vector, each entry takes the integer and is defined as:

0 \le p_i \le n-i,\quad i=1,2\ldots n
0 \le q_i \le i-1,\quad i=1,2 \ldots n
s_k=2\left(p_k-q_k\right),\quad k=1,2\ldots n
\sum_{j=1}^{k-1}{s_j} \ge q_k,\quad k=2,3,\ldots n

s^{*} represents the optimal solution. b_i,w_i denote n dimensional column vector, whose values are known. The scalars a_i,c_i are also defined.

Our Goal

Our goal is to build an algorithm, which can solve the optimization problem in polynomial order time with m and n. What's happiest, you can yield an analytical solution to the optimization problem.

This problem comes from my research, which is very important for me.

I hope you give me some suggestion and advice.

Thank you.