Max Cardinality Integer Programming Problem

116 Views Asked by At

I browsed a lot on google to find any similar solution to my problem below, particularly on network flow literature, but couldn't find any similar problems. I think my problem can be probably solved by an appropriate integer programming formulation, but I can't exactly figure it out either.

Suppose I have $m$ number of variables, along with a matrix of weights between every one variables to another:

$\begin{matrix} & | & N_1 & N_2 & ... & N_m\\ \_ & \_ & \_ & \_ & \_ & \_ \\ N_1 & | & 0 & w_{1,2} & ... & w_{1, m}\\ N_2 & | & w_{1, 2} & 0 & ... & w_{2, m}\\ ... & | & ... & ... & ... & ... \\ N_m & | & w_{1, m} & w_{2, m} & ... & 0 \end{matrix}$

where $w_{i, j} = w_{j, i}$ (and if needed $0 \le |w_{j, i}| \le 1$).

I want to choose a set of maximum number of variables $\{N_k\}$ out of $m$ variables such that the weights $w_{k_1, k_2}$ between any $N_{k_1}$ and $N_{k_2}$ selected in the set $\{N_k\}$ satisfy:

$-\beta \le w_{j, i} \le \beta$.

where $\beta$ is a constant provided to the problem (and if needed, $|\beta|$ < 1, otherwise we can obviously choose all the $m$ variables).

Can someone help me if this can be solved (or reformulated) into any known network flow problem, or alternatively, if there is an easy way to frame this into an integer programming problem ?

So far, I have been able to write:

$\max \sum_{k=1}^m X_k$

$s.t.$

$ -\beta \le w_{i,j} X_i X_j \le \beta$ $\forall i, j$

But I can't figure out how to separate out the $X_i X_j$ into a linear way (to use any Integer Programming package).

1

There are 1 best solutions below

9
On BEST ANSWER

The weights are entirely irrelevant. After receiving your $\beta$ any $w_{i, j}$ with $-\beta \leq w_{i, j} \leq \beta$ is an edge and any $N_k$ is a vertex, forming a graph.

Then your problem is simply finding the maximum clique.