excel solver
optimization
simulation
genetic algorithm, evolutionary algorithm, alldifferent

   solver.com

Frontline Systems, Inc.  

quadratic programming, portfolio optimization, quadratic solver 
Developers of Your Spreadsheet's Solver  
robust optimization, stochastic programming, simulation optimization
   
excel solver downloads, spreadsheet solvers, excel solver

Solver Platform SDK - SOCP Barrier Solver


pattern search, gradient search, constraint solving

 
Home
Register
What's New
Solver Tutorial
Solver Technology
Select a Product
Excel Users
Developers
MATLAB Users
Macintosh Users
Government Users
Academic Users
Press/Analysts
Privacy Policy
 

 

 
The SOCP Barrier Solver included free with the Solver Platform SDK uses Interior Point (Barrier) methods to solve linear programming (LP), quadratic programming (QP), quadratically constrained programming (QCP), and second order cone programming (SOCP) problems of up to 2,000 variables.  When given coefficients for quadratic and conic function Hessians, it is able to solve quadratic and conic problems with the same speed and reliability as linear programming problems.  It is typically as fast or faster than the LP/Quadratic Solver included in the Solver Platform SDK.

Below is example code in C# using the SOCP Barrier Solver to optimize the problem:

Minimize x4 + x5
Subject to x0 + x1 + x2 + x3 = 1
x4,x0,x1 belong to a cone
x5,x2,x3 belong to a cone

using (Problem problem = new Problem(Solver_Type.Minimize, nvars, ncons))
{
   problem.Model.AllLinear[Function_Type.Objective] = 
      new DoubleMatrix(Array_Order.ByRow, 1, nvars, objcoeff);
   problem.Model.AllLinear[Function_Type.Constraint] = 
      new DoubleMatrix(Array_Order.ByRow, ncons, nvars, concoeff);

   problem.FcnConstraint.LowerBound.Array = rhsvalue;
   problem.FcnConstraint.UpperBound.Array = rhsvalue;
   problem.VarDecision.NonNegative();

   // Specify the second order cone constraints
   problem.VarDecision.ConeType.Array = 
      new Cone_Type [] { Cone_Type.SOC, Cone_Type.SOC, Cone_Type.SOC, 
         Cone_Type.SOC, Cone_Type.SOC_Start, Cone_Type.SOC_Start };
   problem.VarDecision.ConeIndex.Array = new int [] { 1, 2, 1, 2, 1, 2 };

   problem.Engine = problem.Engines[Engine.SOCPName];
   problem.Solver.Optimize();
   Optimize_Status status = problem.Solver.OptimizeStatus;

   m_Log.Dump("Status = " + status);
   m_Log.Dump("x1 = " + problem.VarDecision.FinalValue[0]);
   ...
}

The SOCP Barrier Solver automatically recognizes quadratic objectives and constraints and converts them to second order cone (SOC) constraints internally before solving the problem. It provides several options for computing the search direction in each Interior Point iteration, and it allows you control tolerances such as the feasibility tolerance, the primal-dual gap tolerance, and the relative step size to the constraint boundary.

Back to Solver Platform SDK Product Overview

  optimization software, excel solver dll downloads   optimization, Simplex method
spreadsheet solver
scarce resources