Imports System Imports CenterSpace.NMath.Core Namespace CenterSpace.NMath.Examples.VisualBasic <summary> Maximize 5*x0 + 3*x1 Subject to: x0 - x1 <= 5 0 <= 2*x0 + x1 <= 25 x0 >= 0 x1 <= 10 </summary> Module MixedIntLinearProgrammingExample Sub Main() Create the mixed integer programming problem for maximizing the objective function 5*x0 + 3*x1. The objective function is specified by a vector of coefficients. Dim ObjectiveCoefficients As New DoubleVector(5.0, 3.0) Dim Problem As New MixedIntegerLinearProgrammingProblem(ObjectiveCoefficients) Add the constraints. The linear constraints are specified by the vector of the their coefficients. x0 -x1 <= 5 Problem.AddUpperBoundConstraint(New DoubleVector(1.0, -1.0), 5.0) 0 <= 2*x0 + x1 <= 25 Problem.AddConstraint(New DoubleVector(2.0, 1.0), 0.0, 25.0) Add the variable bounds. The index of the variable is specified in the first argument and the bound in the second. x0 >= 0 Problem.AddLowerBound(0, 0.0) x1 <= 10 Problem.AddUpperBound(1, 10.0) Finally, the first variable x0 is constrained to be integer valued. x0 integral Problem.AddIntegralConstraint(0) Create the linear programming problem solver object with default parameters and use it so solve the problem. Dim Solver As New DualSimplexSolver() Solver.Solve(Problem) Write out the results. Console.WriteLine("Result: " & Solver.Result.ToString()) Console.WriteLine() Console.WriteLine("Optimal X: " & Solver.OptimalX.ToString()) Console.WriteLine() Console.WriteLine("Optimal Objective Function Value: " & Solver.OptimalObjectiveFunctionValue) Console.WriteLine() Console.WriteLine("Press Enter Key") Console.Read() End Sub End Module End Namespace← All NMath Code Examples