Ten candidate alternatives and eight objects form a real, textbook-sourced set-covering instance the external solver reads, parsed from its model file. At ten alternatives the small coverage grid no longer fits, so tables replace it.

highlighted = computed this step

The instance

There are 10 candidate alternatives and 8 objects, parsed from the solver's model file at build time, not hand-typed. Why: real set-covering instances name each candidate's cost and coverage independently — this one is drawn from a real textbook (Lundgren, Roennqvist, Vaebrand's textbook 'Optimeringslaera' ('Optimization theory'), via OR-Tools' own contrib set-covering example code).

alternatives=10\text{alternatives}=10
A bigger covering problemThe real instance: 10 candidate alternatives, 8 objects each needing at least one cover.8 objects over 10 candidate alternativesx1x2x3x4x5x6x7x8x9x10object_01010000001object_10101111000object_20001011010object_30010001100object_40001100100object_51100000011object_60010000001object_70100000110minimize; alternative costsx1x2x3x4x5x6x7x8x9x10cost19161813151915171615

No small grid

The earlier chapters' instance had 4 candidate sites, small enough for a coverage grid to draw by hand; at 10 alternatives the table above replaces the grid. Why: the coverage relationships are still exact — only the picture changes, not the arithmetic.

ten alternatives, no small grid\text{ten alternatives, no small grid}
A bigger covering problemThe real instance: 10 candidate alternatives, 8 objects each needing at least one cover.8 objects over 10 candidate alternativesx1x2x3x4x5x6x7x8x9x10object_01010000001object_10101111000object_20001011010object_30010001100object_40001100100object_51100000011object_60010000001object_70100000110minimize; alternative costsx1x2x3x4x5x6x7x8x9x10cost19161813151915171615

The objective

The model minimizes total cost over the chosen alternatives, each costing between 13 and 19. Why: this lesson only presents the instance; solving, with its certificate, comes next.

min⁡∑cixi, xi∈{0,1}\min\sum c_i x_i,\ x_i\in\{0,1\}
A bigger covering problemThe real instance: 10 candidate alternatives, 8 objects each needing at least one cover.8 objects over 10 candidate alternativesx1x2x3x4x5x6x7x8x9x10object_01010000001object_10101111000object_20001011010object_30010001100object_40001100100object_51100000011object_60010000001object_70100000110minimize; alternative costsx1x2x3x4x5x6x7x8x9x10cost19161813151915171615

Diagram note

The first table marks a 1 wherever an alternative covers an object, one row per object; the second lists each alternative's cost. Pixel positions are rounded for layout; every displayed coverage, cost, and comparison is exact.

parsed coverage, not typed\text{parsed coverage, not typed}
A bigger covering problemThe real instance: 10 candidate alternatives, 8 objects each needing at least one cover.8 objects over 10 candidate alternativesx1x2x3x4x5x6x7x8x9x10object_01010000001object_10101111000object_20001011010object_30010001100object_40001100100object_51100000011object_60010000001object_70100000110minimize; alternative costsx1x2x3x4x5x6x7x8x9x10cost19161813151915171615