14#ifndef OR_TOOLS_SAT_2D_PACKING_BRUTE_FORCE_H_
15#define OR_TOOLS_SAT_2D_PACKING_BRUTE_FORCE_H_
20#include "absl/types/span.h"
46 absl::Span<const IntegerValue> sizes_x,
47 absl::Span<const IntegerValue> sizes_y,
48 std::pair<IntegerValue, IntegerValue> bounding_box_size,
62bool Preprocess(absl::Span<PermutableItem>& items,
63 std::pair<IntegerValue, IntegerValue>& bounding_box_size,
BruteForceResult BruteForceOrthogonalPacking(absl::Span< const IntegerValue > sizes_x, absl::Span< const IntegerValue > sizes_y, std::pair< IntegerValue, IntegerValue > bounding_box_size, int max_complexity)
bool Preprocess(absl::Span< PermutableItem > &items, std::pair< IntegerValue, IntegerValue > &bounding_box_size, int max_complexity)
Exposed for testing.
In SWIG mode, we don't want anything besides these top-level includes.
std::vector< Rectangle > positions_for_solution
Only non-empty if status==kFoundSolution.
int index
Position of the item in the original input.