Motivation
The repository already has:
MaximumClique: optimize over cliques using vertex weights
KClique: the decision problem asking whether a clique of size at least k exists
What is missing is the fixed-cardinality edge-weighted optimization variant: choose exactly k vertices that form a clique and maximize the total weight of the induced clique edges. This is the natural exact-k specialization of the edge-weighted maximal clique literature.
Associated rule:
Definition
Name: MaximumEdgeWeightedKClique
Reference:
- L. Gouveia, P. Martins, "Solving the maximum edge-weight clique problem in sparse graphs with compact formulations," EURO Journal on Computational Optimization 3(1):1-30, 2015. https://doi.org/10.1007/s13675-014-0028-1
- M. Hunting, U. Faigle, W. Kern, "A Lagrangian relaxation approach to the edge-weighted clique problem," European Journal of Operational Research 131(1):119-131, 2001. https://doi.org/10.1016/S0377-2217(99)00449-X
Given a simple undirected graph G = (V, E), an edge-weight function w : E -> R, and an integer k with 0 <= k <= |V|, find a subset S subseteq V such that:
|S| = k
- every two distinct vertices in
S are adjacent in G
and maximizing
sum_{ {u,v} subseteq S, {u,v} in E } w_uv.
Equivalently, the objective is the total weight of the edges induced by the selected k-clique.
Important modeling choices for this proposal:
- the graph is simple and undirected
- edge weights may be positive, zero, or negative
- cliques of size
0 and 1 are allowed when k takes those values, with objective value 0
- there is no separate vertex-weight term
Variables
- Count:
|V| binary variables, one per vertex
- Per-variable domain:
{0,1}
- Meaning:
x_v = 1 iff vertex v is selected into the clique
A configuration is feasible iff the selected vertices form a clique of size exactly k.
Schema (data type)
Type name: MaximumEdgeWeightedKClique
Variants: edge-weight type only
| Field |
Type |
Description |
graph |
SimpleGraph |
The input graph G = (V, E) |
edge_weights |
Vec<W> |
Edge weights in the graph's edge order |
k |
usize |
Required clique size |
Recommended concrete variants:
(SimpleGraph, i32) default
(SimpleGraph, f64)
Complexity
A conservative exact baseline is to enumerate all k-vertex subsets and test whether each induces a clique.
This gives
O(binomial(num_vertices, k) * k^2)
and therefore a conservative worst-case registry complexity of
2^num_vertices.
I have not verified a sharper exact worst-case bound specifically for the exact-k edge-weighted specialization, so the proposal should use the conservative 2^num_vertices complexity string.
References for the surrounding MEWC family:
Extra Remark
This is the exact-cardinality edge-weighted clique model. It is distinct from:
MaximumClique, which uses vertex weights and does not enforce exact cardinality
KClique, which is a decision problem with threshold semantics |S| >= k
The literature often studies a bounded-cardinality edge-weighted clique model with |S| <= b; this proposal is the exact-k specialization.
Reduction Rule Crossref
How to solve
Example Instance
Let
V = {0,1,2,3}
E = {{0,1}, {0,2}, {1,2}, {0,3}, {1,3}}
w_01 = 5
w_02 = 4
w_12 = -1
w_03 = 1
w_13 = 0
k = 3
So the graph contains the triangles {0,1,2} and {0,1,3}, but not {0,2,3} or {1,2,3} because edge {2,3} is missing.
Expected Outcome
The feasible 3-cliques are:
{0,1,2} with objective value 5 + 4 - 1 = 8
{0,1,3} with objective value 5 + 1 + 0 = 6
Thus an optimal configuration is
x = (1,1,1,0)
corresponding to clique {0,1,2}, with optimal value 8.
This example is intentionally nontrivial:
- the better clique contains a negative edge
- some 3-vertex subsets are infeasible because they are not cliques
BibTeX
@article{GouveiaMartins2015MEWC,
author = {Luis Gouveia and Paulo Martins},
title = {Solving the maximum edge-weight clique problem in sparse graphs with compact formulations},
journal = {EURO Journal on Computational Optimization},
volume = {3},
number = {1},
pages = {1--30},
year = {2015},
doi = {10.1007/s13675-014-0028-1},
url = {https://doi.org/10.1007/s13675-014-0028-1}
}
@article{HuntingFaigleKern2001,
author = {Marcel Hunting and Ulrich Faigle and Walter Kern},
title = {A Lagrangian relaxation approach to the edge-weighted clique problem},
journal = {European Journal of Operational Research},
volume = {131},
number = {1},
pages = {119--131},
year = {2001},
doi = {10.1016/S0377-2217(99)00449-X},
url = {https://doi.org/10.1016/S0377-2217(99)00449-X}
}
Motivation
The repository already has:
MaximumClique: optimize over cliques using vertex weightsKClique: the decision problem asking whether a clique of size at leastkexistsWhat is missing is the fixed-cardinality edge-weighted optimization variant: choose exactly
kvertices that form a clique and maximize the total weight of the induced clique edges. This is the natural exact-kspecialization of the edge-weighted maximal clique literature.Associated rule:
MaximumEdgeWeightedKClique -> ILPDefinition
Name:
MaximumEdgeWeightedKCliqueReference:
Given a simple undirected graph
G = (V, E), an edge-weight functionw : E -> R, and an integerkwith0 <= k <= |V|, find a subsetS subseteq Vsuch that:|S| = kSare adjacent inGand maximizing
sum_{ {u,v} subseteq S, {u,v} in E } w_uv.Equivalently, the objective is the total weight of the edges induced by the selected
k-clique.Important modeling choices for this proposal:
0and1are allowed whenktakes those values, with objective value0Variables
|V|binary variables, one per vertex{0,1}x_v = 1iff vertexvis selected into the cliqueA configuration is feasible iff the selected vertices form a clique of size exactly
k.Schema (data type)
Type name:
MaximumEdgeWeightedKCliqueVariants: edge-weight type only
graphSimpleGraphG = (V, E)edge_weightsVec<W>kusizeRecommended concrete variants:
(SimpleGraph, i32)default(SimpleGraph, f64)Complexity
A conservative exact baseline is to enumerate all
k-vertex subsets and test whether each induces a clique.This gives
O(binomial(num_vertices, k) * k^2)and therefore a conservative worst-case registry complexity of
2^num_vertices.I have not verified a sharper exact worst-case bound specifically for the exact-
kedge-weighted specialization, so the proposal should use the conservative2^num_verticescomplexity string.References for the surrounding MEWC family:
Extra Remark
This is the exact-cardinality edge-weighted clique model. It is distinct from:
MaximumClique, which uses vertex weights and does not enforce exact cardinalityKClique, which is a decision problem with threshold semantics|S| >= kThe literature often studies a bounded-cardinality edge-weighted clique model with
|S| <= b; this proposal is the exact-kspecialization.Reduction Rule Crossref
How to solve
[Rule] MaximumEdgeWeightedKClique to ILP).Example Instance
Let
V = {0,1,2,3}E = {{0,1}, {0,2}, {1,2}, {0,3}, {1,3}}w_01 = 5w_02 = 4w_12 = -1w_03 = 1w_13 = 0k = 3So the graph contains the triangles
{0,1,2}and{0,1,3}, but not{0,2,3}or{1,2,3}because edge{2,3}is missing.Expected Outcome
The feasible 3-cliques are:
{0,1,2}with objective value5 + 4 - 1 = 8{0,1,3}with objective value5 + 1 + 0 = 6Thus an optimal configuration is
x = (1,1,1,0)corresponding to clique
{0,1,2}, with optimal value8.This example is intentionally nontrivial:
BibTeX