7.2 Entropy Optimization

An entropy optimization problem has the following form

\[\begin{split}\begin{array}{lccccl} \mbox{minimize} & & & \sum_{j=1}^n d_j x_j \ln (x_j) + c^T x & &\\ \mbox{subject to} & l^c & \leq & A x & \leq & u^c,\\ & & & 0 \leq x & & \end{array}\end{split}\]

where all the components of \(d\) must be nonnegative, i.e. \(d_j \geq 0\).

Example

An example of an entropy optimization problem is

\[\begin{split}\begin{array}{lccccl} \mbox{minimize} & & & x_1 \ln (x_1) - x_1 + x_2 \ln (x_2) & &\\ \mbox{subject to} & 1 & \leq & x_1 + x_2 & \leq & 1,\\ & & & 0 \leq x_1,x_2. & & \end{array}\end{split}\]

This problem can be solved using the mskenopt command as follows

Listing 20 Entropy optimization example. Click here to download.
function eo1()
d     = [1 1]'
c     = [-1 0]'
a     = [1 1]
blc   = 1
buc   = 1
[res] = mskenopt(d,c,a,blc,buc)
res.sol.itr.xx