8.5.10. MDOQuadExpr

class MDOQuadExpr

在MindOpt应用程序中表示二次表达式。二次表达式是在线性表达式外有二次项。

方法

MDOQuadExpr

构造一个具有常数值的二次表达式

MDOQuadExpr

用线性项构造一个二次表达式

MDOQuadExpr

用线性表达式构造二次表达式

add

将线性表达式添加到该二次表达式

addConstant

向二次表达式添加一个常量

addTerm

向这个二次表达式添加一个线性项

addTerm

向这个二次表达式添加一个二次项

addTerms

向这个二次表达式添加多个线性项

addTerms

向这个二次表达式添加多个二次项

clear

清除二次表达式中包含的所有项,并将常量重置为零

getCoeff

检索第i个二次项的系数

getLinExpr

检索二次项中包含的线性表达式

getValue

问题解决后,该二次表达式的值

getVar1

检索第i个二次项的第一个变量

getVar2

检索第i个二次项的第二个变量

remove

从这个二次表达式中删除第i个二次项

remove

删除包含指定变量的所有项 (包括线性项和二次项)

size

检索该二次表达式中包含的二次项的数量

MDOQuadExpr(double constant = 0.0)

构造一个具有常数值的二次表达式

Parameters:

double constant=0.0 – 初始常量值

MDOQuadExpr(MDOVar var, double coeff = 1.0)

用线性项构造一个二次表达式

Parameters:
  • MDOVar var – 线性项的变量

  • double coeff=1.0 – 线性项的系数

MDOQuadExpr(const MDOLinExpr &le)

用线性表达式构造二次表达式

Parameters:

const MDOLinExpr& le – 初始线性表达式

void add(const MDOLinExpr le)

将线性表达式添加到该二次表达式

Parameters:

const MDOLinExpr le – 要添加的线性表达式

void addConstant(double c)

向二次表达式添加一个常量

Parameters:

double c – 要添加的值

void addTerm(double coeff, MDOVar var)

向这个二次表达式添加一个线性项

Parameters:
  • double coeff – 要添加的线性项的系数

  • MDOVar var – 要添加的线性项的变量

void addTerm(double coeff, MDOVar var1, MDOVar var2)

向这个二次表达式添加一个二次项

Parameters:
  • double coeff – 要添加的二次项的系数

  • MDOVar var1 – 要添加的二次项的第一个变量

  • MDOVar var2 – 要添加的二次项的第二个变量

void addTerms(const double *coeff, const MDOVar *var, int cnt)

向这个二次表达式添加多个线性项

Parameters:
  • const double* coeff – 要添加的线性项的系数

  • const MDOVar* var – 要添加的线性项的变量

  • int cnt – 要添加的线性项的数量

void addTerms(const double *coeff, const MDOVar *var1, const MDOVar *var2, int cnt)

向这个二次表达式添加多个二次项

Parameters:
  • const double* coeff – 要添加的二次项的系数

  • const MDOVar* var1 – 要添加的二次项的第一个变量

  • const MDOVar* var2 – 要添加的二次项的第二个变量

  • int cnt – 要添加的二次项的数量

void clear()

清除二次表达式中包含的所有项,并将常量重置为零

double getCoeff(int i)

检索第i个二次项的系数

Parameters:

int i – 二次项的索引

Returns:

第i个二次项的系数

MDOLinExpr getLinExpr()

检索二次项中包含的线性表达式

Returns:

二次项中包含的线性表达式

double getValue()

问题解决后,该二次表达式的值

Returns:

该二次表达式在问题求解后的值

MDOVar getVar1(int i)

检索第i个二次项的第一个变量

Parameters:

int i – 二次项的索引

Returns:

第i个二次项的第一个变量

MDOVar getVar2(int i)

检索第i个二次项的第二个变量

Parameters:

int i – 二次项的索引

Returns:

第i个二次项的第二个变量

void remove(int i)

从这个二次表达式中删除第i个二次项

Parameters:

int i – 要删除的二次项的索引

bool remove(MDOVar v)

删除包含指定变量的所有项 (包括线性项和二次项)

Parameters:

MDOVar v – 要删除的变量

Returns:

如果至少删除了1个项,则为True

int size()

检索该二次表达式中包含的二次项的数量

Returns:

该二次表达式中包含的二次项的数量