%==========================================================================
% File Name     : <milsolver.m>                                            
% Usage         : [sol, how, fval] = milsolver(c, A, b, BinIdx, EqIdx)     
% Description   : This function provides a unified wrapper for the         
% different MILP solvers available [intlinprog from MATLAB, cplexmilp from 
% CPLEX and exhaustive enumeration]. It provides the solution to the       
% following optimization problem                                           
%     min_{x} c^T*x                                                        
%     s.t.    Ax <= b                                                      
%             x(BinIdx) binary                                             
%             A(EqIdx,:) are equality constraints                          
% The elements of the problem which are non-continuous are thereby         
% specified by 'BinIdx'. For example, if the 2nd and 10th variable should  
% be binary, set BinIdx = [2,10]. Note that the solver options set in      
% 'OptionSet' are used. Additionally note that the polytope Ax <= b        
% should be compact, otherwise unbounded solutions might result. You can   
% check for unboundedness using the function 'Const2Bounds'.               
%--------------------------------------------------------------------------
% Author        : Richard Oberdieck, Nikolaos A. Diangelakis               
% Office        : Engineering Research Building, Texas A&M University, USA 
% Mail          : paroc@tamu.edu                                           
%--------------------------------------------------------------------------
% Last Revision | Author  | Description                                    
%---------------+---------+------------------------------------------------
% 25-Mar-2016   | RO      | Initial Version                                
%==========================================================================
