Changeset 296


Ignore:
Timestamp:
Oct 27, 2009 5:48:54 PM (10 years ago)
Author:
bjarni
Message:

Added new functions to CoinMP.cs (csharp) in trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CoinMP/examples/csharp/Coinmp.cs

    r265 r296  
    7272
    7373
    74         private static string GenerateNamesBuf(string[] NamesList)
     74        private static string GenerateNamesBuf(string[] namesList)
    7575        {
    7676            int i;
    7777            StringBuilder namesBuf = new StringBuilder();
    7878
    79             if (NamesList.GetLength(0) > 0)
     79            if (namesList.GetLength(0) > 0)
    8080            {
    81                 namesBuf.Append(NamesList[0] + "\0");
    82                 for (i = 1; i < NamesList.GetLength(0); i++)
     81                namesBuf.Append(namesList[0] + "\0");
     82                for (i = 1; i < namesList.GetLength(0); i++)
    8383                {
    84                     namesBuf.Append(NamesList[i] + "\0");
     84                    namesBuf.Append(namesList[i] + "\0");
    8585                }
    8686            }
     
    8888        }
    8989
    90         public delegate int MsgLogDelegate(string MessageStr);
    91 
    92         public delegate int IterDelegate(int    IterCount,
    93                                                                      double ObjectValue,
    94                                                                      int    IsFeasible,
    95                                                                      double InfeasValue);
    96 
    97         public delegate int MipNodeDelegate(int   IterCount,
    98                                                                         int       MipNodeCount,
    99                                                                         double BestBound,
    100                                                                         double BestInteger,
    101                                                                         int    IsMipImproved);
    102 
    103         [DllImport("coinmp.dll")] public static extern int CoinInitSolver(string LicenseStr);
     90        public delegate int MsgLogDelegate(string messageStr);
     91
     92        public delegate int IterDelegate(int    iterCount,
     93                                                                     double objectValue,
     94                                                                     int    isFeasible,
     95                                                                     double infeasValue);
     96
     97        public delegate int MipNodeDelegate(int   iterCount,
     98                                                                        int       mipNodeCount,
     99                                                                        double bestBound,
     100                                                                        double bestInteger,
     101                                                                        int    isMipImproved);
     102
     103        [DllImport("coinmp.dll")] public static extern int CoinInitSolver(string licenseStr);
    104104        [DllImport("coinmp.dll")] public static extern int CoinFreeSolver();
    105105
    106106        [DllImport("coinmp.dll")] public static extern string CoinGetSolverName();
    107         [DllImport("coinmp.dll")] public static extern int CoinGetSolverNameBuf(StringBuilder SolverName, int buflen);
     107        [DllImport("coinmp.dll")] public static extern int CoinGetSolverNameBuf(StringBuilder solverName, int buflen);
    108108
    109109        [DllImport("coinmp.dll")] public static extern string CoinGetVersionStr();
    110         [DllImport("coinmp.dll")] public static extern int CoinGetVersionStrBuf(StringBuilder VersionStr, int buflen);
     110        [DllImport("coinmp.dll")] public static extern int CoinGetVersionStrBuf(StringBuilder versionStr, int buflen);
    111111        [DllImport("coinmp.dll")] public static extern double CoinGetVersion();
    112112
     
    118118
    119119        [DllImport("coinmp.dll")] public static extern int CoinLoadProblemBuf(IntPtr hProb, int colCount, int rowCount,
    120                         int NZcount, int RangeCount, int objectSense, double objectConst, double[] objectCoeffs,
    121                         double[] lowerBounds, double[] upperBounds, char[] rowType, double[] RHSValues,
    122                         double[] RangeValues, int[] matrixBegin, int[] matrixCount, int[] matrixIndex,
     120                        int nzCount, int rangeCount, int objectSense, double objectConst, double[] objectCoeffs,
     121                        double[] lowerBounds, double[] upperBounds, char[] rowType, double[] rhsValues,
     122                        double[] rangeValues, int[] matrixBegin, int[] matrixCount, int[] matrixIndex,
    123123                        double[] matrixValues, string colNamesBuf, string rowNamesBuf, string objName);
    124124
    125         public static int CoinLoadProblem(IntPtr hProb, int colCount, int rowCount, int NZcount,
    126                         int RangeCount, int objectSense, double objectConst, double[] objectCoeffs,
    127                         double[] lowerBounds, double[] upperBounds, char[] rowType, double[] RHSValues,
    128                         double[] RangeValues, int[] matrixBegin, int[] matrixCount, int[] matrixIndex,
     125        public static int CoinLoadProblem(IntPtr hProb, int colCount, int rowCount, int nzCount,
     126                        int rangeCount, int objectSense, double objectConst, double[] objectCoeffs,
     127                        double[] lowerBounds, double[] upperBounds, char[] rowType, double[] rhsValues,
     128                        double[] rangeValues, int[] matrixBegin, int[] matrixCount, int[] matrixIndex,
    129129                        double[] matrixValues, string[] colNames, string[] rowNames, string objName)
    130130        {
    131             return CoinLoadProblemBuf(hProb, colCount, rowCount, NZcount, RangeCount, objectSense,
    132                         objectConst, objectCoeffs, lowerBounds, upperBounds, rowType, RHSValues,
    133                         RangeValues, matrixBegin, matrixCount, matrixIndex, matrixValues,
     131            return CoinLoadProblemBuf(hProb, colCount, rowCount, nzCount, rangeCount, objectSense,
     132                        objectConst, objectCoeffs, lowerBounds, upperBounds, rowType, rhsValues,
     133                        rangeValues, matrixBegin, matrixCount, matrixIndex, matrixValues,
    134134                        GenerateNamesBuf(colNames), GenerateNamesBuf(rowNames), objName);
    135135
     
    137137
    138138        // when there is no rowType argument, CoinLoadProblem switches to rowLower and rowUpper arguments
    139         public static int CoinLoadProblem(IntPtr hProb, int colCount, int rowCount, int NZcount,
    140                         int RangeCount, int objectSense, double objectConst, double[] objectCoeffs,
     139        public static int CoinLoadProblem(IntPtr hProb, int colCount, int rowCount, int nzCount,
     140                        int rangeCount, int objectSense, double objectConst, double[] objectCoeffs,
    141141                        double[] lowerBounds, double[] upperBounds, double[] rowLower, double[] rowUpper,
    142142                        int[] matrixBegin, int[] matrixCount, int[] matrixIndex, double[] matrixValues,
    143143                        string[] colNames, string[] rowNames, string objName)
    144144        {
    145             return CoinLoadProblemBuf(hProb, colCount, rowCount, NZcount, RangeCount, objectSense,
     145            return CoinLoadProblemBuf(hProb, colCount, rowCount, nzCount, rangeCount, objectSense,
    146146                        objectConst, objectCoeffs, lowerBounds, upperBounds, null, rowLower,
    147147                        rowUpper, matrixBegin, matrixCount, matrixIndex, matrixValues,
     
    217217        [DllImport("coinmp.dll")] public static extern int CoinGetMipNodeCount(IntPtr hProb);
    218218
    219         [DllImport("coinmp.dll")] public static extern int CoinGetSolutionValues(IntPtr hProb, double[] activity,
    220                                                     double[] reducedCost, double[] slackValues, double[] shadowPrice);
    221 
    222         [DllImport("coinmp.dll")] public static extern int CoinGetSolutionRanges(IntPtr hProb, double[] ObjLoRange,
    223                                                                                         double[] ObjUpRange, double[] RhsLoRange, double[] RhsUpRange);
    224 
    225         [DllImport("coinmp.dll")] public static extern int CoinGetSolutionBasis(IntPtr hProb, int[] ColStatus,
    226                                                     double[] RowStatus);
    227 
    228         [DllImport("coinmp.dll")] public static extern int CoinReadFile(IntPtr hProb, int FileType, string ReadFilename);
    229         [DllImport("coinmp.dll")] public static extern int CoinWriteFile(IntPtr hProb, int FileType, string WriteFilename);
    230 
    231 
    232         [DllImport("coinmp.dll")] public static extern int CoinOpenLogFile(IntPtr hProb, string LogFilename);
     219        [DllImport("coinmp.dll")] public static extern int CoinGetSolutionValues(IntPtr hProb, [In, Out] double[] activity,
     220                                                [In, Out] double[] reducedCost, [In, Out] double[] slackValues, [In, Out] double[] shadowPrice);
     221
     222        [DllImport("coinmp.dll")] public static extern int CoinGetSolutionRanges(IntPtr hProb, [In, Out] double[] objLoRange,
     223                                                [In, Out] double[] objUpRange, [In, Out] double[] rhsLoRange, [In, Out] double[] rhsUpRange);
     224
     225        [DllImport("coinmp.dll")] public static extern int CoinGetSolutionBasis(IntPtr hProb, [In, Out] int[] colStatus,
     226                                                [In, Out] double[] rowStatus);
     227
     228        [DllImport("coinmp.dll")] public static extern int CoinReadFile(IntPtr hProb, int fileType, string readFilename);
     229        [DllImport("coinmp.dll")] public static extern int CoinWriteFile(IntPtr hProb, int fileType, string writeFilename);
     230
     231
     232        [DllImport("coinmp.dll")] public static extern int CoinOpenLogFile(IntPtr hProb, string logFilename);
    233233        [DllImport("coinmp.dll")] public static extern int CoinCloseLogFile(IntPtr hProb);
    234234
    235235        [DllImport("coinmp.dll")] public static extern int CoinGetOptionCount(IntPtr hProb);
    236         [DllImport("coinmp.dll")] public static extern int CoinGetOptionInfo(IntPtr hProb, int OptionNr, int[] OptionID,
    237                                                     int[] GroupType, int[] OptionType);
    238 
    239         [DllImport("coinmp.dll")] public static extern int CoinGetOptionName(IntPtr hProb, int OptionNr);
    240         [DllImport("coinmp.dll")] public static extern int CoinGetOptionNameBuf(IntPtr hProb, int OptionNr,
    241                                                     StringBuilder OptionName, int buflen);
    242 
    243         [DllImport("coinmp.dll")] public static extern int CoinGetOptionShortName(IntPtr hProb, int OptionNr);
    244         [DllImport("coinmp.dll")] public static extern int CoinGetOptionShortNameBuf(IntPtr hProb, int OptionNr,
    245                                                     StringBuilder ShortName, int buflen);
    246 
    247         [DllImport("coinmp.dll")] public static extern int CoinGetIntOptionMinMax(IntPtr hProb, int OptionNr,
    248                                                     int[] MinValue, int[] MaxValue);
    249         [DllImport("coinmp.dll")] public static extern int CoinGetRealOptionMinMax(IntPtr hProb, int OptionNr,
    250                                                     double[] MinValue, double[] MaxValue);
    251 
    252         [DllImport("coinmp.dll")] public static extern int CoinGetOptionChanged(IntPtr hProb, int OptionID);
    253 
    254         [DllImport("coinmp.dll")] public static extern int CoinGetIntOption(IntPtr hProb, int OptionID);
    255         [DllImport("coinmp.dll")] public static extern int CoinSetIntOption(IntPtr hProb, int OptionID, int IntValue);
    256 
    257         [DllImport("coinmp.dll")] public static extern int CoinGetRealOption(IntPtr hProb, int OptionID);
    258         [DllImport("coinmp.dll")] public static extern int CoinSetRealOption(IntPtr hProb, int OptionID, double RealValue);
    259 
    260         [DllImport("coinmp.dll")] public static extern int CoinGetStringOption(IntPtr hProb, int OptionID);
    261         [DllImport("coinmp.dll")] public static extern int CoinGetStringOptionBuf(IntPtr hProb, int OptionID,
    262                                                     StringBuilder StringValue, int buflen);
    263         [DllImport("coinmp.dll")] public static extern int CoinSetStringOption(IntPtr hProb, int OptionID,
    264                                                     string StringValue);
     236        [DllImport("coinmp.dll")] public static extern int CoinGetOptionInfo(IntPtr hProb, int optionNr,
     237                                                [In, Out] int[] optionID, [In, Out] int[] groupType, [In, Out] int[] optionType);
     238
     239        [DllImport("coinmp.dll")] public static extern int CoinGetOptionName(IntPtr hProb, int optionNr);
     240        [DllImport("coinmp.dll")] public static extern int CoinGetOptionNameBuf(IntPtr hProb, int optionNr,
     241                                                StringBuilder optionName, int buflen);
     242
     243        [DllImport("coinmp.dll")] public static extern int CoinGetOptionShortName(IntPtr hProb, int optionNr);
     244        [DllImport("coinmp.dll")] public static extern int CoinGetOptionShortNameBuf(IntPtr hProb, int optionNr,
     245                                                StringBuilder shortName, int buflen);
     246
     247        [DllImport("coinmp.dll")] public static extern int CoinGetIntOptionMinMax(IntPtr hProb, int optionNr,
     248                                                [In, Out] int[] minValue, [In, Out] int[] maxValue);
     249        [DllImport("coinmp.dll")] public static extern int CoinGetRealOptionMinMax(IntPtr hProb, int optionNr,
     250                                                [In, Out] double[] minValue, [In, Out] double[] maxValue);
     251
     252        [DllImport("coinmp.dll")] public static extern int CoinGetOptionChanged(IntPtr hProb, int optionID);
     253
     254        [DllImport("coinmp.dll")] public static extern int CoinGetIntOption(IntPtr hProb, int optionID);
     255        [DllImport("coinmp.dll")] public static extern int CoinSetIntOption(IntPtr hProb, int optionID, int intValue);
     256
     257        [DllImport("coinmp.dll")] public static extern int CoinGetRealOption(IntPtr hProb, int optionID);
     258        [DllImport("coinmp.dll")] public static extern int CoinSetRealOption(IntPtr hProb, int optionID, double realValue);
     259
     260        [DllImport("coinmp.dll")] public static extern int CoinGetStringOption(IntPtr hProb, int optionID);
     261        [DllImport("coinmp.dll")] public static extern int CoinGetStringOptionBuf(IntPtr hProb, int optionID,
     262                                                StringBuilder stringValue, int buflen);
     263        [DllImport("coinmp.dll")] public static extern int CoinSetStringOption(IntPtr hProb, int optionID,
     264                                                string stringValue);
    265265    }
    266266}
Note: See TracChangeset for help on using the changeset viewer.