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.update()
- 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类的异常,提供了以下属性值访问相应的错误信息: