Formal definition for an optimisation model

29 Views Asked by At

I have an optimization model given below

$\mbox{maximise: } \sum \limits_{m\in M} \sum \limits_{n\in N} w_{mn} c_{mn} + \sum \limits_{r\in R} \sum \limits_{e\in E} w_{r} l_{e} $

Let

  • $M = \{1 \ldots m\}$ be a finite set of mentions.
  • $N = \{1 \ldots n\}$ be a finite set of candidates.
  • $w_{mn} \in \mathbb{R}$ represents a pre-defined weight for each candidate $n$ of mention $m$

  • $c_{mn} \in \mathbb{B}$ be a boolean decision variable representing candidate $n \in N$ of mention $m \in M$, which is true if candidate $n$ is selected and matched to mention $m$

  • $R = \{1 \ldots r\}$ be a finite set of relationships and $w_r \in \mathbb{R}$ represents a pre-defined weight for each relation type.
  • $E \subseteq 2^{M \times N}$ be the set of mention-candidate sets which have at least one relationship $r$ in common.

Now, I have a question on how to define $E$ and $l_e$ properly.

In the actual implementation, $E$ consists of a list of 2-tuple. For example $E=[(ab,cd), (wx,yz)]$, where $\{a,c,w,y\} \in M$ and $\{b,d,x,z\} \in N$.

The $(ab,cd)$ tuple represents candidate $b$ of mention $a$ has a relationship $r$ (i.e. an edge) with candidate $d$ of mention $c$.

$l_{e} \in \mathbb{B}$ is a boolean auxiliary variable which is set to true for each element in $e \in E$, such that, for eg. $e=(ab,cd)$, if $c_{ab}$ and $c_{cd}$ are true, $l_{e}$ is set to true

Given the above explanation, I try to write the following logical expression,

$E = \{C \subseteq M \times N \mid \forall a,c \in M, \forall b,d \in N, \forall \{ab, cd\} \in C, {ab}\cap {cd} \neq \emptyset\}$

My question is, how can I change the above expression, such that $E$, $e$, $l_e$ and their relationship $r$ are presented in a better way?