Let F be a set-valued mapping which to each point x of a metric space (M, ρ) assigns a convex closed set F(x) ⊂ R 2 . We present several constructive criteria for the existence of a Lipschitz selection of F, i.e., a Lipschitz mapping f : M → R 2 such that f (x) ∈ F(x) for every x ∈ M. The geometric methods we develop to prove these criteria provide efficient algorithms for constructing nearly optimal Lipschitz selections and computing the order of magnitude of their Lipschitz seminorms. Contents 1. Introduction. 2. Notation and preliminaries. 2.1 Background notation. 2.2 Rectangles and rectangular hulls. 2.3 Rectangles: intersections, neighborhoods and selections. 3. The key theorem: Lipschitz selections and rectangular hulls. 4. Proof of the key theorem: the final step. 5. Lipschitz selection criteria in the two dimensional case. 5.1 Constructive criteria for Lipschitz selections: proofs. 5.2 Criteria for Lipschitz selections in terms of intersections of sets. 6. Projection Algorithm for nearly optimal Lipschitz selections. 6.1 The ⃗ λ-Projection Algorithm. 6.2 Projection Algorithms and a solution to the second main problem. 6.3 The constant Λ R (F) and other related constants. 6.4 Lipschitz selections of polygon-set valued mappings. 7. Lipschitz selections and iterations of balanced refinements. 7.1 The Stabilization Principle for balanced refinements of set-valued mappings. 7.2 The Iterative Algorithm for set-valued mappings. References