From db6f8b6d061144bcfc36a8616d45550526ac65ee Mon Sep 17 00:00:00 2001 From: Fredrik Robertsen Date: Thu, 19 Feb 2026 20:41:46 +0100 Subject: [PATCH] as2: task 1 a and b --- assignment-2/main.pdf | Bin 17368 -> 42667 bytes assignment-2/main.typ | 57 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/assignment-2/main.pdf b/assignment-2/main.pdf index 03853b0e764990b64b0dbab67bf289519d92bb2f..3421058fba97e971e0976cd9a3096aec2e001be4 100644 GIT binary patch literal 42667 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 S;I^8HfuXr6m#V6(zZ(Ff!U$CW delta 6011 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 {box( - height: 14pt, - width: 90%, - outset: 5%, +#show heading.where(level: 2): it => {box( + height: text-size * 1.3, + width: 100%, + outset: 2.5%, radius: 25%, fill: green, align(horizon, text(fill: black, it.body)) )} +#show heading.where(level: 3): it => { + box(strong(it.body) + h(0.5em)) +} + +#let ll(l, t) = text(cyan)[#link(l)[#t]] == task 1 +this sounds like the #ll("https://en.wikipedia.org/wiki/Vertex_cover")[vertex cover problem], but with additional vertex weights to minimize. -hello world +=== a) +recall the general key components of a linear program +- problem input vector $x$ +- coefficient vector $c$ +- constraint matrix $A$ +- target vector $b$ +such that we minimize $c^TT x$ with respect to $A x >= b$. + +here we can interpret the input vector $x$ as a binary vector where the $i$-th bit encodes the inclusion of a given node $v_i in V$ in the subset $C$. $x$ has as many bits as there are vertices. + +furthermore, the vector $c$ represents the weights of the vertices such that $ +c^TT x = sum_(v in V) c_v x_v = sum_(v in C) c_v +$ becomes the minimization goal. + +we can express the binary string $x$ through constraints +- $x_u + x_v >= 1 quad forall (u, v) in E$ +- $x_v in {0, 1} quad forall v in V$ + +the former constraint ensures that every edge is covered by at least one endpoint. + +bringing it all together +$ + min sum_(v in V) c_v x_v \ + "s.t." quad x_u + x_v >= 1 quad forall (u, v) in E \ + x_v in {0, 1} quad forall v in V +$ +is our complete linear integer program. + +we have implicitly defined $A$ to be the $|E| times |V|$-matrix that has $1$-entries for vertices $v$ where $e = (u, v)$. it is zero otherwise. + +=== b) +by relaxing the linear integer program we let $0 <= x_v <= 1$. this can be shortened to saying $x_v >= 0$ since the first constraint forces $x_v <= 1$. requiring a positive value is a common restriction on linear programs and allows us to take the dual. + +we then obtain the dual program +$ + max bold(1)^TT y = sum_(e in E) y_e \ + "s.t." quad A^TT y <= c \ + <=> sum_(v in e) y_e <= c_v \ + quad forall v in V, quad y >= 0 +$