8.5.11. MDOPsdExpr

class MDOPsdExpr

在MindOpt应用程序中表示PSD表达式。PSD表达式包含PSD项,并且可选是否包含线性表达式。

方法

MDOPsdExpr

构造一个具有常量值的MDOPsdExpr

MDOPsdExpr

用线性表达式构造MDOPsdExpr

MDOPsdExpr

用PSD项构造一个MDOPsdExpr

addTerm

将PSD项添加到该PSD表达式

addTerms

将线性项添加到该PSD表达式

clear

清除该PSD表达式中包含的所有项,即从该PSD表达式中删除所有PSD项,线性项,并将其常数重置为零

getCoeff

检索第i个PSD项中的系数

getLinExpr

检索该PSD表达式中包含的线性表达式

getPsdVar

检索第i个PSD项中的PSD变量

getValue

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

remove

从该PSD表达式中删除第i个PSD项

remove

删除包含指定PSD变量的所有PSD项

size

检索PSD表达式中包含的PSD项的数量

MDOPsdExpr(double constant = 0.0)

构造一个具有常量值的MDOPsdExpr

Parameters

double constant=0.0 – 初始常量值

MDOPsdExpr(const MDOLinExpr &le)

用线性表达式构造MDOPsdExpr

Parameters

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

MDOPsdExpr(MDOPsdVar var, MDOMatrix coeff)

用PSD项构造一个MDOPsdExpr

Parameters
  • MDOPsdVar var – PSD项的PSD变量

  • MDOMatrix coeff – PSD项的系数

void addTerm(const MDOMatrix &coeff, const MDOPsdVar var)

将PSD项添加到该PSD表达式

Parameters
  • const MDOMatrix& coeff – 要添加的新PSD项的系数

  • const MDOPsdVar var – 要添加的新PSD项的PSD变量

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

将线性项添加到该PSD表达式。

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

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

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

void clear()

清除该PSD表达式中包含的所有项,即从该PSD表达式中删除所有PSD项,线性项,并将其常数重置为零。

MDOMatrix getCoeff(int i)

检索第i个PSD项中的系数。

Parameters

int i – PSD项的索引

Returns

第i个PSD项中的系数。

MDOLinExpr getLinExpr()

检索该PSD表达式中包含的线性表达式

Returns

该PSD表达式中包含的线性表达式

MDOPsdVar getPsdVar(int i)

检索第i个PSD项中的PSD变量

Parameters

int i – PSD项的索引

Returns

第i个PSD项中包含的PSD变量

double getValue()

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

Returns

这个PSD表达式在问题解决后的值

void remove(int i)

从该PSD表达式中删除第i个PSD项

Parameters

int i – 要删除的PSD项的索引

bool remove(MDOPsdVar v)

删除包含指定PSD变量的所有PSD项

Parameters

MDOPsdVar v – 要删除的PSD变量

Returns

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

unsigned int size()

检索PSD表达式中包含的PSD项的数量。

Returns

PSD表达式中包含的PSD项的数量。