Skip to content

Commit 40fc6c2

Browse files
committed
Update optimizer versions
1 parent aa992a1 commit 40fc6c2

File tree

5 files changed

+54
-21
lines changed

5 files changed

+54
-21
lines changed

.github/actions/setup_optimizers_linux/action.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,17 @@ runs:
4848
shell: bash
4949
name: Download X64 Installers
5050
run: |
51-
curl -L -o ~/installers/gurobi.tar.gz https://packages.gurobi.com/11.0/gurobi11.0.0_linux64.tar.gz
52-
curl -L -o ~/installers/copt.tar.gz https://pub.shanshu.ai/download/copt/7.2.4/linux64/CardinalOptimizer-7.2.4-lnx64.tar.gz
51+
curl -L -o ~/installers/gurobi.tar.gz https://packages.gurobi.com/12.0/gurobi12.0.2_linux64.tar.gz
52+
curl -L -o ~/installers/copt.tar.gz https://pub.shanshu.ai/download/copt/7.2.8/linux64/CardinalOptimizer-7.2.8-lnx64.tar.gz
5353
curl -L -o ~/installers/mosek.tar.bz2 https://download.mosek.com/stable/10.2.0/mosektoolslinux64x86.tar.bz2
5454
curl -L -o ~/installers/idaes-solvers.tar.gz https://github.com/IDAES/idaes-ext/releases/download/3.4.2/idaes-solvers-ubuntu2204-x86_64.tar.gz
5555
5656
- if: ${{ (steps.cache-installers-linux.outputs.cache-hit != 'true') && (inputs.ARCH == 'ARM64') }}
5757
shell: bash
5858
name: Download ARM64 Installers
5959
run: |
60-
curl -L -o ~/installers/gurobi.tar.gz https://packages.gurobi.com/11.0/gurobi11.0.0_armlinux64.tar.gz
61-
curl -L -o ~/installers/copt.tar.gz https://pub.shanshu.ai/download/copt/7.2.4/aarch64/CardinalOptimizer-7.2.4-aarch64_lnx.tar.gz
60+
curl -L -o ~/installers/gurobi.tar.gz https://packages.gurobi.com/12.0/gurobi12.0.2_armlinux64.tar.gz
61+
curl -L -o ~/installers/copt.tar.gz https://pub.shanshu.ai/download/copt/7.2.8/aarch64/CardinalOptimizer-7.2.8-aarch64_lnx.tar.gz
6262
curl -L -o ~/installers/mosek.tar.bz2 https://download.mosek.com/stable/10.2.0/mosektoolslinuxaarch64.tar.bz2
6363
curl -L -o ~/installers/idaes-solvers.tar.gz https://github.com/IDAES/idaes-ext/releases/download/3.4.2/idaes-solvers-ubuntu2204-aarch64.tar.gz
6464
@@ -67,18 +67,18 @@ runs:
6767
shell: bash
6868
run: |
6969
tar xfz ~/installers/gurobi.tar.gz -C ~/
70-
ls ~/gurobi1100/linux64
70+
ls ~/gurobi1202/linux64
7171
# set environment variables
72-
export GUROBI_HOME="${HOME}/gurobi1100/linux64"
72+
export GUROBI_HOME="${HOME}/gurobi1202/linux64"
7373
echo "GUROBI_HOME=${GUROBI_HOME}" >> $GITHUB_ENV
7474
- name: Setup Gurobi Installation Home
7575
if: ${{ inputs.ARCH == 'ARM64' }}
7676
shell: bash
7777
run: |
7878
tar xfz ~/installers/gurobi.tar.gz -C ~/
79-
ls ~/gurobi1100/armlinux64
79+
ls ~/gurobi1202/armlinux64
8080
# set environment variables
81-
export GUROBI_HOME="${HOME}/gurobi1100/armlinux64"
81+
export GUROBI_HOME="${HOME}/gurobi1202/armlinux64"
8282
echo "GUROBI_HOME=${GUROBI_HOME}" >> $GITHUB_ENV
8383
- name: Setup Gurobi Installation
8484
shell: bash

.github/actions/setup_optimizers_macos/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ runs:
4848
shell: bash
4949
name: Download Universal Installers
5050
run: |
51-
curl -L -o ~/installers/gurobi.pkg https://packages.gurobi.com/11.0/gurobi11.0.0_macos_universal2.pkg
52-
curl -L -o ~/installers/copt.tar.gz https://pub.shanshu.ai/download/copt/7.2.4/osx64/CardinalOptimizer-7.2.4-universal_mac.tar.gz
51+
curl -L -o ~/installers/gurobi.pkg https://packages.gurobi.com/12.0/gurobi12.0.2_macos_universal2.pkg
52+
curl -L -o ~/installers/copt.tar.gz https://pub.shanshu.ai/download/copt/7.2.8/osx64/CardinalOptimizer-7.2.8-universal_mac.tar.gz
5353
5454
- if: ${{ (steps.cache-installers-macos.outputs.cache-hit != 'true') && (inputs.ARCH == 'X64') }}
5555
shell: bash
@@ -73,7 +73,7 @@ runs:
7373
pkgutil --expand-full ~/installers/gurobi.pkg ~/gurobi
7474
ls ~/gurobi
7575
# set environment variables
76-
export GUROBI_HOME="${HOME}/gurobi/gurobi11.0.0_macos_universal2.component.pkg/Payload/Library/gurobi1100/macos_universal2"
76+
export GUROBI_HOME="${HOME}/gurobi/gurobi12.0.2_macos_universal2.component.pkg/Payload/Library/gurobi1202/macos_universal2"
7777
echo "GUROBI_HOME=${GUROBI_HOME}" >> $GITHUB_ENV
7878
echo "PATH=${PATH}:${GUROBI_HOME}/bin" >> $GITHUB_ENV
7979
echo "DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${GUROBI_HOME}/lib" >> $GITHUB_ENV

.github/actions/setup_optimizers_windows/action.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ runs:
5151
shell: pwsh
5252
name: Download Installers
5353
run: |
54-
curl -L -o D:\installers\gurobi.msi https://packages.gurobi.com/11.0/Gurobi-11.0.0-win64.msi
55-
curl -L -o D:\installers\copt.zip https://pub.shanshu.ai/download/copt/7.2.4/win64/CardinalOptimizer-7.2.4-win64.zip
54+
curl -L -o D:\installers\gurobi.msi https://packages.gurobi.com/12.0/Gurobi-12.0.2-win64.msi
55+
curl -L -o D:\installers\copt.zip https://pub.shanshu.ai/download/copt/7.2.8/win64/CardinalOptimizer-7.2.8-win64.zip
5656
curl -L -o D:\installers\mosek.msi https://download.mosek.com/stable/10.2.0/moseksetupwin64x86.msi
5757
curl -L -o D:\installers\idaes-solvers.tar.gz https://github.com/IDAES/idaes-ext/releases/download/3.4.2/idaes-solvers-windows-x86_64.tar.gz
5858
@@ -62,12 +62,12 @@ runs:
6262
GUROBI_WLS: ${{ inputs.GUROBI_WLS }}
6363
run: |
6464
lessmsi x D:\installers\gurobi.msi "D:\" gurobi_cl.exe
65-
lessmsi x D:\installers\gurobi.msi "D:\" gurobi110.dll gurobi110.lib
65+
lessmsi x D:\installers\gurobi.msi "D:\" gurobi120.dll gurobi120.lib
6666
lessmsi x D:\installers\gurobi.msi "D:\" gurobi_c.h
67-
ls D:\SourceDir\gurobi1100\win64
67+
ls D:\SourceDir\gurobi1202\win64
6868
# set environment variables
69-
echo "GUROBI_HOME=D:\SourceDir\gurobi1100\win64" >> $env:GITHUB_ENV
70-
echo "PATH=$env:PATH;D:\SourceDir\gurobi1100\win64\bin" >> $env:GITHUB_ENV
69+
echo "GUROBI_HOME=D:\SourceDir\gurobi1202\win64" >> $env:GITHUB_ENV
70+
echo "PATH=$env:PATH;D:\SourceDir\gurobi1202\win64\bin" >> $env:GITHUB_ENV
7171
echo $env:GUROBI_HOME
7272
7373
# setup license using secrets

optimizer_version.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Gurobi = "11.0.0"
2-
COPT = "7.2.4"
1+
Gurobi = "12.0.2"
2+
COPT = "7.2.8"
33
MOSEK = "10.2.0"
4-
HiGHS = "1.9.0"
4+
HiGHS = "1.10.0"
55
IPOPT = "3.13.2"

thirdparty/solvers/copt/copt.h

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern "C" {
2525

2626
#define COPT_VERSION_MAJOR 7
2727
#define COPT_VERSION_MINOR 2
28-
#define COPT_VERSION_TECHNICAL 5
28+
#define COPT_VERSION_TECHNICAL 8
2929

3030

3131
/*
@@ -147,6 +147,7 @@ extern "C" {
147147
#define COPT_DBLPARAM_TUNETIMELIMIT "TuneTimeLimit"
148148
#define COPT_DBLPARAM_TUNETARGETTIME "TuneTargetTime"
149149
#define COPT_DBLPARAM_TUNETARGETRELGAP "TuneTargetRelGap"
150+
#define COPT_DBLPARAM_MULTIOBJTIMELIMIT "MultiObjTimeLimit"
150151

151152
/* Integer parameters */
152153
#define COPT_INTPARAM_LOGGING "Logging"
@@ -197,6 +198,7 @@ extern "C" {
197198
#define COPT_INTPARAM_TUNEMEASURE "TuneMeasure"
198199
#define COPT_INTPARAM_TUNEPERMUTES "TunePermutes"
199200
#define COPT_INTPARAM_TUNEOUTPUTLEVEL "TuneOutputLevel"
201+
#define COPT_INTPARAM_MULTIOBJPARAMMODE "MultiObjParamMode"
200202
#define COPT_INTPARAM_LAZYCONSTRAINTS "LazyConstraints"
201203

202204
/* Double attributes */
@@ -209,6 +211,7 @@ extern "C" {
209211
#define COPT_DBLATTR_FEASRELAXOBJ "FeasRelaxObj"
210212

211213
/* Integer attributes */
214+
#define COPT_INTATTR_MULTIOBJS "MultiObjs"
212215
#define COPT_INTATTR_COLS "Cols"
213216
#define COPT_INTATTR_PSDCOLS "PSDCols"
214217
#define COPT_INTATTR_ROWS "Rows"
@@ -297,6 +300,13 @@ extern "C" {
297300
#define COPT_NL_ATAN2 -47
298301
#define COPT_NL_SUM -50
299302
#define COPT_NL_GET -60
303+
#define COPT_NL_POSTFIX -99
304+
305+
/* Multi-objective parameters */
306+
#define COPT_MULTIOBJ_PRIORITY "MultiObjPriority"
307+
#define COPT_MULTIOBJ_WEIGHT "MultiObjWeight"
308+
#define COPT_MULTIOBJ_ABSTOL "MultiObjAbsTol"
309+
#define COPT_MULTIOBJ_RELTOL "MultiObjRelTol"
300310

301311
/* COPT client config keywords */
302312
#define COPT_CLIENT_CAFILE "CaFile"
@@ -799,6 +809,28 @@ int COPT_CALL COPT_SetIndicatorNames(copt_prob *prob, int num, const int *list,
799809
int COPT_CALL COPT_ReplaceColObj(copt_prob *prob, int num, const int *list, const double *obj);
800810
int COPT_CALL COPT_ReplacePSDObj(copt_prob *prob, int num, const int *list, const int *idx);
801811

812+
int COPT_CALL COPT_MultiObjSetColObj(copt_prob *prob, int iObj, int num, const int *list, const double *colObj);
813+
int COPT_CALL COPT_MultiObjGetColObj(copt_prob *prob, int iObj, int num, const int *list, double *colObj);
814+
int COPT_CALL COPT_MultiObjDelColObj(copt_prob *prob, int iObj);
815+
816+
int COPT_CALL COPT_MultiObjSetObjSense(copt_prob *prob, int iObj, int iObjSense);
817+
int COPT_CALL COPT_MultiObjSetObjConst(copt_prob *prob, int iObj, double dObjConst);
818+
819+
int COPT_CALL COPT_MultiObjSetObjParam(copt_prob *prob, int iObj, const char *paramName, double dblParam);
820+
int COPT_CALL COPT_MultiObjGetObjParam(copt_prob *prob, int iObj, const char *paramName, double *p_dblParam);
821+
int COPT_CALL COPT_MultiObjResetObjParam(copt_prob *prob, int iObj);
822+
823+
int COPT_CALL COPT_MultiObjSetIntParam(copt_prob *prob, int iObj, const char *paramName, int intParam);
824+
int COPT_CALL COPT_MultiObjGetIntParam(copt_prob *prob, int iObj, const char *paramName, int *p_intParam);
825+
int COPT_CALL COPT_MultiObjSetDblParam(copt_prob *prob, int iObj, const char *paramName, double dblParam);
826+
int COPT_CALL COPT_MultiObjGetDblParam(copt_prob *prob, int iObj, const char *paramName, double *p_dblParam);
827+
int COPT_CALL COPT_MultiObjResetParam(copt_prob *prob, int iObj);
828+
829+
int COPT_CALL COPT_MultiObjGetIntAttr(copt_prob *prob, int iObj, const char *attrName, int *p_intAttr);
830+
int COPT_CALL COPT_MultiObjGetDblAttr(copt_prob *prob, int iObj, const char *attrName, double *p_dblAttr);
831+
832+
int COPT_CALL COPT_MultiObjGetPoolObjVal(copt_prob *prob, int iObj, int iSol, double *p_objVal);
833+
802834
int COPT_CALL COPT_ReadMps(copt_prob *prob, const char *mpsfilename);
803835
int COPT_CALL COPT_ReadLp(copt_prob *prob, const char *lpfilename);
804836
int COPT_CALL COPT_ReadSDPA(copt_prob *prob, const char *sdpafilename);
@@ -830,6 +862,7 @@ int COPT_CALL COPT_WriteParamStr(copt_prob *prob, char *str, int nStrSize, int *
830862
int COPT_CALL COPT_WriteBlob(copt_prob *prob, int tryCompress, void **p_blob, COPT_INT64 *pLen);
831863

832864
int COPT_CALL COPT_AddMipStart(copt_prob *prob, int num, const int *list, const double *colVal);
865+
int COPT_CALL COPT_SetNLPrimalStart(copt_prob *prob, int num, const int *list, const double *colVal);
833866

834867
int COPT_CALL COPT_SolveLp(copt_prob *prob);
835868
int COPT_CALL COPT_Solve(copt_prob *prob);

0 commit comments

Comments
 (0)