Optimization problems
Lax213208.OptimizationProblem · concepts/Lax213208/OptimizationProblem.lean · lax-213208
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
An optimization problem specifies feasible solutions, nonnegative objective values, and whether to minimize or maximize. Instances and solutions are typed mathematical objects with fixed, injective representations. Input size is the binary size of the instance's structural arena.
The predicates are relative to these representations. Input presentations should come from the archive's structural combinators or certified constructor derivations; injectivity alone does not exclude encoded advice.
Concept map
Lean source view on GitHub
| 1 | import Mathlib.Data.NNReal.Basic |
| 2 | import Mathlib.Data.Set.Basic |
| 3 | import Lax560851.WordArena |
| 4 | import Lax759944.BinaryWordEncoding |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Optimization problems |
| 9 | type: definition |
| 10 | --- |
| 11 | An optimization problem specifies feasible solutions, nonnegative objective |
| 12 | values, and whether to minimize or maximize. Instances and solutions are |
| 13 | typed mathematical objects with fixed, injective representations. |
| 14 | Input size is the binary size of the instance's structural arena. |
| 15 | |
| 16 | The predicates are relative to these representations. Input presentations |
| 17 | should come from the archive's structural combinators or certified |
| 18 | constructor derivations; injectivity alone does not exclude encoded advice. |
| 19 | -/ |
| 20 | |
| 21 | namespace Lax213208.OptimizationProblem |
| 22 | |
| 23 | open scoped NNReal |
| 24 | open Lax560851.StructuralPresentation Lax560851.WordArena |
| 25 | open Lax759944.BinaryWordEncoding |
| 26 | |
| 27 | inductive Direction |
| 28 | | minimize |
| 29 | | maximize |
| 30 | |
| 31 | structure Problem (Instance Solution : Type*) where |
| 32 | direction : Direction |
| 33 | feasible : Instance → Solution → Prop |
| 34 | value : Instance → Solution → ℝ≥0 |
| 35 | input : Presentation Instance |
| 36 | output : Solution → List ℕ |
| 37 | input_faithful : input.Faithful |
| 38 | output_injective : Function.Injective output |
| 39 | |
| 40 | variable {Instance Solution : Type*} |
| 41 | |
| 42 | def inputWords (problem : Problem Instance Solution) (x : Instance) : List ℕ := |
| 43 | (encode problem.input x).toInput |
| 44 | |
| 45 | def inputSize (problem : Problem Instance Solution) (x : Instance) : ℕ := |
| 46 | bitSize (inputWords problem x) |
| 47 | |
| 48 | end Lax213208.OptimizationProblem |
| 49 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments