Unit Commitment by Nonlinear Mixed Variable Programming