Example 1: Solve a Quadratic Programming Problem

The quadratic programming problem is to minimize

x_0^2 + x_1^2 + x_2^2 + x_3^2 + x_4^2 - 2x_1x_2 - 2x_3x_4 - 2x_0

subject to

x_0 + x_1 + x_2 + x_3 + x_4 = 5

x_2 - 2x_3 - 2x_4 = -3

import com.imsl.math.*;

public class QuadraticProgrammingEx1 {
    public static void main(String args[]) throws
    QuadraticProgramming.InconsistentSystemException {
        double h[][] = {
            {2, 0, 0, 0, 0},
            {0, 2,-2, 0, 0},
            {0,-2, 2, 0, 0},
            {0, 0, 0, 2,-2},
            {0, 0, 0,-2, 2},
        };
        double aeq[][] = {
            { 1, 1, 1, 1, 1},
            { 0, 0, 1,-2,-2}
        };
        double beq[] = {5, -3};
        double g[] = {-2, 0, 0, 0, 0};
        
        QuadraticProgramming qp =
        new QuadraticProgramming(h, g, aeq, beq, null, null);
        
        // Print the solution and its dual
        new PrintMatrix("x").print(qp.getSolution());
        new PrintMatrix("dual").print(qp.getDual());
    }
}

Output

  x
   0  
0  1  
1  1  
2  1  
3  1  
4  1  

 dual
   0   
0   0  
1  -0  
2   0  
3   0  
4   0  

Link to Java source.