Java API 参考手册
为了方便用户对复杂应用场景进行建模并调用求解器进行求解,杉数求解器设计并提供了 Java 接口, 本章节将对 Java 接口的常量和功能进行阐述。
Java常量类
常量类定义了使用 Java 接口建模时必要的常数,包括一般常数、解状态、属性、信息和参数五大类常量。 本节将依次阐述上述五类常量的内容与使用方法。
一般常数
一般常数定义在 Consts 类里. 用户可以通过 copt 导入包名作为
前缀访问一般常数,如 copt.Consts.XXXX。
一般常数中的内容,详见 一般常数章节。
解状态
关于解状态的常数定义在 Status 类里. 用户可以通过 copt 导入包名的
前缀访问解状态常数,如 copt.Status.XXXX。
解状态常数中的内容,详见 一般常数章节:求解状态。
属性
Java API属性常数中的内容,详见 属性章节。
在Java API中,COPT 属性定义在 DblAttr 和 IntAttr 类里。
用户可以通过 copt.DblAttr 访问 COPT 浮点型属性;通过 copt.IntAttr 访问 COPT 整型属性。
在Java API中,通过指定属性名称获取属性取值,提供的函数如下,具体请参考 Java Model类 。
Model.getIntAttr():获取整数型属性取值Model.getDblAttr():获取浮点型属性取值
信息
Java API信息常数中的内容,详见 信息章节。
在Java API中,信息常数定义在 DblInfo 类里。用户可以通过命名空间中的前缀 copt (通常可以省略) copt.DblInfo. 访问信息常数。
例如, copt.DblInfo.Obj 表示变量在目标函数中系数。
Callback信息
Java API Callback信息常数中的内容,详见 信息章节:Callback相关信息。
在Java API中,Callback相关的信息常数定义在 CbInfo 类里,
用户可以通过命名空间中的前缀 copt (通常可以省略) copt.CbInfo. 访问Callback信息常数。
例如, copt.CbInfo.BestObj 表示当前最优目标函数值。
参数
优化参数控制COPT求解器优化算法的行为。
Java API参数常数中的内容,详见 参数章节。
在Java API中,COPT优化参数定义在 DblParam 和 IntParam 类里。
用户可以通过 copt.DblParam 访问 COPT 浮点型参数;通过 copt.IntParam 访问 COPT 整型参数。
在Java API中,通过指定参数名称获取和设置参数取值。提供的函数如下,具体请参考 Java Model类 。
获取指定参数的详细信息(当前值/最大值/最小值):
Model.getParamInfo()获取指定整数型/浮点型参数当前取值:
Model.getIntParam()/Model.getDblParam()设置指定整数型/浮点型参数值:
Model.setIntParam()/Model.setDblParam()
Java建模类
本章节详细描述杉数优化求解器的 Java 接口的优化建模类,方便用户在快速构建复杂 场景下的优化模型时对其功能和使用的查询。
Envr类
创建求解环境对象是每个求解过程中必不可少的第一步。而每个求解模型都和一个 Envr 类关联。用户 必须首先创建一个求解环境,才能在此基础上创建一个或者多个求解模型。
EnvrConfig类
如果用户通过连接远程服务的方式启动杉数优化求解器,可以创建环境配置类来设置COPT作为客户端的配置。
Model类
Model类是杉数优化求解器模型相关操作的封装,提供了以下成员方法:
- Model.Model()
- Model.addAffineCone()
- Model.addAffineCone()
- Model.addAffineCone()
- Model.addCone()
- Model.addCone()
- Model.addCone()
- Model.addCone()
- Model.addConstr()
- Model.addConstr()
- Model.addConstr()
- Model.addConstr()
- Model.addConstr()
- Model.addConstrs()
- Model.addConstrs()
- Model.addConstrs()
- Model.addDenseMat()
- Model.addDenseMat()
- Model.addDiagMat()
- Model.addDiagMat()
- Model.addDiagMat()
- Model.addDiagMat()
- Model.addExpCone()
- Model.addExpCone()
- Model.addExpCone()
- Model.addExpCone()
- Model.addEyeMat()
- Model.addGenConstrIndicator()
- Model.addGenConstrIndicator()
- Model.addGenConstrIndicator()
- Model.addGenConstrIndicators()
- Model.addLazyConstr()
- Model.addLazyConstr()
- Model.addLazyConstr()
- Model.addLazyConstrs()
- Model.addLmiConstr()
- Model.addNlConstr()
- Model.addNlConstr()
- Model.addNlConstr()
- Model.addNlConstr()
- Model.addNlConstrs()
- Model.addOnesMat()
- Model.addPsdConstr()
- Model.addPsdConstr()
- Model.addPsdConstr()
- Model.addPsdConstr()
- Model.addPsdVar()
- Model.addPsdVars()
- Model.addQConstr()
- Model.addQConstr()
- Model.addQConstr()
- Model.addSos()
- Model.addSos()
- Model.addSos()
- Model.addSparseMat()
- Model.addSymMat()
- Model.addUserCut()
- Model.addUserCut()
- Model.addUserCut()
- Model.addUserCuts()
- Model.addVar()
- Model.addVar()
- Model.addVars()
- Model.addVars()
- Model.addVars()
- Model.addVars()
- Model.addVars()
- Model.clear()
- Model.clone()
- Model.computeIIS()
- Model.delNlObj()
- Model.delObjN()
- Model.delPsdObj()
- Model.delQuadObj()
- Model.feasRelax()
- Model.feasRelax()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.get()
- Model.getAffineCone()
- Model.GetAffineConeBuilder()
- Model.GetAffineConeBuilders()
- Model.getAffineConeBuilders()
- Model.getAffineConeBuilders()
- Model.getAffineConeByName()
- Model.getAffineCones()
- Model.getCoeff()
- Model.getCol()
- Model.getColBasis()
- Model.getCone()
- Model.getConeBuilders()
- Model.getConeBuilders()
- Model.getConeBuilders()
- Model.getCones()
- Model.getConstr()
- Model.getConstrBuilder()
- Model.getConstrBuilders()
- Model.getConstrByName()
- Model.getConstrLowerIIS()
- Model.getConstrLowerIIS()
- Model.getConstrs()
- Model.getConstrUpperIIS()
- Model.getConstrUpperIIS()
- Model.getDblAttr()
- Model.getDblAttrN()
- Model.getDblParam()
- Model.getDblParamInfo()
- Model.getDblParamN()
- Model.getExpCone()
- Model.getExpConeBuilders()
- Model.getExpConeBuilders()
- Model.getExpConeBuilders()
- Model.getExpCones()
- Model.getGenConstr()
- Model.getGenConstrByName()
- Model.getGenConstrIndicator()
- Model.getGenConstrIndicators()
- Model.getGenConstrs()
- Model.getIndicatorIIS()
- Model.getIndicatorIIS()
- Model.getIntAttr()
- Model.getIntAttrN()
- Model.getIntParam()
- Model.getIntParamInfo()
- Model.getIntParamN()
- Model.getLmiCoeff()
- Model.getLmiConstr()
- Model.getLmiConstrByName()
- Model.getLmiConstrs()
- Model.getLmiRhs()
- Model.getLmiRow()
- Model.getLmiSolution()
- Model.getLpSolution()
- Model.getNlConstr()
- Model.getNlConstrBuilder()
- Model.getNlConstrBuilders()
- Model.getNlConstrByName()
- Model.getNlConstrs()
- Model.getNlObjective()
- Model.getNlRow()
- Model.getObjective()
- Model.getObjectiveN()
- Model.getObjParamN()
- Model.getPoolObjVal()
- Model.getPoolObjValN()
- Model.getPoolSolution()
- Model.getPoolSolution()
- Model.getPsdCoeff()
- Model.getPsdConstr()
- Model.getPsdConstrBuilder()
- Model.getPsdConstrBuilders()
- Model.getPsdConstrByName()
- Model.getPsdConstrs()
- Model.getPsdObjective()
- Model.getPsdRow()
- Model.getPsdSolution()
- Model.getPsdVar()
- Model.getPsdVarByName()
- Model.getPsdVars()
- Model.getQConstr()
- Model.getQConstrBuilder()
- Model.getQConstrBuilders()
- Model.getQConstrByName()
- Model.getQConstrs()
- Model.getQuadObjective()
- Model.getQuadRow()
- Model.getRow()
- Model.getRowBasis()
- Model.getSolution()
- Model.getSos()
- Model.getSosBuilders()
- Model.getSosBuilders()
- Model.getSosBuilders()
- Model.getSOSIIS()
- Model.getSOSIIS()
- Model.getSoss()
- Model.getSymMat()
- Model.getVar()
- Model.getVarByName()
- Model.getVarLowerIIS()
- Model.getVarLowerIIS()
- Model.getVars()
- Model.getVarUpperIIS()
- Model.getVarUpperIIS()
- Model.interrupt()
- Model.loadMipStart()
- Model.loadTuneParam()
- Model.read()
- Model.readBasis()
- Model.readBin()
- Model.readCbf()
- Model.readJsonSol()
- Model.readLp()
- Model.readMps()
- Model.readMst()
- Model.readOrd()
- Model.readParam()
- Model.readSdpa()
- Model.readSol()
- Model.readTune()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.remove()
- Model.reset()
- Model.resetAll()
- Model.resetObjParamN()
- Model.resetParam()
- Model.resetParamN()
- Model.set()
- Model.set()
- Model.set()
- Model.set()
- Model.set()
- Model.set()
- Model.set()
- Model.set()
- Model.setBasis()
- Model.setCallback()
- Model.setCoeff()
- Model.setCoeffs()
- Model.setCoeffs()
- Model.setDblParam()
- Model.setDblParamN()
- Model.setIntParam()
- Model.setIntParamN()
- Model.setLmiCoeff()
- Model.setLmiRhs()
- Model.setLpSolution()
- Model.setMipStart()
- Model.setMipStart()
- Model.setMipStart()
- Model.setMipStart()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNames()
- Model.setNlObjective()
- Model.setNlPrimalStart()
- Model.setNlPrimalStart()
- Model.setNlPrimalStart()
- Model.setNlPrimalStart()
- Model.setObjConst()
- Model.setObjective()
- Model.setObjectiveN()
- Model.setObjectiveN()
- Model.setObjParamN()
- Model.setObjSense()
- Model.setPsdCoeff()
- Model.setPsdObjective()
- Model.setQuadObjective()
- Model.setSlackBasis()
- Model.setSolverLogFile()
- Model.solve()
- Model.solveLp()
- Model.tune()
- Model.write()
- Model.writeBasis()
- Model.writeBin()
- Model.writeIIS()
- Model.writeJsonSol()
- Model.writeLp()
- Model.writeMps()
- Model.writeMpsStr()
- Model.writeMst()
- Model.writeNL()
- Model.writeOrd()
- Model.writeParam()
- Model.writePoolSol()
- Model.writeRelax()
- Model.writeSol()
- Model.writeTuneParam()
Var类
Var类是杉数优化求解器变量的相关操作的封装,提供了以下成员方法:
VarArray类
为方便用户对一组 Java Var类 对象进行操作,杉数优化求解器的 Java 接口设计了VarArray类, 提供了以下成员方法:
Expr类
Expr类是杉数求解器中用于构建线性表达式时变量的相关组合操作,提供了以下成员方法:
- Expr.Expr()
- Expr.Expr()
- Expr.Expr()
- Expr.Expr()
- Expr.add()
- Expr.add()
- Expr.addConstant()
- Expr.addExpr()
- Expr.addExpr()
- Expr.addTerm()
- Expr.addTerms()
- Expr.addTerms()
- Expr.addTerms()
- Expr.addTerms()
- Expr.clone()
- Expr.divide()
- Expr.evaluate()
- Expr.getCoeff()
- Expr.getConstant()
- Expr.getVar()
- Expr.multiply()
- Expr.remove()
- Expr.remove()
- Expr.setCoeff()
- Expr.setConstant()
- Expr.size()
Constraint类
Constraint类是杉数求解器线性约束的相关操作的封装,提供了以下成员方法:
ConstraArray类
为方便用户对一组 Java Constraint类 对象进行操作,杉数求解器的 Java 接口设计了ConstrArray类, 提供了以下成员方法:
ConstraBuilder类
ConstrBuilder类是杉数优化求解器中构建线性约束时的构建器的封装,提供了以下成员方法:
ConstrBuilderArray类
为方便用户对一组 Java ConstraBuilder类 对象进行操作,杉数优化求解器的 Java 接口设计了ConstrBuilderArray类, 提供了以下成员方法:
Column类
为了方便用户采用按列建模的方式,杉数优化求解器的 Java 接口设计了Column类,提供了以下成员方法:
ColumnArray类
为方便用户对一组 Java Column类 对象进行操作,杉数优化求解器的 Java 接口设计了ColumnArray类, 提供了以下成员方法:
Sos类
SOS类是杉数求解器的SOS约束的相关操作的封装,目前提供了以下成员方法:
关于SOS约束的介绍请参考 特殊约束:SOS约束 章节 。
SosArray类
为方便用户对一组 Java Sos类 对象进行操作,杉数求解器的 Java 接口设计了SosArray类, 提供了以下成员方法:
SosBuilder类
SOSBuilder类是杉数优化求解器中构建SOS约束的构建器的封装,提供了以下成员方法:
关于SOS约束的介绍请参考 特殊约束:SOS约束 章节 。
SosBuilderArray类
为方便用户对一组 Java SosBuilder类 对象进行操作,杉数优化求解器的 Java 接口设计了SosBuilderArray类,提供了以下成员方法:
GenConstr类
GenConstr类是杉数优化求解器的Indicator约束的相关操作的封装,提供了以下成员方法:
关于Indicator约束的介绍请参考 特殊约束:Indicator约束 章节 。
GenConstrArray类
为方便用户对一组 Java GenConstr类 对象进行操作,杉数优化求解器的 Java 接口设计了 GenConstrArray类,提供了以下成员方法:
GenConstrBuilder类
GenConstrBuilder类是杉数优化求解器中构建Indicator约束时的构建器的封装,提供了以下成员方法:
关于Indicator约束的介绍请参考 特殊约束:Indicator约束 章节 。
GenConstrBuilderArray类
为方便用户对一组 Java GenConstrBuilder类 对象进行操作,杉数优化求解器的 Java 接口 设计了GenConstrBuilderArray类,提供了以下成员方法:
Cone类
Cone类是杉数求解器的二阶锥约束的相关操作的封装,目前提供了以下成员方法:
ConeArray类
为方便用户对一组 Java Cone类 对象进行操作,杉数求解器的 Java 接口设计了ConeArray类, 提供了以下成员方法:
ConeBuilder类
ConeBuilder类是杉数优化求解器中构建二阶锥约束的构建器的封装,提供了以下成员方法:
ConeBuilderArray类
为方便用户对一组 Java ConeBuilder类 对象进行操作,杉数优化求解器的 Java 接口设计了ConeBuilderArray类,提供了以下成员方法:
ExpCone类
ExpCone类是杉数求解器的指数锥约束的相关操作的封装,目前提供了以下成员方法:
ExpConeArray类
为方便用户对一组 Java ExpCone类 对象进行操作,杉数求解器的 Java 接口设计了ExpConeArray类, 提供了以下成员方法:
ExpConeBuilder类
ExpConeBuilder类是杉数优化求解器中构建指数锥约束的构建器的封装,提供了以下成员方法:
ExpConeBuilderArray类
为方便用户对一组 Java ExpConeBuilder类 对象进行操作,杉数优化求解器的 Java 接口设计了ExpConeBuilderArray类,提供了以下成员方法:
AffineCone类
AffineCone类是杉数求解器的仿射锥约束的相关操作的封装,目前提供了以下成员方法:
AffineConeArray类
为方便用户对一组Java AffineCone类 对象进行操作,杉数求解器的Java接口设计了AffineConeArray类, 提供了以下成员方法:
AffineConeBuilder类
AffineConeBuilder类是杉数优化求解器中构建仿射锥约束的构建器的封装,提供了以下成员方法:
AffineConeBuilderArray类
为方便用户对一组Java AffineConeBuilder类 对象进行操作,杉数优化求解器的 Java接口设计了AffineConeBuilderArray类,提供了以下成员方法:
QuadExpr类
COPT二次表达式包括一个线性表达式,一些二次项相关的变量和对应系数。QuadExpr类是杉数求解器中用于构建 二次表达式时对变量的相关组合操作,提供了以下成员方法:
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.QuadExpr()
- QuadExpr.add()
- QuadExpr.add()
- QuadExpr.addConstant()
- QuadExpr.addLinExpr()
- QuadExpr.addLinExpr()
- QuadExpr.addQuadExpr()
- QuadExpr.addQuadExpr()
- QuadExpr.addTerm()
- QuadExpr.addTerm()
- QuadExpr.addTerms()
- QuadExpr.addTerms()
- QuadExpr.addTerms()
- QuadExpr.addTerms()
- QuadExpr.addTerms()
- QuadExpr.addTerms()
- QuadExpr.clone()
- QuadExpr.divide()
- QuadExpr.evaluate()
- QuadExpr.getCoeff()
- QuadExpr.getConstant()
- QuadExpr.getLinExpr()
- QuadExpr.getVar1()
- QuadExpr.getVar2()
- QuadExpr.multiply()
- QuadExpr.remove()
- QuadExpr.remove()
- QuadExpr.setCoeff()
- QuadExpr.setConstant()
- QuadExpr.size()
QConstraint类
QConstraint类是杉数求解器对二次约束的相关操作的封装,提供了以下成员方法:
QConstrArray类
为方便用户对一组 Java QConstraint类 对象进行操作,杉数求解器的 Java 接口设计了QConstrArray类, 提供了以下成员方法:
QConstrBuilder类
QConstrBuilder类是杉数优化求解器中对构建二次约束的构建器的封装,提供了以下成员方法:
QConstrBuilderArray类
为方便用户对一组 Java QConstrBuilder类 对象进行操作,杉数优化求解器的 Java 接口设计了QConstrBuilderArray类,提供了以下成员方法:
PsdVar类
PsdVar类是杉数优化求解器对半定变量的相关操作的封装,提供了以下成员方法:
PsdVarArray类
为方便用户对一组 PsdVar类 对象进行操作,杉数优化求解器的 Java 接口设计了PsdVarArray类, 提供了以下成员方法:
PsdExpr类
COPT半定表达式包括一个线性表达式,一些半定变量和对应的系数矩阵。PsdExpr类是杉数求解器中用于构建 半定表达式时对半定变量的相关组合操作,提供了以下成员方法:
- PsdExpr.PsdExpr()
- PsdExpr.PsdExpr()
- PsdExpr.PsdExpr()
- PsdExpr.PsdExpr()
- PsdExpr.PsdExpr()
- PsdExpr.PsdExpr()
- PsdExpr.addConstant()
- PsdExpr.addLinExpr()
- PsdExpr.addLinExpr()
- PsdExpr.addPsdExpr()
- PsdExpr.addPsdExpr()
- PsdExpr.addTerm()
- PsdExpr.addTerm()
- PsdExpr.addTerm()
- PsdExpr.addTerms()
- PsdExpr.addTerms()
- PsdExpr.addTerms()
- PsdExpr.addTerms()
- PsdExpr.addTerms()
- PsdExpr.addTerms()
- PsdExpr.clone()
- PsdExpr.evaluate()
- PsdExpr.getCoeff()
- PsdExpr.getConstant()
- PsdExpr.getLinExpr()
- PsdExpr.getPsdVar()
- PsdExpr.multiply()
- PsdExpr.remove()
- PsdExpr.remove()
- PsdExpr.remove()
- PsdExpr.setCoeff()
- PsdExpr.setConstant()
- PsdExpr.size()
PsdConstraint类
PsdConstraint类是杉数求解器对半定约束的相关操作的封装,提供了以下成员方法:
PsdConstrArray类
为方便用户对一组 Java PsdConstraint类 对象进行操作, 杉数求解器的 Java 接口设计了PsdConstrArray类, 提供了以下成员方法:
PsdConstrBuilder类
PsdConstrBuilder类是杉数优化求解器中对构建半定约束的构建器的封装,提供了以下成员方法:
PsdConstrBuilderArray类
为方便用户对一组 Java PsdConstrBuilder类 对象进行操作,杉数优化求解器的 Java 接口设计了PsdConstrBuilderArray类,提供了以下成员方法:
LmiConstraint类
LmiConstraint类是杉数求解器对LMI约束的相关操作的封装,提供了以下成员方法:
LmiConstrArray类
为方便用户对一组 Java LmiConstraint类 对象进行操作, 杉数求解器的 Java 接口设计了LmiConstrArray类,提供了以下成员方法:
LmiExpr类
COPT的LMI表达式包括对称矩阵和标量变量相乘。LmiExpr类是杉数求解器中用于构建 LMI表达式时对变量和对称矩阵相关组合操作,提供了以下成员方法:
- LmiExpr.LmiExpr()
- LmiExpr.LmiExpr()
- LmiExpr.LmiExpr()
- LmiExpr.LmiExpr()
- LmiExpr.LmiExpr()
- LmiExpr.addConstant()
- LmiExpr.addLmiExpr()
- LmiExpr.addLmiExpr()
- LmiExpr.addTerm()
- LmiExpr.addTerm()
- LmiExpr.addTerms()
- LmiExpr.addTerms()
- LmiExpr.clone()
- LmiExpr.getCoeff()
- LmiExpr.getConstant()
- LmiExpr.getVar()
- LmiExpr.multiply()
- LmiExpr.remove()
- LmiExpr.remove()
- LmiExpr.setCoeff()
- LmiExpr.setConstant()
- LmiExpr.size()
SymMatrix类
对称矩阵作为半定项中的系数矩阵,常用在半定表达式,半定约束和半定目标函数中。 SymMatrix类是杉数优化求解器中对称矩阵的封装,提供了以下成员方法:
SymMatrixArray类
为方便用户对一组 Java SymMatrix类 对象进行操作, 杉数求解器的 Java 接口设计了SymMatrixArray类, 提供了以下成员方法:
SymMatExpr类
对称矩阵表达式对于对称矩阵的线性组合,其计算结果实际还是一个对称矩阵。 表达式的好处是可以延迟计算结果矩阵,直到设置半定约束或者半定目标函数时。 SymMatExpr类是杉数优化求解器中对称矩阵表达式的封装,提供了以下成员方法:
- SymMatExpr.SymMatExpr()
- SymMatExpr.SymMatExpr()
- SymMatExpr.addSymMatExpr()
- SymMatExpr.addTerm()
- SymMatExpr.addTerms()
- SymMatExpr.addTerms()
- SymMatExpr.addTerms()
- SymMatExpr.clone()
- SymMatExpr.getCoeff()
- SymMatExpr.getDim()
- SymMatExpr.getSymMat()
- SymMatExpr.multiply()
- SymMatExpr.remove()
- SymMatExpr.remove()
- SymMatExpr.reserve()
- SymMatExpr.setCoeff()
- SymMatExpr.size()
NlExpr类
NlExpr 类是杉数求解器中用于构建非线性表达式时对变量相关操作的封装,提供了以下成员方法:
- NlExpr.NlExpr()
- NlExpr.NlExpr()
- NlExpr.NlExpr()
- NlExpr.NlExpr()
- NlExpr.NlExpr()
- NlExpr.NlExpr()
- NlExpr.add()
- NlExpr.add()
- NlExpr.addConstant()
- NlExpr.addLinExpr()
- NlExpr.addNlExpr()
- NlExpr.addQuadExpr()
- NlExpr.addTerm()
- NlExpr.addTerms()
- NlExpr.addTerms()
- NlExpr.clear()
- NlExpr.clone()
- NlExpr.divide()
- NlExpr.evaluate()
- NlExpr.getConstant()
- NlExpr.getLinExpr()
- NlExpr.multiply()
- NlExpr.negate()
- NlExpr.reserve()
- NlExpr.setConstant()
- NlExpr.size()
NlConstraint类
非线性约束对象绑定在具体模型(Java Model类)对象,
需要通过模型提供的方法添加,不能由其构造函数直接生成。
NlConstraint 类是杉数求解器对非线性约束的相关操作的封装,提供了以下成员方法:
NlConstrArray类
为方便用户对一组 Java NlConstraint类 对象进行操作, 杉数求解器的 Java 接口设计了NlConstrArray类,提供了以下成员方法:
NlConstrBuilder类
NlConstrBuilder 类是杉数优化求解器中对构建非线性约束的生成器的封装,提供了以下成员方法:
NlConstrBuilderArray类
为方便用户对一组 Java NlConstrBuilder类 对象进行操作,杉数优化求解器的
Java 接口设计了 NlConstrBuilderArray 类,提供了以下成员方法:
NL命名空间
NL 命名空间封装了构建非线性表达式所需的常用非线性运算函数,提供函数如下:
CallbackBase类
CallbackBase类给用户提供了在求解过程中介入的接口。这个是抽象类,用户需要自己实现虚函数
virtual void CallbackBase::callback() 才能创建实例,用来作为
Model::SetCallback(CallbackBase cb, int cbctx) 方法的第一个参数传入。
CallbackBase类也提供了以下可以继承的成员方法:
- CallbackBase.CallbackBase()
- CallbackBase.addLazyConstr()
- CallbackBase.addLazyConstr()
- CallbackBase.addLazyConstr()
- CallbackBase.addLazyConstrs()
- CallbackBase.addUserCut()
- CallbackBase.addUserCut()
- CallbackBase.addUserCut()
- CallbackBase.addUserCuts()
- CallbackBase.callback()
- CallbackBase.getDblInfo()
- CallbackBase.getIncumbent()
- CallbackBase.getIncumbent()
- CallbackBase.getIncumbent()
- CallbackBase.getIncumbent()
- CallbackBase.getIntInfo()
- CallbackBase.getRelaxSol()
- CallbackBase.getRelaxSol()
- CallbackBase.getRelaxSol()
- CallbackBase.getRelaxSol()
- CallbackBase.getSolution()
- CallbackBase.getSolution()
- CallbackBase.getSolution()
- CallbackBase.getSolution()
- CallbackBase.interrupt()
- CallbackBase.loadSolution()
- CallbackBase.setSolution()
- CallbackBase.setSolution()
- CallbackBase.setSolution()
- CallbackBase.where()
ProbBuffer类
ProbBuffer类是字符流缓冲区的封装,提供了以下成员方法:
CoptException类
CoptException类是杉数优化求解器的错误处理相关操作的封装。当方法调用对应的杉数求解器底层接口发生错误时, 则抛出CoptException类的异常,提供了以下属性值访问相应的错误信息: