From b1c43c116f4e9189a8cd34b58782916402f14def Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 18 May 2026 09:59:51 +0900 Subject: [PATCH 01/42] [feat] initial implement for z3-solver opt pipeline --- .gitignore | 1 + docker-run.sh | 338 ++++++++++++++++++ input/z3-bench/README.md | 183 ++++++++++ input/z3-bench/evolve/build_stage1_sample.py | 73 ++++ input/z3-bench/evolve/config.yaml | 72 ++++ input/z3-bench/evolve/extract_best.py | 65 ++++ .../evolve/phase1_opt_sls/initial_program.py | 71 ++++ .../evolve/phase2_sat/initial_program.py | 178 +++++++++ .../evolve/phase3_smt/initial_program.py | 164 +++++++++ .../evolve/phase4_unified/initial_program.py | 36 ++ input/z3-bench/evolve/prepare_phase4.py | 62 ++++ input/z3-bench/evolve/run_phase.sh | 72 ++++ .../z3-bench/evolve/shared/baseline_params.py | 33 ++ input/z3-bench/evolve/shared/evaluator.py | 206 +++++++++++ input/z3-bench/evolve/shared/score.py | 49 +++ .../z3-bench/evolve/shared/stage1_sample.json | 39 ++ input/z3-bench/evolve/shared/z3_runner.py | 91 +++++ input/z3-bench/problems.csv | 51 +++ input/z3-bench/problems.jsonl | 50 +++ scripts/z3_bench_collect.py | 284 +++++++++++++++ 20 files changed, 2118 insertions(+) create mode 100755 docker-run.sh create mode 100644 input/z3-bench/README.md create mode 100644 input/z3-bench/evolve/build_stage1_sample.py create mode 100644 input/z3-bench/evolve/config.yaml create mode 100644 input/z3-bench/evolve/extract_best.py create mode 100644 input/z3-bench/evolve/phase1_opt_sls/initial_program.py create mode 100644 input/z3-bench/evolve/phase2_sat/initial_program.py create mode 100644 input/z3-bench/evolve/phase3_smt/initial_program.py create mode 100644 input/z3-bench/evolve/phase4_unified/initial_program.py create mode 100644 input/z3-bench/evolve/prepare_phase4.py create mode 100755 input/z3-bench/evolve/run_phase.sh create mode 100644 input/z3-bench/evolve/shared/baseline_params.py create mode 100644 input/z3-bench/evolve/shared/evaluator.py create mode 100644 input/z3-bench/evolve/shared/score.py create mode 100644 input/z3-bench/evolve/shared/stage1_sample.json create mode 100644 input/z3-bench/evolve/shared/z3_runner.py create mode 100644 input/z3-bench/problems.csv create mode 100644 input/z3-bench/problems.jsonl create mode 100644 scripts/z3_bench_collect.py diff --git a/.gitignore b/.gitignore index 338d65a218..597934fc78 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ htmlcov/ # For SR secrets.yaml problems +input/z3-bench/raw-data \ No newline at end of file diff --git a/docker-run.sh b/docker-run.sh new file mode 100755 index 0000000000..26fac275a3 --- /dev/null +++ b/docker-run.sh @@ -0,0 +1,338 @@ +#!/bin/bash + +# Docker Container Run Script +# Usage: ./docker-run.sh [dev|prod] [options] +# dev|prod : Select development (dev) or production (prod) environment +# -d, --detached : Run in detached mode +# -i, --interactive : Run in interactive mode (default) +# -s, --suffix : Add suffix to container name +# -h, --help : Show help message + +set -e # Exit on error + +# Color definitions +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color +# Configuration +REGISTRY_URL="192.168.10.12:5050" +IMAGE_NAME="infra/axion-dev-docker" +USERNAME=$(whoami) + +# 아키텍처 자동 감지 +ARCH=$(uname -m) +case "$ARCH" in + x86_64) PLATFORM="linux/amd64" ;; + aarch64) PLATFORM="linux/arm64" ;; + arm64) PLATFORM="linux/arm64" ;; + *) echo -e "${RED}Unsupported architecture: $ARCH${NC}"; exit 1 ;; +esac + +# Current script directory +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Default settings +DETACHED_MODE=false +INTERACTIVE_MODE=true +ENV_TYPE="dev" +IMAGE_TAG="dev-latest" +CONTAINER_SUFFIX="" + +# Help function +show_help() { + echo "Usage: $0 [dev|prod] [options]" + echo "" + echo "Environment selection (optional, default: dev):" + echo " dev Use development environment image (dev-latest) [default]" + echo " prod Use production environment image (prod-latest)" + echo "" + echo "Options:" + echo " -d, --detached Run in detached mode" + echo " -i, --interactive Run in interactive mode (default)" + echo " -s, --suffix TEXT Add suffix to default container name" + echo " -h, --help Show this help message" + echo "" + echo "Examples:" + echo " $0 # Run dev environment in interactive mode (default)" + echo " $0 dev # Run dev environment in interactive mode" + echo " $0 prod -d # Run prod environment in detached mode" + echo " $0 -d # Run dev environment in detached mode" + echo " $0 dev -s test # Container: axion-cell-container-dev-\$USER-test" + echo "" +} + +# Check for help argument +if [[ "$1" == "-h" ]] || [[ "$1" == "--help" ]]; then + show_help + exit 0 +fi + +# Check environment type from first argument (optional) +if [[ $# -gt 0 ]]; then + case $1 in + dev|DEV) + ENV_TYPE="dev" + IMAGE_TAG="dev-latest" + shift + ;; + prod|PROD) + ENV_TYPE="prod" + IMAGE_TAG="prod-latest" + shift + ;; + -d|--detached|-i|--interactive|-s|--suffix) + # If option comes first, use default (dev) + ;; + *) + echo -e "${RED}Error: Invalid argument: $1${NC}" + echo -e "${YELLOW}Please enter dev, prod, or a valid option.${NC}" + echo "" + show_help + exit 1 + ;; + esac +fi + +# Image name configuration +REGISTRY_IMAGE="$REGISTRY_URL/$IMAGE_NAME:$IMAGE_TAG" +LOCAL_IMAGE="$IMAGE_NAME-$USERNAME:$IMAGE_TAG" +CONTAINER_NAME="axion-cell-container-$ENV_TYPE-$USERNAME" + +# Parse remaining arguments +while [[ $# -gt 0 ]]; do + case $1 in + -d|--detached) + DETACHED_MODE=true + INTERACTIVE_MODE=false + shift + ;; + -i|--interactive) + INTERACTIVE_MODE=true + DETACHED_MODE=false + shift + ;; + -h|--help) + show_help + exit 0 + ;; + -s|--suffix) + if [[ -z "$2" ]] || [[ "$2" == -* ]]; then + echo -e "${RED}Error: $1 requires a suffix value.${NC}" + show_help + exit 1 + fi + CONTAINER_SUFFIX="$2" + shift 2 + ;; + *) + echo -e "${RED}Unknown option: $1${NC}" + show_help + exit 1 + ;; + esac +done + +if [[ -n "$CONTAINER_SUFFIX" ]]; then + CONTAINER_NAME="${CONTAINER_NAME}-${CONTAINER_SUFFIX}" +fi + +echo -e "${GREEN}================================================${NC}" +echo -e "${GREEN} AxionCell Docker Container Run${NC}" +echo -e "${GREEN}================================================${NC}" +echo "" + +# Check Docker installation +if ! command -v docker &> /dev/null; then + echo -e "${RED}Error: Docker is not installed.${NC}" + exit 1 +fi + +# Check Docker daemon status and determine if using rootless Docker +ROOTLESS_DOCKER=false +if ! docker info &> /dev/null; then + # Check if rootless docker is available + if [[ -S "/run/user/$(id -u)/docker.sock" ]]; then + export DOCKER_HOST="unix:///run/user/$(id -u)/docker.sock" + if docker info &> /dev/null; then + ROOTLESS_DOCKER=true + echo -e "${BLUE}Using rootless Docker (DOCKER_HOST=$DOCKER_HOST)${NC}" + else + echo -e "${RED}Error: Docker daemon is not running.${NC}" + echo -e "${YELLOW}Hint: For rootless Docker, run: systemctl --user start docker${NC}" + exit 1 + fi + else + echo -e "${RED}Error: Docker daemon is not running.${NC}" + echo -e "${YELLOW}Hint: You may need to install rootless Docker:${NC}" + echo -e " dockerd-rootless-setuptool.sh install" + exit 1 + fi +else + # Check if current user has root privileges for Docker + if docker info 2>&1 | grep -q "rootless"; then + ROOTLESS_DOCKER=true + echo -e "${BLUE}Using rootless Docker${NC}" + else + echo -e "${BLUE}Using root Docker${NC}" + fi +fi + +# Pull image from registry +echo -e "${YELLOW}[$ENV_TYPE environment] Registry image: $REGISTRY_IMAGE${NC}" +echo -e "${BLUE}Platform: $PLATFORM${NC}" +echo -e "${BLUE}Pulling image from GitLab Registry...${NC}" +echo "" +if docker pull --platform "$PLATFORM" "$REGISTRY_IMAGE"; then + echo -e "${GREEN}Successfully pulled image!${NC}" + echo "" +else + echo -e "${RED}Error: Failed to pull image.${NC}" + echo -e "${YELLOW}Hint: You may need to login to GitLab Registry:${NC}" + echo -e " docker login $REGISTRY_URL" + exit 1 +fi + +# Create local image tag with username +echo -e "${BLUE}Creating local image tag: $LOCAL_IMAGE${NC}" +if docker tag "$REGISTRY_IMAGE" "$LOCAL_IMAGE"; then + echo -e "${GREEN}Successfully created local image tag!${NC}" + echo "" +else + echo -e "${RED}Error: Failed to create local image tag.${NC}" + exit 1 +fi + +# Remove existing container if exists +if docker ps -a | grep -q "$CONTAINER_NAME"; then + echo -e "${YELLOW}Removing existing container...${NC}" + docker rm -f "$CONTAINER_NAME" > /dev/null 2>&1 || true +fi + +# Create result and log directories +mkdir -p "$SCRIPT_DIR/result" +mkdir -p "$SCRIPT_DIR/logs" + +# Create persistent directories for Docker credentials and bash history +DOCKER_PERSIST_DIR="$HOME/.axion-docker-persist" +mkdir -p "$DOCKER_PERSIST_DIR" + +# Initialize persistent files if they don't exist (to avoid mounting as directories) +touch "$DOCKER_PERSIST_DIR/.bash_history" 2>/dev/null || true + +# Configure Docker run options based on Docker mode (rootless vs root) +if [ "$ROOTLESS_DOCKER" = true ]; then + # Rootless Docker: Mount user's home directory as per the guide + # Container runs as root but binds to user's home directory + DOCKER_RUN_OPTS=( + "--name" "$CONTAINER_NAME" + "--rm" + "--platform" "$PLATFORM" + "--cap-add=SYS_PTRACE" + "--security-opt" "seccomp=unconfined" + "-v" "$HOME:$HOME" + ) + if [ -d "/home/share" ]; then + DOCKER_RUN_OPTS+=("-v" "/home/share:/home/share") + fi + DOCKER_RUN_OPTS+=( + "-v" "$SCRIPT_DIR/logs:$SCRIPT_DIR/logs" + "-v" "$SCRIPT_DIR/result:$SCRIPT_DIR/result" + "-v" "$HOME/.ssh:/root/.ssh" + "-v" "$HOME/.gitconfig:/root/.gitconfig" + "-w" "$SCRIPT_DIR" + "-e" "HOME=$HOME" + "-e" "TZ=Asia/Seoul" + ) + # Rootless Docker stores credentials in ~/.config/docker/config.json + # Mount it to ~/.docker/config.json for container compatibility + if [[ -f "$HOME/.config/docker/config.json" ]]; then + DOCKER_RUN_OPTS+=("-v" "$HOME/.config/docker/config.json:$HOME/.docker/config.json:ro") + DOCKER_RUN_OPTS+=("-v" "$HOME/.config/docker/config.json:/root/.docker/config.json:ro") + mkdir -p "$HOME/.docker" 2>/dev/null || true + fi +else + # Root Docker: Mount project directory and persistent configs + # Mount to both /root and /home/appuser to support both root and non-root container users + DOCKER_RUN_OPTS=( + "--name" "$CONTAINER_NAME" + "--rm" + "--platform" "$PLATFORM" + "--cap-add=SYS_PTRACE" + "--security-opt" "seccomp=unconfined" + "-v" "$SCRIPT_DIR:/app" + "-v" "$SCRIPT_DIR/logs:/app/logs" + "-v" "$SCRIPT_DIR/result:/app/result" + "-v" "$HOME/.ssh:/root/.ssh:ro" + "-v" "$HOME/.ssh:/home/appuser/.ssh:ro" + "-v" "$HOME/.docker/config.json:/root/.docker/config.json:ro" + "-v" "$HOME/.docker/config.json:/home/appuser/.docker/config.json:ro" + "-v" "$DOCKER_PERSIST_DIR/.bash_history:/root/.bash_history" + "-v" "$DOCKER_PERSIST_DIR/.bash_history:/home/appuser/.bash_history" + "-v" "$HOME/.gitconfig:/root/.gitconfig" + "-v" "$HOME/.gitconfig:/home/appuser/.gitconfig" + "-w" "/app" + "-e" "TZ=Asia/Seoul" + "-e" "HOST_PROJECT_DIR=$SCRIPT_DIR" + ) +fi + +# Add options based on execution mode +if [ "$DETACHED_MODE" = true ]; then + DOCKER_RUN_OPTS+=("-d") + echo -e "${YELLOW}Running in detached mode...${NC}" +else + DOCKER_RUN_OPTS+=("-it") + echo -e "${YELLOW}Running in interactive mode...${NC}" +fi + +echo "" +echo -e "${BLUE}Run Configuration:${NC}" +echo -e " Environment: $ENV_TYPE" +echo -e " Docker Mode: $([ "$ROOTLESS_DOCKER" = true ] && echo "Rootless" || echo "Root")" +echo -e " Registry Image: $REGISTRY_IMAGE" +echo -e " Local Image: $LOCAL_IMAGE" +echo -e " Container: $CONTAINER_NAME" +if [ "$ROOTLESS_DOCKER" = true ]; then + echo -e " Home Directory: $HOME (mounted as \$HOME)" + echo -e " Working Directory: $SCRIPT_DIR" + if [ -d "/home/share" ]; then + echo -e " Shared Directory: /home/share" + fi +else + echo -e " Project Directory: $SCRIPT_DIR (→ /app)" + echo -e " Result Directory: $SCRIPT_DIR/result" + echo -e " Log Directory: $SCRIPT_DIR/logs" + echo -e " Persistent Data: $DOCKER_PERSIST_DIR (bash history, gitconfig)" + echo -e " Docker Credentials: ~/.docker/config.json (read-only)" +fi +echo "" + +# Run Docker container +if docker run "${DOCKER_RUN_OPTS[@]}" "$LOCAL_IMAGE"; then + echo "" + if [ "$DETACHED_MODE" = true ]; then + echo -e "${GREEN}================================================${NC}" + echo -e "${GREEN} Container is running in background${NC}" + echo -e "${GREEN}================================================${NC}" + echo "" + echo -e "${YELLOW}Useful commands:${NC}" + echo -e " View logs: docker logs -f $CONTAINER_NAME" + echo -e " Container status: docker ps" + echo -e " Stop container: docker stop $CONTAINER_NAME" + echo -e " Attach to shell: docker exec -it $CONTAINER_NAME /bin/bash" + echo "" + else + echo -e "${GREEN}Container has exited.${NC}" + fi + + echo -e "${YELLOW}Result files location: $SCRIPT_DIR/result${NC}" + echo -e "${YELLOW}Log files location: $SCRIPT_DIR/logs${NC}" +else + echo "" + echo -e "${RED}================================================${NC}" + echo -e "${RED} Container execution failed!${NC}" + echo -e "${RED}================================================${NC}" + exit 1 +fi diff --git a/input/z3-bench/README.md b/input/z3-bench/README.md new file mode 100644 index 0000000000..2616787f77 --- /dev/null +++ b/input/z3-bench/README.md @@ -0,0 +1,183 @@ +# z3-bench 데이터셋 + +Z3 SMT 솔버(v4.13.3.0)를 SMT-LIB2 인스턴스 모음에 실행한 벤치마크 결과 데이터셋이다. 각 행은 한 인스턴스에 대한 1회 실행(seed 고정, 동일 파라미터 프로파일)의 결과(만족도, 경과 시간, 솔버 내부 통계, 인스턴스 특성)를 담는다. 솔버 파라미터 튜닝(예: Z3 옵션 자동 튜닝, 휴리스틱 학습)을 위한 학습/평가 코퍼스로 활용 가능하다. + +## 구성 + +| 경로 | 설명 | +|---|---| +| `problems.jsonl` | 한 줄 = 한 실행 결과 (JSON 객체). 50개 행. | +| `problems.csv` | 동일 결과의 평탄화(flatten)된 CSV 버전. 중첩 객체는 일부 컬럼만 노출. | +| `raw-data/*.smt2` | 원본 SMT-LIB2 입력 파일. 파일명 = `.smt2`. | +| `raw-data/*____seed.meta.jsonl` | 실행별 메타 로그. `meta_path`로 참조됨. | + +## 데이터셋 요약(현재 스냅샷) + +- 행 수: 50 +- Z3 버전: `4.13.3.0` (단일) +- `applied_params_hash`: 1종(`543b29ed...ffcec6`) — 모든 행이 동일 파라미터 프로파일로 실행됨 +- `seed`: 0 (단일) +- 결과 분포(`z3_status.result`): `Sat` 31, `Unsat` 19 +- 경과 시간(`z3_status.elapsed_ms`): min 221 / max 181,205 / avg ≈ 24,229 ms +- 변수 수(`features.num_variables`): min 3,797 / max 99,809 +- `path == "primary"` 47행 / 누락 3행 (5, 19, 49번째 행 — `solver` 필드도 동반 누락; 그 외 모든 필드는 존재) + +--- + +## JSONL 스키마 + +각 줄은 다음 최상위 필드를 가진 객체이다. + +### 최상위 필드 + +| 필드 | 타입 | 설명 | +|---|---|---| +| `problem_sha256` | string (hex, 64) | SMT2 인스턴스 내용의 SHA-256. 인스턴스 고유 ID. | +| `smt2_filename` | string | SMT2 파일명 (`.smt2`). | +| `smt2_path` | string (absolute path) | 호스트 상의 SMT2 파일 절대 경로. `raw-data/` 아래. | +| `meta_path` | string (absolute path) | 실행 메타 로그(`*.meta.jsonl`) 절대 경로. | +| `solver` | string | 사용 솔버명. 현재 데이터는 `"z3"` (3개 행에서 누락). | +| `z3_version` | string | Z3 빌드 버전. 현재 `"4.13.3.0"`. | +| `seed` | int | 실행 시드. 현재 `0`. | +| `path` | string | 실행 경로 라벨. 현재 `"primary"` (3개 행에서 누락). 다중 분기 실행 시 변형(예: ablation) 구분 용도. | +| `applied_params_hash` | string (hex, 64) | `z3_applied_params`의 정규화 해시. 동일 파라미터 프로파일을 빠르게 그룹핑. | +| `cli_params` | object | 실행을 일으킨 상위 도구의 CLI 파라미터(아래 참조). | +| `z3_applied_params` | object | Z3에 실제로 인가된 옵션 키-값(아래 참조). | +| `features` | object | 인스턴스 정적 특성(아래 참조). | +| `z3_statistics` | object | Z3가 실행 후 출력한 내부 통계(아래 참조). | +| `z3_status` | object | 실행 종료 상태(`result`, `elapsed_ms`). | + +> 참고: 일부 행에는 `error` 필드가 추가될 수 있으나, 현재 스냅샷에는 없음. + +### `cli_params` (도구 측 호출 파라미터) + +상위 벤치 러너에서 받은 인자. 문자열로 저장됨에 유의. + +| 키 | 타입(원본) | 설명 | +|---|---|---| +| `solver` | str | 사용 솔버 식별자 (`"z3"`). | +| `tech` / `process` | str | 기법/프로세스 라벨 (예: `"sf4lpp"`). 인스턴스 전처리·인코딩 방법론 구분. | +| `effort` | str | 자원 등급 라벨 (`"low"` 등). | +| `seed` | str(int) | 시드. | +| `solver_iter_timeout` | str(float, 초) | 솔버 1회 호출 타임아웃. 현재 `"3600.0"`. | +| `use_reboot` | str(bool) | 솔버 재시작(reboot) 사용 여부. | +| `optimize_m1` / `optimize_m2` | str(bool) | 1차/2차 목적함수 최적화 활성 여부. | +| `m2_offset` | str | 2차 목적의 오프셋 모드 (`"zero"` 등). | +| `num_of_heights` | str(int) | 도메인 특화 파라미터(높이 슬롯 수). | +| `unsat_debug` | str(bool) | UNSAT 디버그 모드 토글. | + +### `z3_applied_params` (Z3 옵션 실제 인가값) + +Z3에 set-option으로 전달된 키-값. `opt.*`, `sat.*`, `smt.*`, `sls.*`, `parallel.*` 네임스페이스로 구성. + +| 키 | 타입 | 설명 | +|---|---|---| +| `opt.enable_core_rotate` | bool | MaxSAT 코어 회전 최적화 활성. | +| `opt.enable_sat` | bool | opt 엔진에서 SAT 백엔드 활성. | +| `opt.enable_sls` | bool | opt 엔진에서 SLS(확률적 지역 탐색) 활성. | +| `opt.maxres.hill_climb` | bool | MaxRes 힐 클라이밍 활성. | +| `opt.maxsat_engine` | string | MaxSAT 엔진 선택(`"wmax"` 등). | +| `opt.priority` | string | 다목적 우선순위 전략 (`"pareto"` 등). | +| `opt.rc2.totalizer` | bool | RC2의 totalizer 인코딩 사용. | +| `parallel.enable` | bool | 병렬 모드 활성. | +| `sat.branching.heuristic` | string | SAT 분기 휴리스틱 (`"vsids"` 등). | +| `sat.pb.solver` | string | PB(Pseudo-Boolean) 솔버 (`"totalizer"` 등). | +| `sat.phase` | string | 위상 선택 정책 (`"caching"` 등). | +| `sat.restart` | string | 재시작 정책 (`"geometric"` 등). | +| `sat.random_seed` | int | SAT 코어 시드. | +| `sat.threads` | int | SAT 스레드 수. | +| `sls.random_seed` | int | SLS 시드. | +| `smt.phase_selection` | int | SMT 위상 선택 모드(번호). | +| `smt.random_seed` | int | SMT 시드. | +| `smt.threads` | int | SMT 스레드 수. | +| `threads` | int | 전역 스레드 수. | + +### `features` (인스턴스 정적 특성) + +| 키 | 타입 | 설명 | +|---|---|---| +| `num_variables` | int | 선언된 변수 총 개수. | +| `num_bool` | int | Bool 정렬(sort) 변수 수. | +| `num_int` | int | Int 정렬 변수 수. | +| `num_real` | int | Real 정렬 변수 수. | +| `num_hard_constraints` | int | 하드 제약 수(`assert`). | +| `num_soft_constraints` | int | 소프트 제약 수(`assert-soft`). | +| `num_minimize_objectives` | int | `minimize` 목적함수 수. | +| `num_maximize_objectives` | int | `maximize` 목적함수 수. | + +### `z3_status` (종료 상태) + +| 키 | 타입 | 설명 | +|---|---|---| +| `result` | string | `"Sat"` / `"Unsat"` / `"Unknown"` / 에러 라벨. | +| `elapsed_ms` | int | 벽시계 경과 시간(ms). | + +### `z3_statistics` (Z3 내부 통계) + +Z3의 `(get-statistics)` 출력을 키-값으로 보존(키에 공백/하이픈 포함). 인스턴스마다 일부 키만 출력될 수 있으므로 누락 가능. 주요 키(현 스냅샷에서 관측된 35개): + +- 시간/메모리/자원: `time`(초), `memory`, `max memory`(MB), `rlimit count`, `num allocs` +- 검색 통계: `conflicts`, `decisions`, `restarts`, `propagations`, `binary propagations`, `final checks`, `num checks`, `minimized lits`, `del clause`, `mk clause`, `mk clause binary`, `mk bool var` +- 등식/단순화: `added eqs`, `solve-eqs-elim-vars`, `solve-eqs-steps` +- 산술(arith) 이론: `arith eq adapter`, `arith-bound-propagations-lp`, `arith-conflicts`, `arith-diseq`, `arith-fixed-eqs`, `arith-lower`, `arith-upper`, `arith-make-feasible`, `arith-max-columns`, `arith-max-rows`, `arith-offset-eqs` +- Pseudo-Boolean: `pb conflicts`, `pb predicates`, `pb propagations`, `pb resolves` + +타입은 정수 또는 부동소수(특히 `time`, `*memory*`). + +--- + +## CSV 스키마 (`problems.csv`) + +JSONL의 평탄화 버전. 컬럼은 다음과 같으며, 중첩 객체에서 일부 핵심 필드만 노출한다. + +``` +problem_sha256, applied_params_hash, seed, solver, path, z3_version, +result, elapsed_ms, +num_variables, num_bool, num_int, num_real, +num_hard_constraints, num_soft_constraints, +num_minimize_objectives, num_maximize_objectives, +cli_effort, cli_tech, cli_process, cli_solver_iter_timeout, +cli_use_reboot, cli_optimize_m1, cli_optimize_m2, cli_num_of_heights, +z3_conflicts, z3_decisions, z3_propagations, z3_final_checks, z3_num_checks, +z3_max_memory_mb, z3_time_s, z3_rlimit_count, +smt2_filename, smt2_path, meta_path, +error +``` + +- `result`, `elapsed_ms` ← `z3_status.*` +- `num_*` ← `features.*` +- `cli_*` ← `cli_params.*`(접두사 부여) +- `z3_*` ← `z3_statistics`의 핵심 키(공백/하이픈 → 언더스코어) +- 전체 `z3_applied_params` 및 모든 `z3_statistics` 키가 필요하면 JSONL을 사용할 것. + +--- + +## 사용 예 + +```python +import json, pandas as pd + +rows = [json.loads(l) for l in open("input/z3-bench/problems.jsonl")] + +# Sat/Unsat 분포 +from collections import Counter +print(Counter(r["z3_status"]["result"] for r in rows)) + +# 인스턴스 크기 vs 시간 +df = pd.DataFrame([{ + "sha": r["problem_sha256"][:8], + "vars": r["features"]["num_variables"], + "hard": r["features"]["num_hard_constraints"], + "soft": r["features"]["num_soft_constraints"], + "ms": r["z3_status"]["elapsed_ms"], + "result": r["z3_status"]["result"], +} for r in rows]) +print(df.describe()) +``` + +## 비고 + +- 모든 행이 동일 `applied_params_hash`/seed 0이므로, 현재 스냅샷은 "단일 파라미터 프로파일에서의 인스턴스 난이도 분포"를 나타낸다. 파라미터 비교 실험을 위해서는 동일 `problem_sha256`에 대해 여러 프로파일을 추가 수집해야 한다. +- 일부 행에서 `path`/`solver` 누락이 있다 → 다운스트림 파서는 결측 허용 처리 권장. +- `z3_statistics` 키 집합은 인스턴스/실행마다 가변. 고정 컬럼 매트릭스를 만들려면 누락은 0/NaN으로 채울 것. +- 큰 인스턴스(`num_variables` ≈ 10⁵, `elapsed_ms` 최대 ≈ 181s)도 포함되어 있으니, 학습 시 시간 컷오프/정규화 고려. diff --git a/input/z3-bench/evolve/build_stage1_sample.py b/input/z3-bench/evolve/build_stage1_sample.py new file mode 100644 index 0000000000..ec8b77b3af --- /dev/null +++ b/input/z3-bench/evolve/build_stage1_sample.py @@ -0,0 +1,73 @@ +""" +Generate stage1_sample.json: 5 problems stratified by baseline elapsed_ms quantile. + +Fixed seed (42) for reproducibility. Sort by baseline_ms, split into 5 equal-size +buckets, pick one from each bucket. Result written to shared/stage1_sample.json. +""" +import json +import pathlib +import random + +ROOT = pathlib.Path(__file__).resolve().parent +PROBLEMS = ROOT.parent / "problems.jsonl" +OUT = ROOT / "shared" / "stage1_sample.json" + +NUM_BUCKETS = 5 +SEED = 42 + + +def main(): + rows = [] + with open(PROBLEMS) as f: + for line in f: + d = json.loads(line) + rows.append( + ( + d["problem_sha256"], + d["z3_status"]["elapsed_ms"], + d["z3_status"]["result"], + ) + ) + rows.sort(key=lambda r: r[1]) + + n = len(rows) + if n < NUM_BUCKETS: + raise SystemExit(f"need >= {NUM_BUCKETS} problems, got {n}") + + rng = random.Random(SEED) + picked = [] + for i in range(NUM_BUCKETS): + lo = i * n // NUM_BUCKETS + hi = (i + 1) * n // NUM_BUCKETS + bucket = rows[lo:hi] + if bucket: + picked.append(rng.choice(bucket)) + + OUT.parent.mkdir(parents=True, exist_ok=True) + OUT.write_text( + json.dumps( + { + "seed": SEED, + "num_buckets": NUM_BUCKETS, + "source": str(PROBLEMS.relative_to(ROOT.parent.parent)), + "sha256": [r[0] for r in picked], + "summary": [ + { + "sha": r[0][:12], + "baseline_ms": r[1], + "baseline_result": r[2], + } + for r in picked + ], + }, + indent=2, + ) + + "\n" + ) + print(f"wrote {OUT.relative_to(ROOT.parent.parent)} ({len(picked)} problems)") + for s in picked: + print(f" {s[0][:12]} {s[1]:>8} ms {s[2]}") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml new file mode 100644 index 0000000000..e0a7bf09c0 --- /dev/null +++ b/input/z3-bench/evolve/config.yaml @@ -0,0 +1,72 @@ +# Shared OpenEvolve config for all Z3 tuning phases. +# Per-phase iteration count is set in run_phase.sh. + +max_iterations: 100 +checkpoint_interval: 10 +log_level: "INFO" +random_seed: 42 + +diff_based_evolution: true +max_code_length: 20000 # phase2 (~95 keys) needs headroom + +early_stopping_patience: null +convergence_threshold: 0.001 +early_stopping_metric: "combined_score" + +llm: + primary_model: "gemini-2.5-flash" + primary_model_weight: 0.8 + secondary_model: "gemini-2.5-pro" + secondary_model_weight: 0.2 + api_base: "https://generativelanguage.googleapis.com/v1beta/openai/" + temperature: 0.7 + max_tokens: 16000 + timeout: 180 + +prompt: + system_message: | + You tune Z3 SMT solver parameters for a MaxSMT/optimization workload (50 SMT2 instances + with ~13k Int / 19k Bool / 40 Real vars, ~2k soft + 105k hard constraints, opt.* engaged). + + The initial_program.py exposes an EVOLVE-BLOCK dict (per phase: opt.*+sls.*, sat.*, smt.*, + or unified). Your job is to mutate this dict to MINIMIZE wall-clock time across the + benchmark while PRESERVING correctness (Sat/Unsat must match baseline). + + Hard rules: + - Do NOT modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable + (locked; evaluator returns 0 on violation). + - Use only valid Z3 4.13.x parameter keys. Unknown keys cause evaluator to return 0 + and surface the offending key in artifacts. + - Respect types: bool=true/false, ints, floats, symbols (bare strings like "vsids"). + + Knob domains (non-exhaustive): + sat.branching.heuristic in {vsids, lrb, chb} + sat.restart in {luby, geometric, ema, static} + sat.phase in {always_false, always_true, basic_caching, random, caching} + sat.gc in {glue, psm, glue_psm, dyn_psm} + sat.pb.solver in {circuit, sorting, totalizer, solver, segmented, binary_merge} + sat.cardinality.encoding in {grouped, bimander, ordered, unate, circuit} + smt.phase_selection 0..5 + smt.case_split 0..6 + smt.restart_strategy in {0=geometric, 1=inner_outer, 2=luby, 3=fixed, 4=arithmetic} + smt.arith.solver in {2=simplex, 5=infinitary_lra, 6=lra} + opt.maxsat_engine in {maxres, pd-maxres, wmax, sortmax, rc2, maxres-bin} + opt.optsmt_engine in {basic, farkas, symba} + opt.priority in {lex, pareto, box} + sls.walksat_ucb_constant: float, sls.wp: percent 0..100 + + Read the per_problem artifacts each round — they show speedup/regression per instance. + Look for patterns: which knob change helped the slow Unsat cases vs the fast Sat cases? + +database: + population_size: 50 + archive_size: 20 + num_islands: 3 + elite_selection_ratio: 0.2 + exploitation_ratio: 0.7 + similarity_threshold: 0.95 + +evaluator: + timeout: 1800 # 30 min cap per variant (stage2 fallback) + cascade_thresholds: [0.3] # need stage1 score >= 0.3 to enter stage2 + parallel_evaluations: 1 # z3 memory-heavy (up to 4 GB observed); raise carefully diff --git a/input/z3-bench/evolve/extract_best.py b/input/z3-bench/evolve/extract_best.py new file mode 100644 index 0000000000..bb0a47c160 --- /dev/null +++ b/input/z3-bench/evolve/extract_best.py @@ -0,0 +1,65 @@ +""" +After phase N completes, extract get_phase_overrides() from its best_program.py +and write shared/phaseN_best.json. Phase N+1 auto-loads it. + +Usage: python extract_best.py +""" +import importlib.util +import json +import pathlib +import sys + +ROOT = pathlib.Path(__file__).resolve().parent +SHARED = ROOT / "shared" + +PHASE_DIRS = { + 1: "phase1_opt_sls", + 2: "phase2_sat", + 3: "phase3_smt", +} + + +def main(): + if len(sys.argv) != 2: + print("usage: python extract_best.py <1|2|3>", file=sys.stderr) + sys.exit(2) + + n = int(sys.argv[1]) + if n not in PHASE_DIRS: + print(f"phase must be 1, 2, or 3 (got {n})", file=sys.stderr) + sys.exit(2) + + phase_dir = ROOT / PHASE_DIRS[n] + best_py = phase_dir / "openevolve_output" / "best" / "best_program.py" + if not best_py.exists(): + print(f"best_program.py not found: {best_py}", file=sys.stderr) + print("run phase first (./run_phase.sh N) before extracting.", file=sys.stderr) + sys.exit(1) + + # Make shared/ importable for the module under test + sys.path.insert(0, str(SHARED)) + + spec = importlib.util.spec_from_file_location(f"phase{n}_best", best_py) + module = importlib.util.module_from_spec(spec) + try: + spec.loader.exec_module(module) + except Exception as e: + print(f"failed to load {best_py}: {e}", file=sys.stderr) + sys.exit(1) + + if not hasattr(module, "get_phase_overrides"): + print(f"{best_py} missing get_phase_overrides()", file=sys.stderr) + sys.exit(1) + + overrides = module.get_phase_overrides() + if not isinstance(overrides, dict): + print(f"get_phase_overrides() returned {type(overrides).__name__}, expected dict", file=sys.stderr) + sys.exit(1) + + out = SHARED / f"phase{n}_best.json" + out.write_text(json.dumps(overrides, indent=2, sort_keys=True) + "\n") + print(f"wrote {out.relative_to(ROOT)} ({len(overrides)} keys)") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/phase1_opt_sls/initial_program.py b/input/z3-bench/evolve/phase1_opt_sls/initial_program.py new file mode 100644 index 0000000000..82f58d6e4a --- /dev/null +++ b/input/z3-bench/evolve/phase1_opt_sls/initial_program.py @@ -0,0 +1,71 @@ +""" +Phase 1: tune opt.* + sls.*. + +Other namespaces (sat.*, smt.*, parallel.*) stay at baseline. Z3 4.13.x keys. +EVOLVE-BLOCK below is the only thing the LLM should change. Keys may be added, +removed, or have values modified. + +Do NOT modify locked keys (sls.random_seed; sat./smt./parallel.* live in BASELINE +and stay there). Invalid Z3 keys cause evaluator to return 0. +""" +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +# EVOLVE-BLOCK-START +OPT_SLS_OVERRIDES = { + # opt.* — MaxSMT engine, MaxRes/RC2 knobs, optsmt engine + "opt.priority": "pareto", # lex | pareto | box + "opt.maxsat_engine": "wmax", # maxres | pd-maxres | wmax | sortmax | rc2 | maxres-bin + "opt.optsmt_engine": "basic", # basic | farkas | symba + "opt.enable_sat": True, + "opt.enable_sls": True, + "opt.enable_core_rotate": True, + "opt.enable_lns": False, + "opt.lns.threshold": 4, + "opt.maxres.hill_climb": True, + "opt.maxres.add_upper_bound_block": False, + "opt.maxres.max_core_size": 3, + "opt.maxres.max_correction_set_size": 3, + "opt.maxres.maximize_assignment": False, + "opt.maxres.pivot_on_correction_set": True, + "opt.maxres.wmax": False, + "opt.maxlex.enable": True, + "opt.rc2.totalizer": True, + "opt.pb.compile_equality": False, + "opt.elim_01": True, + + # sls.* — stochastic local search (engaged via opt.enable_sls) + "sls.early_prune": True, + "sls.walksat": True, + "sls.walksat_repick": True, + "sls.walksat_ucb": True, + "sls.walksat_ucb_constant": 20.0, + "sls.walksat_ucb_forget": 0.1, + "sls.walksat_ucb_init": False, + "sls.walksat_ucb_noise": 0.0002, + "sls.wp": 20, # walk probability (percent 0..100) + "sls.parallel": False, + "sls.random_offset": True, + "sls.rescore": True, + "sls.restart_base": 100, + "sls.restart_init": False, + "sls.track_unsat": False, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(OPT_SLS_OVERRIDES) + return p + + +def get_phase_overrides(): + """Used by extract_best.py — returns ONLY this phase's evolved dict.""" + return dict(OPT_SLS_OVERRIDES) diff --git a/input/z3-bench/evolve/phase2_sat/initial_program.py b/input/z3-bench/evolve/phase2_sat/initial_program.py new file mode 100644 index 0000000000..7b3ce87a72 --- /dev/null +++ b/input/z3-bench/evolve/phase2_sat/initial_program.py @@ -0,0 +1,178 @@ +""" +Phase 2: tune sat.* (CDCL SAT core). + +Loads phase1_best.json (opt.*+sls.* winners) as locked. smt.* and parallel.* +stay at baseline. EVOLVE-BLOCK is SAT_OVERRIDES below. + +Do NOT modify sat.random_seed (locked). Invalid keys -> evaluator returns 0. +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + +_PHASE1_FILE = _SHARED / "phase1_best.json" +_PHASE1 = ( + json.loads(_PHASE1_FILE.read_text()) if _PHASE1_FILE.exists() else {} +) + + +# EVOLVE-BLOCK-START +SAT_OVERRIDES = { + # Branching / phase / restart + "sat.branching.heuristic": "vsids", # vsids | lrb | chb + "sat.branching.anti_exploration": 0.4, + "sat.phase": "caching", # always_false | always_true | basic_caching | random | caching + "sat.phase.sticky": True, + "sat.restart": "geometric", # luby | geometric | ema | static + "sat.restart.fast": True, + "sat.restart.initial": 2, + "sat.restart.factor": 1.5, + "sat.restart.margin": 1.1, + "sat.restart.emafastglue": 0.03, + "sat.restart.emaslowglue": 1e-05, + "sat.rephase.base": 1000, + "sat.reorder.base": 4294967295, + "sat.reorder.itau": 4.0, + "sat.reorder.activity_scale": 100, + "sat.random_freq": 0.01, + "sat.variable_decay": 110, + "sat.burst_search": 100, + "sat.search.sat.conflicts": 400, + "sat.search.unsat.conflicts": 400, + "sat.backtrack.conflicts": 4000, + "sat.backtrack.scopes": 100, + + # Garbage collection + "sat.gc": "glue_psm", # glue | psm | glue_psm | dyn_psm + "sat.gc.burst": False, + "sat.gc.defrag": True, + "sat.gc.increment": 500, + "sat.gc.initial": 20000, + "sat.gc.k": 7, + "sat.gc.small_lbd": 3, + "sat.minimize_lemmas": True, + "sat.dyn.sub_res": True, + + # Preprocessing / simplification + "sat.scc": True, + "sat.scc.tr": True, + "sat.elim_vars": True, + "sat.elim_vars_bdd": True, + "sat.elim_vars_bdd_delay": 3, + "sat.subsumption": True, + "sat.subsumption.limit": 100000000, + "sat.asymm_branch": True, + "sat.asymm_branch.all": False, + "sat.asymm_branch.delay": 1, + "sat.asymm_branch.limit": 100000000, + "sat.asymm_branch.rounds": 2, + "sat.asymm_branch.sampled": True, + "sat.probing": True, + "sat.probing_binary": True, + "sat.probing_cache": True, + "sat.probing_cache_limit": 1024, + "sat.probing_limit": 5000000, + "sat.propagate.prefetch": True, + "sat.ate": True, + "sat.acce": False, + "sat.bce": False, + "sat.bce_at": 2, + "sat.bce_delay": 2, + "sat.bca": False, + "sat.binspr": False, + "sat.cce": False, + "sat.blocked_clause_limit": 100000000, + "sat.retain_blocked_clauses": True, + "sat.enable_pre_simplify": False, + "sat.force_cleanup": False, + "sat.inprocess.max": 4294967295, + "sat.simplify.delay": 0, + "sat.next_simplify1": 30000, + + # Cardinality / PB + "sat.cardinality.solver": True, + "sat.cardinality.encoding": "grouped", # grouped | bimander | ordered | unate | circuit + "sat.pb.solver": "totalizer", # circuit | sorting | totalizer | solver | segmented | binary_merge + "sat.pb.lemma_format": "cardinality", # cardinality | pb + "sat.pb.resolve": "cardinality", # cardinality | rounding + + # Core minimization + "sat.core.minimize": False, + "sat.core.minimize_partial": False, + + # Threading (keep 1 for fair compare; parallel.enable stays locked false) + "sat.threads": 1, + + # SLS-within-SAT (separate from opt-level sls.*) + "sat.local_search": False, + "sat.local_search_mode": "wsat", # wsat | gsat + "sat.local_search_threads": 0, + "sat.ddfw_search": False, + "sat.ddfw.threads": 0, + "sat.ddfw.init_clause_weight": 8, + "sat.ddfw.reinit_base": 10000, + "sat.ddfw.restart_base": 100000, + "sat.ddfw.use_reward_pct": 15, + "sat.prob_search": False, + + # Cut/AIG/ANF preprocessing (default off for this workload) + "sat.cut": False, + "sat.cut.aig": False, + "sat.cut.delay": 2, + "sat.cut.dont_cares": True, + "sat.cut.force": False, + "sat.cut.lut": False, + "sat.cut.npn3": False, + "sat.cut.redundancies": True, + "sat.cut.xor": False, + "sat.anf": False, + "sat.anf.delay": 2, + "sat.anf.exlin": False, + + # Lookahead (mostly off; expose for solver-specific subproblems) + "sat.lookahead.cube.cutoff": "depth", # depth | freevars | psat | adaptive_freevars | adaptive_psat + "sat.lookahead.cube.depth": 1, + "sat.lookahead.cube.fraction": 0.4, + "sat.lookahead.cube.freevars": 0.8, + "sat.lookahead.cube.psat.clause_base": 2.0, + "sat.lookahead.cube.psat.trigger": 5.0, + "sat.lookahead.cube.psat.var_exp": 1.0, + "sat.lookahead.delta_fraction": 1.0, + "sat.lookahead.double": True, + "sat.lookahead.global_autarky": False, + "sat.lookahead.preselect": False, + "sat.lookahead.reward": "march_cu", # ternary | heule_schur | heule_unit | unit | march_cu + "sat.lookahead.use_learned": False, + "sat.lookahead_scores": False, + "sat.lookahead_simplify": False, + "sat.lookahead_simplify.bca": True, + + # Resolution-based simplification limits + "sat.resolution.cls_cutoff1": 100000000, + "sat.resolution.cls_cutoff2": 700000000, + "sat.resolution.limit": 500000000, + "sat.resolution.lit_cutoff_range1": 700, + "sat.resolution.lit_cutoff_range2": 400, + "sat.resolution.lit_cutoff_range3": 300, + "sat.resolution.occ_cutoff": 10, + "sat.resolution.occ_cutoff_range1": 8, + "sat.resolution.occ_cutoff_range2": 5, + "sat.resolution.occ_cutoff_range3": 3, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) + p.update(SAT_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(SAT_OVERRIDES) diff --git a/input/z3-bench/evolve/phase3_smt/initial_program.py b/input/z3-bench/evolve/phase3_smt/initial_program.py new file mode 100644 index 0000000000..1a2b1ad3aa --- /dev/null +++ b/input/z3-bench/evolve/phase3_smt/initial_program.py @@ -0,0 +1,164 @@ +""" +Phase 3: tune smt.* (SMT core — theories, quantifier instantiation, arith). + +Loads phase1_best.json (opt./sls.*) and phase2_best.json (sat.*) as locked. +parallel.* stays at baseline. EVOLVE-BLOCK is SMT_OVERRIDES below. + +NOTE: smt.auto_config=True (default) can silently override other smt.* options; +we force False here so the LLM's choices stick. + +Do NOT modify smt.random_seed (locked). Invalid keys -> evaluator returns 0. +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + +_PHASE1 = ( + json.loads((_SHARED / "phase1_best.json").read_text()) + if (_SHARED / "phase1_best.json").exists() + else {} +) +_PHASE2 = ( + json.loads((_SHARED / "phase2_best.json").read_text()) + if (_SHARED / "phase2_best.json").exists() + else {} +) + + +# EVOLVE-BLOCK-START +SMT_OVERRIDES = { + # Core SMT control + "smt.auto_config": False, # FORCED False so other smt.* take effect + "smt.logic": "", # "" | "QF_LIA" | "QF_LRA" | "LIA" | ... + "smt.threads": 1, # keep 1; parallel.enable is locked false + "smt.threads.cube_frequency": 2, + "smt.threads.max_conflicts": 400, + "smt.cube_depth": 1, + "smt.relevancy": 2, # 0 | 1 | 2 + "smt.case_split": 1, # 0=activity | 1=random | 2=theory | 3=relevancy | 5 | 6 + "smt.phase_selection": 3, # 0=always_false | 1=always_true | 2=basic_caching | 3=caching | 4=random | 5=occurrence + "smt.phase_caching_on": 400, + "smt.phase_caching_off": 100, + "smt.restart_strategy": 1, # 0=geometric | 1=inner_outer | 2=luby | 3=fixed | 4=arithmetic + "smt.restart.factor": 1.1, + "smt.lemma_gc_strategy": 0, # 0=fixed | 1=geometric | 2=at_restart | 3=none + + # Lemma / unit delay + "smt.delay_units": False, + "smt.delay_units_threshold": 32, + + # Dynamic ackermann (dack) + "smt.dack": 1, # 0=off | 1=on + "smt.dack.eq": False, + "smt.dack.factor": 0.1, + "smt.dack.gc": 2000, + "smt.dack.gc_inv_decay": 0.8, + "smt.dack.threshold": 10, + + # Generic + "smt.elim_unconstrained": True, + "smt.ematching": True, + "smt.macro_finder": False, + "smt.quasi_macros": False, + "smt.propagate_values": True, + "smt.pull_nested_quantifiers": False, + "smt.refine_inj_axioms": True, + "smt.solve_eqs": True, + "smt.solve_eqs_max_occs": 4294967295, + "smt.theory_aware_branching": False, + "smt.theory_case_split": False, + "smt.dt_lazy_splits": 1, + "smt.induction": False, + + # Core extension / minimization + "smt.core.extend_patterns": False, + "smt.core.extend_nonlocal_patterns": False, + "smt.core.extend_patterns.max_distance": 4294967295, + "smt.core.minimize": False, + "smt.core.validate": False, + + # MBQI / quantifier instantiation + "smt.mbqi": True, + "smt.mbqi.max_iterations": 1000, + "smt.mbqi.max_cexs": 1, + "smt.mbqi.max_cexs_incr": 0, + "smt.mbqi.force_template": 10, + "smt.qi.eager_threshold": 10.0, + "smt.qi.lazy_threshold": 20.0, + "smt.qi.max_instances": 4294967295, + "smt.qi.max_multi_patterns": 0, + "smt.qi.cost": "(+ weight generation)", + "smt.qi.quick_checker": 0, # 0=no | 1=unsat | 2=both + + # Arithmetic theory (workload has 13k Int + 40 Real — IMPORTANT) + "smt.arith.solver": 6, # 2=simplex | 5=infinitary_lra | 6=lra + "smt.arith.simplex_strategy": 0, + "smt.arith.propagation_mode": 1, # 0=none | 1=at_pivot | 2=cheap + "smt.arith.propagate_eqs": True, + "smt.arith.eager_eq_axioms": True, + "smt.arith.branch_cut_ratio": 2, + "smt.arith.bprop_on_pivoted_rows": True, + "smt.arith.enable_hnf": True, + "smt.arith.greatest_error_pivot": False, + "smt.arith.ignore_int": False, + "smt.arith.int_eq_branch": False, + "smt.arith.min": False, + "smt.arith.random_initial_value": False, + "smt.arith.rep_freq": 0, + "smt.arith.auto_config_simplex": False, + + # Nonlinear arith (mostly off for LIA-heavy workload; expose anyway) + "smt.arith.nl": True, + "smt.arith.nl.branching": True, + "smt.arith.nl.delay": 500, + "smt.arith.nl.expp": False, + "smt.arith.nl.gr_q": 10, + "smt.arith.nl.grobner": True, + "smt.arith.nl.grobner_cnfl_to_report": 1, + "smt.arith.nl.grobner_eqs_growth": 10, + "smt.arith.nl.grobner_expr_degree_growth": 2, + "smt.arith.nl.grobner_expr_size_growth": 2, + "smt.arith.nl.grobner_frequency": 4, + "smt.arith.nl.grobner_max_simplified": 10000, + "smt.arith.nl.grobner_subs_fixed": 1, + "smt.arith.nl.horner": True, + "smt.arith.nl.horner_frequency": 4, + "smt.arith.nl.horner_row_length_limit": 10, + "smt.arith.nl.horner_subs_fixed": 2, + "smt.arith.nl.nra": True, + "smt.arith.nl.order": True, + "smt.arith.nl.rounds": 1024, + "smt.arith.nl.tangents": True, + + # BV (light usage in this workload) + "smt.bv.delay": True, + "smt.bv.eager": True, + "smt.bv.enable_int2bv": True, + "smt.bv.reflect": True, + "smt.bv.size_reduce": False, + "smt.bv.solver": 0, + + # Array / PB + "smt.array.extensional": True, + "smt.array.weak": False, + "smt.pb.conflict_frequency": 1000, + "smt.pb.learn_complements": True, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) + p.update(_PHASE2) + p.update(SMT_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(SMT_OVERRIDES) diff --git a/input/z3-bench/evolve/phase4_unified/initial_program.py b/input/z3-bench/evolve/phase4_unified/initial_program.py new file mode 100644 index 0000000000..988488b0ba --- /dev/null +++ b/input/z3-bench/evolve/phase4_unified/initial_program.py @@ -0,0 +1,36 @@ +""" +Phase 4: unified fine-tuning — interaction effects. + +The EVOLVE-BLOCK below is a literal dict materialized from phase1/2/3 best +overrides by prepare_phase4.py. Run that script BEFORE invoking run_phase.sh 4: + + python ../prepare_phase4.py + +The LLM evolves UNIFIED_OVERRIDES directly. It may modify, remove, or add +keys from the Z3 4.13.x parameter space. Smaller iteration budget — local +refinement, not exploration. +""" +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +# EVOLVE-BLOCK-START +# Seeded with baseline only. Run prepare_phase4.py after phases 1-3 finish +# to replace this dict with the union of their winners. +UNIFIED_OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(UNIFIED_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(UNIFIED_OVERRIDES) diff --git a/input/z3-bench/evolve/prepare_phase4.py b/input/z3-bench/evolve/prepare_phase4.py new file mode 100644 index 0000000000..6583121468 --- /dev/null +++ b/input/z3-bench/evolve/prepare_phase4.py @@ -0,0 +1,62 @@ +""" +Materialize phase4_unified/initial_program.py with a literal dict containing +the union of phase 1/2/3 winners (loaded from shared/phase{1,2,3}_best.json). + +Run AFTER phases 1, 2, 3 have completed (and extract_best.py ran for each). + +This rewrites only the EVOLVE-BLOCK section of phase4_unified/initial_program.py. +""" +import json +import pathlib +import pprint +import re +import sys + +ROOT = pathlib.Path(__file__).resolve().parent +SHARED = ROOT / "shared" +PHASE4_FILE = ROOT / "phase4_unified" / "initial_program.py" + +_EVOLVE_BLOCK_RE = re.compile( + r"(# EVOLVE-BLOCK-START\n).*?(# EVOLVE-BLOCK-END)", + re.DOTALL, +) + + +def _load(name): + f = SHARED / name + if not f.exists(): + print(f"missing: {f}", file=sys.stderr) + sys.exit(1) + return json.loads(f.read_text()) + + +def main(): + p1 = _load("phase1_best.json") + p2 = _load("phase2_best.json") + p3 = _load("phase3_best.json") + merged = {} + merged.update(p1) + merged.update(p2) + merged.update(p3) + print(f"merged keys: p1={len(p1)} p2={len(p2)} p3={len(p3)} union={len(merged)}") + + src = PHASE4_FILE.read_text() + dict_repr = pprint.pformat(merged, width=100, sort_dicts=True) + new_block_body = ( + "# Auto-generated by prepare_phase4.py from union of phase 1/2/3 best.\n" + f"UNIFIED_OVERRIDES = {dict_repr}\n" + ) + new_src, n = _EVOLVE_BLOCK_RE.subn( + lambda m: m.group(1) + new_block_body + m.group(2), + src, + count=1, + ) + if n != 1: + print(f"EVOLVE-BLOCK markers not found in {PHASE4_FILE}", file=sys.stderr) + sys.exit(1) + PHASE4_FILE.write_text(new_src) + print(f"wrote {PHASE4_FILE.relative_to(ROOT)} ({len(merged)} keys in EVOLVE-BLOCK)") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/run_phase.sh b/input/z3-bench/evolve/run_phase.sh new file mode 100755 index 0000000000..40e739a261 --- /dev/null +++ b/input/z3-bench/evolve/run_phase.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# Run one phase of Z3 parameter evolution. +# Usage: ./run_phase.sh {1|2|3|4} [extra openevolve-run.py flags...] +# +# Phase iterations are set per-phase below. Override via --iterations . +# OpenEvolve outputs land in /openevolve_output/. + +set -euo pipefail + +if [ $# -lt 1 ]; then + echo "usage: $0 {1|2|3|4} [extra flags]" >&2 + exit 2 +fi + +PHASE="$1" +shift + +case "$PHASE" in + 1) DIR="phase1_opt_sls"; ITERS=80 ;; + 2) DIR="phase2_sat"; ITERS=150 ;; + 3) DIR="phase3_smt"; ITERS=120 ;; + 4) DIR="phase4_unified"; ITERS=60 ;; + *) echo "phase must be 1, 2, 3, or 4 (got $PHASE)" >&2; exit 2 ;; +esac + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$ROOT/../../.." && pwd)" +RUNNER="$REPO_ROOT/openevolve-run.py" + +if [ ! -f "$RUNNER" ]; then + echo "openevolve-run.py not found at $RUNNER" >&2 + exit 1 +fi + +if [ ! -f "$ROOT/shared/stage1_sample.json" ]; then + echo "stage1_sample.json missing — running build_stage1_sample.py first..." + python "$ROOT/build_stage1_sample.py" +fi + +if ! command -v z3 >/dev/null 2>&1; then + echo "warning: z3 binary not on PATH. install: apt-get install -y z3 or pip install z3-solver" >&2 +fi + +if [ "$PHASE" -eq 4 ]; then + if [ ! -f "$ROOT/shared/phase1_best.json" ] \ + || [ ! -f "$ROOT/shared/phase2_best.json" ] \ + || [ ! -f "$ROOT/shared/phase3_best.json" ]; then + echo "phase 4 requires phase 1/2/3 best.json files in shared/." >&2 + echo "run phases 1-3 first." >&2 + exit 1 + fi + echo "[run_phase] materializing phase4 EVOLVE-BLOCK..." + python "$ROOT/prepare_phase4.py" +fi + +cd "$ROOT/$DIR" +echo "[run_phase] phase=$PHASE dir=$DIR iters=$ITERS cwd=$(pwd)" + +python "$RUNNER" \ + initial_program.py \ + "$ROOT/shared/evaluator.py" \ + --config "$ROOT/config.yaml" \ + --iterations "$ITERS" \ + "$@" + +echo "[run_phase] phase $PHASE finished." + +if [ "$PHASE" -lt 4 ]; then + echo "[run_phase] extracting best overrides..." + python "$ROOT/extract_best.py" "$PHASE" + echo "[run_phase] next: $0 $((PHASE + 1))" +fi diff --git a/input/z3-bench/evolve/shared/baseline_params.py b/input/z3-bench/evolve/shared/baseline_params.py new file mode 100644 index 0000000000..0fae6a93cf --- /dev/null +++ b/input/z3-bench/evolve/shared/baseline_params.py @@ -0,0 +1,33 @@ +""" +Baseline Z3 parameters (applied_params_hash 543b29...) from problems.jsonl. +DO NOT MODIFY. Imported by all phases. +""" + +BASELINE = { + "opt.enable_core_rotate": True, + "opt.enable_sat": True, + "opt.enable_sls": True, + "opt.maxres.hill_climb": True, + "opt.maxsat_engine": "wmax", + "opt.priority": "pareto", + "opt.rc2.totalizer": True, + "parallel.enable": False, + "sat.branching.heuristic": "vsids", + "sat.pb.solver": "totalizer", + "sat.phase": "caching", + "sat.random_seed": 0, + "sat.restart": "geometric", + "sat.threads": 1, + "sls.random_seed": 0, + "smt.phase_selection": 3, + "smt.random_seed": 0, + "smt.threads": 1, + "threads": 1, +} + +LOCKED = { + "sat.random_seed": 0, + "smt.random_seed": 0, + "sls.random_seed": 0, + "parallel.enable": False, +} diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py new file mode 100644 index 0000000000..c66d191788 --- /dev/null +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -0,0 +1,206 @@ +""" +OpenEvolve evaluator for Z3 parameter tuning. + +Cascade: + stage1: 5 stratified problems (stage1_sample.json), per-problem 15s + stage2: full 50 problems, per-problem 120s + +Score: geomean(speedup) * solved_rate^2. + +Locked params (sat.random_seed / smt.random_seed / sls.random_seed / parallel.enable) +must not deviate from baseline_params.LOCKED — violation => combined_score=0. + +Environment overrides: + OPENEVOLVE_MAX_PROBLEMS int — cap stage2 problem count + OPENEVOLVE_STAGE1_TIMEOUT int sec — per-problem timeout in stage1 (default 15) + OPENEVOLVE_STAGE2_TIMEOUT int sec — per-problem timeout in stage2 (default 120) + OPENEVOLVE_Z3_BIN str — z3 binary path (default "z3") +""" +import importlib.util +import json +import os +import pathlib +import sys +import traceback + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE)) + +from baseline_params import BASELINE, LOCKED # noqa: E402 +from score import score # noqa: E402 +from z3_runner import run_z3 # noqa: E402 + +from openevolve.evaluation_result import EvaluationResult # noqa: E402 + +_BENCH_DIR = _HERE.parent.parent # input/z3-bench/ +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_STAGE1_SAMPLE = _HERE / "stage1_sample.json" + +_Z3_BIN = os.environ.get("OPENEVOLVE_Z3_BIN", "z3") + + +def _load_program(path): + spec = importlib.util.spec_from_file_location("program", path) + module = importlib.util.module_from_spec(spec) + # Phase initial_programs add shared/ to sys.path themselves. + spec.loader.exec_module(module) + return module + + +def _load_problems(): + rows = [] + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + rows.append( + { + "sha": d["problem_sha256"], + "smt2": d["smt2_filename"], + "baseline_ms": d["z3_status"]["elapsed_ms"], + "baseline_result": d["z3_status"]["result"], + } + ) + return rows + + +def _filter_stage1(problems): + if not _STAGE1_SAMPLE.exists(): + return problems[:5] + keep = set(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _err_result(metrics_extra, artifacts): + metrics = { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, + } + metrics.update(metrics_extra) + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + +def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): + try: + program = _load_program(program_path) + except Exception as e: + return _err_result( + {"error": f"program load failed: {e}"}, + { + "error_type": type(e).__name__, + "error_message": str(e), + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name, + }, + ) + + if not hasattr(program, "get_params"): + return _err_result( + {"error": "missing get_params()"}, + {"suggestion": "initial_program.py must expose get_params() -> dict", "stage": stage_name}, + ) + + try: + params = program.get_params() + if not isinstance(params, dict): + raise TypeError(f"get_params() returned {type(params).__name__}, expected dict") + except Exception as e: + return _err_result( + {"error": f"get_params() raised: {e}"}, + { + "error_type": type(e).__name__, + "error_message": str(e), + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name, + }, + ) + + violations = {k: params.get(k) for k in LOCKED if params.get(k) != LOCKED[k]} + if violations: + return _err_result( + {"error": "locked params violated"}, + { + "locked_violated": violations, + "locked_expected": LOCKED, + "stage": stage_name, + "suggestion": "Do not modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable", + }, + ) + + if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: + problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] + + results = [] + for p in problems: + smt2_path = _RAW_DIR / p["smt2"] + if not smt2_path.exists(): + return _err_result( + {"error": f"smt2 not found: {p['smt2']}"}, + {"missing_file": str(smt2_path), "stage": stage_name}, + ) + r = run_z3(smt2_path, params, per_problem_timeout_s, z3_bin=_Z3_BIN) + if "invalid_param" in r: + return _err_result( + {"error": f"invalid z3 param: {r['invalid_param']}"}, + { + "invalid_param": r["invalid_param"], + "stderr": r.get("stderr", "")[:2000], + "stage": stage_name, + "suggestion": "Remove or fix this key in get_params().", + }, + ) + results.append( + { + **p, + "result": r["result"], + "elapsed_ms": r["elapsed_ms"], + "timeout": bool(r.get("timeout")), + } + ) + + metrics = score(results) + metrics["stage"] = stage_name + + sample = [ + { + "sha": r["sha"][:10], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_ms": r["baseline_ms"], + "ms": r["elapsed_ms"], + "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), + "timeout": r["timeout"], + } + for r in results + ] + artifacts = { + "stage": stage_name, + "summary": ( + f"solved={metrics['solved']}/{metrics['total']} " + f"regressions={metrics['regressions']} " + f"geomean_speedup={metrics['geomean_speedup']:.3f} " + f"score={metrics['combined_score']:.3f}" + ), + "per_problem": sample[:20], + } + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + +def evaluate_stage1(program_path): + timeout = int(os.environ.get("OPENEVOLVE_STAGE1_TIMEOUT", "15")) + problems = _filter_stage1(_load_problems()) + return _evaluate(program_path, problems, timeout, "stage1") + + +def evaluate_stage2(program_path): + timeout = int(os.environ.get("OPENEVOLVE_STAGE2_TIMEOUT", "120")) + problems = _load_problems() + return _evaluate(program_path, problems, timeout, "stage2") + + +def evaluate(program_path): + return evaluate_stage2(program_path) diff --git a/input/z3-bench/evolve/shared/score.py b/input/z3-bench/evolve/shared/score.py new file mode 100644 index 0000000000..3f73f5f4dd --- /dev/null +++ b/input/z3-bench/evolve/shared/score.py @@ -0,0 +1,49 @@ +""" +Scoring: geomean(speedup) * solved_rate^2. +- match baseline result: speedup = baseline_ms / elapsed_ms +- mismatch (regression / unknown / timeout): contributes 1e-6 to geomean +- solved_rate squared to strongly gate on correctness +""" +import math + + +def score(per_problem): + n = len(per_problem) + if n == 0: + return { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, + } + + speedups = [] + solved = 0 + regressions = 0 + for p in per_problem: + baseline_decided = p["baseline_result"] in ("Sat", "Unsat") + match = p["result"] == p["baseline_result"] + if match: + solved += 1 + sp = p["baseline_ms"] / max(p["elapsed_ms"], 1) + speedups.append(sp) + else: + speedups.append(1e-6) + if baseline_decided and p["result"] in ("Sat", "Unsat"): + regressions += 1 + + log_sum = sum(math.log(s) for s in speedups) + geomean = math.exp(log_sum / len(speedups)) + solved_rate = solved / n + combined = geomean * (solved_rate**2) + + return { + "combined_score": float(combined), + "geomean_speedup": float(geomean), + "solved_rate": float(solved_rate), + "regressions": int(regressions), + "solved": int(solved), + "total": int(n), + } diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json new file mode 100644 index 0000000000..8191306e7a --- /dev/null +++ b/input/z3-bench/evolve/shared/stage1_sample.json @@ -0,0 +1,39 @@ +{ + "seed": 42, + "num_buckets": 5, + "source": "z3-bench/problems.jsonl", + "sha256": [ + "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", + "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", + "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", + "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44" + ], + "summary": [ + { + "sha": "ac90ca97ff99", + "baseline_ms": 239, + "baseline_result": "Unsat" + }, + { + "sha": "133383a624ef", + "baseline_ms": 480, + "baseline_result": "Unsat" + }, + { + "sha": "29efe6d38d7b", + "baseline_ms": 12712, + "baseline_result": "Unsat" + }, + { + "sha": "86468fd861ff", + "baseline_ms": 15671, + "baseline_result": "Sat" + }, + { + "sha": "3854194b901b", + "baseline_ms": 66100, + "baseline_result": "Sat" + } + ] +} diff --git a/input/z3-bench/evolve/shared/z3_runner.py b/input/z3-bench/evolve/shared/z3_runner.py new file mode 100644 index 0000000000..4cfccebbfe --- /dev/null +++ b/input/z3-bench/evolve/shared/z3_runner.py @@ -0,0 +1,91 @@ +""" +Run Z3 CLI on a single SMT2 file with parameter dict. +Subprocess isolation: each run a fresh process with -T: wall-clock cap. +""" +import re +import shutil +import subprocess +import time + +_RESULT_RE = re.compile(r"^(sat|unsat|unknown)\b", re.MULTILINE) +_INVALID_PARAM_RES = [ + re.compile(r"unknown\s+parameter\s+'?([\w.\-]+)'?", re.IGNORECASE), + re.compile(r"invalid\s+parameter\s+'?([\w.\-]+)'?", re.IGNORECASE), + re.compile(r"unknown\s+option\s+'?([\w.\-]+)'?", re.IGNORECASE), + re.compile(r"error\s+setting\s+'?([\w.\-]+)'?", re.IGNORECASE), +] + + +def _format_value(v): + if isinstance(v, bool): + return "true" if v else "false" + return str(v) + + +def detect_invalid_param(stderr): + for rx in _INVALID_PARAM_RES: + m = rx.search(stderr) + if m: + return m.group(1) + if any(tok in stderr.lower() for tok in ("unknown parameter", "invalid parameter", "unknown option")): + return "" + return None + + +def run_z3(smt2_path, params, timeout_s, z3_bin="z3"): + """ + Returns dict: + success: {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int} + timeout: {"result": "Unknown", "elapsed_ms": int, "timeout": True} + invalid: {"invalid_param": str, "stderr": str, "result": "Unknown", "elapsed_ms": int} + crash: {"result": "Unknown", "elapsed_ms": int, "error": str, "stderr": str} + """ + if shutil.which(z3_bin) is None: + return {"result": "Unknown", "elapsed_ms": 0, "error": f"z3 binary not found: {z3_bin}"} + + args = [z3_bin, f"-T:{int(timeout_s)}", "-smt2"] + for k, v in params.items(): + args.append(f"{k}={_format_value(v)}") + args.append(str(smt2_path)) + + t0 = time.monotonic() + try: + proc = subprocess.run( + args, + capture_output=True, + text=True, + timeout=timeout_s + 10, + ) + except subprocess.TimeoutExpired: + return { + "result": "Unknown", + "elapsed_ms": int(timeout_s * 1000), + "timeout": True, + } + + elapsed_ms = int((time.monotonic() - t0) * 1000) + stdout = proc.stdout or "" + stderr = proc.stderr or "" + + bad = detect_invalid_param(stderr) + if bad: + return { + "invalid_param": bad, + "stderr": stderr[-2000:], + "result": "Unknown", + "elapsed_ms": elapsed_ms, + } + + m = _RESULT_RE.search(stdout) + if not m: + return { + "result": "Unknown", + "elapsed_ms": elapsed_ms, + "error": f"no result token (rc={proc.returncode})", + "stderr": stderr[-1000:], + } + + return { + "result": {"sat": "Sat", "unsat": "Unsat", "unknown": "Unknown"}[m.group(1)], + "elapsed_ms": elapsed_ms, + } diff --git a/input/z3-bench/problems.csv b/input/z3-bench/problems.csv new file mode 100644 index 0000000000..5ad588e36d --- /dev/null +++ b/input/z3-bench/problems.csv @@ -0,0 +1,51 @@ +problem_sha256,applied_params_hash,seed,solver,path,z3_version,result,elapsed_ms,num_variables,num_bool,num_int,num_real,num_hard_constraints,num_soft_constraints,num_minimize_objectives,num_maximize_objectives,cli_effort,cli_tech,cli_process,cli_solver_iter_timeout,cli_use_reboot,cli_optimize_m1,cli_optimize_m2,cli_num_of_heights,z3_conflicts,z3_decisions,z3_propagations,z3_final_checks,z3_num_checks,z3_max_memory_mb,z3_time_s,z3_rlimit_count,smt2_filename,smt2_path,meta_path,error +03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,16518,33068,19738,13290,40,106100,2059,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,638,16700,3734347,41,42,4318.31,16.518,27700333,03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c__543b29ed8f75ba2d__seed0.meta.jsonl, +069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,13885,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,419,13038,2535296,40,41,4320.75,13.884,26615394,069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3__543b29ed8f75ba2d__seed0.meta.jsonl, +0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,2728,17097,9331,7748,18,112990,548,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,281,10023,1022106,17,18,620.35,2.728,10426372,0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678__543b29ed8f75ba2d__seed0.meta.jsonl, +133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,480,5701,3195,2496,10,24797,284,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,8,12,10603,,1,88.59,0.48,1689462,133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f__543b29ed8f75ba2d__seed0.meta.jsonl, +17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,,,4.13.3.0,Sat,366,3932,2188,1736,8,15243,224,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,80,1169,53219,7,8,41.83,0.365,992112,17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a__543b29ed8f75ba2d__seed0.meta.jsonl, +187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,294,5752,3222,2520,10,24937,287,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,97,1067,92823,7,8,88.59,0.294,1766969,187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500__543b29ed8f75ba2d__seed0.meta.jsonl, +21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,2900,17097,9331,7748,18,113006,548,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,330,7222,743241,17,18,616.98,2.9,14138638,21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb__543b29ed8f75ba2d__seed0.meta.jsonl, +25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,407,5701,3195,2496,10,24807,284,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,3,4,5019,,1,88.83,0.407,1554154,25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62__543b29ed8f75ba2d__seed0.meta.jsonl, +29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,12712,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,34,196,136583,,1,4321.07,12.712,21352456,29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f__543b29ed8f75ba2d__seed0.meta.jsonl, +318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,14232,33068,19738,13290,40,106100,2059,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,501,17511,3164096,30,31,4318.35,14.232,26341700,318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4__543b29ed8f75ba2d__seed0.meta.jsonl, +3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,66100,59955,32107,27810,38,524914,1455,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,20293,403008,159458871,49,50,2497.69,66.1,285787632,3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44__543b29ed8f75ba2d__seed0.meta.jsonl, +3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,31732,99386,52694,46644,48,1092831,1914,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,43,513,444570,,1,4743.79,31.732,66826573,3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65__543b29ed8f75ba2d__seed0.meta.jsonl, +3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,2996,17097,9331,7748,18,112978,548,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,784,4989,2033058,,1,605.3,2.996,19446685,3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1__543b29ed8f75ba2d__seed0.meta.jsonl, +40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,490,5701,3195,2496,10,24807,284,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,3,4,5876,,1,88.64,0.49,1554883,40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd__543b29ed8f75ba2d__seed0.meta.jsonl, +42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,12692,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,26,195,140779,,1,4320.64,12.692,21341530,42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08__543b29ed8f75ba2d__seed0.meta.jsonl, +493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,14353,33068,19738,13290,40,106100,2059,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,383,11875,1751697,56,57,4318.36,14.353,25778910,493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12__543b29ed8f75ba2d__seed0.meta.jsonl, +4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,14428,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,340,9171,1845870,39,40,4320.79,14.428,25489167,4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a__543b29ed8f75ba2d__seed0.meta.jsonl, +4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,132126,83411,44958,38403,50,695689,2133,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,29011,376993,310575312,9,10,4694.12,132.126,556478248,4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783__543b29ed8f75ba2d__seed0.meta.jsonl, +4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,,,4.13.3.0,Unsat,311,3842,2140,1694,8,15034,218,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,4,4,3035,,1,28.14,0.311,1042113,4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac__543b29ed8f75ba2d__seed0.meta.jsonl, +505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,307,5752,3222,2520,10,24937,287,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,93,1160,99526,8,9,88.58,0.307,1778656,505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e__543b29ed8f75ba2d__seed0.meta.jsonl, +5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,67552,59955,32107,27810,38,524936,1455,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,21002,325796,174972212,13,14,2491.57,67.552,305746540,5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8__543b29ed8f75ba2d__seed0.meta.jsonl, +65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,13089,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,30,140,135224,,1,4320.63,13.089,21339214,65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568__543b29ed8f75ba2d__seed0.meta.jsonl, +6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,3681,17151,9359,7774,18,113172,550,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,558,10820,1404437,8,9,620.18,3.681,11339618,6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240__543b29ed8f75ba2d__seed0.meta.jsonl, +75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,13086,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,155,8418,912363,41,42,4321.23,13.086,23855170,75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8__543b29ed8f75ba2d__seed0.meta.jsonl, +76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,112662,83621,45066,38505,50,696736,2139,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,23003,350564,251976930,26,27,4679.64,112.662,467737909,76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea__543b29ed8f75ba2d__seed0.meta.jsonl, +7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,14992,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,28,146,156475,,1,4320.64,14.992,20732604,7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416__543b29ed8f75ba2d__seed0.meta.jsonl, +7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,40558,59955,32107,27810,38,524936,1455,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,8858,242490,69339814,37,38,2491.74,40.558,147263647,7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385__543b29ed8f75ba2d__seed0.meta.jsonl, +7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,181205,83621,45066,38505,50,696736,2139,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,48772,603760,540204864,46,47,4675.71,181.205,925944306,7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b__543b29ed8f75ba2d__seed0.meta.jsonl, +86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,15671,33068,19738,13290,40,106100,2059,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,207,7280,1095466,44,45,4318.34,15.671,24227973,86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef__543b29ed8f75ba2d__seed0.meta.jsonl, +86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,80512,83621,45066,38505,50,696736,2139,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,12501,340795,150689373,31,32,4677.0,80.512,326014276,86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3__543b29ed8f75ba2d__seed0.meta.jsonl, +872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,1298,10244,5621,4609,14,59387,383,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,204,2761,350767,7,8,296.1,1.298,7471692,872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22__543b29ed8f75ba2d__seed0.meta.jsonl, +8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,3053,17043,9303,7722,18,112796,546,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,604,9551,1273438,7,8,619.29,3.053,11627096,8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a__543b29ed8f75ba2d__seed0.meta.jsonl, +96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,33160,99809,52910,46851,48,1095737,1923,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,54,288,336058,,1,4757.86,33.16,67537967,96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d__543b29ed8f75ba2d__seed0.meta.jsonl, +a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,597,5854,3276,2568,10,25205,293,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,82,2016,86665,20,21,88.85,0.597,1861058,a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97__543b29ed8f75ba2d__seed0.meta.jsonl, +a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,2343,17097,9331,7748,18,112978,548,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,386,7695,1195002,13,14,619.16,2.343,13786897,a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c__543b29ed8f75ba2d__seed0.meta.jsonl, +a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,93445,83551,45030,38471,50,696365,2137,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,12900,396823,145339357,28,29,4702.37,93.445,322543353,a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40__543b29ed8f75ba2d__seed0.meta.jsonl, +aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,1674,10244,5621,4609,14,59387,383,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,132,3661,274267,6,7,296.0,1.674,6504829,aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07__543b29ed8f75ba2d__seed0.meta.jsonl, +ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,239,5701,3195,2496,10,24797,284,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,9,21,18322,,1,88.65,0.239,1703733,ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9__543b29ed8f75ba2d__seed0.meta.jsonl, +aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,2193,17097,9331,7748,18,112978,548,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,313,11511,1133434,9,10,619.08,2.193,10988398,aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c__543b29ed8f75ba2d__seed0.meta.jsonl, +b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,312,5854,3276,2568,10,25205,293,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,272,4275,156893,11,12,88.83,0.312,1935497,b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102__543b29ed8f75ba2d__seed0.meta.jsonl, +bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,32076,99386,52694,46644,48,1093104,1914,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,8,44,78236,,1,4739.95,32.076,67029168,bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677__543b29ed8f75ba2d__seed0.meta.jsonl, +be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,33752,99809,52910,46851,48,1095737,1923,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,554,2726,5217493,,1,4742.12,33.752,76041935,be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e__543b29ed8f75ba2d__seed0.meta.jsonl, +c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,32836,99386,52694,46644,48,1093134,1914,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,17,59,77550,,1,4755.76,32.836,66856154,c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db__543b29ed8f75ba2d__seed0.meta.jsonl, +cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,42599,59881,32069,27774,38,524539,1453,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,8751,199321,79552413,33,34,2497.83,42.599,161835665,cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52__543b29ed8f75ba2d__seed0.meta.jsonl, +d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,3350,17043,9303,7722,18,112812,546,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,394,10789,1035444,8,9,612.05,3.35,14423207,d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84__543b29ed8f75ba2d__seed0.meta.jsonl, +deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,13346,32912,19654,13218,40,105784,2047,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,28,130,140410,,1,4321.13,13.346,20723801,deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa__543b29ed8f75ba2d__seed0.meta.jsonl, +e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,268,5752,3222,2520,10,24936,287,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,61,190,57841,,1,88.64,0.268,1643884,e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078__543b29ed8f75ba2d__seed0.meta.jsonl, +f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Unsat,31406,99386,52694,46644,48,1092831,1914,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,2,34,752,307126,,1,4759.15,31.406,66565673,f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4__543b29ed8f75ba2d__seed0.meta.jsonl, +fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,,,4.13.3.0,Unsat,221,3797,2116,1673,8,14932,215,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,,,,,,25.25,0.221,828317,fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3__543b29ed8f75ba2d__seed0.meta.jsonl, +fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b,543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6,0,z3,primary,4.13.3.0,Sat,258,5752,3222,2520,10,24936,287,0,0,low,sf4lpp,sf4lpp,3600.0,False,False,False,1,103,964,76908,6,7,88.65,0.258,1730326,fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2,/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b__543b29ed8f75ba2d__seed0.meta.jsonl, diff --git a/input/z3-bench/problems.jsonl b/input/z3-bench/problems.jsonl new file mode 100644 index 0000000000..9e15a30e29 --- /dev/null +++ b/input/z3-bench/problems.jsonl @@ -0,0 +1,50 @@ +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", "seed": 0, "smt2_filename": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 145020, "arith eq adapter": 1624, "arith-bound-propagations-lp": 14758, "arith-conflicts": 101, "arith-diseq": 19981, "arith-fixed-eqs": 8401, "arith-lower": 88590, "arith-make-feasible": 13517, "arith-max-columns": 1644, "arith-max-rows": 1023, "arith-offset-eqs": 12540, "arith-upper": 88093, "binary propagations": 3044960, "conflicts": 638, "decisions": 16700, "del clause": 801, "final checks": 41, "max memory": 4318.31, "memory": 4076.23, "minimized lits": 3511, "mk bool var": 60789, "mk clause": 62512, "mk clause binary": 15003837, "num allocs": 276298779074.0, "num checks": 42, "pb conflicts": 22, "pb predicates": 367, "pb propagations": 1240, "pb resolves": 22, "propagations": 3734347, "restarts": 5, "rlimit count": 27700333, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 16.518}, "z3_status": {"elapsed_ms": 16518, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", "seed": 0, "smt2_filename": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 95311, "arith eq adapter": 1608, "arith-bound-propagations-lp": 9506, "arith-conflicts": 71, "arith-diseq": 14280, "arith-fixed-eqs": 5175, "arith-lower": 56673, "arith-make-feasible": 8011, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 6459, "arith-upper": 56242, "binary propagations": 2085729, "conflicts": 419, "decisions": 13038, "del clause": 1084, "final checks": 40, "max memory": 4320.75, "memory": 4077.95, "minimized lits": 5865, "mk bool var": 60480, "mk clause": 60206, "mk clause binary": 14964248, "num allocs": 1625635741926.0, "num checks": 41, "pb conflicts": 30, "pb predicates": 363, "pb propagations": 420, "pb resolves": 30, "propagations": 2535296, "restarts": 3, "rlimit count": 26615394, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140869, "time": 13.884}, "z3_status": {"elapsed_ms": 13885, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112990, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", "seed": 0, "smt2_filename": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 87034, "arith eq adapter": 1026, "arith-bound-propagations-lp": 4214, "arith-conflicts": 7, "arith-diseq": 2406, "arith-fixed-eqs": 1624, "arith-lower": 33416, "arith-make-feasible": 2917, "arith-max-columns": 977, "arith-max-rows": 627, "arith-offset-eqs": 6366, "arith-upper": 33019, "binary propagations": 737687, "conflicts": 281, "decisions": 10023, "del clause": 2426, "final checks": 17, "max memory": 620.35, "memory": 599.48, "minimized lits": 627, "mk bool var": 25823, "mk clause": 26318, "mk clause binary": 2791918, "num allocs": 23895626486.0, "num checks": 18, "pb conflicts": 96, "pb predicates": 1271, "pb propagations": 231, "pb resolves": 89, "propagations": 1022106, "restarts": 2, "rlimit count": 10426372, "solve-eqs-elim-vars": 13104, "solve-eqs-steps": 45389, "time": 2.728}, "z3_status": {"elapsed_ms": 2728, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24797, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", "seed": 0, "smt2_filename": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 605, "arith eq adapter": 298, "arith-bound-propagations-lp": 33, "arith-conflicts": 1, "arith-diseq": 5, "arith-fixed-eqs": 3, "arith-lower": 101, "arith-make-feasible": 10, "arith-max-columns": 305, "arith-max-rows": 189, "arith-upper": 103, "binary propagations": 8669, "conflicts": 8, "decisions": 12, "del clause": 457, "max memory": 88.59, "memory": 85.7, "mk bool var": 6998, "mk clause": 5875, "mk clause binary": 279848, "num allocs": 7304494372.0, "num checks": 1, "pb predicates": 259, "propagations": 10603, "rlimit count": 1689462, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13406, "time": 0.48}, "z3_status": {"elapsed_ms": 480, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 2188, "num_hard_constraints": 15243, "num_int": 1736, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 8, "num_soft_constraints": 224, "num_variables": 3932}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a__543b29ed8f75ba2d__seed0.meta.jsonl", "problem_sha256": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", "seed": 0, "smt2_filename": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5332, "arith eq adapter": 198, "arith-bound-propagations-lp": 515, "arith-conflicts": 2, "arith-diseq": 229, "arith-fixed-eqs": 172, "arith-lower": 2135, "arith-make-feasible": 609, "arith-max-columns": 159, "arith-max-rows": 92, "arith-offset-eqs": 467, "arith-upper": 2217, "binary propagations": 37973, "conflicts": 80, "decisions": 1169, "del clause": 248, "final checks": 7, "max memory": 41.83, "memory": 36.99, "minimized lits": 230, "mk bool var": 3437, "mk clause": 3358, "mk clause binary": 38581, "num allocs": 127421138, "num checks": 8, "pb conflicts": 14, "pb predicates": 102, "pb propagations": 56, "pb resolves": 8, "propagations": 53219, "rlimit count": 992112, "solve-eqs-elim-vars": 3264, "solve-eqs-steps": 7166, "time": 0.365}, "z3_status": {"elapsed_ms": 366, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24937, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", "seed": 0, "smt2_filename": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 8031, "arith eq adapter": 353, "arith-bound-propagations-lp": 847, "arith-conflicts": 7, "arith-diseq": 578, "arith-fixed-eqs": 399, "arith-lower": 3222, "arith-make-feasible": 386, "arith-max-columns": 310, "arith-max-rows": 192, "arith-offset-eqs": 392, "arith-upper": 3456, "binary propagations": 65381, "conflicts": 97, "decisions": 1067, "del clause": 491, "final checks": 7, "max memory": 88.59, "memory": 86.9, "minimized lits": 232, "mk bool var": 7069, "mk clause": 6801, "mk clause binary": 280980, "num allocs": 885209871, "num checks": 8, "pb conflicts": 28, "pb predicates": 260, "pb propagations": 10, "pb resolves": 26, "propagations": 92823, "rlimit count": 1766969, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13242, "time": 0.294}, "z3_status": {"elapsed_ms": 294, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 113006, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", "seed": 0, "smt2_filename": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 55429, "arith eq adapter": 968, "arith-bound-propagations-lp": 3780, "arith-conflicts": 5, "arith-diseq": 1510, "arith-fixed-eqs": 1036, "arith-lower": 19629, "arith-make-feasible": 1749, "arith-max-columns": 823, "arith-max-rows": 526, "arith-offset-eqs": 3086, "arith-upper": 19853, "binary propagations": 526090, "conflicts": 330, "decisions": 7222, "del clause": 2676, "final checks": 17, "max memory": 616.98, "memory": 595.92, "minimized lits": 1209, "mk bool var": 24324, "mk clause": 25064, "mk clause binary": 2736107, "num allocs": 24112114359.0, "num checks": 18, "pb conflicts": 89, "pb predicates": 1266, "pb propagations": 131, "pb resolves": 85, "propagations": 743241, "restarts": 2, "rlimit count": 14138638, "solve-eqs-elim-vars": 13431, "solve-eqs-steps": 47221, "time": 2.9}, "z3_status": {"elapsed_ms": 2900, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24807, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", "seed": 0, "smt2_filename": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 489, "arith eq adapter": 294, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-lower": 37, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "arith-upper": 37, "binary propagations": 4076, "conflicts": 3, "decisions": 4, "del clause": 454, "max memory": 88.83, "memory": 85.64, "mk bool var": 7005, "mk clause": 5856, "mk clause binary": 279773, "num allocs": 7248116132.0, "num checks": 1, "pb predicates": 259, "propagations": 5019, "rlimit count": 1554154, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13345, "time": 0.407}, "z3_status": {"elapsed_ms": 407, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", "seed": 0, "smt2_filename": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 6074, "arith eq adapter": 1590, "arith-bound-propagations-lp": 924, "arith-conflicts": 5, "arith-diseq": 240, "arith-fixed-eqs": 271, "arith-lower": 3118, "arith-make-feasible": 308, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 98, "arith-upper": 3121, "binary propagations": 117701, "conflicts": 34, "decisions": 196, "del clause": 608, "max memory": 4321.07, "memory": 4067.98, "minimized lits": 9, "mk bool var": 60496, "mk clause": 54268, "mk clause binary": 14969844, "num allocs": 1708759135547.0, "num checks": 1, "pb predicates": 363, "pb propagations": 28, "propagations": 136583, "rlimit count": 21352456, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 141071, "time": 12.712}, "z3_status": {"elapsed_ms": 12712, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", "seed": 0, "smt2_filename": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 95430, "arith eq adapter": 1629, "arith-bound-propagations-lp": 12154, "arith-conflicts": 72, "arith-diseq": 16605, "arith-fixed-eqs": 6134, "arith-lower": 58588, "arith-make-feasible": 8769, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 7789, "arith-upper": 59006, "binary propagations": 2575222, "conflicts": 501, "decisions": 17511, "del clause": 1217, "final checks": 30, "max memory": 4318.35, "memory": 4076.37, "minimized lits": 5254, "mk bool var": 60793, "mk clause": 61190, "mk clause binary": 15003811, "num allocs": 268741800331.0, "num checks": 31, "pb conflicts": 33, "pb predicates": 367, "pb propagations": 490, "pb resolves": 32, "propagations": 3164096, "restarts": 4, "rlimit count": 26341700, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 14.232}, "z3_status": {"elapsed_ms": 14232, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32107, "num_hard_constraints": 524914, "num_int": 27810, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1455, "num_variables": 59955}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", "seed": 0, "smt2_filename": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 12346592, "arith eq adapter": 4263, "arith-bound-propagations-lp": 177174, "arith-conflicts": 615, "arith-diseq": 409254, "arith-fixed-eqs": 162505, "arith-lower": 5819586, "arith-make-feasible": 219820, "arith-max-columns": 4092, "arith-max-rows": 2679, "arith-offset-eqs": 1145118, "arith-upper": 5824768, "binary propagations": 115958664, "conflicts": 20293, "decisions": 403008, "del clause": 37530, "final checks": 49, "max memory": 2497.69, "memory": 2437.4, "minimized lits": 171338, "mk bool var": 90959, "mk clause": 142266, "mk clause binary": 10500181, "num allocs": 838208096541.0, "num checks": 50, "pb conflicts": 816, "pb predicates": 4090, "pb propagations": 10434, "pb resolves": 741, "propagations": 159458871, "restarts": 122, "rlimit count": 285787632, "solve-eqs-elim-vars": 45255, "solve-eqs-steps": 149099, "time": 66.1}, "z3_status": {"elapsed_ms": 66100, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1092831, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", "seed": 0, "smt2_filename": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 56536, "arith eq adapter": 6993, "arith-bound-propagations-lp": 4168, "arith-conflicts": 2, "arith-diseq": 300, "arith-fixed-eqs": 973, "arith-lower": 22496, "arith-make-feasible": 713, "arith-max-columns": 6906, "arith-max-rows": 4548, "arith-offset-eqs": 3338, "arith-upper": 22521, "binary propagations": 348869, "conflicts": 43, "decisions": 513, "del clause": 11461, "max memory": 4743.79, "memory": 4498.16, "minimized lits": 14, "mk bool var": 148833, "mk clause": 125242, "mk clause binary": 18933928, "num allocs": 2220106133528.0, "num checks": 1, "pb predicates": 6459, "pb propagations": 5, "propagations": 444570, "rlimit count": 66826573, "solve-eqs-elim-vars": 74706, "solve-eqs-steps": 241608, "time": 31.732}, "z3_status": {"elapsed_ms": 31732, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112978, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", "seed": 0, "smt2_filename": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 140007, "arith eq adapter": 936, "arith-bound-propagations-lp": 4268, "arith-conflicts": 13, "arith-diseq": 3954, "arith-fixed-eqs": 1898, "arith-lower": 56038, "arith-make-feasible": 2691, "arith-max-columns": 768, "arith-max-rows": 491, "arith-offset-eqs": 6795, "arith-upper": 55961, "binary propagations": 1494337, "conflicts": 784, "decisions": 4989, "del clause": 2544, "max memory": 605.3, "memory": 582.2, "minimized lits": 4171, "mk bool var": 23071, "mk clause": 25280, "mk clause binary": 2567576, "num allocs": 23395126940.0, "num checks": 1, "pb conflicts": 58, "pb predicates": 1264, "pb propagations": 189, "pb resolves": 46, "propagations": 2033058, "restarts": 7, "rlimit count": 19446685, "solve-eqs-elim-vars": 13598, "solve-eqs-steps": 47631, "time": 2.996}, "z3_status": {"elapsed_ms": 2996, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24807, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", "seed": 0, "smt2_filename": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 485, "arith eq adapter": 293, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-lower": 37, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "arith-upper": 37, "binary propagations": 4750, "conflicts": 3, "decisions": 4, "del clause": 453, "max memory": 88.64, "memory": 85.62, "mk bool var": 6997, "mk clause": 5855, "mk clause binary": 279810, "num allocs": 6621909635.0, "num checks": 1, "pb predicates": 259, "propagations": 5876, "rlimit count": 1554883, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13339, "time": 0.49}, "z3_status": {"elapsed_ms": 490, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", "seed": 0, "smt2_filename": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5074, "arith eq adapter": 1590, "arith-bound-propagations-lp": 779, "arith-conflicts": 2, "arith-diseq": 167, "arith-fixed-eqs": 206, "arith-lower": 2542, "arith-make-feasible": 257, "arith-max-columns": 1629, "arith-max-rows": 1015, "arith-offset-eqs": 96, "arith-upper": 2513, "binary propagations": 121912, "conflicts": 26, "decisions": 195, "del clause": 608, "max memory": 4320.64, "memory": 4067.25, "minimized lits": 5, "mk bool var": 60451, "mk clause": 54098, "mk clause binary": 14960765, "num allocs": 1682503615929.0, "num checks": 1, "pb predicates": 363, "pb propagations": 16, "propagations": 140779, "rlimit count": 21341530, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140898, "time": 12.692}, "z3_status": {"elapsed_ms": 12692, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", "seed": 0, "smt2_filename": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 59301, "arith eq adapter": 1636, "arith-bound-propagations-lp": 9055, "arith-conflicts": 56, "arith-diseq": 11710, "arith-fixed-eqs": 4696, "arith-lower": 35643, "arith-make-feasible": 6376, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 5531, "arith-upper": 36771, "binary propagations": 1411020, "conflicts": 383, "decisions": 11875, "del clause": 1034, "final checks": 56, "max memory": 4318.36, "memory": 4075.97, "minimized lits": 3367, "mk bool var": 60795, "mk clause": 59626, "mk clause binary": 15003810, "num allocs": 286040856795.0, "num checks": 57, "pb conflicts": 26, "pb predicates": 367, "pb propagations": 630, "pb resolves": 26, "propagations": 1751697, "restarts": 2, "rlimit count": 25778910, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 14.353}, "z3_status": {"elapsed_ms": 14353, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", "seed": 0, "smt2_filename": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 74240, "arith eq adapter": 1603, "arith-bound-propagations-lp": 7956, "arith-conflicts": 43, "arith-diseq": 7119, "arith-fixed-eqs": 4240, "arith-lower": 41809, "arith-make-feasible": 6041, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 4979, "arith-upper": 41262, "binary propagations": 1520411, "conflicts": 340, "decisions": 9171, "del clause": 786, "final checks": 39, "max memory": 4320.79, "memory": 4077.26, "minimized lits": 998, "mk bool var": 60485, "mk clause": 59105, "mk clause binary": 14964213, "num allocs": 1785451733878.0, "num checks": 40, "pb conflicts": 24, "pb predicates": 363, "pb propagations": 285, "pb resolves": 24, "propagations": 1845870, "restarts": 2, "rlimit count": 25489167, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140872, "time": 14.428}, "z3_status": {"elapsed_ms": 14428, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 44958, "num_hard_constraints": 695689, "num_int": 38403, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2133, "num_variables": 83411}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", "seed": 0, "smt2_filename": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 22780198, "arith eq adapter": 6166, "arith-bound-propagations-lp": 286437, "arith-conflicts": 1185, "arith-diseq": 707609, "arith-fixed-eqs": 256585, "arith-lower": 10543138, "arith-make-feasible": 269584, "arith-max-columns": 6012, "arith-max-rows": 3941, "arith-offset-eqs": 2140101, "arith-upper": 10483890, "binary propagations": 232759821, "conflicts": 29011, "decisions": 376993, "del clause": 64995, "final checks": 9, "max memory": 4694.12, "memory": 4492.82, "minimized lits": 290946, "mk bool var": 138039, "mk clause": 213015, "mk clause binary": 18899506, "num allocs": 1954890661459.0, "num checks": 10, "pb conflicts": 764, "pb predicates": 5948, "pb propagations": 11662, "pb resolves": 755, "propagations": 310575312, "restarts": 163, "rlimit count": 556478248, "solve-eqs-elim-vars": 61991, "solve-eqs-steps": 231026, "time": 132.126}, "z3_status": {"elapsed_ms": 132126, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 2140, "num_hard_constraints": 15034, "num_int": 1694, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 8, "num_soft_constraints": 218, "num_variables": 3842}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac__543b29ed8f75ba2d__seed0.meta.jsonl", "problem_sha256": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", "seed": 0, "smt2_filename": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 255, "arith eq adapter": 124, "arith-bound-propagations-lp": 14, "arith-fixed-eqs": 3, "arith-lower": 34, "arith-make-feasible": 8, "arith-max-columns": 135, "arith-max-rows": 77, "arith-upper": 34, "binary propagations": 2463, "conflicts": 4, "decisions": 4, "del clause": 165, "max memory": 28.14, "memory": 27.65, "mk bool var": 3129, "mk clause": 2607, "mk clause binary": 36304, "num allocs": 63214666, "num checks": 1, "pb predicates": 98, "propagations": 3035, "rlimit count": 1042113, "solve-eqs-elim-vars": 3217, "solve-eqs-steps": 6989, "time": 0.311}, "z3_status": {"elapsed_ms": 311, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24937, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", "seed": 0, "smt2_filename": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 7810, "arith eq adapter": 416, "arith-bound-propagations-lp": 780, "arith-conflicts": 4, "arith-diseq": 673, "arith-fixed-eqs": 372, "arith-lower": 3208, "arith-make-feasible": 405, "arith-max-columns": 311, "arith-max-rows": 191, "arith-offset-eqs": 274, "arith-upper": 3203, "binary propagations": 70699, "conflicts": 93, "decisions": 1160, "del clause": 2128, "final checks": 8, "max memory": 88.58, "memory": 86.84, "minimized lits": 112, "mk bool var": 7113, "mk clause": 6750, "mk clause binary": 280979, "num allocs": 886786171, "num checks": 9, "pb conflicts": 25, "pb predicates": 260, "pb propagations": 4, "pb resolves": 23, "propagations": 99526, "rlimit count": 1778656, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13057, "time": 0.307}, "z3_status": {"elapsed_ms": 307, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32107, "num_hard_constraints": 524936, "num_int": 27810, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1455, "num_variables": 59955}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", "seed": 0, "smt2_filename": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 12975639, "arith eq adapter": 4219, "arith-bound-propagations-lp": 159293, "arith-conflicts": 608, "arith-diseq": 451355, "arith-fixed-eqs": 170238, "arith-lower": 6143127, "arith-make-feasible": 190568, "arith-max-columns": 4026, "arith-max-rows": 2636, "arith-offset-eqs": 1183279, "arith-upper": 6161508, "binary propagations": 126959642, "conflicts": 21002, "decisions": 325796, "del clause": 40992, "final checks": 13, "max memory": 2491.57, "memory": 2429.38, "minimized lits": 211317, "mk bool var": 90262, "mk clause": 141847, "mk clause binary": 10484184, "num allocs": 784980287529.0, "num checks": 14, "pb conflicts": 900, "pb predicates": 4081, "pb propagations": 8427, "pb resolves": 851, "propagations": 174972212, "restarts": 128, "rlimit count": 305746540, "solve-eqs-elim-vars": 45406, "solve-eqs-steps": 151730, "time": 67.552}, "z3_status": {"elapsed_ms": 67552, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", "seed": 0, "smt2_filename": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5498, "arith eq adapter": 1590, "arith-bound-propagations-lp": 831, "arith-conflicts": 6, "arith-diseq": 260, "arith-fixed-eqs": 202, "arith-lower": 2802, "arith-make-feasible": 268, "arith-max-columns": 1632, "arith-max-rows": 1015, "arith-offset-eqs": 145, "arith-upper": 2774, "binary propagations": 117112, "conflicts": 30, "decisions": 140, "del clause": 608, "max memory": 4320.63, "memory": 4067.77, "minimized lits": 42, "mk bool var": 60465, "mk clause": 54151, "mk clause binary": 14960999, "num allocs": 248743109287.0, "num checks": 1, "pb predicates": 363, "pb propagations": 31, "propagations": 135224, "rlimit count": 21339214, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140903, "time": 13.089}, "z3_status": {"elapsed_ms": 13089, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9359, "num_hard_constraints": 113172, "num_int": 7774, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 550, "num_variables": 17151}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", "seed": 0, "smt2_filename": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 105286, "arith eq adapter": 1049, "arith-bound-propagations-lp": 4890, "arith-conflicts": 10, "arith-diseq": 2617, "arith-fixed-eqs": 1788, "arith-lower": 40711, "arith-make-feasible": 2828, "arith-max-columns": 971, "arith-max-rows": 625, "arith-offset-eqs": 6036, "arith-upper": 40917, "binary propagations": 1012034, "conflicts": 558, "decisions": 10820, "del clause": 4733, "final checks": 8, "max memory": 620.18, "memory": 599.2, "minimized lits": 2268, "mk bool var": 25831, "mk clause": 26721, "mk clause binary": 2793125, "num allocs": 23618333082.0, "num checks": 9, "pb conflicts": 94, "pb predicates": 1271, "pb propagations": 265, "pb resolves": 86, "propagations": 1404437, "restarts": 5, "rlimit count": 11339618, "solve-eqs-elim-vars": 13139, "solve-eqs-steps": 46025, "time": 3.681}, "z3_status": {"elapsed_ms": 3681, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", "seed": 0, "smt2_filename": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 35686, "arith eq adapter": 1601, "arith-bound-propagations-lp": 5861, "arith-conflicts": 18, "arith-diseq": 6427, "arith-fixed-eqs": 2838, "arith-lower": 20745, "arith-make-feasible": 3871, "arith-max-columns": 1634, "arith-max-rows": 1015, "arith-offset-eqs": 2844, "arith-upper": 18796, "binary propagations": 732747, "conflicts": 155, "decisions": 8418, "del clause": 961, "final checks": 41, "max memory": 4321.23, "memory": 4077.11, "minimized lits": 2234, "mk bool var": 60515, "mk clause": 56969, "mk clause binary": 14972566, "num allocs": 1633050360948.0, "num checks": 42, "pb conflicts": 27, "pb predicates": 363, "pb propagations": 352, "pb resolves": 27, "propagations": 912363, "rlimit count": 23855170, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140952, "time": 13.086}, "z3_status": {"elapsed_ms": 13086, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45066, "num_hard_constraints": 696736, "num_int": 38505, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2139, "num_variables": 83621}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", "seed": 0, "smt2_filename": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 18440443, "arith eq adapter": 6081, "arith-bound-propagations-lp": 212243, "arith-conflicts": 941, "arith-diseq": 558301, "arith-fixed-eqs": 195998, "arith-lower": 8270504, "arith-make-feasible": 203372, "arith-max-columns": 6012, "arith-max-rows": 3938, "arith-offset-eqs": 1806760, "arith-upper": 8318461, "binary propagations": 191192148, "conflicts": 23003, "decisions": 350564, "del clause": 58027, "final checks": 26, "max memory": 4679.64, "memory": 4475.72, "minimized lits": 221909, "mk bool var": 138182, "mk clause": 201346, "mk clause binary": 18898284, "num allocs": 1959882383024.0, "num checks": 27, "pb conflicts": 814, "pb predicates": 5948, "pb propagations": 9446, "pb resolves": 810, "propagations": 251976930, "restarts": 135, "rlimit count": 467737909, "solve-eqs-elim-vars": 62202, "solve-eqs-steps": 233917, "time": 112.662}, "z3_status": {"elapsed_ms": 112662, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", "seed": 0, "smt2_filename": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 6100, "arith eq adapter": 1590, "arith-bound-propagations-lp": 943, "arith-conflicts": 4, "arith-diseq": 224, "arith-fixed-eqs": 242, "arith-lower": 3067, "arith-make-feasible": 265, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 161, "arith-upper": 3100, "binary propagations": 135175, "conflicts": 28, "decisions": 146, "del clause": 608, "max memory": 4320.64, "memory": 4067.46, "mk bool var": 60466, "mk clause": 54267, "mk clause binary": 14960982, "num allocs": 247227550887.0, "num checks": 1, "pb predicates": 363, "pb propagations": 31, "propagations": 156475, "rlimit count": 20732604, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140756, "time": 14.992}, "z3_status": {"elapsed_ms": 14992, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32107, "num_hard_constraints": 524936, "num_int": 27810, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1455, "num_variables": 59955}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", "seed": 0, "smt2_filename": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5445205, "arith eq adapter": 4147, "arith-bound-propagations-lp": 97950, "arith-conflicts": 238, "arith-diseq": 203618, "arith-fixed-eqs": 84468, "arith-lower": 2484160, "arith-make-feasible": 107974, "arith-max-columns": 4031, "arith-max-rows": 2642, "arith-offset-eqs": 550751, "arith-upper": 2503352, "binary propagations": 50228368, "conflicts": 8858, "decisions": 242490, "del clause": 13324, "final checks": 37, "max memory": 2491.74, "memory": 2428.83, "minimized lits": 61681, "mk bool var": 90264, "mk clause": 122774, "mk clause binary": 10476400, "num allocs": 768321328643.0, "num checks": 38, "pb conflicts": 691, "pb predicates": 4081, "pb propagations": 5087, "pb resolves": 666, "propagations": 69339814, "restarts": 63, "rlimit count": 147263647, "solve-eqs-elim-vars": 45406, "solve-eqs-steps": 151483, "time": 40.558}, "z3_status": {"elapsed_ms": 40558, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45066, "num_hard_constraints": 696736, "num_int": 38505, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2139, "num_variables": 83621}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", "seed": 0, "smt2_filename": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 37062841, "arith eq adapter": 6051, "arith-bound-propagations-lp": 349707, "arith-conflicts": 1452, "arith-diseq": 1150230, "arith-fixed-eqs": 387304, "arith-lower": 17392307, "arith-make-feasible": 386095, "arith-max-columns": 5982, "arith-max-rows": 3916, "arith-offset-eqs": 3109654, "arith-upper": 17439340, "binary propagations": 403602049, "conflicts": 48772, "decisions": 603760, "del clause": 89700, "final checks": 46, "max memory": 4675.71, "memory": 4478.29, "minimized lits": 647794, "mk bool var": 137772, "mk clause": 240524, "mk clause binary": 18874440, "num allocs": 2198837164034.0, "num checks": 47, "pb conflicts": 1246, "pb predicates": 5924, "pb propagations": 19722, "pb resolves": 1202, "propagations": 540204864, "restarts": 230, "rlimit count": 925944306, "solve-eqs-elim-vars": 62257, "solve-eqs-steps": 235494, "time": 181.205}, "z3_status": {"elapsed_ms": 181205, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", "seed": 0, "smt2_filename": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 42183, "arith eq adapter": 1625, "arith-bound-propagations-lp": 6394, "arith-conflicts": 15, "arith-diseq": 5483, "arith-fixed-eqs": 3372, "arith-lower": 24070, "arith-make-feasible": 3915, "arith-max-columns": 1640, "arith-max-rows": 1023, "arith-offset-eqs": 3491, "arith-upper": 24407, "binary propagations": 894105, "conflicts": 207, "decisions": 7280, "del clause": 991, "final checks": 44, "max memory": 4318.34, "memory": 4074.18, "minimized lits": 2493, "mk bool var": 60771, "mk clause": 58411, "mk clause binary": 15003817, "num allocs": 276646349770.0, "num checks": 45, "pb conflicts": 28, "pb predicates": 367, "pb propagations": 238, "pb resolves": 28, "propagations": 1095466, "restarts": 1, "rlimit count": 24227973, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 15.671}, "z3_status": {"elapsed_ms": 15671, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45066, "num_hard_constraints": 696736, "num_int": 38505, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2139, "num_variables": 83621}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", "seed": 0, "smt2_filename": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 11494488, "arith eq adapter": 6010, "arith-bound-propagations-lp": 202414, "arith-conflicts": 693, "arith-diseq": 387281, "arith-fixed-eqs": 175207, "arith-lower": 5204616, "arith-make-feasible": 158327, "arith-max-columns": 5950, "arith-max-rows": 3895, "arith-offset-eqs": 1215308, "arith-upper": 5188371, "binary propagations": 112341445, "conflicts": 12501, "decisions": 340795, "del clause": 44414, "final checks": 31, "max memory": 4677.0, "memory": 4472.91, "minimized lits": 117407, "mk bool var": 137591, "mk clause": 187206, "mk clause binary": 18879578, "num allocs": 1946559293743.0, "num checks": 32, "pb conflicts": 841, "pb predicates": 5918, "pb propagations": 4689, "pb resolves": 833, "propagations": 150689373, "restarts": 84, "rlimit count": 326014276, "solve-eqs-elim-vars": 62312, "solve-eqs-steps": 236797, "time": 80.512}, "z3_status": {"elapsed_ms": 80512, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 5621, "num_hard_constraints": 59387, "num_int": 4609, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 14, "num_soft_constraints": 383, "num_variables": 10244}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", "seed": 0, "smt2_filename": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 24673, "arith eq adapter": 592, "arith-bound-propagations-lp": 1423, "arith-conflicts": 5, "arith-diseq": 714, "arith-fixed-eqs": 411, "arith-lower": 8074, "arith-make-feasible": 559, "arith-max-columns": 440, "arith-max-rows": 276, "arith-offset-eqs": 1294, "arith-upper": 8452, "binary propagations": 247668, "conflicts": 204, "decisions": 2761, "del clause": 2704, "final checks": 7, "max memory": 296.1, "memory": 282.53, "minimized lits": 433, "mk bool var": 13485, "mk clause": 13545, "mk clause binary": 1029592, "num allocs": 5783835209.0, "num checks": 8, "pb conflicts": 64, "pb predicates": 742, "pb propagations": 11, "pb resolves": 61, "propagations": 350767, "restarts": 1, "rlimit count": 7471692, "solve-eqs-elim-vars": 8110, "solve-eqs-steps": 27135, "time": 1.298}, "z3_status": {"elapsed_ms": 1298, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9303, "num_hard_constraints": 112796, "num_int": 7722, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 546, "num_variables": 17043}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", "seed": 0, "smt2_filename": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 96079, "arith eq adapter": 996, "arith-bound-propagations-lp": 4966, "arith-conflicts": 22, "arith-diseq": 2937, "arith-fixed-eqs": 1736, "arith-lower": 36463, "arith-make-feasible": 2744, "arith-max-columns": 928, "arith-max-rows": 595, "arith-offset-eqs": 4498, "arith-upper": 36283, "binary propagations": 923597, "conflicts": 604, "decisions": 9551, "del clause": 2461, "final checks": 7, "max memory": 619.29, "memory": 598.59, "minimized lits": 2388, "mk bool var": 25208, "mk clause": 26874, "mk clause binary": 2777754, "num allocs": 23284377244.0, "num checks": 8, "pb conflicts": 105, "pb predicates": 1270, "pb propagations": 207, "pb resolves": 96, "propagations": 1273438, "restarts": 5, "rlimit count": 11627096, "solve-eqs-elim-vars": 13164, "solve-eqs-steps": 45577, "time": 3.053}, "z3_status": {"elapsed_ms": 3053, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52910, "num_hard_constraints": 1095737, "num_int": 46851, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1923, "num_variables": 99809}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", "seed": 0, "smt2_filename": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 42398, "arith eq adapter": 6915, "arith-bound-propagations-lp": 3332, "arith-conflicts": 5, "arith-diseq": 368, "arith-fixed-eqs": 697, "arith-lower": 16011, "arith-make-feasible": 529, "arith-max-columns": 6803, "arith-max-rows": 4481, "arith-offset-eqs": 1230, "arith-upper": 15880, "binary propagations": 260020, "conflicts": 54, "decisions": 288, "del clause": 11453, "max memory": 4757.86, "memory": 4511.08, "minimized lits": 461, "mk bool var": 147911, "mk clause": 124126, "mk clause binary": 18933443, "num allocs": 2225318125530.0, "num checks": 1, "pb predicates": 6451, "propagations": 336058, "rlimit count": 67537967, "solve-eqs-elim-vars": 75286, "solve-eqs-steps": 242873, "time": 33.16}, "z3_status": {"elapsed_ms": 33160, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3276, "num_hard_constraints": 25205, "num_int": 2568, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 293, "num_variables": 5854}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", "seed": 0, "smt2_filename": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 8473, "arith eq adapter": 352, "arith-bound-propagations-lp": 704, "arith-conflicts": 3, "arith-diseq": 194, "arith-fixed-eqs": 235, "arith-lower": 2807, "arith-make-feasible": 614, "arith-max-columns": 316, "arith-max-rows": 195, "arith-offset-eqs": 542, "arith-upper": 2978, "binary propagations": 60549, "conflicts": 82, "decisions": 2016, "del clause": 526, "final checks": 20, "max memory": 88.85, "memory": 87.2, "minimized lits": 218, "mk bool var": 7141, "mk clause": 6707, "mk clause binary": 283433, "num allocs": 916529572, "num checks": 21, "pb conflicts": 28, "pb predicates": 262, "pb propagations": 42, "pb resolves": 27, "propagations": 86665, "rlimit count": 1861058, "solve-eqs-elim-vars": 4674, "solve-eqs-steps": 12943, "time": 0.597}, "z3_status": {"elapsed_ms": 597, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112978, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", "seed": 0, "smt2_filename": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 92812, "arith eq adapter": 997, "arith-bound-propagations-lp": 4793, "arith-conflicts": 12, "arith-diseq": 3187, "arith-fixed-eqs": 1504, "arith-lower": 36636, "arith-make-feasible": 2256, "arith-max-columns": 897, "arith-max-rows": 576, "arith-offset-eqs": 5809, "arith-upper": 37302, "binary propagations": 862717, "conflicts": 386, "decisions": 7695, "del clause": 3879, "final checks": 13, "max memory": 619.16, "memory": 598.16, "minimized lits": 1659, "mk bool var": 25148, "mk clause": 26490, "mk clause binary": 2774776, "num allocs": 166577556987.0, "num checks": 14, "pb conflicts": 83, "pb predicates": 1269, "pb propagations": 125, "pb resolves": 79, "propagations": 1195002, "restarts": 3, "rlimit count": 13786897, "solve-eqs-elim-vars": 13239, "solve-eqs-steps": 47503, "time": 2.343}, "z3_status": {"elapsed_ms": 2343, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45030, "num_hard_constraints": 696365, "num_int": 38471, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2137, "num_variables": 83551}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", "seed": 0, "smt2_filename": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 11957912, "arith eq adapter": 6146, "arith-bound-propagations-lp": 205359, "arith-conflicts": 566, "arith-diseq": 413086, "arith-fixed-eqs": 165911, "arith-lower": 5515659, "arith-make-feasible": 220059, "arith-max-columns": 6049, "arith-max-rows": 3965, "arith-offset-eqs": 1243032, "arith-upper": 5502761, "binary propagations": 106355263, "conflicts": 12900, "decisions": 396823, "del clause": 40457, "final checks": 28, "max memory": 4702.37, "memory": 4501.36, "minimized lits": 84576, "mk bool var": 138632, "mk clause": 192891, "mk clause binary": 18913269, "num allocs": 1958182966487.0, "num checks": 29, "pb conflicts": 691, "pb predicates": 5972, "pb propagations": 9961, "pb resolves": 677, "propagations": 145339357, "restarts": 86, "rlimit count": 322543353, "solve-eqs-elim-vars": 62037, "solve-eqs-steps": 229747, "time": 93.445}, "z3_status": {"elapsed_ms": 93445, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 5621, "num_hard_constraints": 59387, "num_int": 4609, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 14, "num_soft_constraints": 383, "num_variables": 10244}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", "seed": 0, "smt2_filename": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 19410, "arith eq adapter": 518, "arith-bound-propagations-lp": 1404, "arith-conflicts": 1, "arith-diseq": 926, "arith-fixed-eqs": 636, "arith-lower": 7215, "arith-make-feasible": 931, "arith-max-columns": 461, "arith-max-rows": 290, "arith-offset-eqs": 1094, "arith-upper": 7628, "binary propagations": 199079, "conflicts": 132, "decisions": 3661, "del clause": 1677, "final checks": 6, "max memory": 296.0, "memory": 282.5, "minimized lits": 273, "mk bool var": 13565, "mk clause": 13535, "mk clause binary": 1035061, "num allocs": 5749098214.0, "num checks": 7, "pb conflicts": 59, "pb predicates": 743, "pb propagations": 97, "pb resolves": 56, "propagations": 274267, "restarts": 1, "rlimit count": 6504829, "solve-eqs-elim-vars": 8075, "solve-eqs-steps": 26821, "time": 1.674}, "z3_status": {"elapsed_ms": 1674, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24797, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", "seed": 0, "smt2_filename": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 1565, "arith eq adapter": 309, "arith-bound-propagations-lp": 186, "arith-conflicts": 1, "arith-diseq": 55, "arith-fixed-eqs": 39, "arith-lower": 539, "arith-make-feasible": 43, "arith-max-columns": 305, "arith-max-rows": 189, "arith-offset-eqs": 55, "arith-upper": 548, "binary propagations": 14830, "conflicts": 9, "decisions": 21, "del clause": 464, "max memory": 88.65, "memory": 85.82, "minimized lits": 5, "mk bool var": 7028, "mk clause": 6036, "mk clause binary": 279871, "num allocs": 7218965455.0, "num checks": 1, "pb predicates": 259, "propagations": 18322, "rlimit count": 1703733, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13406, "time": 0.239}, "z3_status": {"elapsed_ms": 239, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112978, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", "seed": 0, "smt2_filename": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 88027, "arith eq adapter": 1088, "arith-bound-propagations-lp": 4317, "arith-conflicts": 9, "arith-diseq": 2504, "arith-fixed-eqs": 1721, "arith-lower": 34607, "arith-make-feasible": 2668, "arith-max-columns": 922, "arith-max-rows": 593, "arith-offset-eqs": 5934, "arith-upper": 34622, "binary propagations": 821400, "conflicts": 313, "decisions": 11511, "del clause": 6511, "final checks": 9, "max memory": 619.08, "memory": 597.88, "minimized lits": 1008, "mk bool var": 25292, "mk clause": 25863, "mk clause binary": 2778804, "num allocs": 173287420086.0, "num checks": 10, "pb conflicts": 95, "pb predicates": 1270, "pb propagations": 369, "pb resolves": 89, "propagations": 1133434, "restarts": 2, "rlimit count": 10988398, "solve-eqs-elim-vars": 13199, "solve-eqs-steps": 46243, "time": 2.193}, "z3_status": {"elapsed_ms": 2193, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3276, "num_hard_constraints": 25205, "num_int": 2568, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 293, "num_variables": 5854}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", "seed": 0, "smt2_filename": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 13717, "arith eq adapter": 359, "arith-bound-propagations-lp": 1129, "arith-diseq": 408, "arith-fixed-eqs": 389, "arith-lower": 5039, "arith-make-feasible": 1740, "arith-max-columns": 317, "arith-max-rows": 194, "arith-offset-eqs": 977, "arith-upper": 5210, "binary propagations": 110923, "conflicts": 272, "decisions": 4275, "del clause": 535, "final checks": 11, "max memory": 88.83, "memory": 87.38, "minimized lits": 1008, "mk bool var": 7147, "mk clause": 7350, "mk clause binary": 283406, "num allocs": 895408085, "num checks": 12, "pb conflicts": 64, "pb predicates": 262, "pb propagations": 311, "pb resolves": 35, "propagations": 156893, "restarts": 2, "rlimit count": 1935497, "solve-eqs-elim-vars": 4674, "solve-eqs-steps": 13111, "time": 0.312}, "z3_status": {"elapsed_ms": 312, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1093104, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", "seed": 0, "smt2_filename": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 16606, "arith eq adapter": 6836, "arith-bound-propagations-lp": 1138, "arith-diseq": 60, "arith-fixed-eqs": 298, "arith-lower": 3734, "arith-make-feasible": 108, "arith-max-columns": 6854, "arith-max-rows": 4519, "arith-offset-eqs": 159, "arith-upper": 3716, "binary propagations": 63412, "conflicts": 8, "decisions": 44, "del clause": 11413, "max memory": 4739.95, "memory": 4491.86, "mk bool var": 148222, "mk clause": 122124, "mk clause binary": 18918999, "num allocs": 2209919358644.0, "num checks": 1, "pb predicates": 6452, "propagations": 78236, "rlimit count": 67029168, "solve-eqs-elim-vars": 74793, "solve-eqs-steps": 246594, "time": 32.076}, "z3_status": {"elapsed_ms": 32076, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52910, "num_hard_constraints": 1095737, "num_int": 46851, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1923, "num_variables": 99809}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", "seed": 0, "smt2_filename": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 467675, "arith eq adapter": 7128, "arith-bound-propagations-lp": 17339, "arith-conflicts": 22, "arith-diseq": 8603, "arith-fixed-eqs": 5630, "arith-lower": 201950, "arith-make-feasible": 4523, "arith-max-columns": 6858, "arith-max-rows": 4522, "arith-offset-eqs": 32206, "arith-upper": 204836, "binary propagations": 3798556, "conflicts": 554, "decisions": 2726, "del clause": 11717, "max memory": 4742.12, "memory": 4504.18, "minimized lits": 7387, "mk bool var": 148696, "mk clause": 136706, "mk clause binary": 18949817, "num allocs": 2234259712780.0, "num checks": 1, "pb predicates": 6454, "pb propagations": 127, "propagations": 5217493, "restarts": 5, "rlimit count": 76041935, "solve-eqs-elim-vars": 75214, "solve-eqs-steps": 247112, "time": 33.752}, "z3_status": {"elapsed_ms": 33752, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1093134, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", "seed": 0, "smt2_filename": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 12994, "arith eq adapter": 6797, "arith-bound-propagations-lp": 488, "arith-diseq": 37, "arith-fixed-eqs": 84, "arith-lower": 1897, "arith-make-feasible": 65, "arith-max-columns": 6794, "arith-max-rows": 4478, "arith-offset-eqs": 25, "arith-upper": 1897, "binary propagations": 60805, "conflicts": 17, "decisions": 59, "del clause": 11402, "max memory": 4755.76, "memory": 4504.42, "minimized lits": 300, "mk bool var": 147738, "mk clause": 121238, "mk clause binary": 18903218, "num allocs": 2213342027483.0, "num checks": 1, "pb predicates": 6449, "propagations": 77550, "rlimit count": 66856154, "solve-eqs-elim-vars": 74865, "solve-eqs-steps": 242639, "time": 32.836}, "z3_status": {"elapsed_ms": 32836, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32069, "num_hard_constraints": 524539, "num_int": 27774, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1453, "num_variables": 59881}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", "seed": 0, "smt2_filename": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 6444865, "arith eq adapter": 4241, "arith-bound-propagations-lp": 111557, "arith-conflicts": 259, "arith-diseq": 223102, "arith-fixed-eqs": 84900, "arith-lower": 2904629, "arith-make-feasible": 100743, "arith-max-columns": 4091, "arith-max-rows": 2679, "arith-offset-eqs": 664132, "arith-upper": 2921908, "binary propagations": 57569986, "conflicts": 8751, "decisions": 199321, "del clause": 16378, "final checks": 33, "max memory": 2497.83, "memory": 2434.64, "minimized lits": 70760, "mk bool var": 91008, "mk clause": 124076, "mk clause binary": 10500022, "num allocs": 769099593064.0, "num checks": 34, "pb conflicts": 616, "pb predicates": 4090, "pb propagations": 5541, "pb resolves": 596, "propagations": 79552413, "restarts": 63, "rlimit count": 161835665, "solve-eqs-elim-vars": 45182, "solve-eqs-steps": 148243, "time": 42.599}, "z3_status": {"elapsed_ms": 42599, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9303, "num_hard_constraints": 112812, "num_int": 7722, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 546, "num_variables": 17043}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", "seed": 0, "smt2_filename": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 75108, "arith eq adapter": 831, "arith-bound-propagations-lp": 3554, "arith-conflicts": 5, "arith-diseq": 3069, "arith-fixed-eqs": 1366, "arith-lower": 26930, "arith-make-feasible": 2780, "arith-max-columns": 774, "arith-max-rows": 494, "arith-offset-eqs": 4884, "arith-upper": 28277, "binary propagations": 740858, "conflicts": 394, "decisions": 10789, "del clause": 2582, "final checks": 8, "max memory": 612.05, "memory": 590.91, "minimized lits": 2033, "mk bool var": 23635, "mk clause": 24698, "mk clause binary": 2719904, "num allocs": 23511619607.0, "num checks": 9, "pb conflicts": 117, "pb predicates": 1265, "pb propagations": 314, "pb resolves": 101, "propagations": 1035444, "restarts": 3, "rlimit count": 14423207, "solve-eqs-elim-vars": 13491, "solve-eqs-steps": 47432, "time": 3.35}, "z3_status": {"elapsed_ms": 3350, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", "seed": 0, "smt2_filename": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5552, "arith eq adapter": 1593, "arith-bound-propagations-lp": 999, "arith-conflicts": 3, "arith-diseq": 187, "arith-fixed-eqs": 262, "arith-lower": 2740, "arith-make-feasible": 228, "arith-max-columns": 1633, "arith-max-rows": 1015, "arith-offset-eqs": 140, "arith-upper": 2743, "binary propagations": 119525, "conflicts": 28, "decisions": 130, "del clause": 611, "max memory": 4321.13, "memory": 4068.8, "minimized lits": 12, "mk bool var": 60503, "mk clause": 54323, "mk clause binary": 14969842, "num allocs": 1678980211955.0, "num checks": 1, "pb predicates": 363, "pb propagations": 23, "propagations": 140410, "rlimit count": 20723801, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 141044, "time": 13.346}, "z3_status": {"elapsed_ms": 13346, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24936, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", "seed": 0, "smt2_filename": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5415, "arith eq adapter": 356, "arith-bound-propagations-lp": 546, "arith-conflicts": 3, "arith-diseq": 339, "arith-fixed-eqs": 217, "arith-lower": 2087, "arith-make-feasible": 239, "arith-max-columns": 310, "arith-max-rows": 191, "arith-offset-eqs": 327, "arith-upper": 2155, "binary propagations": 42514, "conflicts": 61, "decisions": 190, "del clause": 491, "max memory": 88.64, "memory": 86.18, "minimized lits": 215, "mk bool var": 7126, "mk clause": 6486, "mk clause binary": 282146, "num allocs": 848196759, "num checks": 1, "pb conflicts": 2, "pb predicates": 260, "pb propagations": 16, "pb resolves": 2, "propagations": 57841, "rlimit count": 1643884, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13030, "time": 0.268}, "z3_status": {"elapsed_ms": 268, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1092831, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", "seed": 0, "smt2_filename": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 39079, "arith eq adapter": 6939, "arith-bound-propagations-lp": 3834, "arith-conflicts": 1, "arith-diseq": 277, "arith-fixed-eqs": 896, "arith-lower": 14729, "arith-make-feasible": 768, "arith-max-columns": 6887, "arith-max-rows": 4538, "arith-offset-eqs": 1580, "arith-upper": 14637, "binary propagations": 237755, "conflicts": 34, "decisions": 752, "del clause": 11462, "max memory": 4759.15, "memory": 4513.86, "minimized lits": 216, "mk bool var": 148631, "mk clause": 125068, "mk clause binary": 18935100, "num allocs": 2225577072298.0, "num checks": 1, "pb predicates": 6459, "pb propagations": 2, "propagations": 307126, "rlimit count": 66565673, "solve-eqs-elim-vars": 74706, "solve-eqs-steps": 241933, "time": 31.406}, "z3_status": {"elapsed_ms": 31406, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 2116, "num_hard_constraints": 14932, "num_int": 1673, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 8, "num_soft_constraints": 215, "num_variables": 3797}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3__543b29ed8f75ba2d__seed0.meta.jsonl", "problem_sha256": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", "seed": 0, "smt2_filename": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"max memory": 25.25, "memory": 22.82, "num allocs": 49404449, "rlimit count": 828317, "solve-eqs-elim-vars": 3365, "solve-eqs-steps": 7223, "time": 0.221}, "z3_status": {"elapsed_ms": 221, "result": "Unsat"}, "z3_version": "4.13.3.0"} +{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24936, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", "seed": 0, "smt2_filename": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5141, "arith eq adapter": 357, "arith-bound-propagations-lp": 483, "arith-conflicts": 5, "arith-diseq": 592, "arith-fixed-eqs": 309, "arith-lower": 2136, "arith-make-feasible": 416, "arith-max-columns": 309, "arith-max-rows": 191, "arith-offset-eqs": 291, "arith-upper": 2122, "binary propagations": 53999, "conflicts": 103, "decisions": 964, "del clause": 482, "final checks": 6, "max memory": 88.65, "memory": 86.87, "minimized lits": 242, "mk bool var": 7079, "mk clause": 6437, "mk clause binary": 282306, "num allocs": 863687625, "num checks": 7, "pb conflicts": 30, "pb predicates": 260, "pb propagations": 45, "pb resolves": 28, "propagations": 76908, "rlimit count": 1730326, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13111, "time": 0.258}, "z3_status": {"elapsed_ms": 258, "result": "Sat"}, "z3_version": "4.13.3.0"} diff --git a/scripts/z3_bench_collect.py b/scripts/z3_bench_collect.py new file mode 100644 index 0000000000..78da30d80e --- /dev/null +++ b/scripts/z3_bench_collect.py @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 +"""Collect a z3-bench raw-data dump into a usable table + manifest. + +Reads: + /.smt2 -> problem instance + /____seed.meta.jsonl -> one JSON per solve + +Writes: + /problems.csv -> flattened table, one row per meta entry + /problems.jsonl -> combined jsonl with absolute smt2_path appended + +Self-contained, stdlib-only, Python 3.7+. +""" + +import argparse +import csv +import json +import sys +from pathlib import Path +from typing import Any, Dict, Iterator, List, Optional, Tuple + +# --------------------------------------------------------------------------- +# CSV schema (flattened from meta.jsonl) +# --------------------------------------------------------------------------- + +FIELDS = [ + "problem_sha256", + "applied_params_hash", + "seed", + "solver", + "path", + "z3_version", + # status + "result", + "elapsed_ms", + # features + "num_variables", + "num_bool", + "num_int", + "num_real", + "num_hard_constraints", + "num_soft_constraints", + "num_minimize_objectives", + "num_maximize_objectives", + # cli params + "cli_effort", + "cli_tech", + "cli_process", + "cli_solver_iter_timeout", + "cli_use_reboot", + "cli_optimize_m1", + "cli_optimize_m2", + "cli_num_of_heights", + # selected z3 statistics + "z3_conflicts", + "z3_decisions", + "z3_propagations", + "z3_final_checks", + "z3_num_checks", + "z3_max_memory_mb", + "z3_time_s", + "z3_rlimit_count", + # file references + "smt2_filename", + "smt2_path", + "meta_path", + # diagnostics + "error", +] + + +# --------------------------------------------------------------------------- +# Meta parsing +# --------------------------------------------------------------------------- + + +def _iter_meta_records(meta_path: Path) -> Iterator[Tuple[int, Dict[str, Any], Optional[str]]]: + """Yield (line_index, record, error) for each non-empty line in a .meta.jsonl.""" + with meta_path.open("r", encoding="utf-8", errors="replace") as f: + for idx, line in enumerate(f): + line = line.strip() + if not line: + continue + try: + rec = json.loads(line) + except json.JSONDecodeError as exc: + yield idx, {}, "json parse: {}".format(exc) + continue + yield idx, rec, None + + +def _seed_from_filename(meta_name: str) -> Optional[int]: + """Extract from '____seed.meta.jsonl'.""" + stem = meta_name + for suffix in (".meta.jsonl", ".jsonl"): + if stem.endswith(suffix): + stem = stem[: -len(suffix)] + break + parts = stem.split("__") + for tok in reversed(parts): + if tok.startswith("seed"): + try: + return int(tok[len("seed") :]) + except ValueError: + return None + return None + + +def _flatten(rec: Dict[str, Any], meta_path: Path, raw_dir: Path) -> Dict[str, object]: + """Map a meta JSON record into a flat row keyed by FIELDS.""" + row: Dict[str, object] = {k: "" for k in FIELDS} + row["meta_path"] = str(meta_path) + + row["problem_sha256"] = rec.get("problem_sha256", "") + row["applied_params_hash"] = rec.get("applied_params_hash", "") + row["solver"] = rec.get("solver", "") + row["path"] = rec.get("path", "") + row["z3_version"] = rec.get("z3_version", "") + + status = rec.get("z3_status") or {} + row["result"] = status.get("result", "") + row["elapsed_ms"] = status.get("elapsed_ms", "") + + feats = rec.get("features") or {} + for k in ( + "num_variables", + "num_bool", + "num_int", + "num_real", + "num_hard_constraints", + "num_soft_constraints", + "num_minimize_objectives", + "num_maximize_objectives", + ): + row[k] = feats.get(k, "") + + cli = rec.get("cli_params") or {} + row["cli_effort"] = cli.get("effort", "") + row["cli_tech"] = cli.get("tech", "") + row["cli_process"] = cli.get("process", "") + row["cli_solver_iter_timeout"] = cli.get("solver_iter_timeout", "") + row["cli_use_reboot"] = cli.get("use_reboot", "") + row["cli_optimize_m1"] = cli.get("optimize_m1", "") + row["cli_optimize_m2"] = cli.get("optimize_m2", "") + row["cli_num_of_heights"] = cli.get("num_of_heights", "") + + stats = rec.get("z3_statistics") or {} + row["z3_conflicts"] = stats.get("conflicts", "") + row["z3_decisions"] = stats.get("decisions", "") + row["z3_propagations"] = stats.get("propagations", "") + row["z3_final_checks"] = stats.get("final checks", "") + row["z3_num_checks"] = stats.get("num checks", "") + row["z3_max_memory_mb"] = stats.get("max memory", "") + row["z3_time_s"] = stats.get("time", "") + row["z3_rlimit_count"] = stats.get("rlimit count", "") + + seed = rec.get("seed") + if seed is None: + seed = _seed_from_filename(meta_path.name) + row["seed"] = seed if seed is not None else "" + + smt2_name = rec.get("smt2_filename") or "" + if not smt2_name and row["problem_sha256"]: + smt2_name = "{}.smt2".format(row["problem_sha256"]) + row["smt2_filename"] = smt2_name + + if smt2_name: + smt2_path = (raw_dir / smt2_name).resolve() + row["smt2_path"] = str(smt2_path) + if not smt2_path.exists(): + row["error"] = "smt2 missing: {}".format(smt2_name) + else: + row["error"] = "no smt2_filename in record" + + return row + + +# --------------------------------------------------------------------------- +# Collect +# --------------------------------------------------------------------------- + + +def collect(raw_dir: Path) -> Tuple[List[Dict[str, object]], List[Dict[str, Any]]]: + """Return (csv_rows, jsonl_records_with_smt2_path) sorted by (problem, params, seed).""" + metas = sorted(raw_dir.glob("*.meta.jsonl")) + if not metas: + sys.exit("error: no *.meta.jsonl found in {}".format(raw_dir)) + + rows: List[Dict[str, object]] = [] + augmented: List[Dict[str, Any]] = [] + + for meta_path in metas: + for line_idx, rec, parse_err in _iter_meta_records(meta_path): + if parse_err: + rows.append( + { + **{k: "" for k in FIELDS}, + "meta_path": str(meta_path), + "error": "line {}: {}".format(line_idx, parse_err), + } + ) + continue + row = _flatten(rec, meta_path, raw_dir) + rows.append(row) + aug = dict(rec) + aug["smt2_path"] = row["smt2_path"] + aug["meta_path"] = str(meta_path) + if not aug.get("seed") and row["seed"] != "": + aug["seed"] = row["seed"] + augmented.append(aug) + + rows.sort( + key=lambda r: ( + str(r.get("problem_sha256") or ""), + str(r.get("applied_params_hash") or ""), + str(r.get("seed") or ""), + ) + ) + return rows, augmented + + +def write_csv(rows: List[Dict[str, object]], path: Path) -> None: + with path.open("w", newline="", encoding="utf-8") as f: + w = csv.DictWriter(f, fieldnames=FIELDS, extrasaction="ignore") + w.writeheader() + for row in rows: + w.writerow(row) + + +def write_jsonl(records: List[Dict[str, Any]], path: Path) -> None: + with path.open("w", encoding="utf-8") as f: + for rec in records: + f.write(json.dumps(rec, ensure_ascii=False, sort_keys=True)) + f.write("\n") + + +# --------------------------------------------------------------------------- +# CLI +# --------------------------------------------------------------------------- + + +def main() -> None: + p = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + p.add_argument( + "--raw-dir", + type=Path, + default=Path("/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data"), + help="Directory of paired .smt2 + ____seed.meta.jsonl files.", + ) + p.add_argument( + "--out-dir", + type=Path, + default=None, + help="Output directory (default: parent of --raw-dir).", + ) + args = p.parse_args() + + raw_dir = args.raw_dir.resolve() + if not raw_dir.is_dir(): + sys.exit("error: raw dir not found: {}".format(raw_dir)) + out_dir = (args.out_dir or raw_dir.parent).resolve() + out_dir.mkdir(parents=True, exist_ok=True) + + rows, augmented = collect(raw_dir) + + csv_path = out_dir / "problems.csv" + jsonl_path = out_dir / "problems.jsonl" + write_csv(rows, csv_path) + write_jsonl(augmented, jsonl_path) + + ok = sum(1 for r in rows if not r["error"]) + failed = len(rows) - ok + print( + "[z3-bench collect] {} rows ({} ok, {} with errors) -> {}".format( + len(rows), ok, failed, csv_path + ) + ) + print("[z3-bench collect] manifest -> {}".format(jsonl_path)) + + +if __name__ == "__main__": + main() From 8b15494c21454c8d21c09d6dd881a1a48cfb4288 Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 18 May 2026 10:35:44 +0900 Subject: [PATCH 02/42] [feat] add claude code sdk backend --- configs/claude_code_example.yaml | 54 +++++ input/z3-bench/evolve/README.md | 398 +++++++++++++++++++++++++++++++ openevolve/config.py | 10 + openevolve/llm/__init__.py | 10 +- openevolve/llm/claude_code.py | 161 +++++++++++++ openevolve/llm/ensemble.py | 18 +- pyproject.toml | 3 + 7 files changed, 649 insertions(+), 5 deletions(-) create mode 100644 configs/claude_code_example.yaml create mode 100644 input/z3-bench/evolve/README.md create mode 100644 openevolve/llm/claude_code.py diff --git a/configs/claude_code_example.yaml b/configs/claude_code_example.yaml new file mode 100644 index 0000000000..e9c2247bc6 --- /dev/null +++ b/configs/claude_code_example.yaml @@ -0,0 +1,54 @@ +# Example: drive OpenEvolve through a local Claude Code CLI session. +# +# Prereqs: +# 1. Install Claude Code CLI and log in once: `claude login` +# (Pro/Max subscription is used for billing; no API key required.) +# 2. Install the SDK extra: pip install -e ".[claude-code]" +# +# Caveats: +# - Subscription rate limits (5-hour windows) apply. Heavy evolution runs +# will hit them quickly; consider mixing Claude Code with API-keyed models +# in the ensemble, or lowering `max_iterations`. +# - `temperature`, `top_p`, and `random_seed` are ignored by this backend +# (the SDK does not expose them). Reproducibility is reduced. +# - `max_tokens` is not enforced; use `max_thinking_tokens` instead. + +max_iterations: 50 +checkpoint_interval: 10 + +llm: + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 0.7 + system_message: "You are an expert code evolution assistant." + timeout: 180 + retries: 2 + retry_delay: 10 + # Optional Claude Code-specific knobs: + reasoning_effort: "medium" # one of: low, medium, high, xhigh, max + max_thinking_tokens: null # cap extended thinking budget + # cli_path: "/opt/homebrew/bin/claude" + # claude_code_options: # raw kwargs forwarded to ClaudeAgentOptions + # fallback_model: "claude-haiku-4-5" + + - name: "claude-haiku-4-5" + provider: "claude_code" + weight: 0.3 + timeout: 120 + + evaluator_models: + - name: "claude-haiku-4-5" + provider: "claude_code" + weight: 1.0 + timeout: 120 + +prompt: + system_message: "You are an expert code evolution assistant." + +database: + num_islands: 3 + population_size: 100 + +evaluator: + parallel_evaluations: 1 # keep low to avoid rate-limit bursts diff --git a/input/z3-bench/evolve/README.md b/input/z3-bench/evolve/README.md new file mode 100644 index 0000000000..a2c2ac28af --- /dev/null +++ b/input/z3-bench/evolve/README.md @@ -0,0 +1,398 @@ +# Z3 Parameter Tuning via OpenEvolve + +OpenEvolve를 사용해 Z3 SMT 솔버의 파라미터를 진화적으로 탐색한다. 입력은 `input/z3-bench/` 데이터셋(50개 SMT2 인스턴스 + baseline 실행 로그). 목표는 baseline 대비 wall-clock 시간 단축, 단 정답(Sat/Unsat) 보존. + +--- + +## 0. OpenEvolve 빠른 소개 (처음 보는 사람용) + +### 0.1 한 줄 요약 + +**OpenEvolve = LLM × 진화 알고리즘.** 사람이 정의한 "코드 조각"과 "평가 함수"를 받아, LLM이 코드를 반복적으로 변이시키고 점수가 높은 변이만 살려나간다. Google DeepMind의 AlphaEvolve 시스템을 오픈소스로 재구현한 프레임워크. + +### 0.2 동작 원리 (1 iteration) + +``` +┌───────────────────────────────────────────────────────────────┐ +│ 1. Database에서 부모 프로그램 K개 샘플링 (MAP-Elites + islands) │ +│ 2. LLM 프롬프트 구성: │ +│ - system_message (config.yaml에서) │ +│ - 부모 코드 + 부모들의 점수/메트릭 │ +│ - 과거 변이 일부 (inspiration) │ +│ - 이전 변이의 artifacts (디버깅 신호) │ +│ 3. LLM이 새 코드 생성 (diff 또는 full rewrite) │ +│ 4. 새 프로그램을 evaluator.py에 넘김 │ +│ 5. evaluator가 metrics dict 반환 (예: combined_score: 0.73) │ +│ 6. Database에 (code, metrics, artifacts) 저장 │ +│ 7. checkpoint_interval마다 디스크 저장 │ +└───────────────────────────────────────────────────────────────┘ +``` + +위를 `--iterations N`번 반복. 종료 시 `openevolve_output/best/best_program.py`에 최고 점수 변이 저장. + +### 0.3 핵심 개념 + +#### EVOLVE-BLOCK +초기 프로그램(`initial_program.py`) 안에서 **LLM이 수정해도 되는 영역**을 마커로 표시: + +```python +# 고정된 코드 (수정 금지) +import some_lib + +# EVOLVE-BLOCK-START +# 이 안의 코드만 LLM이 변이시킴 +def my_algorithm(): + return 42 +# EVOLVE-BLOCK-END + +# 고정된 코드 (인터페이스 보존용) +def run(): + return my_algorithm() +``` + +블록 밖은 인터페이스/타입/평가 함수 호출 규약 등을 유지하는 부분. 이 프로젝트에서는 EVOLVE-BLOCK 안에 Z3 파라미터 **dict 리터럴**을 두어 LLM이 키/값을 변이시킴. + +#### Evaluator +`evaluator.py`는 **단 하나의 함수**(`evaluate(program_path)`)를 노출. 변이된 프로그램을 받아 점수 dict를 돌려준다: + +```python +from openevolve.evaluation_result import EvaluationResult + +def evaluate(program_path): + # 1. 프로그램 import + # 2. 실행 / 측정 + # 3. metrics 계산 + return EvaluationResult( + metrics={"combined_score": 0.73, "sub_metric_a": 1.5, ...}, + artifacts={"summary": "...", "per_problem": [...]}, # 다음 LLM 호출의 컨텍스트로 사용됨 + ) +``` + +- **`metrics`**: 진화 압력. `combined_score` 키가 주 목적함수. 다른 키들은 부수 모니터링. +- **`artifacts`**: 점수에 영향 안 줌. 단, LLM에 다음 라운드 컨텍스트로 들어가서 "왜 실패했는지/뭐가 좋아졌는지" 학습 신호가 됨. 예: 에러 메시지, 잘못된 키 이름, 인스턴스별 speedup 분포. + +#### Cascade evaluation +한 변이를 평가하는 데 비용이 크면 단계별로 컷: + +``` +evaluate_stage1(program_path) → 빠른 검증 (이 프로젝트: 5문제) + └─ score 낮으면 즉시 컷 (cascade_thresholds 비교) + └─ score 통과 시 ↓ +evaluate_stage2(program_path) → 본 평가 (이 프로젝트: 전체 50문제) +``` + +명백히 망가진 변이(시드 위반, invalid key, 큰 회귀)는 stage1에서 거름. LLM 시간/달러 절약. + +#### MAP-Elites + Islands (다양성 유지) +- **MAP-Elites**: 코드를 다차원 feature grid에 매핑 → 각 셀의 챔피언만 유지. 단순히 "최고 점수 1개"가 아니라 "각 영역의 최고"를 보존 → 국소 최적 탈출. +- **Islands**: 독립된 N개의 population이 따로 진화. 주기적으로 migration. 한 island의 조기 수렴이 전체에 퍼지지 않게 함. + +이 프로젝트 설정: `num_islands: 3`, `population_size: 50`, `archive_size: 20`. + +#### Diff-based evolution +`diff_based_evolution: true`면 LLM이 전체 파일이 아니라 **search/replace 블록만** 출력. 큰 파일에서 토큰 절약 + 의도 명확. + +### 0.4 OpenEvolve가 받는 입력 (총 3개 파일) + +| 파일 | 역할 | +|---|---| +| `initial_program.py` | 시작점. EVOLVE-BLOCK 안 코드만 진화. 인터페이스는 evaluator와 합의 | +| `evaluator.py` | `evaluate(program_path) -> EvaluationResult` 함수 1개 노출 | +| `config.yaml` | LLM 모델, 반복 횟수, population, prompt system_message 등 | + +호출: +```bash +python openevolve-run.py \ + initial_program.py \ + evaluator.py \ + --config config.yaml \ + --iterations 100 +``` + +### 0.5 출력 + +``` +/openevolve_output/ +├── best/ +│ └── best_program.py # 최고 score 변이 +├── checkpoints/ +│ ├── checkpoint_10/ # checkpoint_interval마다 +│ ├── checkpoint_20/ +│ └── ... +└── logs/ + └── openevolve_*.log +``` + +`--checkpoint ` 옵션으로 중단 지점에서 재개 가능. + +### 0.6 이 프로젝트에서 OpenEvolve의 적용 방식 + +| OpenEvolve 개념 | 이 프로젝트에서 어떻게 쓰이나 | +|---|---| +| EVOLVE-BLOCK | Z3 파라미터 dict 리터럴 (`OPT_SLS_OVERRIDES = {...}` 등) | +| 진화 단위 | 알고리즘 코드 아니라 **dict 키/값** (이름 추가/제거/값 변경) | +| Evaluator | 변이된 dict를 `subprocess`로 `z3 ...`에 넘겨 50개 SMT2 풀고 점수화 | +| metrics | `combined_score = geomean(speedup) × solved_rate²` | +| artifacts | 인스턴스별 (sha, baseline_ms, elapsed_ms, speedup, timeout) — LLM이 다음 라운드에 "어느 문제가 느려졌는지" 확인 가능 | +| Cascade | stage1=5문제 15s, stage2=50문제 120s | +| Phase 분할 | 단일 OpenEvolve 실행이 아니라 **4회 순차 실행**. 각 phase는 다른 `initial_program.py` 사용, 이전 phase의 winner를 import | + +### 0.7 더 읽기 + +- 메인 README: `/README.md` +- 다른 예제: `examples/function_minimization/` (가장 간단), `examples/llm_prompt_optimization/`, `examples/circle_packing/` +- 기본 config 전체: `configs/default_config.yaml` +- 아키텍처: `CLAUDE.md` (개발자용 노트) + +--- + +## 1. 목적과 접근 + +- **타깃**: `z3_applied_params` 19개(베이스라인)에서 출발 → Z3 4.13.x 전체 파라미터 공간(opt./sat./smt./sls./parallel./global, ~250키) 탐색 +- **방법**: OpenEvolve로 `initial_program.py` 안의 dict 리터럴을 LLM이 변이. EVOLVE-BLOCK 마커 사이의 파라미터 dict만 진화 대상 +- **베이스라인**: `problems.jsonl`의 `applied_params_hash = 543b29...` 행들. 인스턴스별 `elapsed_ms` + `result`를 기준값으로 사용 +- **솔버 실행**: subprocess로 `z3 -T: -smt2 key=value ... file.smt2` 호출 → 격리 + 타임아웃 강제 + +## 2. Phase 분할 (옵션 b) + +| Phase | EVOLVE 대상 | 고정(locked) | 키 수 | iterations | 목적 | +|---|---|---|---|---|---| +| **P1** | `opt.*` + `sls.*` | sat/smt/parallel 베이스라인 + 시드 3종 | ~34 | 80 | MaxSAT 엔진 선택, SLS local search 튜닝 | +| **P2** | `sat.*` | P1 best `opt.*+sls.*` + smt/parallel 베이스라인 | ~121 | 150 | CDCL 코어 (preprocessing/restart/branching) | +| **P3** | `smt.*` (`auto_config=false` 강제) | P1+P2 best | ~97 | 120 | 산술/양화자 — LIA-heavy 워크로드에 영향 큼 | +| **P4** | P1∪P2∪P3 best 통합 | 없음 (locked 키만 유지) | union | 60 | 상호작용 보정. 짧은 local refinement | + +**고정 키 (locked)** — 전체 phase 변경 금지, evaluator가 위반 시 0점: +- `sat.random_seed = 0` +- `smt.random_seed = 0` +- `sls.random_seed = 0` +- `parallel.enable = False` + +**Phase 간 핸드오프**: 자동. P{N} 종료 후 `run_phase.sh`가 `extract_best.py N` 자동 호출 → `shared/phase{N}_best.json` 작성 → P{N+1}이 import. + +P4 시작 시 `prepare_phase4.py` 자동 실행 → `phase4_unified/initial_program.py`의 EVOLVE-BLOCK을 union dict literal로 머터리얼라이즈 (LLM이 diff 편집 가능하도록). + +## 3. 스코어링 + +``` +per_problem: + match baseline result → speedup = baseline_ms / elapsed_ms + mismatch (regression/unknown/timeout) → 1e-6 (geomean에 강한 페널티) + +aggregate: + combined_score = geomean(speedup) * solved_rate^2 +``` + +- `solved_rate^2`: 정답률이 핵심 게이트. 1회 회귀도 강하게 패널티 +- `geomean(speedup)`: 큰 인스턴스가 합산 지배하지 않도록 +- baseline 그대로면 `combined_score ≈ 1.0` +- 부수 메트릭: `regressions`, `solved/total`, `geomean_speedup` + +## 4. 디렉토리 구조 + +``` +input/z3-bench/ +├── README.md # 데이터셋 스키마 설명 +├── problems.jsonl # baseline 실행 결과 50행 +├── problems.csv # 평탄화 버전 +├── raw-data/ # 원본 SMT2 + meta jsonl +└── evolve/ + ├── README.md # 이 파일 + ├── config.yaml # 공유 OpenEvolve config + ├── run_phase.sh # 1/2/3/4 phase 실행 진입점 + ├── build_stage1_sample.py # stage1 sample 생성 스크립트 + ├── extract_best.py # phase N 종료 후 best 추출 + ├── prepare_phase4.py # phase4 EVOLVE-BLOCK 머터리얼라이즈 + ├── shared/ + │ ├── baseline_params.py # BASELINE 19키, LOCKED 4키 + │ ├── score.py # geomean × solved_rate^2 + │ ├── z3_runner.py # subprocess z3 CLI 호출 + │ ├── evaluator.py # cascade stage1/stage2 + │ ├── stage1_sample.json # 5문제 stratified sample (seed=42) + │ └── phase{1,2,3}_best.json # 각 phase 종료 후 생성됨 + ├── phase1_opt_sls/ + │ └── initial_program.py # EVOLVE-BLOCK: OPT_SLS_OVERRIDES (~34키) + ├── phase2_sat/ + │ └── initial_program.py # EVOLVE-BLOCK: SAT_OVERRIDES (~121키) + ├── phase3_smt/ + │ └── initial_program.py # EVOLVE-BLOCK: SMT_OVERRIDES (~97키) + └── phase4_unified/ + └── initial_program.py # EVOLVE-BLOCK: UNIFIED_OVERRIDES (union) +``` + +## 5. 평가 흐름 (cascade) + +``` +LLM 변이된 initial_program.py + ↓ +evaluator.py: + 1. get_params() 호출 → dict + 2. LOCKED 위반 체크 → 위반 시 0점 + locked_violated artifact + 3. stage1 (5문제, per-problem 15s timeout): + for each problem in stage1_sample: + run_z3(smt2, params, timeout=15s) + invalid_param 감지 시 즉시 0점 + 어떤 키인지 artifact + score → cascade_threshold 0.3 통과 시 stage2 진입 + 4. stage2 (50문제, per-problem 120s timeout): + 동일 방식, 전수 + 5. 최종 metrics + per_problem artifacts (상위 20개) 반환 +``` + +### Stage1 sample (stratified by baseline elapsed_ms, seed=42) + +``` +ac90ca97ff99 239 ms Unsat (fast) +133383a624ef 480 ms Unsat (fast) +29efe6d38d7b 12,712 ms Unsat (medium) +86468fd861ff 15,671 ms Sat (medium) +3854194b901b 66,100 ms Sat (slow) +``` + +5분위 버킷에서 하나씩 → Sat/Unsat + 빠름/느림 골고루. + +## 6. Initial program 표준 형태 + +각 phase의 `initial_program.py`는 동일 패턴: + +```python +import pathlib, sys +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE + +# (phase 2-3-4는 이전 phase best.json 로드) +import json +_PHASE1 = json.loads((_SHARED / "phase1_best.json").read_text()) \ + if (_SHARED / "phase1_best.json").exists() else {} + +# EVOLVE-BLOCK-START +PHASE_OVERRIDES = { + "opt.priority": "pareto", + "opt.maxsat_engine": "wmax", + # ... +} +# EVOLVE-BLOCK-END + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) # 누적 (phase 2+) + p.update(PHASE_OVERRIDES) # 현재 phase + return p + +def get_phase_overrides(): + """extract_best.py가 사용 — 현재 phase의 dict만 반환.""" + return dict(PHASE_OVERRIDES) +``` + +evaluator는 phase를 모름 — `get_params()` 결과만 받음. `extract_best.py`는 `get_phase_overrides()`만 호출 → phase별 dict 분리 유지. + +## 7. 실행 절차 (Docker) + +### Host에서 + +```bash +export OPENAI_API_KEY="..." # config.yaml의 api_base에 맞는 키 + # (현재 gemini-2.5-flash → Google AI Studio key) +./docker-run.sh dev -s z3evo # interactive shell +``` + +`OPENAI_API_KEY`라는 이름은 OpenEvolve가 OpenAI 호환 SDK를 쓰기 때문. 실제 라우팅은 `config.yaml`의 `api_base`가 결정. + +### Container 안 + +```bash +cd $SCRIPT_DIR # rootless: 호스트 경로 그대로 / root: /app + +# 1회 셋업 +pip install -e ".[dev]" +apt-get install -y z3 # 또는: pip install z3-solver (CLI 동반) +export OPENAI_API_KEY="..." # 셸 안에서도 export 필요 + +# (이미 생성됨, 재생성 원할 때만) +python input/z3-bench/evolve/build_stage1_sample.py + +# 순차 실행 — 각 phase 종료 시 extract_best.py 자동 호출 +./input/z3-bench/evolve/run_phase.sh 1 +./input/z3-bench/evolve/run_phase.sh 2 +./input/z3-bench/evolve/run_phase.sh 3 +./input/z3-bench/evolve/run_phase.sh 4 +``` + +### 체크포인트 재개 + +OpenEvolve가 `phase{N}_*/openevolve_output/checkpoints/checkpoint_K/`에 자동 저장. 재개: + +```bash +cd input/z3-bench/evolve/phase2_sat/ +python /app/openevolve-run.py \ + initial_program.py \ + ../shared/evaluator.py \ + --config ../config.yaml \ + --checkpoint openevolve_output/checkpoints/checkpoint_50 \ + --iterations 100 +``` + +### Detached 장시간 실행 + +```bash +./docker-run.sh dev -s z3evo -d +docker exec -it axion-cell-container-dev-$USER-z3evo bash +nohup ./input/z3-bench/evolve/run_phase.sh 1 \ + &> /app/logs/phase1.log & +``` + +## 8. 환경 변수 + +| 변수 | 기본 | 용도 | +|---|---|---| +| `OPENAI_API_KEY` | — | LLM API 키 (api_base에 맞는 것) | +| `OPENEVOLVE_MAX_PROBLEMS` | 50 | stage2 문제수 상한 (테스트용 축소) | +| `OPENEVOLVE_STAGE1_TIMEOUT` | 15 | stage1 문제당 초 | +| `OPENEVOLVE_STAGE2_TIMEOUT` | 120 | stage2 문제당 초 | +| `OPENEVOLVE_Z3_BIN` | `z3` | z3 바이너리 경로 | + +## 9. 주요 설계 결정 + +| 항목 | 선택 | 이유 | +|---|---|---| +| Phase 핸드오프 | 자동 (`run_phase.sh` → `extract_best.py`) | 사람 개입 줄임 | +| 메트릭 | `geomean(speedup) × solved_rate²` | 큰 인스턴스 지배 방지 + 정답률 강하게 게이트 | +| Z3 실행 | subprocess CLI | 프로세스 격리, 타임아웃 강제, 한 문제 크래시 영향 차단 | +| Stage1 샘플 | stratified 5문제, seed=42 | Sat/Unsat × 빠름/느림 골고루, 재현 가능 | +| Locked 키 | 시드 3종 + parallel.enable | 비교 공정성, 단일스레드 일관성 | +| `smt.auto_config` | P3에서 False 강제 | True면 다른 smt.* 옵션이 silently override됨 | +| `parallel_evaluations` | 1 | z3 메모리 4GB+ 인스턴스 존재, OOM 위험 | +| Phase 4 EVOLVE-BLOCK | 머터리얼라이즈된 literal dict | LLM이 diff 편집 가능해야 진화 가능 | + +## 10. 검증 상태 + +- `python build_stage1_sample.py` → 5문제 stratified 샘플 생성 (완료) +- 4개 phase `initial_program.py` import 확인: + - phase1: 46 키 (BASELINE 19 + OVERRIDES 34, 일부 키 중복) + - phase2: 135 키 + - phase3: 114 키 + - phase4: 19 키 (BASELINE만 — phases 1-3 이후 prepare_phase4.py가 채움) +- `score.py` 시뮬레이션: 2 speedup + 1 timeout + 1 regression + 1 slowdown → combined ≈ 0.002 (correctness gate 강하게 작동 확인) + +## 11. 도커 안에서 추가 검증 필요 + +- `z3 -pmd | less` 출력으로 4.13.3.0의 실제 키 검증 (일부 키명/타입이 마이너 버전마다 다를 수 있음) +- baseline 변이로 stage1 1회 평가 직접 호출 → z3 binary 동작/타임아웃 검증 +- LLM API 호출 sanity check (`config.yaml`의 api_base + 키 매칭) + +## 12. 비용/시간 추정 + +- baseline 평균 elapsed_ms ≈ 24,229 ms → 변이당 stage2 full run ≈ 50 × 24s = 1200s = 20분 (평균) +- P1 80 iter × 평균 20분 ≈ 27시간 (worst-case 비현실적, cascade로 대부분 stage1에서 컷) +- P2 150 iter × 20분 ≈ 50시간 +- 비용 절감: `OPENEVOLVE_MAX_PROBLEMS=20`으로 stage2도 축소 가능. 또는 stage1 cascade threshold 0.5+로 상향 → 약한 변이 조기 컷 비율↑ + +## 13. 향후 작업 후보 + +1. 컨테이너에서 `z3 -pmd` 캡쳐 → invalid key 사전 필터 +2. baseline 변이 stage1 1회 평가 sanity check +3. `docker-run.sh`에 `-e OPENAI_API_KEY` 자동 전달 추가 +4. LLM 모델 선택 (Gemini 무료 티어 vs 사내 모델 vs OpenAI) +5. 변이 결과 시각화 (`scripts/visualizer.py --path .../checkpoint_K/`) +6. final 검증: P4 best를 problems.jsonl 전수 50문제에 대해 재실행, speedup 분포 리포트 diff --git a/openevolve/config.py b/openevolve/config.py index bef193da21..bf5879a926 100644 --- a/openevolve/config.py +++ b/openevolve/config.py @@ -56,6 +56,10 @@ class LLMModelConfig: api_key: Optional[str] = None name: str = None + # Backend selection. None / "openai" -> OpenAILLM (default, OpenAI-compatible). + # "claude_code" -> ClaudeCodeLLM (uses local Claude Code CLI session auth). + provider: Optional[str] = None + # Custom LLM client init_client: Optional[Callable] = None @@ -83,6 +87,12 @@ class LLMModelConfig: manual_mode: Optional[bool] = None _manual_queue_dir: Optional[str] = None + # Claude Code backend options (only used when provider == "claude_code") + max_thinking_tokens: Optional[int] = None + cli_path: Optional[str] = None + cwd: Optional[str] = None + claude_code_options: Optional[Dict[str, Any]] = None + def __post_init__(self): """Post-initialization to resolve ${VAR} env var references in api_key""" self.api_key = _resolve_env_var(self.api_key) diff --git a/openevolve/llm/__init__.py b/openevolve/llm/__init__.py index 26bbef5676..db0e0c1b96 100644 --- a/openevolve/llm/__init__.py +++ b/openevolve/llm/__init__.py @@ -6,4 +6,12 @@ from openevolve.llm.ensemble import LLMEnsemble from openevolve.llm.openai import OpenAILLM -__all__ = ["LLMInterface", "OpenAILLM", "LLMEnsemble"] +# ClaudeCodeLLM is optional (requires `claude-agent-sdk`); import lazily. +__all__ = ["LLMInterface", "OpenAILLM", "LLMEnsemble", "ClaudeCodeLLM"] + + +def __getattr__(name): + if name == "ClaudeCodeLLM": + from openevolve.llm.claude_code import ClaudeCodeLLM + return ClaudeCodeLLM + raise AttributeError(name) diff --git a/openevolve/llm/claude_code.py b/openevolve/llm/claude_code.py new file mode 100644 index 0000000000..7050e68214 --- /dev/null +++ b/openevolve/llm/claude_code.py @@ -0,0 +1,161 @@ +""" +Claude Code LLM interface. + +Wraps the official `claude-agent-sdk` so OpenEvolve can call Claude through a +locally-installed Claude Code CLI session instead of an Anthropic API key. When +the user is logged into Claude Code (Pro/Max subscription), no API key is +required — the SDK inherits the CLI's auth. + +Notes / limitations vs OpenAILLM: + - `temperature`, `top_p`, `seed` are not exposed by the SDK; ignored. + - `max_tokens` is not directly settable; `max_thinking_tokens` is supported. + - The agent loop is forced to a single turn with all tools disabled so the + call behaves as a pure prompt-in / text-out completion. + - Subscription rate limits (5-hour windows) apply; long evolution runs may + hit them quickly. Tune `iterations` and ensemble weights accordingly. +""" + +import asyncio +import logging +from typing import Any, Dict, List, Optional + +from openevolve.llm.base import LLMInterface + +logger = logging.getLogger(__name__) + + +class ClaudeCodeLLM(LLMInterface): + """LLM interface backed by claude-agent-sdk (Claude Code session auth).""" + + def __init__(self, model_cfg: Optional[dict] = None): + try: + import claude_agent_sdk # noqa: F401 + except ImportError as e: + raise ImportError( + "ClaudeCodeLLM requires the `claude-agent-sdk` package. " + "Install with: pip install claude-agent-sdk" + ) from e + + self.model = model_cfg.name + self.system_message = model_cfg.system_message + self.timeout = model_cfg.timeout + self.retries = model_cfg.retries if model_cfg.retries is not None else 0 + self.retry_delay = model_cfg.retry_delay if model_cfg.retry_delay is not None else 0 + self.max_thinking_tokens = getattr(model_cfg, "max_thinking_tokens", None) + self.reasoning_effort = getattr(model_cfg, "reasoning_effort", None) + self.cli_path = getattr(model_cfg, "cli_path", None) + self.cwd = getattr(model_cfg, "cwd", None) + self.extra_sdk_options: Dict[str, Any] = ( + getattr(model_cfg, "claude_code_options", None) or {} + ) + + if not hasattr(logger, "_initialized_models"): + logger._initialized_models = set() + key = f"claude_code::{self.model}" + if key not in logger._initialized_models: + logger.info(f"Initialized Claude Code LLM with model: {self.model}") + logger._initialized_models.add(key) + + async def generate(self, prompt: str, **kwargs) -> str: + return await self.generate_with_context( + system_message=self.system_message, + messages=[{"role": "user", "content": prompt}], + **kwargs, + ) + + async def generate_with_context( + self, system_message: str, messages: List[Dict[str, str]], **kwargs + ) -> str: + prompt_text = self._messages_to_prompt(messages) + timeout = kwargs.get("timeout", self.timeout) + retries = kwargs.get("retries", self.retries) + retry_delay = kwargs.get("retry_delay", self.retry_delay) + + for attempt in range(retries + 1): + try: + coro = self._query_once(system_message, prompt_text, **kwargs) + if timeout is not None: + return await asyncio.wait_for(coro, timeout=timeout) + return await coro + except asyncio.TimeoutError: + if attempt < retries: + logger.warning( + f"[claude_code] Timeout {attempt + 1}/{retries + 1}, retrying." + ) + await asyncio.sleep(retry_delay) + continue + logger.error(f"[claude_code] All {retries + 1} attempts timed out") + raise + except Exception as e: + if attempt < retries: + logger.warning( + f"[claude_code] Error {attempt + 1}/{retries + 1}: {e}. Retrying." + ) + await asyncio.sleep(retry_delay) + continue + logger.error(f"[claude_code] All {retries + 1} attempts failed: {e}") + raise + + async def _query_once( + self, system_message: Optional[str], prompt_text: str, **kwargs + ) -> str: + from claude_agent_sdk import ( + AssistantMessage, + ClaudeAgentOptions, + ResultMessage, + TextBlock, + query, + ) + + opts_kwargs: Dict[str, Any] = { + "max_turns": 1, + "allowed_tools": [], + "disallowed_tools": [], + "permission_mode": "bypassPermissions", + } + if system_message: + opts_kwargs["system_prompt"] = system_message + if self.model: + opts_kwargs["model"] = self.model + if self.max_thinking_tokens is not None: + opts_kwargs["max_thinking_tokens"] = self.max_thinking_tokens + effort = kwargs.get("reasoning_effort", self.reasoning_effort) + if effort is not None: + opts_kwargs["effort"] = effort + if self.cli_path is not None: + opts_kwargs["cli_path"] = self.cli_path + if self.cwd is not None: + opts_kwargs["cwd"] = self.cwd + opts_kwargs.update(self.extra_sdk_options) + + options = ClaudeAgentOptions(**opts_kwargs) + + text_chunks: List[str] = [] + result_text: Optional[str] = None + + async for msg in query(prompt=prompt_text, options=options): + if isinstance(msg, AssistantMessage): + for block in msg.content: + if isinstance(block, TextBlock): + text_chunks.append(block.text) + elif isinstance(msg, ResultMessage): + result_text = getattr(msg, "result", None) or result_text + + final = result_text if result_text else "".join(text_chunks) + logger.debug(f"[claude_code] response chars={len(final)}") + return final + + @staticmethod + def _messages_to_prompt(messages: List[Dict[str, str]]) -> str: + """Flatten chat history into one prompt string. + + The SDK's one-shot `query()` takes a single user prompt, not a chat + array. We join roles inline so the model still sees prior turns. + """ + if len(messages) == 1 and messages[0].get("role") == "user": + return messages[0].get("content", "") + parts: List[str] = [] + for m in messages: + role = str(m.get("role", "user")).upper() + parts.append(f"### {role}\n{m.get('content', '')}") + return "\n\n".join(parts).strip() + "\n" diff --git a/openevolve/llm/ensemble.py b/openevolve/llm/ensemble.py index e3c4716735..968f693a5f 100644 --- a/openevolve/llm/ensemble.py +++ b/openevolve/llm/ensemble.py @@ -14,6 +14,19 @@ logger = logging.getLogger(__name__) +def _build_llm(model_cfg: LLMModelConfig) -> LLMInterface: + """Pick the right LLM backend for a model config.""" + if model_cfg.init_client: + return model_cfg.init_client(model_cfg) + provider = (getattr(model_cfg, "provider", None) or "openai").lower() + if provider == "claude_code": + from openevolve.llm.claude_code import ClaudeCodeLLM + return ClaudeCodeLLM(model_cfg) + if provider in ("openai", "openai_compatible"): + return OpenAILLM(model_cfg) + raise ValueError(f"Unknown LLM provider: {provider!r}") + + class LLMEnsemble: """Ensemble of LLMs""" @@ -21,10 +34,7 @@ def __init__(self, models_cfg: List[LLMModelConfig]): self.models_cfg = models_cfg # Initialize models from the configuration - self.models = [ - model_cfg.init_client(model_cfg) if model_cfg.init_client else OpenAILLM(model_cfg) - for model_cfg in models_cfg - ] + self.models = [_build_llm(model_cfg) for model_cfg in models_cfg] # Extract and normalize model weights self.weights = [model.weight for model in models_cfg] diff --git a/pyproject.toml b/pyproject.toml index f95cd439c1..a36690f4a3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,9 @@ dev = [ "requests>=2.28.0", "pre-commit>=4.5.1", ] +claude-code = [ + "claude-agent-sdk>=0.2.82", +] [tool.black] line-length = 100 From 626e54c24b331ab1646cf56286b8f007494fb6cc Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 18 May 2026 14:00:25 +0900 Subject: [PATCH 03/42] [feat] upgrade optimize loop --- docker-run.sh | 65 + input/z3-bench/evolve/README.md | 41 + input/z3-bench/evolve/build_stage1_sample.py | 55 +- input/z3-bench/evolve/config.yaml | 41 +- input/z3-bench/evolve/final_verify.py | 215 +++ .../evolve/phase1_opt_sls/initial_program.py | 5 +- .../evolve/phase2_sat/initial_program.py | 9 +- .../evolve/phase3_smt/initial_program.py | 6 +- input/z3-bench/evolve/probe_cli_keys.py | 105 ++ input/z3-bench/evolve/rebaseline_local.py | 142 ++ input/z3-bench/evolve/run_phase.sh | 6 + .../evolve/shared/_z3_solve_worker.py | 154 ++ .../z3-bench/evolve/shared/baseline_params.py | 127 ++ input/z3-bench/evolve/shared/evaluator.py | 198 ++- .../evolve/shared/local_baseline.json | 806 +++++++++++ input/z3-bench/evolve/shared/runtime.py | 49 + input/z3-bench/evolve/shared/score.py | 58 +- .../z3-bench/evolve/shared/stage1_sample.json | 39 +- input/z3-bench/evolve/shared/z3_runner.py | 120 +- .../z3-bench/evolve/shared/z3_valid_keys.json | 1266 +++++++++++++++++ input/z3-bench/evolve/validate_keys.py | 160 +++ .../z3-bench/evolve/verify_stage1_baseline.py | 123 ++ 22 files changed, 3646 insertions(+), 144 deletions(-) create mode 100644 input/z3-bench/evolve/final_verify.py create mode 100644 input/z3-bench/evolve/probe_cli_keys.py create mode 100644 input/z3-bench/evolve/rebaseline_local.py create mode 100644 input/z3-bench/evolve/shared/_z3_solve_worker.py create mode 100644 input/z3-bench/evolve/shared/local_baseline.json create mode 100644 input/z3-bench/evolve/shared/runtime.py create mode 100644 input/z3-bench/evolve/shared/z3_valid_keys.json create mode 100644 input/z3-bench/evolve/validate_keys.py create mode 100644 input/z3-bench/evolve/verify_stage1_baseline.py diff --git a/docker-run.sh b/docker-run.sh index 26fac275a3..6b428aafe8 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -221,6 +221,56 @@ mkdir -p "$DOCKER_PERSIST_DIR" # Initialize persistent files if they don't exist (to avoid mounting as directories) touch "$DOCKER_PERSIST_DIR/.bash_history" 2>/dev/null || true +# Claude Code config dir — mounted into container so settings/sessions persist. +# Note: on macOS, OAuth credentials live in Keychain (not in this dir). +# To authenticate from inside the container, run `claude setup-token` on the +# host once and export CLAUDE_CODE_OAUTH_TOKEN (or ANTHROPIC_API_KEY) in your +# shell before invoking this script. The vars are forwarded below. +CLAUDE_CONFIG_DIR="$HOME/.claude" +mkdir -p "$CLAUDE_CONFIG_DIR" 2>/dev/null || true + +# Persistent dir for container-side `claude` install (root mode uses --rm, so +# anything written to /root/.local is lost between runs). Mount this so the +# standalone installer's binary at ~/.local/bin/claude survives. +CLAUDE_LOCAL_PERSIST_DIR="$DOCKER_PERSIST_DIR/claude-local" +mkdir -p "$CLAUDE_LOCAL_PERSIST_DIR/bin" 2>/dev/null || true + +# Collect Claude/Anthropic env vars to forward. Skip empty ones. +CLAUDE_ENV_OPTS=() +for var in OPENAI_API_KEY ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN \ + ANTHROPIC_BASE_URL CLAUDE_CODE_OAUTH_TOKEN CLAUDE_CODE_USE_BEDROCK \ + CLAUDE_CODE_USE_VERTEX; do + if [[ -n "${!var}" ]]; then + CLAUDE_ENV_OPTS+=("-e" "$var=${!var}") + fi +done + +# Container runs as root; Claude CLI refuses --dangerously-skip-permissions +# under uid 0 unless IS_SANDBOX=1 declares the env is already sandboxed. +CLAUDE_ENV_OPTS+=("-e" "IS_SANDBOX=1") + +# Try to mount host's `claude` CLI into the container. Only safe when host and +# container share the same OS/arch (Linux x86_64 host, Linux x86_64 container). +# On macOS hosts the Mac binary will NOT run in a Linux container, so we skip +# the mount and rely on the container having `@anthropic-ai/claude-code` +# installed (e.g. `npm install -g @anthropic-ai/claude-code` once inside). +CLAUDE_CLI_MOUNT_OPTS=() +HOST_OS="$(uname -s)" +if [[ "$HOST_OS" == "Linux" ]]; then + if HOST_CLAUDE_BIN=$(command -v claude 2>/dev/null); then + # Resolve symlink (npm installs `claude` as a symlink to cli.js). + HOST_CLAUDE_REAL=$(readlink -f "$HOST_CLAUDE_BIN" 2>/dev/null || echo "$HOST_CLAUDE_BIN") + CLAUDE_CLI_MOUNT_OPTS+=( + "-v" "$HOST_CLAUDE_BIN:/usr/local/bin/claude:ro" + ) + # If symlink target lives elsewhere, mount the real file too. + if [[ "$HOST_CLAUDE_REAL" != "$HOST_CLAUDE_BIN" ]]; then + CLAUDE_CLI_MOUNT_OPTS+=("-v" "$HOST_CLAUDE_REAL:$HOST_CLAUDE_REAL:ro") + fi + echo -e "${BLUE}Mounting host claude CLI: $HOST_CLAUDE_BIN${NC}" + fi +fi + # Configure Docker run options based on Docker mode (rootless vs root) if [ "$ROOTLESS_DOCKER" = true ]; then # Rootless Docker: Mount user's home directory as per the guide @@ -245,6 +295,10 @@ if [ "$ROOTLESS_DOCKER" = true ]; then "-e" "HOME=$HOME" "-e" "TZ=Asia/Seoul" ) + # Rootless: $HOME bind already exposes ~/.claude. Just forward env vars + # and (Linux only) the host's claude CLI binary. + DOCKER_RUN_OPTS+=("${CLAUDE_ENV_OPTS[@]}") + DOCKER_RUN_OPTS+=("${CLAUDE_CLI_MOUNT_OPTS[@]}") # Rootless Docker stores credentials in ~/.config/docker/config.json # Mount it to ~/.docker/config.json for container compatibility if [[ -f "$HOME/.config/docker/config.json" ]]; then @@ -272,10 +326,16 @@ else "-v" "$DOCKER_PERSIST_DIR/.bash_history:/home/appuser/.bash_history" "-v" "$HOME/.gitconfig:/root/.gitconfig" "-v" "$HOME/.gitconfig:/home/appuser/.gitconfig" + "-v" "$CLAUDE_CONFIG_DIR:/root/.claude" + "-v" "$CLAUDE_CONFIG_DIR:/home/appuser/.claude" + "-v" "$CLAUDE_LOCAL_PERSIST_DIR:/root/.local" + "-v" "$CLAUDE_LOCAL_PERSIST_DIR:/home/appuser/.local" "-w" "/app" "-e" "TZ=Asia/Seoul" "-e" "HOST_PROJECT_DIR=$SCRIPT_DIR" ) + DOCKER_RUN_OPTS+=("${CLAUDE_ENV_OPTS[@]}") + DOCKER_RUN_OPTS+=("${CLAUDE_CLI_MOUNT_OPTS[@]}") fi # Add options based on execution mode @@ -306,6 +366,11 @@ else echo -e " Log Directory: $SCRIPT_DIR/logs" echo -e " Persistent Data: $DOCKER_PERSIST_DIR (bash history, gitconfig)" echo -e " Docker Credentials: ~/.docker/config.json (read-only)" + echo -e " Claude Code Config: $CLAUDE_CONFIG_DIR (→ /root/.claude, /home/appuser/.claude)" + echo -e " Claude Local Bin: $CLAUDE_LOCAL_PERSIST_DIR (→ /root/.local, /home/appuser/.local)" +fi +if [ ${#CLAUDE_ENV_OPTS[@]} -gt 0 ]; then + echo -e " Forwarded env vars:$(printf ' %s' "${CLAUDE_ENV_OPTS[@]}" | sed 's/-e //g' | sed 's/=[^ ]*/=***/g')" fi echo "" diff --git a/input/z3-bench/evolve/README.md b/input/z3-bench/evolve/README.md index a2c2ac28af..ec96ccabf0 100644 --- a/input/z3-bench/evolve/README.md +++ b/input/z3-bench/evolve/README.md @@ -299,6 +299,47 @@ export OPENAI_API_KEY="..." # config.yaml의 api_base에 맞는 키 `OPENAI_API_KEY`라는 이름은 OpenEvolve가 OpenAI 호환 SDK를 쓰기 때문. 실제 라우팅은 `config.yaml`의 `api_base`가 결정. +### Claude Code 백엔드 사용 시 + +`config.yaml`에서 `provider: claude_code`로 모델을 정의하면 (`configs/claude_code_example.yaml` 참고) API 키 대신 Claude Code 구독 인증을 쓸 수 있다. Docker 안에서 쓰려면: + +1. **Host에서 (1회만)**: long-lived OAuth 토큰 생성 + ```bash + claude setup-token # 출력된 토큰 복사 + export CLAUDE_CODE_OAUTH_TOKEN="sk-..." + ``` + macOS는 OAuth credential을 Keychain에 저장하므로 `~/.claude/` 마운트만으로는 인증 안 됨. 토큰 방식이 필수. + +2. **docker-run.sh 실행**: 위 env var가 export 되어 있으면 자동 전달 + `~/.claude/` 마운트 (settings/sessions 공유). + ```bash + ./docker-run.sh dev -s z3evo + ``` + +3. **Container 안 (1회만)**: `claude` CLI 설치. axion 이미지에는 Node.js/npm 없음 → Anthropic 공식 standalone installer 사용 (Node 번들, 시스템 의존성 없음). + ```bash + curl -fsSL https://claude.ai/install.sh | bash + # 설치 위치: ~/.local/bin/claude + export PATH="$HOME/.local/bin:$PATH" # ~/.bashrc에 영구 추가 권장 + claude --version # sanity check + pip install -e ".[claude-code]" # claude-agent-sdk + ``` + SDK 탐색 순서: `~/.npm-global/bin/claude` → `/usr/local/bin/claude` → `~/.local/bin/claude` → `~/.claude/local/claude` → PATH. 위 경로 그대로 작동. + + **설치 영속화**: 컨테이너는 `--rm`이라 종료 시 사라지지만 docker-run.sh가 `~/.axion-docker-persist/claude-local/`을 `/root/.local`로 마운트 → 한 번 설치하면 다음 컨테이너에서도 그대로 사용 가능. + + **host 차이**: + - Linux host: docker-run.sh가 host `claude` 바이너리도 자동 마운트 (`/usr/local/bin/claude` ro) → installer 생략 가능. + - Mac host: cross-OS 불가 → 위 installer 필수. + + **HOME 분리**: `~/.claude/`가 host에서 마운트되므로 host config 공유됨. 충돌 우려 시 컨테이너 안에서 `CLAUDE_CONFIG_DIR` 등 별도 path 지정. + +4. **체크**: 인증 작동 여부 + ```bash + python -c "from openevolve.llm.claude_code import ClaudeCodeLLM; print('ok')" + ``` + +**주의**: Claude Pro/Max 구독은 5시간 윈도우 rate limit 있음. 큰 evolution run은 빠르게 막힘. 작은 iteration으로 검증 먼저. + ### Container 안 ```bash diff --git a/input/z3-bench/evolve/build_stage1_sample.py b/input/z3-bench/evolve/build_stage1_sample.py index ec8b77b3af..ba6e421b80 100644 --- a/input/z3-bench/evolve/build_stage1_sample.py +++ b/input/z3-bench/evolve/build_stage1_sample.py @@ -1,19 +1,30 @@ """ -Generate stage1_sample.json: 5 problems stratified by baseline elapsed_ms quantile. +Generate stage1_sample.json: 5 fastest Sat problems (fallback: fastest Unsat +to fill remainder). -Fixed seed (42) for reproducibility. Sort by baseline_ms, split into 5 equal-size -buckets, pick one from each bucket. Result written to shared/stage1_sample.json. +Rationale: stage1 has tight per-problem timeout (15s default). Including slow +baseline problems (>15s) guarantees timeout regardless of variant quality, +making stage1 score uninformative. Sat is preferred since LLM is more likely +to preserve Sat than Unsat under aggressive param changes (Unsat proofs depend +on completeness of preprocessing pipeline). + +No randomness — deterministic pick of fastest N by result class. """ import json import pathlib -import random ROOT = pathlib.Path(__file__).resolve().parent PROBLEMS = ROOT.parent / "problems.jsonl" OUT = ROOT / "shared" / "stage1_sample.json" -NUM_BUCKETS = 5 -SEED = 42 +NUM_PROBLEMS = 5 +# Stage1 wall-clock budget: 60-120s per variant. +# - good variant (baseline-like): 5 × ~12s = 60s lower bound +# - bad variant (all timeout): 5 × 24s = 120s upper bound +# Pick problems whose baseline elapsed_ms falls in [MIN_MS, MAX_MS]. +# Per-problem timeout defaults to 24s in evaluator.py. +MIN_MS = 4000 +MAX_MS = 15000 def main(): @@ -28,27 +39,29 @@ def main(): d["z3_status"]["result"], ) ) - rows.sort(key=lambda r: r[1]) + rows.sort(key=lambda r: r[1]) # ascending by elapsed_ms - n = len(rows) - if n < NUM_BUCKETS: - raise SystemExit(f"need >= {NUM_BUCKETS} problems, got {n}") + in_range = [r for r in rows if MIN_MS <= r[1] <= MAX_MS] + sat_band = [r for r in in_range if r[2] == "Sat"] + unsat_band = [r for r in in_range if r[2] == "Unsat"] - rng = random.Random(SEED) - picked = [] - for i in range(NUM_BUCKETS): - lo = i * n // NUM_BUCKETS - hi = (i + 1) * n // NUM_BUCKETS - bucket = rows[lo:hi] - if bucket: - picked.append(rng.choice(bucket)) + picked = sat_band[:NUM_PROBLEMS] + if len(picked) < NUM_PROBLEMS: + picked.extend(unsat_band[: NUM_PROBLEMS - len(picked)]) + if len(picked) < NUM_PROBLEMS: + # fallback: widen below MIN_MS toward 0, prefer Sat + below = [r for r in rows if r[1] < MIN_MS] + sat_below = sorted((r for r in below if r[2] == "Sat"), key=lambda r: -r[1]) + picked.extend(sat_below[: NUM_PROBLEMS - len(picked)]) + if len(picked) < NUM_PROBLEMS: + remaining = [r for r in rows if r not in picked] + picked.extend(remaining[: NUM_PROBLEMS - len(picked)]) OUT.parent.mkdir(parents=True, exist_ok=True) OUT.write_text( json.dumps( { - "seed": SEED, - "num_buckets": NUM_BUCKETS, + "selection": f"{NUM_PROBLEMS} Sat-preferred with baseline_ms in [{MIN_MS}, {MAX_MS}] (Unsat / sub-MIN_MS fallbacks)", "source": str(PROBLEMS.relative_to(ROOT.parent.parent)), "sha256": [r[0] for r in picked], "summary": [ @@ -66,7 +79,7 @@ def main(): ) print(f"wrote {OUT.relative_to(ROOT.parent.parent)} ({len(picked)} problems)") for s in picked: - print(f" {s[0][:12]} {s[1]:>8} ms {s[2]}") + print(f" {s[0][:12]} {s[1]:>6} ms {s[2]}") if __name__ == "__main__": diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index e0a7bf09c0..ac45024557 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -1,7 +1,16 @@ # Shared OpenEvolve config for all Z3 tuning phases. # Per-phase iteration count is set in run_phase.sh. +# +# === Custom z3-bench knobs (silently ignored by openevolve dacite parser) === +# parallel_solvers: total concurrent z3 worker subprocesses per stage. +# - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. +# - Each pinned to a dedicated core via taskset (Linux). +# - Capped at len(problems_in_stage) at runtime. +# - Env OPENEVOLVE_PARALLEL_SOLVERS overrides this value. +# - Total RAM ≈ N × 4 GB worst-case — size per host. +parallel_solvers: 1 -max_iterations: 100 +max_iterations: 20 checkpoint_interval: 10 log_level: "INFO" random_seed: 42 @@ -14,14 +23,18 @@ convergence_threshold: 0.001 early_stopping_metric: "combined_score" llm: - primary_model: "gemini-2.5-flash" - primary_model_weight: 0.8 - secondary_model: "gemini-2.5-pro" - secondary_model_weight: 0.2 - api_base: "https://generativelanguage.googleapis.com/v1beta/openai/" - temperature: 0.7 - max_tokens: 16000 - timeout: 180 + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 0.8 + timeout: 180 + retries: 2 + retry_delay: 10 + reasoning_effort: "medium" + - name: "claude-haiku-4-5" + provider: "claude_code" + weight: 0.2 + timeout: 120 prompt: system_message: | @@ -67,6 +80,10 @@ database: similarity_threshold: 0.95 evaluator: - timeout: 1800 # 30 min cap per variant (stage2 fallback) - cascade_thresholds: [0.3] # need stage1 score >= 0.3 to enter stage2 - parallel_evaluations: 1 # z3 memory-heavy (up to 4 GB observed); raise carefully + timeout: 300 # 5 min cap per variant (stage1 only: 5 problems × 24s) + cascade_evaluation: false # stage2 reserved for final_verify.py, not per-variant search + parallel_evaluations: 1 # FIXED 1 — variant pool kept serial. All z3 concurrency + # is controlled by env OPENEVOLVE_PARALLEL_SOLVERS (inner + # ThreadPool that runs N stage-problems concurrently per + # variant). Single knob avoids RAM blow-up from + # parallel_evaluations × OPENEVOLVE_PARALLEL_SOLVERS. diff --git a/input/z3-bench/evolve/final_verify.py b/input/z3-bench/evolve/final_verify.py new file mode 100644 index 0000000000..4fe7920bef --- /dev/null +++ b/input/z3-bench/evolve/final_verify.py @@ -0,0 +1,215 @@ +""" +Final verification: on a final-test sample, measure LOCAL baseline elapsed_ms +and then run the optimized program. Report per-problem speedup using the +fresh local baseline (not the raw-data baseline which was recorded on a +different machine). + +Usage: + python final_verify.py + +Sample selection (in priority order): + 1. shared/final_sample.json — JSON file with {"sha256": [, ...]}. + Hand-edit or generate this to pin a specific subset for verification. + 2. Fall back to ALL problems in problems.jsonl (50). + +Order of operations: + for each problem p in final sample: + run BASELINE on p → record base_ms_local + run params on p → record variant_ms + speedup = base_ms_local / variant_ms (when result matches) + +Baseline + variant are run back-to-back per problem so they share the same +warm cache / system noise. Concurrency = config parallel_solvers (one z3 +process pair per problem; each problem runs baseline then variant serially +inside its slot to keep timing apples-to-apples). +""" +import importlib.util +import json +import pathlib +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) + +from baseline_params import BASELINE, LOCKED # noqa: E402 +from score import score # noqa: E402 +from z3_runner import run_z3 # noqa: E402 +from runtime import parallel_solvers # noqa: E402 + +_BENCH_DIR = _HERE.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" + +TIMEOUT_S = 120 + + +def _load_get_params(program_path): + spec = importlib.util.spec_from_file_location("program", program_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + if not hasattr(module, "get_params"): + print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) + sys.exit(2) + return module.get_params() + + +def _load_problem_index(): + idx = {} + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "sha": d["problem_sha256"], + "smt2": d["smt2_filename"], + "raw_ms": d["z3_status"]["elapsed_ms"], + "raw_result": d["z3_status"]["result"], + } + return idx + + +def _resolve_sample(idx): + """Pick the SHA list for final verification.""" + if _FINAL_SAMPLE.exists(): + shas = list(json.loads(_FINAL_SAMPLE.read_text())["sha256"]) + source = f"shared/final_sample.json ({len(shas)} SHAs)" + else: + shas = list(idx.keys()) + source = f"problems.jsonl (full {len(shas)})" + metas = [] + for sha in shas: + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} from sample not in problems.jsonl", file=sys.stderr) + sys.exit(2) + smt2 = _RAW_DIR / meta["smt2"] + if not smt2.exists(): + print(f"ERROR: missing {smt2}", file=sys.stderr) + sys.exit(2) + metas.append((meta, smt2)) + return metas, source + + +def main(): + if len(sys.argv) != 2: + print(__doc__, file=sys.stderr) + return 2 + + program_path = pathlib.Path(sys.argv[1]).resolve() + if not program_path.exists(): + print(f"ERROR: {program_path} not found", file=sys.stderr) + return 2 + + variant_params = _load_get_params(program_path) + violations = {k: variant_params.get(k) for k in LOCKED + if variant_params.get(k) != LOCKED[k]} + if violations: + print(f"ERROR: locked params violated: {violations}", file=sys.stderr) + return 2 + + idx = _load_problem_index() + metas, source = _resolve_sample(idx) + n_parallel = min(parallel_solvers(default=1), len(metas)) + + print(f"final verify: {program_path}") + print(f" sample : {source}") + print(f" params : {len(variant_params)} keys, " + f"{sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} differ from BASELINE") + print(f" parallel solvers : {n_parallel} (taskset core pin)") + print(f" per-problem timeout : {TIMEOUT_S}s × 2 (baseline + variant)") + print() + + def _measure(idx_meta): + i, meta, smt2 = idx_meta + core = (i % n_parallel) if n_parallel > 1 else None + # Baseline first, then variant — back-to-back so system noise affects + # both equally and speedup ratio cancels it out. + b = run_z3(smt2, BASELINE, TIMEOUT_S, cpu_core=core) + v = run_z3(smt2, variant_params, TIMEOUT_S, cpu_core=core) + return i, meta, b, v + + tasks = [(i, meta, smt2) for i, (meta, smt2) in enumerate(metas)] + t_start = time.monotonic() + completed = [] + if n_parallel == 1: + for t in tasks: + completed.append(_measure(t)) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_measure, t) for t in tasks] + for fut in as_completed(futures): + completed.append(fut.result()) + completed.sort(key=lambda x: x[0]) + elapsed = time.monotonic() - t_start + + results = [] + for i, meta, b, v in completed: + base_ms_local = int(b.get("elapsed_ms", 0)) + base_result = b.get("result", "Unknown") + var_ms = int(v.get("elapsed_ms", 0)) + var_result = v.get("result", "Unknown") + var_invalid = v.get("invalid_param") + # Speedup uses LOCAL baseline (this run), not raw_ms. + if var_invalid: + speedup = 0.0 + flag = f" invalid={var_invalid}" + elif var_result != base_result: + speedup = 0.0 + flag = f" MISMATCH (base={base_result} variant={var_result})" + else: + speedup = base_ms_local / max(var_ms, 1) + flag = "" + print( + f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} " + f"base_local={base_result:<7}/{base_ms_local:>7}ms " + f"variant={var_result:<7}/{var_ms:>7}ms " + f"speedup={speedup:.2f}x{flag}", + flush=True, + ) + results.append({ + "sha": meta["sha"], + "smt2": meta["smt2"], + "baseline_ms": base_ms_local, + "baseline_result": base_result, + "result": var_result, + "elapsed_ms": var_ms, + "timeout": bool(v.get("timeout")), + "raw_baseline_ms": meta["raw_ms"], + }) + + metrics = score(results) + print() + print(f"== summary (speedup vs fresh LOCAL baseline) ==") + print(f" solved : {metrics['solved']}/{metrics['total']}") + print(f" regressions : {metrics['regressions']}") + print(f" geomean_speedup : {metrics['geomean_speedup']:.3f}") + print(f" solved_rate : {metrics['solved_rate']:.3f}") + print(f" combined_score : {metrics['combined_score']:.3f}") + print(f" wall-clock : {elapsed:.1f}s") + + out_path = program_path.parent / "final_verify.json" + out_path.write_text(json.dumps({ + "program": str(program_path), + "sample_source": source, + "metrics": metrics, + "per_problem": [ + { + "sha": r["sha"][:12], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_local_ms": r["baseline_ms"], + "variant_ms": r["elapsed_ms"], + "raw_baseline_ms": r["raw_baseline_ms"], + "timeout": r["timeout"], + } + for r in results + ], + }, indent=2) + "\n") + print(f" wrote {out_path}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/input/z3-bench/evolve/phase1_opt_sls/initial_program.py b/input/z3-bench/evolve/phase1_opt_sls/initial_program.py index 82f58d6e4a..bafdea9fde 100644 --- a/input/z3-bench/evolve/phase1_opt_sls/initial_program.py +++ b/input/z3-bench/evolve/phase1_opt_sls/initial_program.py @@ -26,8 +26,7 @@ "opt.enable_sat": True, "opt.enable_sls": True, "opt.enable_core_rotate": True, - "opt.enable_lns": False, - "opt.lns.threshold": 4, + # opt.enable_lns / opt.lns.threshold: not in z3 4.13.3.0 — removed. "opt.maxres.hill_climb": True, "opt.maxres.add_upper_bound_block": False, "opt.maxres.max_core_size": 3, @@ -50,7 +49,7 @@ "sls.walksat_ucb_init": False, "sls.walksat_ucb_noise": 0.0002, "sls.wp": 20, # walk probability (percent 0..100) - "sls.parallel": False, + # sls.parallel: API-only key (z3 CLI rejects); pinned to default False. "sls.random_offset": True, "sls.rescore": True, "sls.restart_base": 100, diff --git a/input/z3-bench/evolve/phase2_sat/initial_program.py b/input/z3-bench/evolve/phase2_sat/initial_program.py index 7b3ce87a72..22861aaeaf 100644 --- a/input/z3-bench/evolve/phase2_sat/initial_program.py +++ b/input/z3-bench/evolve/phase2_sat/initial_program.py @@ -56,14 +56,13 @@ "sat.gc.k": 7, "sat.gc.small_lbd": 3, "sat.minimize_lemmas": True, - "sat.dyn.sub_res": True, + # sat.dyn.sub_res: not in z3 4.13.3.0 — removed. # Preprocessing / simplification "sat.scc": True, "sat.scc.tr": True, "sat.elim_vars": True, - "sat.elim_vars_bdd": True, - "sat.elim_vars_bdd_delay": 3, + # sat.elim_vars_bdd / sat.elim_vars_bdd_delay: not in z3 4.13.3.0 — removed. "sat.subsumption": True, "sat.subsumption.limit": 100000000, "sat.asymm_branch": True, @@ -84,7 +83,7 @@ "sat.bce_at": 2, "sat.bce_delay": 2, "sat.bca": False, - "sat.binspr": False, + # sat.binspr: not in z3 4.13.3.0 — removed. "sat.cce": False, "sat.blocked_clause_limit": 100000000, "sat.retain_blocked_clauses": True, @@ -92,7 +91,7 @@ "sat.force_cleanup": False, "sat.inprocess.max": 4294967295, "sat.simplify.delay": 0, - "sat.next_simplify1": 30000, + # sat.next_simplify1: not in z3 4.13.3.0 — removed. # Cardinality / PB "sat.cardinality.solver": True, diff --git a/input/z3-bench/evolve/phase3_smt/initial_program.py b/input/z3-bench/evolve/phase3_smt/initial_program.py index 1a2b1ad3aa..5635303efb 100644 --- a/input/z3-bench/evolve/phase3_smt/initial_program.py +++ b/input/z3-bench/evolve/phase3_smt/initial_program.py @@ -45,7 +45,7 @@ "smt.phase_caching_on": 400, "smt.phase_caching_off": 100, "smt.restart_strategy": 1, # 0=geometric | 1=inner_outer | 2=luby | 3=fixed | 4=arithmetic - "smt.restart.factor": 1.1, + # smt.restart.factor: not in z3 4.13.3.0 — removed. "smt.lemma_gc_strategy": 0, # 0=fixed | 1=geometric | 2=at_restart | 3=none # Lemma / unit delay @@ -69,7 +69,7 @@ "smt.pull_nested_quantifiers": False, "smt.refine_inj_axioms": True, "smt.solve_eqs": True, - "smt.solve_eqs_max_occs": 4294967295, + # smt.solve_eqs_max_occs: not in z3 4.13.3.0 — removed. "smt.theory_aware_branching": False, "smt.theory_case_split": False, "smt.dt_lazy_splits": 1, @@ -137,7 +137,7 @@ # BV (light usage in this workload) "smt.bv.delay": True, - "smt.bv.eager": True, + # smt.bv.eager: not in z3 4.13.3.0 — removed. "smt.bv.enable_int2bv": True, "smt.bv.reflect": True, "smt.bv.size_reduce": False, diff --git a/input/z3-bench/evolve/probe_cli_keys.py b/input/z3-bench/evolve/probe_cli_keys.py new file mode 100644 index 0000000000..5a4aa4a8e0 --- /dev/null +++ b/input/z3-bench/evolve/probe_cli_keys.py @@ -0,0 +1,105 @@ +""" +Probe which keys from shared/z3_valid_keys.json the Z3 CLI actually accepts +as positional `key=value` arguments. Some keys exist in `-pm:` doc but +are rejected by the CLI (structural / API-only options). + +For each key, run: + z3 -smt2 = +Capture stderr -> classify as CLI_OK / CLI_REJECT. + +Writes shared/z3_cli_skip_keys.json with the list to skip. + +Run inside the container (z3 binary required). This is slow (~N seconds for +N ~1000 keys, ~1s per probe). Use --limit to test a subset first. +""" +import argparse +import json +import pathlib +import re +import shutil +import subprocess +import sys +import tempfile + +ROOT = pathlib.Path(__file__).resolve().parent +SHARED = ROOT / "shared" + +# Trivial SMT2: instant decide. +_TRIVIAL_SMT2 = "(declare-const x Bool)\n(assert x)\n(check-sat)\n" + +_REJECT_RES = [ + re.compile(r"unknown\s+parameter", re.IGNORECASE), + re.compile(r"invalid\s+parameter", re.IGNORECASE), + re.compile(r"unknown\s+option", re.IGNORECASE), + re.compile(r"error\s+setting", re.IGNORECASE), + re.compile(r"is\s+a\s+structural\s+parameter", re.IGNORECASE), +] + + +def is_rejection(stderr): + for rx in _REJECT_RES: + if rx.search(stderr): + return True + return False + + +def probe(key, value, smt2_path, z3_bin): + """Return True if CLI rejects this key.""" + args = [z3_bin, "-smt2", "-T:5", f"{key}={value}", smt2_path] + try: + proc = subprocess.run(args, capture_output=True, text=True, timeout=10) + except subprocess.TimeoutExpired: + return False # timeout != reject; key was accepted but eval slow + return is_rejection(proc.stderr) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--limit", type=int, default=0, help="probe at most N keys (0 = all)") + ap.add_argument("--z3-bin", default="z3") + args = ap.parse_args() + + if shutil.which(args.z3_bin) is None: + print(f"ERROR: {args.z3_bin} not on PATH", file=sys.stderr) + sys.exit(1) + + valid_keys_path = SHARED / "z3_valid_keys.json" + if not valid_keys_path.exists(): + print(f"ERROR: {valid_keys_path} missing. Run validate_keys.py first.", file=sys.stderr) + sys.exit(1) + keys = sorted(json.loads(valid_keys_path.read_text())) + + # Use a safe sentinel value: integer 0 works for bool/uint/int/double; + # for symbol-typed options z3 ignores numeric mismatches but typically + # doesn't error at the parse level. Falls back to "false" if 0 rejected. + candidate_values = ["0", "false"] + + with tempfile.NamedTemporaryFile("w", suffix=".smt2", delete=False) as f: + f.write(_TRIVIAL_SMT2) + smt2 = f.name + + rejects = [] + total = len(keys) if args.limit == 0 else min(args.limit, len(keys)) + print(f"probing {total} keys with z3={args.z3_bin}") + for i, k in enumerate(keys[:total], 1): + rejected_all = True + for v in candidate_values: + if not probe(k, v, smt2, args.z3_bin): + rejected_all = False + break + if rejected_all: + rejects.append(k) + if i % 50 == 0: + print(f" {i}/{total} rejects so far: {len(rejects)}") + + out = SHARED / "z3_cli_skip_keys.json" + out.write_text(json.dumps(sorted(rejects), indent=2) + "\n") + print(f"\nwrote {out.relative_to(ROOT)} ({len(rejects)} CLI-rejected keys)") + if rejects: + print("examples:") + for r in rejects[:20]: + print(f" - {r}") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py new file mode 100644 index 0000000000..2676712ff7 --- /dev/null +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -0,0 +1,142 @@ +""" +Init-phase rebaseline: measure BASELINE elapsed_ms on the stage1 evolution +sample (shared/stage1_sample.json) and write shared/local_baseline.json. + +Wall-clock varies by hardware / z3 version. Raw-data baseline_ms was recorded +on a different machine, so comparing against it gives misleading speedup. +evaluator._load_problems overlays this local file onto raw data so that +speedup = local_baseline_ms / variant_elapsed_ms. + +Only the stage1 evolution sample is rebaselined here — fast (~30s with +parallel=5) and matches what the evolve loop actually sees. Final verification +uses a separate larger sample via final_verify.py, which rebaselines on the fly. + +Per-problem: 1 run, timeout = max(60s, raw_baseline_ms * 2 / 1000). +Concurrency = config parallel_solvers (env OPENEVOLVE_PARALLEL_SOLVERS override). +""" +import json +import math +import pathlib +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) + +from baseline_params import BASELINE # noqa: E402 +from z3_runner import run_z3 # noqa: E402 +from runtime import parallel_solvers # noqa: E402 + +_BENCH_DIR = _HERE.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" +_OUT = _HERE / "shared" / "local_baseline.json" + + +def _load_problem_index(): + idx = {} + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "sha": d["problem_sha256"], + "smt2": d["smt2_filename"], + "raw_ms": d["z3_status"]["elapsed_ms"], + "raw_result": d["z3_status"]["result"], + } + return idx + + +def _load_stage1_shas(): + if not _STAGE1_SAMPLE.exists(): + print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_stage1_sample.py first", + file=sys.stderr) + sys.exit(2) + return list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + + +def main(): + shas = _load_stage1_shas() + idx = _load_problem_index() + + tasks = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) + return 2 + smt2_path = _RAW_DIR / meta["smt2"] + if not smt2_path.exists(): + print(f"ERROR: smt2 not found: {smt2_path}", file=sys.stderr) + return 2 + tasks.append((i, meta, smt2_path)) + + n_parallel = min(parallel_solvers(default=1), len(tasks)) + print(f"rebaselining stage1 evolution sample: {len(tasks)} problems " + f"(from stage1_sample.json)") + print(f"timeout per problem = max(60s, raw_ms * 2), parallel={n_parallel} " + f"(taskset core pin)") + print() + + def _solve(task): + i, meta, smt2_path = task + timeout_s = max(60, math.ceil(meta["raw_ms"] * 2 / 1000)) + core = (i % n_parallel) if n_parallel > 1 else None + res = run_z3(smt2_path, BASELINE, timeout_s, cpu_core=core) + return i, meta, res + + t_start = time.monotonic() + completed = [] + if n_parallel == 1: + for task in tasks: + completed.append(_solve(task)) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_solve, t) for t in tasks] + for fut in as_completed(futures): + completed.append(fut.result()) + completed.sort(key=lambda x: x[0]) + + out = {} + mismatch = 0 + for i, meta, res in completed: + got_result = res.get("result", "Unknown") + got_ms = int(res.get("elapsed_ms", 0)) + ok = (got_result == meta["raw_result"]) + if not ok: + mismatch += 1 + + flag = "" if ok else " MISMATCH" + ratio = got_ms / max(meta["raw_ms"], 1) + core_tag = f" core={i % n_parallel}" if n_parallel > 1 else "" + print( + f" [{i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " + f"raw={meta['raw_result']:<7}/{meta['raw_ms']:>7}ms " + f"local={got_result:<7}/{got_ms:>7}ms ratio={ratio:.2f}x{flag}{core_tag}", + flush=True, + ) + + out[meta["sha"]] = { + "elapsed_ms": got_ms, + "result": got_result, + "matches_raw": ok, + "raw_elapsed_ms": meta["raw_ms"], + "stats": res.get("stats") or {}, + } + + elapsed = time.monotonic() - t_start + _OUT.write_text(json.dumps(out, indent=2) + "\n") + print() + print(f"wrote {_OUT.relative_to(_BENCH_DIR.parent)} " + f"({len(out)} entries, {mismatch} mismatches)") + print(f"total time: {elapsed:.1f}s") + if mismatch: + print(f"WARNING: {mismatch} problems had result mismatch — " + f"evaluator will keep raw_ms for those") + return 0 if mismatch == 0 else 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/input/z3-bench/evolve/run_phase.sh b/input/z3-bench/evolve/run_phase.sh index 40e739a261..b3840e6b60 100755 --- a/input/z3-bench/evolve/run_phase.sh +++ b/input/z3-bench/evolve/run_phase.sh @@ -37,6 +37,12 @@ if [ ! -f "$ROOT/shared/stage1_sample.json" ]; then python "$ROOT/build_stage1_sample.py" fi +if [ ! -f "$ROOT/shared/local_baseline.json" ]; then + echo "local_baseline.json missing — running rebaseline_local.py first (~5 min, 20 problems)..." + python "$ROOT/rebaseline_local.py" || \ + echo "warning: rebaseline_local.py finished with mismatches; evaluator will fall back to raw_ms for those." +fi + if ! command -v z3 >/dev/null 2>&1; then echo "warning: z3 binary not on PATH. install: apt-get install -y z3 or pip install z3-solver" >&2 fi diff --git a/input/z3-bench/evolve/shared/_z3_solve_worker.py b/input/z3-bench/evolve/shared/_z3_solve_worker.py new file mode 100644 index 0000000000..c618f65fd9 --- /dev/null +++ b/input/z3-bench/evolve/shared/_z3_solve_worker.py @@ -0,0 +1,154 @@ +""" +Solve one SMT2 file using the z3 Python binding (z3.set_param + z3.Optimize). +Matches the original benchmark setup (applied_params_hash 543b29...): params +are applied via z3.set_param so globals like 'threads' / 'parallel.enable' / +'sls.parallel' work, unlike CLI positional `key=value`. + +Invoked as a subprocess by z3_runner.py for process isolation + hard timeout. + +argv: + sys.argv[1] JSON dict of {key: value} (params) + sys.argv[2] smt2 file path + sys.argv[3] per-problem timeout in seconds + +stdout: a single JSON line, one of: + {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int, "stats": {: , ...}} + {"result": "Unknown", "elapsed_ms": int, "timeout": true, "stats": {...}?} + {"invalid_param": "", "error": "", "result": "Unknown", "elapsed_ms": 0} + {"result": "Unknown", "elapsed_ms": 0, "error": ""} + +"stats" mirrors z3 Optimize.statistics() (decisions, propagations, conflicts, +restarts, plus tactic-specific counters like arith/bv overflow, mk-clause, ...). +Numeric values only; non-numeric keys dropped to keep JSON small. +""" +import json +import os +import sys +import time + + +def emit(d): + print(json.dumps(d)) + sys.stdout.flush() + + +def main(): + if len(sys.argv) != 4: + emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) + return + + try: + params = json.loads(sys.argv[1]) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"params json: {e}"}) + return + + smt2_path = sys.argv[2] + timeout_s = int(sys.argv[3]) + + try: + import z3 + except ImportError as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"z3 binding import: {e}"}) + return + + # Split params per route_solver.cpp set_z3_param_optimize_option(): + # opt.* keys → per-Optimize via opt.set(Params) (strip "opt." prefix) + # all others → global via z3.set_param + # Matches cpp ground truth: priority/maxsat_engine/enable_*/maxres.*/rc2.* + # are set on the Optimize instance (opt.set), not globally. + # Mirror cpp route_solver.cpp:613 — suppress unknown-param warnings + # BEFORE any other set_param. Without this, z3 4.15.x emits a warning + + # dumps the legal-param list to stderr for keys like "threads" (no-op in + # this version), which aborts the subprocess in stderr-piped mode. + try: + z3.set_param("warning", False) + except Exception: + pass + + opt_local = {} + for k, v in params.items(): + if k.startswith("opt."): + opt_local[k[len("opt."):]] = v + continue + try: + z3.set_param(k, v) + except z3.Z3Exception as e: + emit({"invalid_param": k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) + return + except Exception as e: + emit({"invalid_param": k, "error": f"{type(e).__name__}: {e}", "result": "Unknown", "elapsed_ms": 0}) + return + + # Soft timeout (z3 polls at safe points) — outer subprocess.run() also + # enforces a hard wall-clock cap. + try: + z3.set_param("timeout", int(timeout_s * 1000)) + except Exception: + pass + + o = z3.Optimize() + + for k, v in opt_local.items(): + try: + o.set(k, v) + except z3.Z3Exception as e: + emit({"invalid_param": "opt." + k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) + return + except Exception as e: + emit({"invalid_param": "opt." + k, "error": f"{type(e).__name__}: {e}", "result": "Unknown", "elapsed_ms": 0}) + return + + try: + o.from_file(smt2_path) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"smt2 parse: {e}"}) + return + + t0 = time.monotonic() + try: + res = o.check() + except Exception as e: + elapsed_ms = int((time.monotonic() - t0) * 1000) + emit( + { + "result": "Unknown", + "elapsed_ms": elapsed_ms, + "error": f"check() raised: {e}", + } + ) + return + elapsed_ms = int((time.monotonic() - t0) * 1000) + + if res == z3.sat: + label = "Sat" + elif res == z3.unsat: + label = "Unsat" + else: + label = "Unknown" + + stats = {} + try: + st = o.statistics() + for k in st.keys(): + try: + v = st.get_key_value(k) + except Exception: + continue + if isinstance(v, bool): + continue + if isinstance(v, (int, float)): + stats[k] = v + except Exception: + stats = {} + + emit({"result": label, "elapsed_ms": elapsed_ms, "stats": stats}) + + +if __name__ == "__main__": + main() + # Bypass z3 atexit/teardown that can abort the subprocess after a clean + # emit() — would mask the result as "worker produced no output". + sys.stdout.flush() + sys.stderr.flush() + os._exit(0) diff --git a/input/z3-bench/evolve/shared/baseline_params.py b/input/z3-bench/evolve/shared/baseline_params.py index 0fae6a93cf..a9c42e628e 100644 --- a/input/z3-bench/evolve/shared/baseline_params.py +++ b/input/z3-bench/evolve/shared/baseline_params.py @@ -23,6 +23,9 @@ "smt.random_seed": 0, "smt.threads": 1, "threads": 1, + # NOTE: global "threads" — Z3 4.13.x CLI rejects as positional `key=value`. + # z3_runner.py omits it from CLI args. Default is 1 so behavior matches. + # Kept in BASELINE for fidelity with applied_params_hash 543b29... } LOCKED = { @@ -30,4 +33,128 @@ "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": False, + "threads": 1, } + + +def _self_test(): + """ + Self-test: run stage1 5 problems with BASELINE in parallel and report + per-problem ratio vs raw baseline_ms. Use to sanity-check that the worker + + z3 binding reproduce the recorded baseline within tolerance, and that + parallel dispatch (taskset core pinning) doesn't perturb timing. + + Defaults: OPENEVOLVE_PARALLEL_SOLVERS=5 (matches config.yaml + parallel_evaluations), capped at problem count. + + Status: + OK — result matches, ratio in [0.5, 2.0] + WARN — result matches, ratio out of band (noise / hw drift) + FAIL — result mismatch or invalid_param + """ + import json + import math + import pathlib + import sys + import time + from concurrent.futures import ThreadPoolExecutor, as_completed + + here = pathlib.Path(__file__).resolve().parent + sys.path.insert(0, str(here)) + from z3_runner import run_z3 # noqa: E402 + from runtime import parallel_solvers # noqa: E402 + + bench = here.parent.parent # input/z3-bench/ + raw_dir = bench / "raw-data" + problems_jsonl = bench / "problems.jsonl" + stage1_sample = here / "stage1_sample.json" + + if not stage1_sample.exists(): + print(f"ERROR: {stage1_sample} missing. run build_stage1_sample.py first.", + file=sys.stderr) + return 2 + + shas = list(json.loads(stage1_sample.read_text())["sha256"]) + idx = {} + with open(problems_jsonl) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "smt2": d["smt2_filename"], + "baseline_ms": d["z3_status"]["elapsed_ms"], + "baseline_result": d["z3_status"]["result"], + } + + tasks = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) + return 2 + smt2 = raw_dir / meta["smt2"] + if not smt2.exists(): + print(f"ERROR: smt2 not found: {smt2}", file=sys.stderr) + return 2 + tasks.append((i, sha, meta, smt2)) + + n_parallel = min(parallel_solvers(default=5), len(tasks)) + + print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel}, " + f"taskset core pin") + print() + + def solve(t): + i, sha, meta, smt2 = t + # Generous timeout: 2x baseline_ms (matches the [0.5, 2.0] tolerance band). + timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) + core = i % n_parallel + r = run_z3(smt2, BASELINE, timeout_s, cpu_core=core) + return i, sha, meta, r + + t_start = time.monotonic() + results = [] + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(solve, t) for t in tasks] + for fut in as_completed(futures): + results.append(fut.result()) + elapsed = time.monotonic() - t_start + results.sort(key=lambda x: x[0]) + + print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" + f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} core status") + print("-" * 84) + fail = 0 + warn = 0 + sum_got_ms = 0 + for i, sha, meta, r in results: + got_result = r.get("result", "Unknown") + got_ms = int(r.get("elapsed_ms", 0)) + sum_got_ms += got_ms + ratio = got_ms / max(meta["baseline_ms"], 1) + result_ok = (got_result == meta["baseline_result"]) + invalid = r.get("invalid_param") + if invalid: + status = f"FAIL(invalid={invalid})" + fail += 1 + elif not result_ok: + status = "FAIL" + fail += 1 + elif not (0.5 <= ratio <= 2.0): + status = "WARN" + warn += 1 + else: + status = "OK" + print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" + f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x " + f"{i % n_parallel:>4} {status}") + + seq_estimate = sum_got_ms / 1000 + print() + print(f"wall-clock: {elapsed:.1f}s (sequential would be ~{seq_estimate:.0f}s)") + print(f"summary: {len(results) - fail - warn} ok, {warn} warn, {fail} fail") + return 0 if fail == 0 else 1 + + +if __name__ == "__main__": + import sys + sys.exit(_self_test()) diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index c66d191788..a8caecd475 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -5,16 +5,29 @@ stage1: 5 stratified problems (stage1_sample.json), per-problem 15s stage2: full 50 problems, per-problem 120s -Score: geomean(speedup) * solved_rate^2. +Score: geomean(speedup) * solved_rate^2 * efficiency^OPENEVOLVE_STATS_WEIGHT. + efficiency = geomean over {decisions, propagations, conflicts, mk clause} + of (baseline_stat / variant_stat) across solved problems. Default + OPENEVOLVE_STATS_WEIGHT=0 keeps prior behaviour. Per-problem solver + stats (z3 Optimize.statistics) are always surfaced via metrics + + artifacts so the LLM sees solver-internal cost beyond wall-clock. Locked params (sat.random_seed / smt.random_seed / sls.random_seed / parallel.enable) must not deviate from baseline_params.LOCKED — violation => combined_score=0. Environment overrides: - OPENEVOLVE_MAX_PROBLEMS int — cap stage2 problem count - OPENEVOLVE_STAGE1_TIMEOUT int sec — per-problem timeout in stage1 (default 15) - OPENEVOLVE_STAGE2_TIMEOUT int sec — per-problem timeout in stage2 (default 120) - OPENEVOLVE_Z3_BIN str — z3 binary path (default "z3") + OPENEVOLVE_MAX_PROBLEMS int — cap stage2 problem count + OPENEVOLVE_STAGE1_TIMEOUT int sec — per-problem timeout in stage1 (default 24) + OPENEVOLVE_STAGE2_TIMEOUT int sec — per-problem timeout in stage2 (default 120) + OPENEVOLVE_PARALLEL_SOLVERS int — SINGLE knob for total z3 concurrency + (default 1). Spawns N z3 worker subprocesses + concurrently per stage; each pinned to a + dedicated core via taskset (Linux). Capped at + len(problems). Config.yaml parallel_evaluations + is fixed at 1 so total concurrent z3 = this env + value (no parallel_evaluations × N blow-up). + Total RAM ≈ N × 4 GB worst-case. + OPENEVOLVE_Z3_BIN str — z3 binary path (default "z3") """ import importlib.util import json @@ -29,6 +42,7 @@ from baseline_params import BASELINE, LOCKED # noqa: E402 from score import score # noqa: E402 from z3_runner import run_z3 # noqa: E402 +from runtime import parallel_solvers # noqa: E402 from openevolve.evaluation_result import EvaluationResult # noqa: E402 @@ -36,8 +50,9 @@ _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _STAGE1_SAMPLE = _HERE / "stage1_sample.json" +_LOCAL_BASELINE = _HERE / "local_baseline.json" -_Z3_BIN = os.environ.get("OPENEVOLVE_Z3_BIN", "z3") +_PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") # None -> sys.executable def _load_program(path): @@ -49,16 +64,39 @@ def _load_program(path): def _load_problems(): + # If rebaseline_local.py has been run, restrict stage2 to that SHA subset + # (20 stratified). Reasons: + # - non-rebaselined problems would use raw_ms recorded on a different + # machine, skewing speedup + # - smaller stage2 = faster iterations + # Local elapsed_ms used only when local result matches raw, else fall + # back to raw_ms for that SHA to avoid speedup distortion from a bad + # local run (timeout, mismatch). + local = {} + if _LOCAL_BASELINE.exists(): + local = json.loads(_LOCAL_BASELINE.read_text()) + rows = [] with open(_PROBLEMS_JSONL) as f: for line in f: d = json.loads(line) + sha = d["problem_sha256"] + if local and sha not in local: + continue + baseline_ms = d["z3_status"]["elapsed_ms"] + baseline_result = d["z3_status"]["result"] + baseline_stats = {} + lo = local.get(sha) + if lo and lo.get("matches_raw"): + baseline_ms = lo["elapsed_ms"] + baseline_stats = lo.get("stats") or {} rows.append( { - "sha": d["problem_sha256"], + "sha": sha, "smt2": d["smt2_filename"], - "baseline_ms": d["z3_status"]["elapsed_ms"], - "baseline_result": d["z3_status"]["result"], + "baseline_ms": baseline_ms, + "baseline_result": baseline_result, + "baseline_stats": baseline_stats, } ) return rows @@ -134,7 +172,7 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] - results = [] + # Verify smt2 files exist up front so parallel dispatch doesn't race. for p in problems: smt2_path = _RAW_DIR / p["smt2"] if not smt2_path.exists(): @@ -142,29 +180,139 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): {"error": f"smt2 not found: {p['smt2']}"}, {"missing_file": str(smt2_path), "stage": stage_name}, ) - r = run_z3(smt2_path, params, per_problem_timeout_s, z3_bin=_Z3_BIN) + + # Parallel dispatch — `OPENEVOLVE_PARALLEL_SOLVERS` controls how many + # z3 worker subprocesses run concurrently for the stage's problem list. + # Worker count is capped at len(problems) (no point spawning idle threads). + # Each task is pinned to core (i % N) via taskset (Linux) so concurrent + # runs don't fight for the same physical core. Default 1 = sequential. + n_parallel = min(parallel_solvers(default=1), len(problems)) + + def _solve(idx_p): + idx, p = idx_p + smt2_path = _RAW_DIR / p["smt2"] + core = (idx % n_parallel) if n_parallel > 1 else None + r = run_z3(smt2_path, params, per_problem_timeout_s, + python_bin=_PYTHON_BIN, cpu_core=core) + return idx, p, r + + def _is_regression(p, r): + # Correctness regression: baseline gave a definitive answer (Sat/Unsat) + # and variant disagrees (Unsat, Unknown, or timeout). Unknown baseline + # is excluded — variant solving an Unknown is an improvement, not a + # regression. invalid_param handled separately (param-level error). if "invalid_param" in r: - return _err_result( - {"error": f"invalid z3 param: {r['invalid_param']}"}, - { - "invalid_param": r["invalid_param"], - "stderr": r.get("stderr", "")[:2000], - "stage": stage_name, - "suggestion": "Remove or fix this key in get_params().", + return False + return ( + p["baseline_result"] in ("Sat", "Unsat") + and r.get("result") != p["baseline_result"] + ) + + def _invalid_err(r): + return _err_result( + {"error": f"invalid z3 param: {r['invalid_param']}"}, + { + "invalid_param": r["invalid_param"], + "stderr": r.get("stderr", "")[:2000], + "stage": stage_name, + "suggestion": "Remove or fix this key in get_params().", + }, + ) + + def _regression_err(p, r): + return _err_result( + {"error": f"result regression on {p['sha'][:10]}: " + f"baseline={p['baseline_result']} got={r.get('result')}"}, + { + "result_mismatch": { + "sha": p["sha"][:12], + "baseline_result": p["baseline_result"], + "got_result": r.get("result"), + "elapsed_ms": r.get("elapsed_ms"), + "timeout": bool(r.get("timeout")), }, - ) + "stage": stage_name, + "suggestion": ( + "Variant lost correctness on a problem baseline solved. " + "Revert params that disable preprocessing or relax completeness " + "(e.g. simplifier off, aggressive sls early-prune, restart " + "tuning that starves Sat search)." + ), + }, + ) + + by_idx = {} + abort = None # ("invalid"|"regression", p, r) — first failure observed + if n_parallel == 1: + # Sequential: short-circuit immediately on invalid or regression. + for pair in enumerate(problems): + idx, p, r = _solve(pair) + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms", flush=True) + if "invalid_param" in r: + return _invalid_err(r) + if _is_regression(p, r): + print(f" [{stage_name}] regression — aborting remaining " + f"{len(problems) - idx - 1} problems", flush=True) + return _regression_err(p, r) + by_idx[idx] = (p, r) + else: + # Parallel: cancel pending futures on first failure. In-flight tasks + # keep running until subprocess timeout (with __exit__ waits for them); + # acceptable for stage1 (timeout ~24s). + from concurrent.futures import ThreadPoolExecutor, as_completed + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_solve, pair) for pair in enumerate(problems)] + for fut in as_completed(futures): + if abort is not None: + continue + idx, p, r = fut.result() + core = idx % n_parallel + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms " + f"(core={core})", flush=True) + if "invalid_param" in r: + abort = ("invalid", p, r) + elif _is_regression(p, r): + abort = ("regression", p, r) + if abort is not None: + print(f" [{stage_name}] {abort[0]} — cancelling pending " + f"problems (in-flight workers will drain)", flush=True) + for f in futures: + f.cancel() + continue + by_idx[idx] = (p, r) + if abort is not None: + kind, p, r = abort + return _invalid_err(r) if kind == "invalid" else _regression_err(p, r) + + # No failure — reassemble in original problem order. + results = [] + for idx in range(len(problems)): + p, r = by_idx[idx] results.append( { **p, "result": r["result"], "elapsed_ms": r["elapsed_ms"], "timeout": bool(r.get("timeout")), + "stats": r.get("stats") or {}, } ) metrics = score(results) metrics["stage"] = stage_name + # Surface a small fixed set of solver-internal counters that drive Z3's + # search shape. LLM sees these via metrics + per-problem artifacts and can + # reason about what a param tweak did beyond wall-clock (e.g. fewer + # decisions/conflicts at same elapsed_ms = sturdier improvement). + # `mk clause` chosen over `restarts` since z3 does not emit `restarts` + # for the optimize / arith-heavy stack used here. + _KEY_STATS = ("decisions", "propagations", "conflicts", "mk clause") + for k in _KEY_STATS: + metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in results)) + sample = [ { "sha": r["sha"][:10], @@ -174,6 +322,8 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): "ms": r["elapsed_ms"], "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), "timeout": r["timeout"], + "stats": {k: r["stats"].get(k, 0) for k in _KEY_STATS if k in r["stats"]}, + "base_stats": {k: r["baseline_stats"].get(k, 0) for k in _KEY_STATS if k in r.get("baseline_stats", {})}, } for r in results ] @@ -183,6 +333,7 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): f"solved={metrics['solved']}/{metrics['total']} " f"regressions={metrics['regressions']} " f"geomean_speedup={metrics['geomean_speedup']:.3f} " + f"efficiency={metrics.get('efficiency', 1.0):.3f} " f"score={metrics['combined_score']:.3f}" ), "per_problem": sample[:20], @@ -191,7 +342,9 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): def evaluate_stage1(program_path): - timeout = int(os.environ.get("OPENEVOLVE_STAGE1_TIMEOUT", "15")) + # Default 24s per problem → 5 problems = 60-120s wall-clock budget + # (60s lower bound on baseline-like variants, 120s upper bound on all-timeout). + timeout = int(os.environ.get("OPENEVOLVE_STAGE1_TIMEOUT", "24")) problems = _filter_stage1(_load_problems()) return _evaluate(program_path, problems, timeout, "stage1") @@ -203,4 +356,7 @@ def evaluate_stage2(program_path): def evaluate(program_path): - return evaluate_stage2(program_path) + # Evolution uses stage1 (5 sampled problems) only — fast iteration loop. + # Stage2 (20 problems) is reserved for final verification via + # final_verify.py on the best-program, not the per-variant search loop. + return evaluate_stage1(program_path) diff --git a/input/z3-bench/evolve/shared/local_baseline.json b/input/z3-bench/evolve/shared/local_baseline.json new file mode 100644 index 0000000000..8bb23c8843 --- /dev/null +++ b/input/z3-bench/evolve/shared/local_baseline.json @@ -0,0 +1,806 @@ +{ + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8": { + "elapsed_ms": 8244, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 13086, + "stats": { + "conflicts": 346, + "decisions": 13879, + "propagations": 1852731, + "binary propagations": 1542459, + "restarts": 2, + "final checks": 57, + "added eqs": 101168, + "mk clause": 53762, + "mk clause binary": 14972623, + "del clause": 788, + "minimized lits": 4063, + "num checks": 58, + "mk bool var": 61279, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 367, + "pb predicates": 363, + "arith eq adapter": 1621, + "arith-lower": 42952, + "arith-upper": 42151, + "arith-conflicts": 73, + "arith-bound-propagations-lp": 37965, + "arith-diseq": 12892, + "arith-make-feasible": 10663, + "arith-max-columns": 1633, + "arith-max-rows": 1015, + "arith-offset-eqs": 5846, + "arith-fixed-eqs": 13173, + "solve-eqs-steps": 140510, + "solve-eqs-elim-vars": 27284, + "rlimit count": 26312539, + "max memory": 4322.01, + "memory": 4078.56, + "num allocs": 48404857791.0, + "time": 8.244 + } + }, + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3": { + "elapsed_ms": 7990, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 13885, + "stats": { + "conflicts": 194, + "decisions": 9196, + "propagations": 979859, + "binary propagations": 804835, + "restarts": 1, + "final checks": 46, + "added eqs": 53913, + "mk clause": 53566, + "mk clause binary": 14964298, + "del clause": 756, + "minimized lits": 3410, + "num checks": 47, + "mk bool var": 61193, + "pb resolves": 30, + "pb conflicts": 30, + "pb propagations": 294, + "pb predicates": 363, + "arith eq adapter": 1605, + "arith-lower": 24162, + "arith-upper": 22975, + "arith-conflicts": 22, + "arith-bound-propagations-lp": 21276, + "arith-diseq": 9181, + "arith-make-feasible": 6578, + "arith-max-columns": 1631, + "arith-max-rows": 1015, + "arith-offset-eqs": 2733, + "arith-fixed-eqs": 6225, + "solve-eqs-steps": 140427, + "solve-eqs-elim-vars": 27284, + "rlimit count": 25116882, + "max memory": 4321.63, + "memory": 4075.61, + "num allocs": 44267582854.0, + "time": 7.99 + } + }, + "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4": { + "elapsed_ms": 7213, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 14232, + "stats": { + "conflicts": 286, + "decisions": 10752, + "propagations": 1385715, + "binary propagations": 1153752, + "restarts": 1, + "final checks": 56, + "added eqs": 70701, + "mk clause": 53955, + "mk clause binary": 15003881, + "del clause": 791, + "minimized lits": 4210, + "num checks": 57, + "mk bool var": 61703, + "pb resolves": 31, + "pb conflicts": 32, + "pb propagations": 452, + "pb predicates": 367, + "arith eq adapter": 1630, + "arith-lower": 29779, + "arith-upper": 29671, + "arith-conflicts": 30, + "arith-bound-propagations-lp": 25416, + "arith-diseq": 9500, + "arith-make-feasible": 7214, + "arith-max-columns": 1642, + "arith-max-rows": 1023, + "arith-offset-eqs": 3501, + "arith-fixed-eqs": 9401, + "solve-eqs-steps": 141131, + "solve-eqs-elim-vars": 27438, + "rlimit count": 25313143, + "max memory": 4323.22, + "memory": 4077.97, + "num allocs": 46757602227.0, + "time": 7.213 + } + }, + "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12": { + "elapsed_ms": 7317, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 14353, + "stats": { + "conflicts": 370, + "decisions": 12306, + "propagations": 1907454, + "binary propagations": 1581417, + "restarts": 2, + "final checks": 58, + "added eqs": 93222, + "mk clause": 54004, + "mk clause binary": 15003935, + "del clause": 758, + "minimized lits": 6012, + "num checks": 59, + "mk bool var": 61652, + "pb resolves": 32, + "pb conflicts": 32, + "pb propagations": 414, + "pb predicates": 367, + "arith eq adapter": 1615, + "arith-lower": 39727, + "arith-upper": 39085, + "arith-conflicts": 85, + "arith-bound-propagations-lp": 33639, + "arith-diseq": 12851, + "arith-make-feasible": 8778, + "arith-max-columns": 1644, + "arith-max-rows": 1023, + "arith-offset-eqs": 5028, + "arith-fixed-eqs": 12443, + "solve-eqs-steps": 141131, + "solve-eqs-elim-vars": 27438, + "rlimit count": 26185013, + "max memory": 4323.19, + "memory": 4078.87, + "num allocs": 48160422899.0, + "time": 7.317 + } + }, + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a": { + "elapsed_ms": 7295, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 14428, + "stats": { + "conflicts": 261, + "decisions": 8937, + "propagations": 1336168, + "binary propagations": 1124409, + "restarts": 2, + "final checks": 43, + "added eqs": 79235, + "mk clause": 53625, + "mk clause binary": 14964291, + "del clause": 723, + "minimized lits": 3743, + "num checks": 44, + "mk bool var": 61210, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 368, + "pb predicates": 363, + "arith eq adapter": 1612, + "arith-lower": 32987, + "arith-upper": 33563, + "arith-conflicts": 43, + "arith-bound-propagations-lp": 29776, + "arith-diseq": 10605, + "arith-make-feasible": 8136, + "arith-max-columns": 1631, + "arith-max-rows": 1015, + "arith-offset-eqs": 4101, + "arith-fixed-eqs": 10582, + "solve-eqs-steps": 140430, + "solve-eqs-elim-vars": 27284, + "rlimit count": 25422361, + "max memory": 4321.57, + "memory": 4075.38, + "num allocs": 43841036999.0, + "time": 7.295 + } + }, + "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3": { + "elapsed_ms": 44, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 221, + "stats": { + "solve-eqs-steps": 7209, + "solve-eqs-elim-vars": 3351, + "num allocs": 4155162, + "rlimit count": 897626, + "max memory": 24.4, + "memory": 21.86, + "time": 0.044 + } + }, + "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b": { + "elapsed_ms": 161, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 258, + "stats": { + "conflicts": 48, + "decisions": 830, + "propagations": 50299, + "binary propagations": 38071, + "final checks": 10, + "added eqs": 6128, + "mk clause": 5784, + "mk clause binary": 276585, + "del clause": 636, + "minimized lits": 10, + "num checks": 11, + "mk bool var": 7965, + "pb resolves": 25, + "pb conflicts": 25, + "pb propagations": 3, + "pb predicates": 152, + "arith eq adapter": 693, + "arith-lower": 2143, + "arith-upper": 2248, + "arith-fixed-eqs": 1, + "arith-conflicts": 4, + "arith-bound-propagations-lp": 1555, + "arith-diseq": 884, + "arith-make-feasible": 431, + "arith-max-columns": 350, + "arith-max-rows": 201, + "arith-offset-eqs": 211, + "solve-eqs-steps": 12823, + "solve-eqs-elim-vars": 4554, + "num allocs": 75794543, + "rlimit count": 1777059, + "max memory": 88.64, + "memory": 86.41, + "time": 0.161 + } + }, + "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500": { + "elapsed_ms": 171, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 294, + "stats": { + "conflicts": 94, + "decisions": 1199, + "propagations": 112554, + "binary propagations": 88002, + "final checks": 12, + "added eqs": 13146, + "mk clause": 6192, + "mk clause binary": 275302, + "del clause": 1023, + "minimized lits": 138, + "num checks": 13, + "mk bool var": 8691, + "pb resolves": 23, + "pb conflicts": 23, + "pb propagations": 5, + "pb predicates": 152, + "arith eq adapter": 1063, + "arith-lower": 4975, + "arith-upper": 4631, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 2639, + "arith-diseq": 1163, + "arith-make-feasible": 673, + "arith-max-columns": 348, + "arith-max-rows": 199, + "arith-offset-eqs": 429, + "arith-fixed-eqs": 917, + "solve-eqs-steps": 13000, + "solve-eqs-elim-vars": 4554, + "num allocs": 82902270, + "rlimit count": 1887441, + "max memory": 88.59, + "memory": 86.55, + "time": 0.171 + } + }, + "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102": { + "elapsed_ms": 175, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 312, + "stats": { + "conflicts": 106, + "decisions": 1606, + "propagations": 82460, + "binary propagations": 61142, + "final checks": 15, + "added eqs": 10225, + "mk clause": 7425, + "mk clause binary": 277620, + "del clause": 2179, + "minimized lits": 395, + "num checks": 16, + "mk bool var": 10007, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 41, + "pb predicates": 154, + "arith eq adapter": 1528, + "arith-lower": 3609, + "arith-upper": 3548, + "arith-fixed-eqs": 14, + "arith-conflicts": 5, + "arith-bound-propagations-lp": 2342, + "arith-diseq": 1745, + "arith-make-feasible": 1107, + "arith-max-columns": 367, + "arith-max-rows": 214, + "arith-offset-eqs": 451, + "solve-eqs-steps": 13087, + "solve-eqs-elim-vars": 4650, + "num allocs": 82676890, + "rlimit count": 1887760, + "max memory": 88.76, + "memory": 86.68, + "time": 0.175 + } + }, + "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62": { + "elapsed_ms": 145, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 407, + "stats": { + "conflicts": 3, + "decisions": 6, + "propagations": 3081, + "binary propagations": 2545, + "added eqs": 622, + "mk clause": 5343, + "mk clause binary": 274028, + "del clause": 243, + "num checks": 1, + "mk bool var": 6929, + "pb predicates": 151, + "arith eq adapter": 293, + "arith-lower": 86, + "arith-upper": 86, + "arith-bound-propagations-lp": 20, + "arith-diseq": 11, + "arith-make-feasible": 11, + "arith-max-columns": 337, + "arith-max-rows": 193, + "arith-offset-eqs": 1, + "arith-fixed-eqs": 6, + "solve-eqs-steps": 13327, + "solve-eqs-elim-vars": 4506, + "num allocs": 68543201, + "rlimit count": 1616021, + "max memory": 88.34, + "memory": 85.22, + "time": 0.145 + } + }, + "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97": { + "elapsed_ms": 188, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 597, + "stats": { + "conflicts": 219, + "decisions": 1756, + "propagations": 169900, + "binary propagations": 127984, + "restarts": 1, + "final checks": 16, + "added eqs": 21183, + "mk clause": 7385, + "mk clause binary": 277800, + "del clause": 2007, + "minimized lits": 586, + "num checks": 17, + "mk bool var": 9496, + "pb resolves": 28, + "pb conflicts": 28, + "pb propagations": 58, + "pb predicates": 154, + "arith eq adapter": 1270, + "arith-lower": 7236, + "arith-upper": 7597, + "arith-fixed-eqs": 70, + "arith-conflicts": 21, + "arith-bound-propagations-lp": 5314, + "arith-diseq": 2009, + "arith-make-feasible": 1670, + "arith-max-columns": 371, + "arith-max-rows": 220, + "arith-offset-eqs": 870, + "solve-eqs-steps": 12785, + "solve-eqs-elim-vars": 4650, + "num allocs": 86910777, + "rlimit count": 2035211, + "max memory": 88.81, + "memory": 87.02, + "time": 0.187 + } + }, + "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07": { + "elapsed_ms": 644, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1674, + "stats": { + "conflicts": 335, + "decisions": 5186, + "propagations": 444718, + "binary propagations": 335262, + "restarts": 3, + "final checks": 9, + "added eqs": 49632, + "mk clause": 13497, + "mk clause binary": 1018513, + "del clause": 4428, + "minimized lits": 476, + "num checks": 10, + "mk bool var": 17570, + "pb resolves": 97, + "pb conflicts": 97, + "pb propagations": 105, + "pb predicates": 485, + "arith eq adapter": 2218, + "arith-lower": 18318, + "arith-upper": 18182, + "arith-fixed-eqs": 354, + "arith-conflicts": 28, + "arith-bound-propagations-lp": 11954, + "arith-diseq": 4689, + "arith-make-feasible": 3756, + "arith-max-columns": 584, + "arith-max-rows": 356, + "arith-offset-eqs": 2585, + "solve-eqs-steps": 26644, + "solve-eqs-elim-vars": 8047, + "num allocs": 507617878, + "rlimit count": 7258850, + "max memory": 295.69, + "memory": 282.15, + "time": 0.643 + } + }, + "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678": { + "elapsed_ms": 1593, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2728, + "stats": { + "conflicts": 899, + "decisions": 13186, + "propagations": 2230618, + "binary propagations": 1708238, + "restarts": 8, + "final checks": 14, + "added eqs": 229778, + "mk clause": 26234, + "mk clause binary": 2751847, + "del clause": 6555, + "minimized lits": 4494, + "num checks": 15, + "mk bool var": 32526, + "pb resolves": 146, + "pb conflicts": 146, + "pb propagations": 215, + "pb predicates": 851, + "arith eq adapter": 3753, + "arith-lower": 86621, + "arith-upper": 86769, + "arith-fixed-eqs": 706, + "arith-conflicts": 72, + "arith-bound-propagations-lp": 56004, + "arith-diseq": 20399, + "arith-make-feasible": 9707, + "arith-max-columns": 1171, + "arith-max-rows": 734, + "arith-offset-eqs": 13343, + "solve-eqs-steps": 45332, + "solve-eqs-elim-vars": 13068, + "num allocs": 2584040643, + "rlimit count": 12772018, + "max memory": 619.94, + "memory": 599.28, + "time": 1.592 + } + }, + "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1": { + "elapsed_ms": 1617, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2996, + "stats": { + "conflicts": 742, + "decisions": 6784, + "propagations": 1539060, + "binary propagations": 1172688, + "restarts": 6, + "added eqs": 133195, + "mk clause": 21618, + "mk clause binary": 2530387, + "del clause": 8849, + "minimized lits": 5430, + "num checks": 1, + "mk bool var": 26942, + "pb resolves": 84, + "pb conflicts": 84, + "pb propagations": 64, + "pb predicates": 844, + "arith eq adapter": 2609, + "arith-lower": 50071, + "arith-upper": 50903, + "arith-fixed-eqs": 228, + "arith-conflicts": 47, + "arith-bound-propagations-lp": 32430, + "arith-diseq": 10808, + "arith-make-feasible": 5677, + "arith-max-columns": 918, + "arith-max-rows": 555, + "arith-offset-eqs": 7212, + "solve-eqs-steps": 47474, + "solve-eqs-elim-vars": 13562, + "num allocs": 2153793705, + "rlimit count": 20606772, + "max memory": 604.58, + "memory": 581.37, + "time": 1.617 + } + }, + "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240": { + "elapsed_ms": 1462, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 3681, + "stats": { + "conflicts": 782, + "decisions": 11807, + "propagations": 1657628, + "binary propagations": 1268596, + "restarts": 6, + "final checks": 13, + "added eqs": 175598, + "mk clause": 25969, + "mk clause binary": 2752534, + "del clause": 6889, + "minimized lits": 3586, + "num checks": 14, + "mk bool var": 35838, + "pb resolves": 132, + "pb conflicts": 132, + "pb propagations": 163, + "pb predicates": 851, + "arith eq adapter": 4922, + "arith-lower": 65980, + "arith-upper": 65473, + "arith-fixed-eqs": 458, + "arith-conflicts": 35, + "arith-bound-propagations-lp": 40216, + "arith-diseq": 14033, + "arith-make-feasible": 8085, + "arith-max-columns": 1153, + "arith-max-rows": 720, + "arith-offset-eqs": 11149, + "solve-eqs-steps": 45840, + "solve-eqs-elim-vars": 13103, + "num allocs": 2459813988, + "rlimit count": 12534946, + "max memory": 619.39, + "memory": 598.54, + "time": 1.462 + } + }, + "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa": { + "elapsed_ms": 6802, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 13346, + "stats": { + "conflicts": 36, + "decisions": 309, + "propagations": 148377, + "binary propagations": 128438, + "added eqs": 10868, + "mk clause": 53385, + "mk clause binary": 14969882, + "del clause": 609, + "minimized lits": 86, + "num checks": 1, + "mk bool var": 61167, + "pb propagations": 29, + "pb predicates": 363, + "arith eq adapter": 1591, + "arith-lower": 4082, + "arith-upper": 4178, + "arith-conflicts": 7, + "arith-bound-propagations-lp": 2534, + "arith-diseq": 464, + "arith-make-feasible": 542, + "arith-max-columns": 1633, + "arith-max-rows": 1015, + "arith-offset-eqs": 209, + "arith-fixed-eqs": 790, + "solve-eqs-steps": 140602, + "solve-eqs-elim-vars": 27284, + "rlimit count": 21056686, + "max memory": 4321.87, + "memory": 4069.19, + "num allocs": 33745826870.0, + "time": 6.802 + } + }, + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416": { + "elapsed_ms": 6582, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 14992, + "stats": { + "conflicts": 27, + "decisions": 79, + "propagations": 144900, + "binary propagations": 123789, + "added eqs": 9276, + "mk clause": 53346, + "mk clause binary": 14961098, + "del clause": 609, + "minimized lits": 43, + "num checks": 1, + "mk bool var": 61148, + "pb propagations": 17, + "pb predicates": 363, + "arith eq adapter": 1591, + "arith-lower": 3345, + "arith-upper": 3271, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 1758, + "arith-diseq": 405, + "arith-make-feasible": 328, + "arith-max-columns": 1631, + "arith-max-rows": 1015, + "arith-offset-eqs": 231, + "arith-fixed-eqs": 482, + "solve-eqs-steps": 140314, + "solve-eqs-elim-vars": 27284, + "rlimit count": 21013773, + "max memory": 4321.4, + "memory": 4068.67, + "num allocs": 33595594265.0, + "time": 6.582 + } + }, + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c": { + "elapsed_ms": 7522, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 16518, + "stats": { + "conflicts": 133, + "decisions": 8000, + "propagations": 1042454, + "binary propagations": 860243, + "final checks": 63, + "added eqs": 50767, + "mk clause": 53891, + "mk clause binary": 15003886, + "del clause": 804, + "minimized lits": 4026, + "num checks": 64, + "mk bool var": 61797, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 234, + "pb predicates": 367, + "arith eq adapter": 1672, + "arith-lower": 19978, + "arith-upper": 22681, + "arith-conflicts": 26, + "arith-bound-propagations-lp": 17475, + "arith-diseq": 8202, + "arith-make-feasible": 4982, + "arith-max-columns": 1644, + "arith-max-rows": 1023, + "arith-offset-eqs": 2993, + "arith-fixed-eqs": 6646, + "solve-eqs-steps": 141131, + "solve-eqs-elim-vars": 27438, + "rlimit count": 25115048, + "max memory": 4323.2, + "memory": 4078.04, + "num allocs": 48281023551.0, + "time": 7.522 + } + }, + "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677": { + "elapsed_ms": 15924, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 32076, + "stats": { + "conflicts": 106, + "decisions": 1044, + "propagations": 1000545, + "binary propagations": 824948, + "added eqs": 140293, + "mk clause": 115565, + "mk clause binary": 18694422, + "del clause": 9573, + "minimized lits": 774, + "num checks": 1, + "mk bool var": 149183, + "pb propagations": 7, + "pb predicates": 5216, + "arith eq adapter": 7426, + "arith-lower": 49575, + "arith-upper": 49453, + "arith-conflicts": 6, + "arith-bound-propagations-lp": 16950, + "arith-diseq": 1131, + "arith-make-feasible": 1874, + "arith-max-columns": 7100, + "arith-max-rows": 4531, + "arith-offset-eqs": 5065, + "arith-fixed-eqs": 6959, + "solve-eqs-steps": 246577, + "solve-eqs-elim-vars": 74707, + "rlimit count": 72627630, + "max memory": 4735.35, + "memory": 4491.88, + "num allocs": 130462954454.0, + "time": 15.924 + } + }, + "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d": { + "elapsed_ms": 16731, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 33160, + "stats": { + "conflicts": 83, + "decisions": 760, + "propagations": 645209, + "binary propagations": 532485, + "added eqs": 91467, + "mk clause": 115660, + "mk clause binary": 18710201, + "del clause": 9818, + "minimized lits": 414, + "num checks": 1, + "mk bool var": 149108, + "pb propagations": 5, + "pb predicates": 5215, + "arith eq adapter": 7563, + "arith-lower": 30211, + "arith-upper": 30387, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 11135, + "arith-diseq": 818, + "arith-make-feasible": 1252, + "arith-max-columns": 7084, + "arith-max-rows": 4526, + "arith-offset-eqs": 4174, + "arith-fixed-eqs": 4060, + "solve-eqs-steps": 242535, + "solve-eqs-elim-vars": 75194, + "rlimit count": 71788859, + "max memory": 4752.97, + "memory": 4510.6, + "num allocs": 134129336930.0, + "time": 16.73 + } + } +} diff --git a/input/z3-bench/evolve/shared/runtime.py b/input/z3-bench/evolve/shared/runtime.py new file mode 100644 index 0000000000..e951cc039d --- /dev/null +++ b/input/z3-bench/evolve/shared/runtime.py @@ -0,0 +1,49 @@ +""" +Runtime knob loader for z3-bench scripts. + +Reads custom keys from ../config.yaml (top-level), with env var override. +openevolve's dacite parser silently ignores unknown top-level keys, so we +share the same file rather than introducing a second config. + +Priority: env var > config.yaml > default. +""" +import os +import pathlib + +_HERE = pathlib.Path(__file__).resolve().parent +_CONFIG_YAML = _HERE.parent / "config.yaml" # input/z3-bench/evolve/config.yaml + +_cache = None + + +def _load(): + global _cache + if _cache is not None: + return _cache + if not _CONFIG_YAML.exists(): + _cache = {} + return _cache + try: + import yaml + _cache = yaml.safe_load(_CONFIG_YAML.read_text()) or {} + except Exception: + _cache = {} + return _cache + + +def parallel_solvers(default=1): + """ + Concurrent z3 worker subprocesses per stage. + Env OPENEVOLVE_PARALLEL_SOLVERS > config.yaml parallel_solvers > default. + """ + env = os.environ.get("OPENEVOLVE_PARALLEL_SOLVERS") + if env is not None: + try: + return max(1, int(env)) + except ValueError: + pass + val = _load().get("parallel_solvers", default) + try: + return max(1, int(val)) + except (ValueError, TypeError): + return default diff --git a/input/z3-bench/evolve/shared/score.py b/input/z3-bench/evolve/shared/score.py index 3f73f5f4dd..fb212d6311 100644 --- a/input/z3-bench/evolve/shared/score.py +++ b/input/z3-bench/evolve/shared/score.py @@ -1,10 +1,49 @@ """ -Scoring: geomean(speedup) * solved_rate^2. +Scoring: geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. + - match baseline result: speedup = baseline_ms / elapsed_ms - mismatch (regression / unknown / timeout): contributes 1e-6 to geomean - solved_rate squared to strongly gate on correctness +- efficiency = geomean over {decisions, propagations, conflicts, restarts} + of (baseline_stat / variant_stat), only on solved problems with baseline + stats present. Lower solver work vs baseline -> efficiency > 1. + Folded multiplicatively via STATS_WEIGHT exponent (default 0 = disabled, + preserves prior scoring). Set env OPENEVOLVE_STATS_WEIGHT=0.25 to enable. + +Why stats matter: identical elapsed_ms with far fewer conflicts/decisions is +a sturdier improvement (less variance across machines / problems) than a raw +wall-clock win, and runtime alone can hide regressions where Z3 happens to +hit a fast path on the stage1 sample. """ import math +import os + +_STATS_KEYS = ("decisions", "propagations", "conflicts", "mk clause") + + +def _efficiency(per_problem): + """Geomean of baseline/variant ratio across stat keys, solved problems only. + + Returns (efficiency, num_pairs). efficiency=1.0 if no usable pairs (no + baseline stats yet, or no solved problems) so the multiplier is a no-op. + """ + ratios = [] + for p in per_problem: + if p["result"] != p["baseline_result"]: + continue + bs = p.get("baseline_stats") or {} + vs = p.get("stats") or {} + for k in _STATS_KEYS: + b = bs.get(k) + v = vs.get(k) + if b is None or v is None: + continue + # +1 smoothing avoids div-by-zero and absurd ratios for tiny counts + ratios.append((float(b) + 1.0) / (float(v) + 1.0)) + if not ratios: + return 1.0, 0 + log_sum = sum(math.log(r) for r in ratios) + return math.exp(log_sum / len(ratios)), len(ratios) def score(per_problem): @@ -17,6 +56,9 @@ def score(per_problem): "regressions": 0, "solved": 0, "total": 0, + "efficiency": 1.0, + "efficiency_pairs": 0, + "stats_weight": 0.0, } speedups = [] @@ -37,7 +79,16 @@ def score(per_problem): log_sum = sum(math.log(s) for s in speedups) geomean = math.exp(log_sum / len(speedups)) solved_rate = solved / n - combined = geomean * (solved_rate**2) + + efficiency, eff_pairs = _efficiency(per_problem) + try: + stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0")) + except ValueError: + stats_weight = 0.0 + # Clamp to a sensible band so a runaway env var can't dominate score. + stats_weight = max(0.0, min(stats_weight, 2.0)) + + combined = geomean * (solved_rate**2) * (efficiency**stats_weight) return { "combined_score": float(combined), @@ -46,4 +97,7 @@ def score(per_problem): "regressions": int(regressions), "solved": int(solved), "total": int(n), + "efficiency": float(efficiency), + "efficiency_pairs": int(eff_pairs), + "stats_weight": float(stats_weight), } diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json index 8191306e7a..a31bb6bfb3 100644 --- a/input/z3-bench/evolve/shared/stage1_sample.json +++ b/input/z3-bench/evolve/shared/stage1_sample.json @@ -1,38 +1,37 @@ { - "seed": 42, - "num_buckets": 5, + "selection": "5 Sat-preferred with baseline_ms in [4000, 15000] (Unsat / sub-MIN_MS fallbacks)", "source": "z3-bench/problems.jsonl", "sha256": [ - "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", - "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", - "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", - "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", - "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44" + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", + "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", + "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a" ], "summary": [ { - "sha": "ac90ca97ff99", - "baseline_ms": 239, - "baseline_result": "Unsat" + "sha": "75ee534dbc92", + "baseline_ms": 13086, + "baseline_result": "Sat" }, { - "sha": "133383a624ef", - "baseline_ms": 480, - "baseline_result": "Unsat" + "sha": "069af7891076", + "baseline_ms": 13885, + "baseline_result": "Sat" }, { - "sha": "29efe6d38d7b", - "baseline_ms": 12712, - "baseline_result": "Unsat" + "sha": "318bc251e0bd", + "baseline_ms": 14232, + "baseline_result": "Sat" }, { - "sha": "86468fd861ff", - "baseline_ms": 15671, + "sha": "493242c37992", + "baseline_ms": 14353, "baseline_result": "Sat" }, { - "sha": "3854194b901b", - "baseline_ms": 66100, + "sha": "4a02d7846394", + "baseline_ms": 14428, "baseline_result": "Sat" } ] diff --git a/input/z3-bench/evolve/shared/z3_runner.py b/input/z3-bench/evolve/shared/z3_runner.py index 4cfccebbfe..7113fe0441 100644 --- a/input/z3-bench/evolve/shared/z3_runner.py +++ b/input/z3-bench/evolve/shared/z3_runner.py @@ -1,52 +1,48 @@ """ -Run Z3 CLI on a single SMT2 file with parameter dict. -Subprocess isolation: each run a fresh process with -T: wall-clock cap. +Run a single SMT2 file through Z3 with given parameters. + +Implementation: spawn `_z3_solve_worker.py` as a subprocess and communicate +via stdout JSON. The worker imports the z3 Python binding and applies params +via `z3.set_param()`, matching the original benchmark setup that recorded +`applied_params_hash 543b29...`. This is necessary because the z3 CLI +positional `key=value` form rejects globals (`threads`, `parallel.enable`, +`sls.parallel`) that the Python binding accepts. + +Subprocess isolation gives: hard wall-clock timeout, crash containment, +memory reclaim between problems. """ -import re +import json +import pathlib import shutil import subprocess +import sys import time -_RESULT_RE = re.compile(r"^(sat|unsat|unknown)\b", re.MULTILINE) -_INVALID_PARAM_RES = [ - re.compile(r"unknown\s+parameter\s+'?([\w.\-]+)'?", re.IGNORECASE), - re.compile(r"invalid\s+parameter\s+'?([\w.\-]+)'?", re.IGNORECASE), - re.compile(r"unknown\s+option\s+'?([\w.\-]+)'?", re.IGNORECASE), - re.compile(r"error\s+setting\s+'?([\w.\-]+)'?", re.IGNORECASE), -] - - -def _format_value(v): - if isinstance(v, bool): - return "true" if v else "false" - return str(v) +_WORKER = str(pathlib.Path(__file__).resolve().parent / "_z3_solve_worker.py") +_TASKSET = shutil.which("taskset") # Linux only; None on macOS / missing -def detect_invalid_param(stderr): - for rx in _INVALID_PARAM_RES: - m = rx.search(stderr) - if m: - return m.group(1) - if any(tok in stderr.lower() for tok in ("unknown parameter", "invalid parameter", "unknown option")): - return "" - return None +def run_z3(smt2_path, params, timeout_s, python_bin=None, cpu_core=None): + """ + Returns dict (one of): + success: {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int, "stats": dict} + timeout: {"result": "Unknown", "elapsed_ms": int, "timeout": True, "stats": {}} + invalid: {"invalid_param": str, "stderr": str, "result": "Unknown", "elapsed_ms": int, "stats": {}} + crash: {"result": "Unknown", "elapsed_ms": int, "error": str, "stderr": str, "stats": {}} + "stats" mirrors z3 Optimize.statistics() numeric entries (decisions, + propagations, conflicts, restarts, arith/bv counters, ...). Empty when + z3 never reached check() (param error, parse fail, timeout, crash). -def run_z3(smt2_path, params, timeout_s, z3_bin="z3"): - """ - Returns dict: - success: {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int} - timeout: {"result": "Unknown", "elapsed_ms": int, "timeout": True} - invalid: {"invalid_param": str, "stderr": str, "result": "Unknown", "elapsed_ms": int} - crash: {"result": "Unknown", "elapsed_ms": int, "error": str, "stderr": str} + cpu_core: optional int — if given and `taskset` is on PATH, pin the + worker subprocess to that core (-c ). Used by the parallel dispatch + in evaluator.py to isolate concurrent z3 runs from cross-core + interference. Silently ignored if taskset missing (macOS / no util-linux). """ - if shutil.which(z3_bin) is None: - return {"result": "Unknown", "elapsed_ms": 0, "error": f"z3 binary not found: {z3_bin}"} - - args = [z3_bin, f"-T:{int(timeout_s)}", "-smt2"] - for k, v in params.items(): - args.append(f"{k}={_format_value(v)}") - args.append(str(smt2_path)) + py = python_bin or sys.executable + args = [py, _WORKER, json.dumps(params), str(smt2_path), str(int(timeout_s))] + if cpu_core is not None and _TASKSET: + args = [_TASKSET, "-c", str(int(cpu_core))] + args t0 = time.monotonic() try: @@ -54,38 +50,48 @@ def run_z3(smt2_path, params, timeout_s, z3_bin="z3"): args, capture_output=True, text=True, - timeout=timeout_s + 10, + timeout=timeout_s + 15, # grace for z3 startup + parse ) except subprocess.TimeoutExpired: return { "result": "Unknown", - "elapsed_ms": int(timeout_s * 1000), + "elapsed_ms": int((time.monotonic() - t0) * 1000), "timeout": True, + "stats": {}, } - elapsed_ms = int((time.monotonic() - t0) * 1000) - stdout = proc.stdout or "" - stderr = proc.stderr or "" + stdout = (proc.stdout or "").strip() + stderr = (proc.stderr or "").strip() - bad = detect_invalid_param(stderr) - if bad: + if not stdout: return { - "invalid_param": bad, - "stderr": stderr[-2000:], "result": "Unknown", - "elapsed_ms": elapsed_ms, + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": f"worker produced no output (rc={proc.returncode})", + "stderr": stderr[-2000:], + "stats": {}, } - m = _RESULT_RE.search(stdout) - if not m: + # Use the last non-empty line as JSON (defensive against stray prints). + last = stdout.splitlines()[-1] + try: + out = json.loads(last) + except json.JSONDecodeError as e: return { "result": "Unknown", - "elapsed_ms": elapsed_ms, - "error": f"no result token (rc={proc.returncode})", - "stderr": stderr[-1000:], + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": f"worker json decode: {e}", + "stderr": (stderr + "\n--stdout--\n" + stdout)[-2000:], + "stats": {}, } - return { - "result": {"sat": "Sat", "unsat": "Unsat", "unknown": "Unknown"}[m.group(1)], - "elapsed_ms": elapsed_ms, - } + if "invalid_param" in out: + return { + "invalid_param": out["invalid_param"], + "stderr": (out.get("error") or stderr)[-2000:], + "result": "Unknown", + "elapsed_ms": out.get("elapsed_ms", 0), + "stats": {}, + } + out.setdefault("stats", {}) + return out diff --git a/input/z3-bench/evolve/shared/z3_valid_keys.json b/input/z3-bench/evolve/shared/z3_valid_keys.json new file mode 100644 index 0000000000..2ff0093f49 --- /dev/null +++ b/input/z3-bench/evolve/shared/z3_valid_keys.json @@ -0,0 +1,1266 @@ +[ + "abce", + "acce", + "ackermannization.eager", + "ackermannization.inc_sat_backend", + "ackermannization.sat_backend", + "add_all_coeffs", + "algebraic.factor", + "algebraic.factor_max_prime", + "algebraic.factor_num_primes", + "algebraic.factor_search_size", + "algebraic.min_mag", + "algebraic.zero_accuracy", + "algebraic_number_evaluator", + "anf", + "anf.delay", + "anf.exlin", + "arith", + "arith.auto_config_simplex", + "arith.bprop_on_pivoted_rows", + "arith.branch_cut_ratio", + "arith.dump_bound_lemmas", + "arith.dump_lemmas", + "arith.eager_eq_axioms", + "arith.enable_hnf", + "arith.epsilon", + "arith.greatest_error_pivot", + "arith.ignore_int", + "arith.int_eq_branch", + "arith.min", + "arith.nl", + "arith.nl.branching", + "arith.nl.cross_nested", + "arith.nl.delay", + "arith.nl.expensive_patching", + "arith.nl.expp", + "arith.nl.gr_q", + "arith.nl.grobner", + "arith.nl.grobner_cnfl_to_report", + "arith.nl.grobner_eqs_growth", + "arith.nl.grobner_exp_delay", + "arith.nl.grobner_expand_terms", + "arith.nl.grobner_expr_degree_growth", + "arith.nl.grobner_expr_size_growth", + "arith.nl.grobner_frequency", + "arith.nl.grobner_gcd_test", + "arith.nl.grobner_max_simplified", + "arith.nl.grobner_propagate_quotients", + "arith.nl.grobner_row_length_limit", + "arith.nl.grobner_subs_fixed", + "arith.nl.horner", + "arith.nl.horner_frequency", + "arith.nl.horner_row_length_limit", + "arith.nl.horner_subs_fixed", + "arith.nl.log", + "arith.nl.nra", + "arith.nl.optimize_bounds", + "arith.nl.order", + "arith.nl.propagate_linear_monomials", + "arith.nl.reduce_pseudo_linear", + "arith.nl.rounds", + "arith.nl.tangents", + "arith.print_ext_var_names", + "arith.print_stats", + "arith.propagate_eqs", + "arith.propagation_mode", + "arith.random_initial_value", + "arith.rep_freq", + "arith.simplex_strategy", + "arith.solver", + "arith.validate", + "arith_allow_plateau", + "arith_ineq_lhs", + "arith_lhs", + "arith_use_clausal_lookahead", + "arith_use_lookahead", + "arith_weight", + "array.extensional", + "array.weak", + "array_as_stores", + "array_equalities", + "asymm_branch", + "asymm_branch.all", + "asymm_branch.delay", + "asymm_branch.limit", + "asymm_branch.rounds", + "asymm_branch.sampled", + "ate", + "auto_config", + "axioms2files", + "backtrack.conflicts", + "backtrack.scopes", + "bca", + "bce", + "bce_at", + "bce_delay", + "bit2bool", + "blast_distinct", + "blast_distinct_threshold", + "blast_eq_value", + "blast_select_store", + "blast_term_ite.max_inflation", + "blast_term_ite.max_steps", + "block_loop_patterns", + "blocked_clause_limit", + "bmc.linear_unrolling_depth", + "bound_simplifier", + "bounded", + "branching.anti_exploration", + "branching.heuristic", + "burst_search", + "bv.delay", + "bv.enable_int2bv", + "bv.reflect", + "bv.size_reduce", + "bv.solver", + "bv.watch_diseq", + "bv_allow_rotation", + "bv_extract_prop", + "bv_ineq_consistency_test_max", + "bv_ite2id", + "bv_le2extract", + "bv_le_extra", + "bv_literals", + "bv_neg", + "bv_not_simpl", + "bv_sort_ac", + "bv_use_lookahead", + "bv_use_top_level_assertions", + "cache_all", + "cancel_backup_file", + "candidate_models", + "cardinality.encoding", + "cardinality.solver", + "case_split", + "cce", + "cell_sample", + "check_lemmas", + "clause_proof", + "clean_denominators", + "coalesce_chars", + "combined_solver.ignore_solver1", + "combined_solver.solver2_timeout", + "combined_solver.solver2_unknown", + "compact", + "completion", + "conquer.backtrack_frequency", + "conquer.batch_size", + "conquer.delay", + "conquer.restart.max", + "core.extend_nonlocal_patterns", + "core.extend_patterns", + "core.extend_patterns.max_distance", + "core.minimize", + "core.minimize_partial", + "core.validate", + "ctrl_c", + "cube_depth", + "cut", + "cut.aig", + "cut.delay", + "cut.dont_cares", + "cut.force", + "cut.lut", + "cut.npn3", + "cut.redundancies", + "cut.xor", + "dack", + "dack.eq", + "dack.factor", + "dack.gc", + "dack.gc_inv_decay", + "dack.threshold", + "datalog.all_or_nothing_deltas", + "datalog.check_relation", + "datalog.compile_with_widening", + "datalog.dbg_fpr_nonempty_relation_signature", + "datalog.default_relation", + "datalog.default_table", + "datalog.default_table_checked", + "datalog.default_table_checker", + "datalog.explanations_on_relation_level", + "datalog.generate_explanations", + "datalog.initial_restart_timeout", + "datalog.magic_sets_for_queries", + "datalog.output_profile", + "datalog.print.tuples", + "datalog.profile_timeout_milliseconds", + "datalog.similarity_compressor", + "datalog.similarity_compressor_threshold", + "datalog.subsumption", + "datalog.timeout", + "datalog.unbound_compressor", + "datalog.use_map_names", + "ddfw.init_clause_weight", + "ddfw.reinit_base", + "ddfw.restart_base", + "ddfw.threads", + "ddfw.use_reward_pct", + "ddfw_search", + "debug_ref_count", + "decimal", + "decimal_precision", + "decompose_patterns", + "default_tactic", + "delay_units", + "delay_units_threshold", + "dimacs.core", + "dio", + "dio_branching_period", + "dio_calls_period", + "dio_cuts_enable_gomory", + "dio_cuts_enable_hnf", + "dio_ignore_big_nums", + "dio_run_gcd", + "div0_ackermann_limit", + "dot_proof_file", + "drat.activity", + "drat.binary", + "drat.check_sat", + "drat.check_unsat", + "drat.disable", + "drat.file", + "dt_axiomatic", + "dt_lazy_splits", + "dump_benchmarks", + "dump_mathematica", + "dump_models", + "dyn_sub_res", + "eager", + "early_prune", + "elim_01", + "elim_and", + "elim_ite", + "elim_rem", + "elim_sign_ext", + "elim_to_real", + "elim_unconstrained", + "elim_vars", + "ematching", + "enable", + "enable_core_rotate", + "enable_der", + "enable_lns", + "enable_pre_simplify", + "enable_sat", + "enable_sls", + "enabled", + "encoding", + "engine", + "eq2ineq", + "error_for_visual_studio", + "euf", + "expand_nested_stores", + "expand_power", + "expand_select_ite", + "expand_select_store", + "expand_store_eq", + "expand_tan", + "factor", + "factor_max_prime", + "factor_num_primes", + "factor_search_size", + "fixed_indent", + "flat", + "flat_and_or", + "flat_assoc", + "force_cleanup", + "fp.bmc.linear_unrolling_depth", + "fp.datalog.all_or_nothing_deltas", + "fp.datalog.check_relation", + "fp.datalog.compile_with_widening", + "fp.datalog.dbg_fpr_nonempty_relation_signature", + "fp.datalog.default_relation", + "fp.datalog.default_table", + "fp.datalog.default_table_checked", + "fp.datalog.default_table_checker", + "fp.datalog.explanations_on_relation_level", + "fp.datalog.generate_explanations", + "fp.datalog.initial_restart_timeout", + "fp.datalog.magic_sets_for_queries", + "fp.datalog.output_profile", + "fp.datalog.print.tuples", + "fp.datalog.profile_timeout_milliseconds", + "fp.datalog.similarity_compressor", + "fp.datalog.similarity_compressor_threshold", + "fp.datalog.subsumption", + "fp.datalog.timeout", + "fp.datalog.unbound_compressor", + "fp.datalog.use_map_names", + "fp.engine", + "fp.generate_proof_trace", + "fp.print_aig", + "fp.print_answer", + "fp.print_boogie_certificate", + "fp.print_certificate", + "fp.print_fixedpoint_extensions", + "fp.print_low_level_smt2", + "fp.print_statistics", + "fp.print_with_variable_declarations", + "fp.spacer.arith.solver", + "fp.spacer.blast_term_ite_inflation", + "fp.spacer.ctp", + "fp.spacer.dump_benchmarks", + "fp.spacer.dump_threshold", + "fp.spacer.elim_aux", + "fp.spacer.eq_prop", + "fp.spacer.expand_bnd", + "fp.spacer.gg.concretize", + "fp.spacer.gg.conjecture", + "fp.spacer.gg.subsume", + "fp.spacer.global", + "fp.spacer.gpdr", + "fp.spacer.gpdr.bfs", + "fp.spacer.ground_pobs", + "fp.spacer.iuc", + "fp.spacer.iuc.arith", + "fp.spacer.iuc.debug_proof", + "fp.spacer.iuc.old_hyp_reducer", + "fp.spacer.iuc.print_farkas_stats", + "fp.spacer.iuc.split_farkas_literals", + "fp.spacer.keep_proxy", + "fp.spacer.logic", + "fp.spacer.max_level", + "fp.spacer.max_num_contexts", + "fp.spacer.mbqi", + "fp.spacer.min_level", + "fp.spacer.native_mbp", + "fp.spacer.order_children", + "fp.spacer.p3.share_invariants", + "fp.spacer.p3.share_lemmas", + "fp.spacer.propagate", + "fp.spacer.push_pob", + "fp.spacer.push_pob_max_depth", + "fp.spacer.q3", + "fp.spacer.q3.instantiate", + "fp.spacer.q3.qgen.normalize", + "fp.spacer.q3.use_qgen", + "fp.spacer.random_seed", + "fp.spacer.reach_dnf", + "fp.spacer.reset_pob_queue", + "fp.spacer.restart_initial_threshold", + "fp.spacer.restarts", + "fp.spacer.simplify_lemmas_post", + "fp.spacer.simplify_lemmas_pre", + "fp.spacer.simplify_pob", + "fp.spacer.trace_file", + "fp.spacer.use_array_eq_generalizer", + "fp.spacer.use_bg_invs", + "fp.spacer.use_derivations", + "fp.spacer.use_euf_gen", + "fp.spacer.use_inc_clause", + "fp.spacer.use_inductive_generalizer", + "fp.spacer.use_iuc", + "fp.spacer.use_lemma_as_cti", + "fp.spacer.use_lim_num_gen", + "fp.spacer.validate_lemmas", + "fp.spacer.weak_abs", + "fp.tab.selection", + "fp.validate", + "fp.xform.array_blast", + "fp.xform.array_blast_full", + "fp.xform.bit_blast", + "fp.xform.coalesce_rules", + "fp.xform.coi", + "fp.xform.compress_unbound", + "fp.xform.elim_term_ite", + "fp.xform.elim_term_ite.inflation", + "fp.xform.fix_unbound_vars", + "fp.xform.inline_eager", + "fp.xform.inline_linear", + "fp.xform.inline_linear_branch", + "fp.xform.instantiate_arrays", + "fp.xform.instantiate_arrays.enforce", + "fp.xform.instantiate_arrays.nb_quantifier", + "fp.xform.instantiate_arrays.slice_technique", + "fp.xform.instantiate_quantifiers", + "fp.xform.magic", + "fp.xform.quantify_arrays", + "fp.xform.scale", + "fp.xform.slice", + "fp.xform.subsumption_checker", + "fp.xform.tail_simplifier_pve", + "fp.xform.transform_arrays", + "fp.xform.unfold_rules", + "fp_real_literals", + "gc", + "gc.burst", + "gc.defrag", + "gc.increment", + "gc.initial", + "gc.k", + "gc.small_lbd", + "gcd_rounding", + "generate_proof_trace", + "hi_div0", + "hi_fp_unspecified", + "hoist_ite", + "hoist_mul", + "ignore_bad_patterns", + "ignore_labels", + "ignore_patterns_on_ground_qbody", + "ignore_solver1", + "ignore_user_patterns", + "inc_sat_backend", + "incremental", + "induction", + "inf_precision", + "initial_precision", + "inline_def", + "inline_vars", + "inprocess.max", + "inprocess.out", + "instantiations2console", + "ite_extra_rules", + "known_sat_assignment_file_name", + "lazy", + "lazy_algebraic_normalization", + "lemma_gc_strategy", + "lemmas2console", + "lia2card.max_ite_nesting", + "lia2card.max_range", + "lns_conflicts", + "local_ctx", + "local_ctx_limit", + "local_search", + "local_search_dbg_flips", + "local_search_mode", + "local_search_threads", + "log_lemmas", + "logic", + "lookahead.cube.cutoff", + "lookahead.cube.depth", + "lookahead.cube.fraction", + "lookahead.cube.freevars", + "lookahead.cube.psat.clause_base", + "lookahead.cube.psat.trigger", + "lookahead.cube.psat.var_exp", + "lookahead.delta_fraction", + "lookahead.double", + "lookahead.global_autarky", + "lookahead.preselect", + "lookahead.reward", + "lookahead.use_learned", + "lookahead_scores", + "lookahead_simplify", + "lookahead_simplify.bca", + "lp.dio", + "lp.dio_branching_period", + "lp.dio_calls_period", + "lp.dio_cuts_enable_gomory", + "lp.dio_cuts_enable_hnf", + "lp.dio_ignore_big_nums", + "lp.dio_run_gcd", + "macro_finder", + "max_conflicts", + "max_degree", + "max_depth", + "max_indent", + "max_memory", + "max_multi_patterns", + "max_num_lines", + "max_precision", + "max_repairs", + "max_restarts", + "max_ribbon", + "max_steps", + "max_width", + "maxlex.enable", + "maxres.add_upper_bound_block", + "maxres.hill_climb", + "maxres.max_core_size", + "maxres.max_correction_set_size", + "maxres.max_num_cores", + "maxres.maximize_assignment", + "maxres.pivot_on_correction_set", + "maxres.wmax", + "maxsat_engine", + "mbqi", + "mbqi.force_template", + "mbqi.id", + "mbqi.max_cexs", + "mbqi.max_cexs_incr", + "mbqi.max_iterations", + "mbqi.trace", + "memory_high_watermark", + "memory_high_watermark_mb", + "memory_max_alloc_count", + "memory_max_size", + "min_alias_size", + "min_mag", + "minimize_conflicts", + "minimize_lemmas", + "mode", + "model", + "model.compact", + "model.completion", + "model.inline_def", + "model.partial", + "model.user_functions", + "model.v1", + "model.v2", + "model_evaluator.array_as_stores", + "model_evaluator.array_equalities", + "model_evaluator.completion", + "model_evaluator.max_memory", + "model_evaluator.max_steps", + "model_validate", + "mul2concat", + "mul_to_power", + "nlsat.add_all_coeffs", + "nlsat.cell_sample", + "nlsat.check_lemmas", + "nlsat.dump_mathematica", + "nlsat.factor", + "nlsat.inline_vars", + "nlsat.known_sat_assignment_file_name", + "nlsat.lazy", + "nlsat.log_lemmas", + "nlsat.max_conflicts", + "nlsat.max_memory", + "nlsat.minimize_conflicts", + "nlsat.randomize", + "nlsat.reorder", + "nlsat.seed", + "nlsat.shuffle_vars", + "nlsat.simple_check", + "nlsat.simplify_conflicts", + "nlsat.variable_ordering_strategy", + "nnf.ignore_labels", + "nnf.max_memory", + "nnf.mode", + "nnf.sk_hack", + "no_lets", + "non_nested_arith_weight", + "opt.dump_benchmarks", + "opt.dump_models", + "opt.elim_01", + "opt.enable_core_rotate", + "opt.enable_lns", + "opt.enable_sat", + "opt.enable_sls", + "opt.incremental", + "opt.lns_conflicts", + "opt.maxlex.enable", + "opt.maxres.add_upper_bound_block", + "opt.maxres.hill_climb", + "opt.maxres.max_core_size", + "opt.maxres.max_correction_set_size", + "opt.maxres.max_num_cores", + "opt.maxres.maximize_assignment", + "opt.maxres.pivot_on_correction_set", + "opt.maxres.wmax", + "opt.maxsat_engine", + "opt.optsmt_engine", + "opt.pb.compile_equality", + "opt.pp.neat", + "opt.pp.wcnf", + "opt.priority", + "opt.rc2.totalizer", + "opt.rlimit", + "opt.solution_prefix", + "opt.timeout", + "optsmt_engine", + "override_incremental", + "parallel.conquer.backtrack_frequency", + "parallel.conquer.batch_size", + "parallel.conquer.delay", + "parallel.conquer.restart.max", + "parallel.enable", + "parallel.simplify.exp", + "parallel.simplify.inprocess.max", + "parallel.simplify.max_conflicts", + "parallel.simplify.restart.max", + "parallel.threads.max", + "parser.error_for_visual_studio", + "parser.ignore_bad_patterns", + "parser.ignore_user_patterns", + "partial", + "paws_init", + "paws_sp", + "pb.compile_equality", + "pb.conflict_frequency", + "pb.learn_complements", + "pb.lemma_format", + "pb.min_arity", + "pb.resolve", + "pb.solver", + "phase", + "phase.sticky", + "phase_caching_off", + "phase_caching_on", + "phase_selection", + "pi.arith", + "pi.arith_weight", + "pi.block_loop_patterns", + "pi.decompose_patterns", + "pi.enabled", + "pi.max_multi_patterns", + "pi.non_nested_arith_weight", + "pi.pull_quantifiers", + "pi.use_database", + "pi.warnings", + "pp.bounded", + "pp.bv_literals", + "pp.bv_neg", + "pp.decimal", + "pp.decimal_precision", + "pp.fixed_indent", + "pp.flat_assoc", + "pp.fp_real_literals", + "pp.max_depth", + "pp.max_indent", + "pp.max_num_lines", + "pp.max_ribbon", + "pp.max_width", + "pp.min_alias_size", + "pp.neat", + "pp.no_lets", + "pp.pretty_proof", + "pp.simplify_implies", + "pp.single_line", + "pp.wcnf", + "pretty_proof", + "print_aig", + "print_answer", + "print_boogie_certificate", + "print_certificate", + "print_fixedpoint_extensions", + "print_low_level_smt2", + "print_statistics", + "print_with_variable_declarations", + "priority", + "prob_search", + "probing", + "probing_binary", + "probing_cache", + "probing_cache_limit", + "probing_limit", + "proof", + "proof.check", + "proof.check_rup", + "proof.log", + "proof.save", + "proof.trim", + "propagate.prefetch", + "propagate_values", + "propagate_values.max_rounds", + "pull_cheap_ite", + "pull_nested_quantifiers", + "pull_quantifiers", + "push_ite_arith", + "push_ite_bv", + "push_to_real", + "q.lift_ite", + "q.lite", + "qi.cost", + "qi.eager_threshold", + "qi.lazy_threshold", + "qi.max_instances", + "qi.max_multi_patterns", + "qi.profile", + "qi.profile_freq", + "qi.quick_checker", + "qsat_use_qel", + "quasi_macros", + "random_freq", + "random_offset", + "random_seed", + "randomize", + "randomizer.seed", + "rc2.totalizer", + "rcf.clean_denominators", + "rcf.inf_precision", + "rcf.initial_precision", + "rcf.lazy_algebraic_normalization", + "rcf.max_precision", + "rcf.use_prem", + "refine_inj_axioms", + "relevancy", + "reorder", + "reorder.activity_scale", + "reorder.base", + "reorder.itau", + "rephase.base", + "rescore", + "resolution.cls_cutoff1", + "resolution.cls_cutoff2", + "resolution.limit", + "resolution.lit_cutoff_range1", + "resolution.lit_cutoff_range2", + "resolution.lit_cutoff_range3", + "resolution.occ_cutoff", + "resolution.occ_cutoff_range1", + "resolution.occ_cutoff_range2", + "resolution.occ_cutoff_range3", + "restart", + "restart.emafastglue", + "restart.emaslowglue", + "restart.factor", + "restart.fast", + "restart.initial", + "restart.margin", + "restart.max", + "restart_base", + "restart_factor", + "restart_init", + "restart_strategy", + "restricted_quasi_macros", + "retain_blocked_clauses", + "rewrite_patterns", + "rewriter.algebraic_number_evaluator", + "rewriter.arith_ineq_lhs", + "rewriter.arith_lhs", + "rewriter.bit2bool", + "rewriter.blast_distinct", + "rewriter.blast_distinct_threshold", + "rewriter.blast_eq_value", + "rewriter.blast_select_store", + "rewriter.bv_extract_prop", + "rewriter.bv_ineq_consistency_test_max", + "rewriter.bv_ite2id", + "rewriter.bv_le2extract", + "rewriter.bv_le_extra", + "rewriter.bv_not_simpl", + "rewriter.bv_sort_ac", + "rewriter.cache_all", + "rewriter.coalesce_chars", + "rewriter.div0_ackermann_limit", + "rewriter.elim_and", + "rewriter.elim_ite", + "rewriter.elim_rem", + "rewriter.elim_sign_ext", + "rewriter.elim_to_real", + "rewriter.enable_der", + "rewriter.eq2ineq", + "rewriter.expand_nested_stores", + "rewriter.expand_power", + "rewriter.expand_select_ite", + "rewriter.expand_select_store", + "rewriter.expand_store_eq", + "rewriter.expand_tan", + "rewriter.flat", + "rewriter.flat_and_or", + "rewriter.gcd_rounding", + "rewriter.hi_div0", + "rewriter.hi_fp_unspecified", + "rewriter.hoist_ite", + "rewriter.hoist_mul", + "rewriter.ignore_patterns_on_ground_qbody", + "rewriter.ite_extra_rules", + "rewriter.local_ctx", + "rewriter.local_ctx_limit", + "rewriter.max_degree", + "rewriter.max_memory", + "rewriter.max_steps", + "rewriter.mul2concat", + "rewriter.mul_to_power", + "rewriter.pull_cheap_ite", + "rewriter.push_ite_arith", + "rewriter.push_ite_bv", + "rewriter.push_to_real", + "rewriter.rewrite_patterns", + "rewriter.som", + "rewriter.som_blowup", + "rewriter.sort_disjunctions", + "rewriter.sort_store", + "rewriter.sort_sums", + "rewriter.split_concat_eq", + "rlimit", + "sat.abce", + "sat.acce", + "sat.anf", + "sat.anf.delay", + "sat.anf.exlin", + "sat.asymm_branch", + "sat.asymm_branch.all", + "sat.asymm_branch.delay", + "sat.asymm_branch.limit", + "sat.asymm_branch.rounds", + "sat.asymm_branch.sampled", + "sat.ate", + "sat.backtrack.conflicts", + "sat.backtrack.scopes", + "sat.bca", + "sat.bce", + "sat.bce_at", + "sat.bce_delay", + "sat.blocked_clause_limit", + "sat.branching.anti_exploration", + "sat.branching.heuristic", + "sat.burst_search", + "sat.cardinality.encoding", + "sat.cardinality.solver", + "sat.cce", + "sat.core.minimize", + "sat.core.minimize_partial", + "sat.cut", + "sat.cut.aig", + "sat.cut.delay", + "sat.cut.dont_cares", + "sat.cut.force", + "sat.cut.lut", + "sat.cut.npn3", + "sat.cut.redundancies", + "sat.cut.xor", + "sat.ddfw.init_clause_weight", + "sat.ddfw.reinit_base", + "sat.ddfw.restart_base", + "sat.ddfw.threads", + "sat.ddfw.use_reward_pct", + "sat.ddfw_search", + "sat.dimacs.core", + "sat.drat.activity", + "sat.drat.binary", + "sat.drat.check_sat", + "sat.drat.check_unsat", + "sat.drat.disable", + "sat.drat.file", + "sat.dyn_sub_res", + "sat.elim_vars", + "sat.enable_pre_simplify", + "sat.euf", + "sat.force_cleanup", + "sat.gc", + "sat.gc.burst", + "sat.gc.defrag", + "sat.gc.increment", + "sat.gc.initial", + "sat.gc.k", + "sat.gc.small_lbd", + "sat.inprocess.max", + "sat.inprocess.out", + "sat.local_search", + "sat.local_search_dbg_flips", + "sat.local_search_mode", + "sat.local_search_threads", + "sat.lookahead.cube.cutoff", + "sat.lookahead.cube.depth", + "sat.lookahead.cube.fraction", + "sat.lookahead.cube.freevars", + "sat.lookahead.cube.psat.clause_base", + "sat.lookahead.cube.psat.trigger", + "sat.lookahead.cube.psat.var_exp", + "sat.lookahead.delta_fraction", + "sat.lookahead.double", + "sat.lookahead.global_autarky", + "sat.lookahead.preselect", + "sat.lookahead.reward", + "sat.lookahead.use_learned", + "sat.lookahead_scores", + "sat.lookahead_simplify", + "sat.lookahead_simplify.bca", + "sat.max_conflicts", + "sat.max_memory", + "sat.minimize_lemmas", + "sat.override_incremental", + "sat.pb.lemma_format", + "sat.pb.min_arity", + "sat.pb.resolve", + "sat.pb.solver", + "sat.phase", + "sat.phase.sticky", + "sat.prob_search", + "sat.probing", + "sat.probing_binary", + "sat.probing_cache", + "sat.probing_cache_limit", + "sat.probing_limit", + "sat.propagate.prefetch", + "sat.random_freq", + "sat.random_seed", + "sat.reorder.activity_scale", + "sat.reorder.base", + "sat.reorder.itau", + "sat.rephase.base", + "sat.resolution.cls_cutoff1", + "sat.resolution.cls_cutoff2", + "sat.resolution.limit", + "sat.resolution.lit_cutoff_range1", + "sat.resolution.lit_cutoff_range2", + "sat.resolution.lit_cutoff_range3", + "sat.resolution.occ_cutoff", + "sat.resolution.occ_cutoff_range1", + "sat.resolution.occ_cutoff_range2", + "sat.resolution.occ_cutoff_range3", + "sat.restart", + "sat.restart.emafastglue", + "sat.restart.emaslowglue", + "sat.restart.factor", + "sat.restart.fast", + "sat.restart.initial", + "sat.restart.margin", + "sat.restart.max", + "sat.retain_blocked_clauses", + "sat.scc", + "sat.scc.tr", + "sat.search.sat.conflicts", + "sat.search.unsat.conflicts", + "sat.simplify.delay", + "sat.smt", + "sat.smt.proof.check", + "sat.subsumption", + "sat.subsumption.limit", + "sat.threads", + "sat.variable_decay", + "sat_backend", + "scale_unsat", + "scc", + "scc.tr", + "search.sat.conflicts", + "search.unsat.conflicts", + "seed", + "seq.max_unfolding", + "seq.min_unfolding", + "seq.split_w_len", + "seq.validate", + "shuffle_vars", + "simple_check", + "simplify.delay", + "simplify.exp", + "simplify.inprocess.max", + "simplify.max_conflicts", + "simplify.restart.max", + "simplify_conflicts", + "simplify_implies", + "single_line", + "sk_hack", + "slice", + "sls.arith_allow_plateau", + "sls.arith_use_clausal_lookahead", + "sls.arith_use_lookahead", + "sls.bv_allow_rotation", + "sls.bv_use_lookahead", + "sls.bv_use_top_level_assertions", + "sls.dt_axiomatic", + "sls.early_prune", + "sls.enable", + "sls.max_memory", + "sls.max_repairs", + "sls.max_restarts", + "sls.parallel", + "sls.paws_init", + "sls.paws_sp", + "sls.random_offset", + "sls.random_seed", + "sls.rescore", + "sls.restart_base", + "sls.restart_init", + "sls.scale_unsat", + "sls.str_update_strategy", + "sls.track_unsat", + "sls.vns_mc", + "sls.vns_repick", + "sls.walksat", + "sls.walksat_repick", + "sls.walksat_ucb", + "sls.walksat_ucb_constant", + "sls.walksat_ucb_forget", + "sls.walksat_ucb_init", + "sls.walksat_ucb_noise", + "sls.wp", + "smt", + "smt.arith.auto_config_simplex", + "smt.arith.bprop_on_pivoted_rows", + "smt.arith.branch_cut_ratio", + "smt.arith.dump_bound_lemmas", + "smt.arith.dump_lemmas", + "smt.arith.eager_eq_axioms", + "smt.arith.enable_hnf", + "smt.arith.epsilon", + "smt.arith.greatest_error_pivot", + "smt.arith.ignore_int", + "smt.arith.int_eq_branch", + "smt.arith.min", + "smt.arith.nl", + "smt.arith.nl.branching", + "smt.arith.nl.cross_nested", + "smt.arith.nl.delay", + "smt.arith.nl.expensive_patching", + "smt.arith.nl.expp", + "smt.arith.nl.gr_q", + "smt.arith.nl.grobner", + "smt.arith.nl.grobner_cnfl_to_report", + "smt.arith.nl.grobner_eqs_growth", + "smt.arith.nl.grobner_exp_delay", + "smt.arith.nl.grobner_expand_terms", + "smt.arith.nl.grobner_expr_degree_growth", + "smt.arith.nl.grobner_expr_size_growth", + "smt.arith.nl.grobner_frequency", + "smt.arith.nl.grobner_gcd_test", + "smt.arith.nl.grobner_max_simplified", + "smt.arith.nl.grobner_propagate_quotients", + "smt.arith.nl.grobner_row_length_limit", + "smt.arith.nl.grobner_subs_fixed", + "smt.arith.nl.horner", + "smt.arith.nl.horner_frequency", + "smt.arith.nl.horner_row_length_limit", + "smt.arith.nl.horner_subs_fixed", + "smt.arith.nl.log", + "smt.arith.nl.nra", + "smt.arith.nl.optimize_bounds", + "smt.arith.nl.order", + "smt.arith.nl.propagate_linear_monomials", + "smt.arith.nl.reduce_pseudo_linear", + "smt.arith.nl.rounds", + "smt.arith.nl.tangents", + "smt.arith.print_ext_var_names", + "smt.arith.print_stats", + "smt.arith.propagate_eqs", + "smt.arith.propagation_mode", + "smt.arith.random_initial_value", + "smt.arith.rep_freq", + "smt.arith.simplex_strategy", + "smt.arith.solver", + "smt.arith.validate", + "smt.array.extensional", + "smt.array.weak", + "smt.auto_config", + "smt.bound_simplifier", + "smt.bv.delay", + "smt.bv.enable_int2bv", + "smt.bv.reflect", + "smt.bv.size_reduce", + "smt.bv.solver", + "smt.bv.watch_diseq", + "smt.candidate_models", + "smt.case_split", + "smt.clause_proof", + "smt.core.extend_nonlocal_patterns", + "smt.core.extend_patterns", + "smt.core.extend_patterns.max_distance", + "smt.core.minimize", + "smt.core.validate", + "smt.cube_depth", + "smt.dack", + "smt.dack.eq", + "smt.dack.factor", + "smt.dack.gc", + "smt.dack.gc_inv_decay", + "smt.dack.threshold", + "smt.delay_units", + "smt.delay_units_threshold", + "smt.dt_lazy_splits", + "smt.elim_unconstrained", + "smt.ematching", + "smt.induction", + "smt.lemma_gc_strategy", + "smt.logic", + "smt.macro_finder", + "smt.max_conflicts", + "smt.mbqi", + "smt.mbqi.force_template", + "smt.mbqi.id", + "smt.mbqi.max_cexs", + "smt.mbqi.max_cexs_incr", + "smt.mbqi.max_iterations", + "smt.mbqi.trace", + "smt.pb.conflict_frequency", + "smt.pb.learn_complements", + "smt.phase_caching_off", + "smt.phase_caching_on", + "smt.phase_selection", + "smt.proof.check", + "smt.propagate_values", + "smt.pull_nested_quantifiers", + "smt.q.lift_ite", + "smt.q.lite", + "smt.qi.cost", + "smt.qi.eager_threshold", + "smt.qi.lazy_threshold", + "smt.qi.max_instances", + "smt.qi.max_multi_patterns", + "smt.qi.profile", + "smt.qi.profile_freq", + "smt.qi.quick_checker", + "smt.qsat_use_qel", + "smt.quasi_macros", + "smt.random_seed", + "smt.refine_inj_axioms", + "smt.relevancy", + "smt.restart.max", + "smt.restart_factor", + "smt.restart_strategy", + "smt.restricted_quasi_macros", + "smt.seq.max_unfolding", + "smt.seq.min_unfolding", + "smt.seq.split_w_len", + "smt.seq.validate", + "smt.sls.enable", + "smt.sls.parallel", + "smt.solve_eqs", + "smt.solve_eqs.non_ground", + "smt.string_solver", + "smt.theory_aware_branching", + "smt.theory_case_split", + "smt.threads", + "smt.threads.cube_frequency", + "smt.threads.max_conflicts", + "smt.up.persist_clauses", + "smtlib2_compliant", + "smtlib2_log", + "solution_prefix", + "solve_eqs", + "solve_eqs.context_solve", + "solve_eqs.ite_solver", + "solve_eqs.max_occs", + "solve_eqs.non_ground", + "solve_eqs.theory_solver", + "solver.axioms2files", + "solver.cancel_backup_file", + "solver.instantiations2console", + "solver.lemmas2console", + "solver.proof.check", + "solver.proof.check_rup", + "solver.proof.log", + "solver.proof.save", + "solver.proof.trim", + "solver.slice", + "solver.smtlib2_log", + "solver.timeout", + "solver2_timeout", + "solver2_unknown", + "som", + "som_blowup", + "sort_disjunctions", + "sort_store", + "sort_sums", + "spacer.arith.solver", + "spacer.blast_term_ite_inflation", + "spacer.ctp", + "spacer.dump_benchmarks", + "spacer.dump_threshold", + "spacer.elim_aux", + "spacer.eq_prop", + "spacer.expand_bnd", + "spacer.gg.concretize", + "spacer.gg.conjecture", + "spacer.gg.subsume", + "spacer.global", + "spacer.gpdr", + "spacer.gpdr.bfs", + "spacer.ground_pobs", + "spacer.iuc", + "spacer.iuc.arith", + "spacer.iuc.debug_proof", + "spacer.iuc.old_hyp_reducer", + "spacer.iuc.print_farkas_stats", + "spacer.iuc.split_farkas_literals", + "spacer.keep_proxy", + "spacer.logic", + "spacer.max_level", + "spacer.max_num_contexts", + "spacer.mbqi", + "spacer.min_level", + "spacer.native_mbp", + "spacer.order_children", + "spacer.p3.share_invariants", + "spacer.p3.share_lemmas", + "spacer.propagate", + "spacer.push_pob", + "spacer.push_pob_max_depth", + "spacer.q3", + "spacer.q3.instantiate", + "spacer.q3.qgen.normalize", + "spacer.q3.use_qgen", + "spacer.random_seed", + "spacer.reach_dnf", + "spacer.reset_pob_queue", + "spacer.restart_initial_threshold", + "spacer.restarts", + "spacer.simplify_lemmas_post", + "spacer.simplify_lemmas_pre", + "spacer.simplify_pob", + "spacer.trace_file", + "spacer.use_array_eq_generalizer", + "spacer.use_bg_invs", + "spacer.use_derivations", + "spacer.use_euf_gen", + "spacer.use_inc_clause", + "spacer.use_inductive_generalizer", + "spacer.use_iuc", + "spacer.use_lemma_as_cti", + "spacer.use_lim_num_gen", + "spacer.validate_lemmas", + "spacer.weak_abs", + "split_concat_eq", + "stats", + "str_update_strategy", + "string_solver", + "subsumption", + "subsumption.limit", + "tab.selection", + "tactic.blast_term_ite.max_inflation", + "tactic.blast_term_ite.max_steps", + "tactic.default_tactic", + "tactic.lia2card.max_ite_nesting", + "tactic.lia2card.max_range", + "tactic.propagate_values.max_rounds", + "tactic.randomizer.seed", + "tactic.solve_eqs.context_solve", + "tactic.solve_eqs.ite_solver", + "tactic.solve_eqs.max_occs", + "tactic.solve_eqs.theory_solver", + "theory_aware_branching", + "theory_case_split", + "threads", + "threads.cube_frequency", + "threads.max", + "threads.max_conflicts", + "timeout", + "trace", + "trace_file_name", + "track_unsat", + "type_check", + "unsat_core", + "up.persist_clauses", + "use_database", + "use_prem", + "user_functions", + "v1", + "v2", + "validate", + "variable_decay", + "variable_ordering_strategy", + "verbose", + "vns_mc", + "vns_repick", + "walksat", + "walksat_repick", + "walksat_ucb", + "walksat_ucb_constant", + "walksat_ucb_forget", + "walksat_ucb_init", + "walksat_ucb_noise", + "warning", + "warnings", + "well_sorted_check", + "wp", + "xform.array_blast", + "xform.array_blast_full", + "xform.bit_blast", + "xform.coalesce_rules", + "xform.coi", + "xform.compress_unbound", + "xform.elim_term_ite", + "xform.elim_term_ite.inflation", + "xform.fix_unbound_vars", + "xform.inline_eager", + "xform.inline_linear", + "xform.inline_linear_branch", + "xform.instantiate_arrays", + "xform.instantiate_arrays.enforce", + "xform.instantiate_arrays.nb_quantifier", + "xform.instantiate_arrays.slice_technique", + "xform.instantiate_quantifiers", + "xform.magic", + "xform.quantify_arrays", + "xform.scale", + "xform.slice", + "xform.subsumption_checker", + "xform.tail_simplifier_pve", + "xform.transform_arrays", + "xform.unfold_rules", + "zero_accuracy" +] \ No newline at end of file diff --git a/input/z3-bench/evolve/validate_keys.py b/input/z3-bench/evolve/validate_keys.py new file mode 100644 index 0000000000..b289ccce07 --- /dev/null +++ b/input/z3-bench/evolve/validate_keys.py @@ -0,0 +1,160 @@ +""" +Validate phase EVOLVE-BLOCK keys against the installed z3 binary. + +Strategy: + 1. `z3 -pm` -> list of module names + 2. `z3 -pm:` for each module -> option names + types + defaults + 3. `z3 -p` -> global (module-less) option names + -> build canonical set of valid `module.option` (and bare global) keys + Then for each phase initial_program.py, report invalid keys. + +Run inside the container (z3 binary required): + + python input/z3-bench/evolve/validate_keys.py + +Output: + shared/z3_valid_keys.json # full valid set + stdout report per phase, listing invalid keys + +Does NOT modify initial_program.py. Edit manually after reviewing. +""" +import importlib.util +import json +import pathlib +import re +import shutil +import subprocess +import sys + +ROOT = pathlib.Path(__file__).resolve().parent +SHARED = ROOT / "shared" +PHASES = [ + "phase1_opt_sls", + "phase2_sat", + "phase3_smt", + "phase4_unified", +] + + +_OPTION_LINE_RE = re.compile(r"^\s+([\w\-]+(?:\.[\w\-]+)*)\s+\(") + + +def _run_z3(args): + proc = subprocess.run(["z3", *args], capture_output=True, text=True) + if proc.returncode != 0: + # Some -pm: invocations exit non-zero on unknown module; treat as soft. + return proc.stdout, proc.stderr, proc.returncode + return proc.stdout, proc.stderr, 0 + + +def _parse_options(text): + """Pull ' name (type) ...' lines out of any z3 doc dump.""" + names = [] + for line in text.splitlines(): + m = _OPTION_LINE_RE.match(line) + if m: + names.append(m.group(1)) + return names + + +# Z3 4.13.x format: `[module] (, description: )?` +# Older builds: `[module] ` alone. Take only the first identifier token. +_MODULE_HEADER_RE = re.compile(r"^\[module\]\s+([A-Za-z_][\w\-]*)") + + +def _list_modules(): + stdout, stderr, rc = _run_z3(["-pm"]) + if rc != 0: + print(f"`z3 -pm` failed: {stderr.strip()}", file=sys.stderr) + sys.exit(1) + mods = set() + for line in stdout.splitlines(): + m = _MODULE_HEADER_RE.match(line) + if m: + mods.add(m.group(1)) + if not mods: + print("warning: no `[module] ` headers found in `z3 -pm` output", file=sys.stderr) + return sorted(mods) + + +def get_valid_keys(): + if shutil.which("z3") is None: + print("ERROR: z3 binary not on PATH. Install in container first.", file=sys.stderr) + sys.exit(1) + + valid = set() + + # 1. Globals via `z3 -p` + stdout, _, rc = _run_z3(["-p"]) + if rc == 0: + for opt in _parse_options(stdout): + valid.add(opt) + + # 2. Modules + their options. Try each candidate token from `-pm` output; + # silently skip ones z3 rejects (prose/noise gets filtered this way). + mods = _list_modules() + if not mods: + print("warning: no modules parsed from `z3 -pm`", file=sys.stderr) + tried = 0 + accepted = 0 + debug_dumped = False + for mod in mods: + tried += 1 + stdout, stderr, rc = _run_z3([f"-pm:{mod}"]) + if rc != 0: + continue # quiet skip + accepted += 1 + opts = _parse_options(stdout) + if not opts and not debug_dumped: + print(f" no options parsed from module {mod!r}; raw output (first 30 lines):", file=sys.stderr) + for line in stdout.splitlines()[:30]: + print(f" | {line}", file=sys.stderr) + debug_dumped = True + for opt in opts: + valid.add(f"{mod}.{opt}") + print(f" modules: {accepted}/{tried} accepted, {len(valid)} valid keys total") + + return valid + + +def load_program_params(phase_dir): + """Load initial_program.py and return its get_params() output.""" + sys.path.insert(0, str(SHARED)) + spec = importlib.util.spec_from_file_location( + f"prog_{phase_dir.name}", phase_dir / "initial_program.py" + ) + m = importlib.util.module_from_spec(spec) + spec.loader.exec_module(m) + return m.get_params() + + +def main(): + print("Probing z3 -p / z3 -pm / z3 -pm: ...") + valid = get_valid_keys() + out = SHARED / "z3_valid_keys.json" + out.write_text(json.dumps(sorted(valid), indent=2)) + print(f"wrote {out.relative_to(ROOT)} ({len(valid)} entries)\n") + + any_invalid = False + for ph in PHASES: + d = ROOT / ph + if not (d / "initial_program.py").exists(): + continue + params = load_program_params(d) + invalid = sorted(k for k in params if k not in valid) + status = "OK" if not invalid else f"INVALID x{len(invalid)}" + print(f"=== {ph}: {len(params)} keys, {status} ===") + for k in invalid: + print(f" - {k!r}") + print() + if invalid: + any_invalid = True + + if any_invalid: + print("Edit the offending initial_program.py files to remove or rename invalid keys.") + sys.exit(2) + print("All phase keys validate against `z3 -pm` introspection.") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/verify_stage1_baseline.py b/input/z3-bench/evolve/verify_stage1_baseline.py new file mode 100644 index 0000000000..820e3b4e87 --- /dev/null +++ b/input/z3-bench/evolve/verify_stage1_baseline.py @@ -0,0 +1,123 @@ +""" +Verify stage1_sample.json reproducibility against raw baseline. + +For each of the 5 sampled problems, run z3 with BASELINE params and compare: + - result must match baseline_result + - elapsed_ms ratio (got / baseline) must lie in [LOW, HIGH] + +Per-problem timeout = baseline_ms (as recorded in raw data). +Single run per problem (no median). +""" +import json +import math +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) + +from baseline_params import BASELINE # noqa: E402 +from z3_runner import run_z3 # noqa: E402 + +_BENCH_DIR = _HERE.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" + +RATIO_LOW = 0.5 +RATIO_HIGH = 2.0 + + +def _load_sample_shas(): + return list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + + +def _index_problems_by_sha(): + idx = {} + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "smt2": d["smt2_filename"], + "baseline_ms": d["z3_status"]["elapsed_ms"], + "baseline_result": d["z3_status"]["result"], + } + return idx + + +def verify(): + shas = _load_sample_shas() + idx = _index_problems_by_sha() + + rows = [] + fail = 0 + warn = 0 + for sha in shas: + meta = idx.get(sha) + if meta is None: + print(f"[FAIL] {sha[:12]} not in problems.jsonl") + fail += 1 + continue + + smt2_path = _RAW_DIR / meta["smt2"] + if not smt2_path.exists(): + print(f"[FAIL] {sha[:12]} missing smt2 {smt2_path}") + fail += 1 + continue + + timeout_s = max(1, math.ceil(meta["baseline_ms"] / 1000)) + r = run_z3(smt2_path, BASELINE, timeout_s) + + got_result = r.get("result", "Unknown") + got_ms = int(r.get("elapsed_ms", 0)) + is_timeout = bool(r.get("timeout")) + invalid = r.get("invalid_param") + err = r.get("error") + stderr = r.get("stderr") + + ratio = got_ms / max(meta["baseline_ms"], 1) + result_ok = (got_result == meta["baseline_result"]) + ratio_ok = RATIO_LOW <= ratio <= RATIO_HIGH + + if invalid: + status = "FAIL(invalid)" + fail += 1 + elif err: + status = "FAIL(error)" + fail += 1 + elif is_timeout or not result_ok: + status = "FAIL" + fail += 1 + elif not ratio_ok: + status = "WARN" + warn += 1 + else: + status = "OK" + + rows.append((sha, meta, got_result, got_ms, ratio, status, invalid, is_timeout, err, stderr)) + + print() + print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" + f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} status") + print("-" * 78) + for sha, meta, got_result, got_ms, ratio, status, invalid, is_timeout, err, stderr in rows: + extra = "" + if invalid: + extra = f" invalid={invalid}" + elif err: + extra = f" err={err[:200]}" + elif is_timeout: + extra = " (timeout)" + print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" + f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x {status}{extra}") + if stderr and err: + print(f" stderr: {stderr[:400]}") + + print() + print(f"summary: {len(rows) - fail - warn} ok, {warn} warn, {fail} fail " + f"(ratio band [{RATIO_LOW}, {RATIO_HIGH}], timeout=baseline_ms)") + return 0 if fail == 0 else 1 + + +if __name__ == "__main__": + sys.exit(verify()) From 82c36485ab39c1ae3e3d4bde52d5f0e378b82e28 Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 18 May 2026 16:39:11 +0900 Subject: [PATCH 04/42] [feat] enable multi-pricessing --- input/z3-bench/evolve/_probe_parallel.py | 74 +++ input/z3-bench/evolve/extract_best.py | 82 ++- .../evolve/phase4_unified/initial_program.py | 226 ++++++- input/z3-bench/evolve/rebaseline_local.py | 23 +- input/z3-bench/evolve/run_phase.sh | 54 +- input/z3-bench/evolve/shared/evaluator.py | 31 +- .../evolve/shared/local_baseline.json | 609 +----------------- input/z3-bench/evolve/shared/phase1_best.json | 33 + input/z3-bench/evolve/shared/phase2_best.json | 118 ++++ input/z3-bench/evolve/shared/phase3_best.json | 77 +++ 10 files changed, 683 insertions(+), 644 deletions(-) create mode 100644 input/z3-bench/evolve/_probe_parallel.py create mode 100644 input/z3-bench/evolve/shared/phase1_best.json create mode 100644 input/z3-bench/evolve/shared/phase2_best.json create mode 100644 input/z3-bench/evolve/shared/phase3_best.json diff --git a/input/z3-bench/evolve/_probe_parallel.py b/input/z3-bench/evolve/_probe_parallel.py new file mode 100644 index 0000000000..c7fd7d9666 --- /dev/null +++ b/input/z3-bench/evolve/_probe_parallel.py @@ -0,0 +1,74 @@ +"""Probe: serial vs parallel z3 measurement noise (run inside docker).""" +import json +import pathlib +import statistics +import sys +import time +from concurrent.futures import ThreadPoolExecutor + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) +from baseline_params import BASELINE # noqa +from z3_runner import run_z3 # noqa + + +def main(): + shas = json.loads((_HERE / "shared/stage1_sample.json").read_text())["sha256"] + prob_idx = {} + with open(_HERE.parent / "problems.jsonl") as f: + for line in f: + d = json.loads(line) + if d["problem_sha256"] in shas: + prob_idx[d["problem_sha256"]] = d["smt2_filename"] + + raw_dir = _HERE.parent / "raw-data" + tasks = [(i, sha, raw_dir / prob_idx[sha]) for i, sha in enumerate(shas)] + + def solve(i, sha, smt2, pin): + r = run_z3(smt2, BASELINE, 60, cpu_core=pin) + return i, sha, r + + # --- A: serial, no pin (3 reps each) --- + print("=== A: serial no-pin (3 reps) ===") + serial = {sha: [] for _, sha, _ in tasks} + for rep in range(3): + for i, sha, smt2 in tasks: + t0 = time.monotonic() + _, _, r = solve(i, sha, smt2, None) + wall = int((time.monotonic() - t0) * 1000) + serial[sha].append((r.get("result"), r["elapsed_ms"], wall)) + print(f" rep{rep} [{i+1}/5] {sha[:10]} {r.get('result')} " + f"z3={r['elapsed_ms']}ms wall={wall}ms") + + # --- B: parallel=5, pin (3 reps batch) --- + print("\n=== B: parallel=5 pinned (3 reps) ===") + par = {sha: [] for _, sha, _ in tasks} + for rep in range(3): + with ThreadPoolExecutor(max_workers=5) as ex: + futs = [ex.submit(solve, i, sha, smt2, i % 5) for i, sha, smt2 in tasks] + for fut in futs: + i, sha, r = fut.result() + par[sha].append((r.get("result"), r["elapsed_ms"])) + print(f" rep{rep} [{i+1}/5] {sha[:10]} {r.get('result')} " + f"z3={r['elapsed_ms']}ms core={i % 5}") + + # --- summary --- + print("\n=== SUMMARY (z3 elapsed_ms) ===") + print(f"{'sha':<12} {'serial(med/stdev)':<24} {'parallel(med/stdev)':<24} par/ser") + for _, sha, _ in tasks: + s = [t[1] for t in serial[sha]] + p = [t[1] for t in par[sha]] + sm, ss = statistics.median(s), statistics.stdev(s) if len(s) > 1 else 0 + pm, ps = statistics.median(p), statistics.stdev(p) if len(p) > 1 else 0 + ratio = pm / sm if sm else 0 + print(f"{sha[:12]} {sm:>7.0f} / {ss:>6.0f} {pm:>7.0f} / {ps:>6.0f} " + f"{ratio:.2f}x") + # result drift + s_res = set(t[0] for t in serial[sha]) + p_res = set(t[0] for t in par[sha]) + if s_res != p_res: + print(f" RESULT DRIFT: serial={s_res} parallel={p_res}") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/extract_best.py b/input/z3-bench/evolve/extract_best.py index bb0a47c160..109a5211a7 100644 --- a/input/z3-bench/evolve/extract_best.py +++ b/input/z3-bench/evolve/extract_best.py @@ -2,8 +2,16 @@ After phase N completes, extract get_phase_overrides() from its best_program.py and write shared/phaseN_best.json. Phase N+1 auto-loads it. -Usage: python extract_best.py +Default source: openevolve_output/best/best_program.py (created on normal phase +exit). For interrupted runs, pass --from-checkpoints to scan all +openevolve_output/checkpoints/checkpoint_*/ and pick the program with the +highest combined_score (read from best_program_info.json). + +Usage: + python extract_best.py + python extract_best.py --from-checkpoints """ +import argparse import importlib.util import json import pathlib @@ -19,24 +27,68 @@ } -def main(): - if len(sys.argv) != 2: - print("usage: python extract_best.py <1|2|3>", file=sys.stderr) - sys.exit(2) +def _pick_from_checkpoints(phase_dir): + ckpt_root = phase_dir / "openevolve_output" / "checkpoints" + ckpts = sorted( + ckpt_root.glob("checkpoint_*"), + key=lambda p: int(p.name.split("_")[1]) if p.name.split("_")[1].isdigit() else -1, + ) + if not ckpts: + print(f"no checkpoints found under {ckpt_root}", file=sys.stderr) + sys.exit(1) - n = int(sys.argv[1]) - if n not in PHASE_DIRS: - print(f"phase must be 1, 2, or 3 (got {n})", file=sys.stderr) - sys.exit(2) + best_py = None + best_score = float("-inf") + best_ck = None + for ck in ckpts: + info_path = ck / "best_program_info.json" + prog_path = ck / "best_program.py" + if not info_path.exists() or not prog_path.exists(): + continue + try: + info = json.loads(info_path.read_text()) + score = float(info.get("metrics", {}).get("combined_score", float("-inf"))) + except (json.JSONDecodeError, ValueError, TypeError) as e: + print(f"warning: failed to read {info_path}: {e}", file=sys.stderr) + continue + if score > best_score: + best_score = score + best_py = prog_path + best_ck = ck - phase_dir = ROOT / PHASE_DIRS[n] - best_py = phase_dir / "openevolve_output" / "best" / "best_program.py" - if not best_py.exists(): - print(f"best_program.py not found: {best_py}", file=sys.stderr) - print("run phase first (./run_phase.sh N) before extracting.", file=sys.stderr) + if best_py is None: + print(f"no usable best_program.py in any checkpoint under {ckpt_root}", file=sys.stderr) sys.exit(1) - # Make shared/ importable for the module under test + print(f"[extract_best] from-checkpoints: picked {best_ck.name} " + f"(combined_score={best_score:.4f})") + return best_py + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + ap.add_argument("phase", type=int, choices=[1, 2, 3], help="phase number") + ap.add_argument( + "--from-checkpoints", + action="store_true", + help="scan checkpoint_*/ dirs and pick highest combined_score " + "(use for interrupted runs without best/ dir)", + ) + args = ap.parse_args() + + n = args.phase + phase_dir = ROOT / PHASE_DIRS[n] + + if args.from_checkpoints: + best_py = _pick_from_checkpoints(phase_dir) + else: + best_py = phase_dir / "openevolve_output" / "best" / "best_program.py" + if not best_py.exists(): + print(f"best_program.py not found: {best_py}", file=sys.stderr) + print("run phase first (./run_phase.sh N) before extracting,", file=sys.stderr) + print("or pass --from-checkpoints to use the latest checkpoint.", file=sys.stderr) + sys.exit(1) + sys.path.insert(0, str(SHARED)) spec = importlib.util.spec_from_file_location(f"phase{n}_best", best_py) diff --git a/input/z3-bench/evolve/phase4_unified/initial_program.py b/input/z3-bench/evolve/phase4_unified/initial_program.py index 988488b0ba..11575f0e92 100644 --- a/input/z3-bench/evolve/phase4_unified/initial_program.py +++ b/input/z3-bench/evolve/phase4_unified/initial_program.py @@ -20,9 +20,229 @@ # EVOLVE-BLOCK-START -# Seeded with baseline only. Run prepare_phase4.py after phases 1-3 finish -# to replace this dict with the union of their winners. -UNIFIED_OVERRIDES = {} +# Auto-generated by prepare_phase4.py from union of phase 1/2/3 best. +UNIFIED_OVERRIDES = {'opt.elim_01': True, + 'opt.enable_core_rotate': True, + 'opt.enable_sat': True, + 'opt.enable_sls': True, + 'opt.maxlex.enable': True, + 'opt.maxres.add_upper_bound_block': False, + 'opt.maxres.hill_climb': True, + 'opt.maxres.max_core_size': 5, + 'opt.maxres.max_correction_set_size': 3, + 'opt.maxres.maximize_assignment': False, + 'opt.maxres.pivot_on_correction_set': True, + 'opt.maxres.wmax': False, + 'opt.maxsat_engine': 'rc2', + 'opt.optsmt_engine': 'basic', + 'opt.pb.compile_equality': False, + 'opt.priority': 'pareto', + 'opt.rc2.totalizer': True, + 'sat.acce': False, + 'sat.anf': False, + 'sat.anf.delay': 2, + 'sat.anf.exlin': False, + 'sat.asymm_branch': True, + 'sat.asymm_branch.all': False, + 'sat.asymm_branch.delay': 1, + 'sat.asymm_branch.limit': 100000000, + 'sat.asymm_branch.rounds': 2, + 'sat.asymm_branch.sampled': True, + 'sat.ate': False, + 'sat.backtrack.conflicts': 4000, + 'sat.backtrack.scopes': 100, + 'sat.bca': False, + 'sat.bce': False, + 'sat.bce_at': 2, + 'sat.bce_delay': 2, + 'sat.blocked_clause_limit': 100000000, + 'sat.branching.anti_exploration': 0.1, + 'sat.branching.heuristic': 'lrb', + 'sat.burst_search': 0, + 'sat.cardinality.encoding': 'grouped', + 'sat.cardinality.solver': True, + 'sat.cce': False, + 'sat.core.minimize': False, + 'sat.core.minimize_partial': False, + 'sat.cut': False, + 'sat.cut.aig': False, + 'sat.cut.delay': 2, + 'sat.cut.dont_cares': True, + 'sat.cut.force': False, + 'sat.cut.lut': False, + 'sat.cut.npn3': False, + 'sat.cut.redundancies': True, + 'sat.cut.xor': False, + 'sat.ddfw.init_clause_weight': 8, + 'sat.ddfw.reinit_base': 10000, + 'sat.ddfw.restart_base': 100000, + 'sat.ddfw.threads': 0, + 'sat.ddfw.use_reward_pct': 15, + 'sat.ddfw_search': False, + 'sat.elim_vars': True, + 'sat.enable_pre_simplify': False, + 'sat.force_cleanup': False, + 'sat.gc': 'dyn_psm', + 'sat.gc.burst': False, + 'sat.gc.defrag': True, + 'sat.gc.increment': 500, + 'sat.gc.initial': 80000, + 'sat.gc.k': 7, + 'sat.gc.small_lbd': 3, + 'sat.inprocess.max': 4294967295, + 'sat.local_search': False, + 'sat.local_search_mode': 'wsat', + 'sat.local_search_threads': 0, + 'sat.lookahead.cube.cutoff': 'depth', + 'sat.lookahead.cube.depth': 1, + 'sat.lookahead.cube.fraction': 0.4, + 'sat.lookahead.cube.freevars': 0.8, + 'sat.lookahead.cube.psat.clause_base': 2.0, + 'sat.lookahead.cube.psat.trigger': 5.0, + 'sat.lookahead.cube.psat.var_exp': 1.0, + 'sat.lookahead.delta_fraction': 1.0, + 'sat.lookahead.double': True, + 'sat.lookahead.global_autarky': False, + 'sat.lookahead.preselect': False, + 'sat.lookahead.reward': 'march_cu', + 'sat.lookahead.use_learned': False, + 'sat.lookahead_scores': False, + 'sat.lookahead_simplify': False, + 'sat.lookahead_simplify.bca': True, + 'sat.minimize_lemmas': True, + 'sat.pb.lemma_format': 'cardinality', + 'sat.pb.resolve': 'cardinality', + 'sat.pb.solver': 'binary_merge', + 'sat.phase': 'caching', + 'sat.phase.sticky': True, + 'sat.prob_search': False, + 'sat.probing': True, + 'sat.probing_binary': True, + 'sat.probing_cache': True, + 'sat.probing_cache_limit': 1024, + 'sat.probing_limit': 5000000, + 'sat.propagate.prefetch': True, + 'sat.random_freq': 0.01, + 'sat.reorder.activity_scale': 100, + 'sat.reorder.base': 4294967295, + 'sat.reorder.itau': 4.0, + 'sat.rephase.base': 1000, + 'sat.resolution.cls_cutoff1': 100000000, + 'sat.resolution.cls_cutoff2': 700000000, + 'sat.resolution.limit': 500000000, + 'sat.resolution.lit_cutoff_range1': 700, + 'sat.resolution.lit_cutoff_range2': 400, + 'sat.resolution.lit_cutoff_range3': 300, + 'sat.resolution.occ_cutoff': 10, + 'sat.resolution.occ_cutoff_range1': 8, + 'sat.resolution.occ_cutoff_range2': 5, + 'sat.resolution.occ_cutoff_range3': 3, + 'sat.restart': 'ema', + 'sat.restart.emafastglue': 0.03, + 'sat.restart.emaslowglue': 1e-05, + 'sat.restart.factor': 1.5, + 'sat.restart.fast': True, + 'sat.restart.initial': 100, + 'sat.restart.margin': 1.1, + 'sat.retain_blocked_clauses': True, + 'sat.scc': True, + 'sat.scc.tr': True, + 'sat.search.sat.conflicts': 1500, + 'sat.search.unsat.conflicts': 1500, + 'sat.simplify.delay': 0, + 'sat.subsumption': True, + 'sat.subsumption.limit': 100000000, + 'sat.threads': 1, + 'sat.variable_decay': 110, + 'sls.early_prune': True, + 'sls.random_offset': True, + 'sls.rescore': True, + 'sls.restart_base': 100, + 'sls.restart_init': False, + 'sls.track_unsat': False, + 'sls.walksat': True, + 'sls.walksat_repick': True, + 'sls.walksat_ucb': True, + 'sls.walksat_ucb_constant': 23.0, + 'sls.walksat_ucb_forget': 0.1, + 'sls.walksat_ucb_init': False, + 'sls.walksat_ucb_noise': 0.0002, + 'sls.wp': 23, + 'smt.arith.auto_config_simplex': False, + 'smt.arith.bprop_on_pivoted_rows': True, + 'smt.arith.branch_cut_ratio': 2, + 'smt.arith.eager_eq_axioms': True, + 'smt.arith.enable_hnf': True, + 'smt.arith.greatest_error_pivot': False, + 'smt.arith.ignore_int': False, + 'smt.arith.int_eq_branch': False, + 'smt.arith.min': False, + 'smt.arith.nl': True, + 'smt.arith.nl.rounds': 512, + 'smt.arith.propagate_eqs': True, + 'smt.arith.propagation_mode': 1, + 'smt.arith.random_initial_value': False, + 'smt.arith.rep_freq': 0, + 'smt.arith.simplex_strategy': 0, + 'smt.arith.solver': 2, + 'smt.array.extensional': True, + 'smt.array.weak': False, + 'smt.auto_config': False, + 'smt.bv.delay': True, + 'smt.bv.enable_int2bv': True, + 'smt.bv.reflect': True, + 'smt.bv.size_reduce': False, + 'smt.bv.solver': 0, + 'smt.case_split': 1, + 'smt.core.extend_nonlocal_patterns': False, + 'smt.core.extend_patterns': False, + 'smt.core.extend_patterns.max_distance': 4294967295, + 'smt.core.minimize': False, + 'smt.core.validate': False, + 'smt.cube_depth': 1, + 'smt.dack': 1, + 'smt.dack.eq': False, + 'smt.dack.factor': 0.1, + 'smt.dack.gc': 2000, + 'smt.dack.gc_inv_decay': 0.8, + 'smt.dack.threshold': 10, + 'smt.delay_units': False, + 'smt.delay_units_threshold': 32, + 'smt.dt_lazy_splits': 1, + 'smt.elim_unconstrained': True, + 'smt.ematching': True, + 'smt.induction': False, + 'smt.lemma_gc_strategy': 2, + 'smt.logic': '', + 'smt.macro_finder': False, + 'smt.mbqi': True, + 'smt.mbqi.force_template': 10, + 'smt.mbqi.max_cexs': 1, + 'smt.mbqi.max_cexs_incr': 0, + 'smt.mbqi.max_iterations': 1000, + 'smt.pb.conflict_frequency': 1000, + 'smt.pb.learn_complements': True, + 'smt.phase_caching_off': 100, + 'smt.phase_caching_on': 400, + 'smt.phase_selection': 3, + 'smt.propagate_values': True, + 'smt.pull_nested_quantifiers': False, + 'smt.qi.cost': '(+ weight generation)', + 'smt.qi.eager_threshold': 15.0, + 'smt.qi.lazy_threshold': 30.0, + 'smt.qi.max_instances': 4294967295, + 'smt.qi.max_multi_patterns': 0, + 'smt.qi.quick_checker': 0, + 'smt.quasi_macros': False, + 'smt.refine_inj_axioms': True, + 'smt.relevancy': 2, + 'smt.restart_strategy': 1, + 'smt.solve_eqs': True, + 'smt.theory_aware_branching': False, + 'smt.theory_case_split': False, + 'smt.threads': 1, + 'smt.threads.cube_frequency': 2, + 'smt.threads.max_conflicts': 400} # EVOLVE-BLOCK-END diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index 2676712ff7..7a555a7bcb 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -73,6 +73,7 @@ def main(): return 2 tasks.append((i, meta, smt2_path)) + import queue as _queue n_parallel = min(parallel_solvers(default=1), len(tasks)) print(f"rebaselining stage1 evolution sample: {len(tasks)} problems " f"(from stage1_sample.json)") @@ -80,12 +81,22 @@ def main(): f"(taskset core pin)") print() + # Cores leased from a queue so each in-flight task holds a unique slot. + # Serial mode also leases core 0 (symmetric with parallel) — keeps the + # baseline measurement under the same pin envelope variants will see. + _core_pool = _queue.Queue() + for _c in range(n_parallel): + _core_pool.put(_c) + def _solve(task): i, meta, smt2_path = task timeout_s = max(60, math.ceil(meta["raw_ms"] * 2 / 1000)) - core = (i % n_parallel) if n_parallel > 1 else None - res = run_z3(smt2_path, BASELINE, timeout_s, cpu_core=core) - return i, meta, res + core = _core_pool.get() + try: + res = run_z3(smt2_path, BASELINE, timeout_s, cpu_core=core) + finally: + _core_pool.put(core) + return i, meta, res, core t_start = time.monotonic() completed = [] @@ -101,7 +112,7 @@ def _solve(task): out = {} mismatch = 0 - for i, meta, res in completed: + for i, meta, res, core in completed: got_result = res.get("result", "Unknown") got_ms = int(res.get("elapsed_ms", 0)) ok = (got_result == meta["raw_result"]) @@ -110,11 +121,11 @@ def _solve(task): flag = "" if ok else " MISMATCH" ratio = got_ms / max(meta["raw_ms"], 1) - core_tag = f" core={i % n_parallel}" if n_parallel > 1 else "" print( f" [{i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " f"raw={meta['raw_result']:<7}/{meta['raw_ms']:>7}ms " - f"local={got_result:<7}/{got_ms:>7}ms ratio={ratio:.2f}x{flag}{core_tag}", + f"local={got_result:<7}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " + f"core={core}", flush=True, ) diff --git a/input/z3-bench/evolve/run_phase.sh b/input/z3-bench/evolve/run_phase.sh index b3840e6b60..48dc7a2e4a 100755 --- a/input/z3-bench/evolve/run_phase.sh +++ b/input/z3-bench/evolve/run_phase.sh @@ -1,25 +1,40 @@ #!/bin/bash # Run one phase of Z3 parameter evolution. -# Usage: ./run_phase.sh {1|2|3|4} [extra openevolve-run.py flags...] +# Usage: +# ./run_phase.sh {1|2|3|4} [extra openevolve-run.py flags...] +# ./run_phase.sh {1|2|3} --extract-only # skip evolution; aggregate +# # results from existing +# # openevolve_output/checkpoints/ # -# Phase iterations are set per-phase below. Override via --iterations . +# Iteration count comes from config.yaml (max_iterations). Override via +# `--iterations ` extra flag if needed. # OpenEvolve outputs land in /openevolve_output/. set -euo pipefail if [ $# -lt 1 ]; then - echo "usage: $0 {1|2|3|4} [extra flags]" >&2 + echo "usage: $0 {1|2|3|4} [--extract-only] [extra flags]" >&2 exit 2 fi PHASE="$1" shift +EXTRACT_ONLY=0 +PASSTHROUGH=() +for arg in "$@"; do + case "$arg" in + --extract-only) EXTRACT_ONLY=1 ;; + *) PASSTHROUGH+=("$arg") ;; + esac +done +set -- "${PASSTHROUGH[@]+"${PASSTHROUGH[@]}"}" + case "$PHASE" in - 1) DIR="phase1_opt_sls"; ITERS=80 ;; - 2) DIR="phase2_sat"; ITERS=150 ;; - 3) DIR="phase3_smt"; ITERS=120 ;; - 4) DIR="phase4_unified"; ITERS=60 ;; + 1) DIR="phase1_opt_sls" ;; + 2) DIR="phase2_sat" ;; + 3) DIR="phase3_smt" ;; + 4) DIR="phase4_unified" ;; *) echo "phase must be 1, 2, 3, or 4 (got $PHASE)" >&2; exit 2 ;; esac @@ -27,6 +42,18 @@ ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd "$ROOT/../../.." && pwd)" RUNNER="$REPO_ROOT/openevolve-run.py" +# --extract-only: skip evolution + setup, jump straight to aggregation. +if [ "$EXTRACT_ONLY" = "1" ]; then + if [ "$PHASE" -eq 4 ]; then + echo "--extract-only not supported for phase 4 (no extract step)" >&2 + exit 2 + fi + echo "[run_phase] --extract-only: aggregating from checkpoints (phase $PHASE)..." + python "$ROOT/extract_best.py" "$PHASE" --from-checkpoints + echo "[run_phase] extract-only done. next: $0 $((PHASE + 1))" + exit 0 +fi + if [ ! -f "$RUNNER" ]; then echo "openevolve-run.py not found at $RUNNER" >&2 exit 1 @@ -37,8 +64,14 @@ if [ ! -f "$ROOT/shared/stage1_sample.json" ]; then python "$ROOT/build_stage1_sample.py" fi -if [ ! -f "$ROOT/shared/local_baseline.json" ]; then - echo "local_baseline.json missing — running rebaseline_local.py first (~5 min, 20 problems)..." +if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ -f "$ROOT/shared/local_baseline.json" ]; then + echo "SKIP_REBASELINE=1 set — reusing existing local_baseline.json" +elif [ "${SKIP_REBASELINE:-0}" = "1" ]; then + echo "SKIP_REBASELINE=1 set but local_baseline.json missing — running rebaseline_local.py..." + python "$ROOT/rebaseline_local.py" || \ + echo "warning: rebaseline_local.py finished with mismatches; evaluator will fall back to raw_ms for those." +else + echo "running rebaseline_local.py (~5 min, 20 problems)... set SKIP_REBASELINE=1 to skip" python "$ROOT/rebaseline_local.py" || \ echo "warning: rebaseline_local.py finished with mismatches; evaluator will fall back to raw_ms for those." fi @@ -60,13 +93,12 @@ if [ "$PHASE" -eq 4 ]; then fi cd "$ROOT/$DIR" -echo "[run_phase] phase=$PHASE dir=$DIR iters=$ITERS cwd=$(pwd)" +echo "[run_phase] phase=$PHASE dir=$DIR cwd=$(pwd) (iterations from config.yaml)" python "$RUNNER" \ initial_program.py \ "$ROOT/shared/evaluator.py" \ --config "$ROOT/config.yaml" \ - --iterations "$ITERS" \ "$@" echo "[run_phase] phase $PHASE finished." diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index a8caecd475..ab904fbc45 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -184,17 +184,28 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): # Parallel dispatch — `OPENEVOLVE_PARALLEL_SOLVERS` controls how many # z3 worker subprocesses run concurrently for the stage's problem list. # Worker count is capped at len(problems) (no point spawning idle threads). - # Each task is pinned to core (i % N) via taskset (Linux) so concurrent - # runs don't fight for the same physical core. Default 1 = sequential. + # Cores are leased from a queue.Queue so each in-flight task holds a + # unique core slot. This is correct even when len(problems) > n_parallel + # (idx % n_parallel would collide across workers). Serial mode also + # leases core 0 — symmetric with parallel so baseline / variant share + # the same pin envelope (no parallel=1-unpinned vs parallel=N-pinned + # bias). Default 1 = sequential, single slot. + import queue as _queue n_parallel = min(parallel_solvers(default=1), len(problems)) + _core_pool = _queue.Queue() + for _c in range(n_parallel): + _core_pool.put(_c) def _solve(idx_p): idx, p = idx_p smt2_path = _RAW_DIR / p["smt2"] - core = (idx % n_parallel) if n_parallel > 1 else None - r = run_z3(smt2_path, params, per_problem_timeout_s, - python_bin=_PYTHON_BIN, cpu_core=core) - return idx, p, r + core = _core_pool.get() + try: + r = run_z3(smt2_path, params, per_problem_timeout_s, + python_bin=_PYTHON_BIN, cpu_core=core) + finally: + _core_pool.put(core) + return idx, p, r, core def _is_regression(p, r): # Correctness regression: baseline gave a definitive answer (Sat/Unsat) @@ -246,9 +257,10 @@ def _regression_err(p, r): if n_parallel == 1: # Sequential: short-circuit immediately on invalid or regression. for pair in enumerate(problems): - idx, p, r = _solve(pair) + idx, p, r, core = _solve(pair) print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms", flush=True) + f"{r.get('result')} {r.get('elapsed_ms')}ms " + f"(core={core})", flush=True) if "invalid_param" in r: return _invalid_err(r) if _is_regression(p, r): @@ -266,8 +278,7 @@ def _regression_err(p, r): for fut in as_completed(futures): if abort is not None: continue - idx, p, r = fut.result() - core = idx % n_parallel + idx, p, r, core = fut.result() print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " f"{r.get('result')} {r.get('elapsed_ms')}ms " f"(core={core})", flush=True) diff --git a/input/z3-bench/evolve/shared/local_baseline.json b/input/z3-bench/evolve/shared/local_baseline.json index 8bb23c8843..c368df6609 100644 --- a/input/z3-bench/evolve/shared/local_baseline.json +++ b/input/z3-bench/evolve/shared/local_baseline.json @@ -1,6 +1,6 @@ { "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8": { - "elapsed_ms": 8244, + "elapsed_ms": 9658, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 13086, @@ -39,11 +39,11 @@ "max memory": 4322.01, "memory": 4078.56, "num allocs": 48404857791.0, - "time": 8.244 + "time": 9.658 } }, "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3": { - "elapsed_ms": 7990, + "elapsed_ms": 7827, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 13885, @@ -82,11 +82,11 @@ "max memory": 4321.63, "memory": 4075.61, "num allocs": 44267582854.0, - "time": 7.99 + "time": 7.826 } }, "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4": { - "elapsed_ms": 7213, + "elapsed_ms": 8160, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 14232, @@ -125,11 +125,11 @@ "max memory": 4323.22, "memory": 4077.97, "num allocs": 46757602227.0, - "time": 7.213 + "time": 8.159 } }, "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12": { - "elapsed_ms": 7317, + "elapsed_ms": 8207, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 14353, @@ -168,11 +168,11 @@ "max memory": 4323.19, "memory": 4078.87, "num allocs": 48160422899.0, - "time": 7.317 + "time": 8.206 } }, "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a": { - "elapsed_ms": 7295, + "elapsed_ms": 9681, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 14428, @@ -211,596 +211,7 @@ "max memory": 4321.57, "memory": 4075.38, "num allocs": 43841036999.0, - "time": 7.295 - } - }, - "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3": { - "elapsed_ms": 44, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 221, - "stats": { - "solve-eqs-steps": 7209, - "solve-eqs-elim-vars": 3351, - "num allocs": 4155162, - "rlimit count": 897626, - "max memory": 24.4, - "memory": 21.86, - "time": 0.044 - } - }, - "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b": { - "elapsed_ms": 161, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 258, - "stats": { - "conflicts": 48, - "decisions": 830, - "propagations": 50299, - "binary propagations": 38071, - "final checks": 10, - "added eqs": 6128, - "mk clause": 5784, - "mk clause binary": 276585, - "del clause": 636, - "minimized lits": 10, - "num checks": 11, - "mk bool var": 7965, - "pb resolves": 25, - "pb conflicts": 25, - "pb propagations": 3, - "pb predicates": 152, - "arith eq adapter": 693, - "arith-lower": 2143, - "arith-upper": 2248, - "arith-fixed-eqs": 1, - "arith-conflicts": 4, - "arith-bound-propagations-lp": 1555, - "arith-diseq": 884, - "arith-make-feasible": 431, - "arith-max-columns": 350, - "arith-max-rows": 201, - "arith-offset-eqs": 211, - "solve-eqs-steps": 12823, - "solve-eqs-elim-vars": 4554, - "num allocs": 75794543, - "rlimit count": 1777059, - "max memory": 88.64, - "memory": 86.41, - "time": 0.161 - } - }, - "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500": { - "elapsed_ms": 171, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 294, - "stats": { - "conflicts": 94, - "decisions": 1199, - "propagations": 112554, - "binary propagations": 88002, - "final checks": 12, - "added eqs": 13146, - "mk clause": 6192, - "mk clause binary": 275302, - "del clause": 1023, - "minimized lits": 138, - "num checks": 13, - "mk bool var": 8691, - "pb resolves": 23, - "pb conflicts": 23, - "pb propagations": 5, - "pb predicates": 152, - "arith eq adapter": 1063, - "arith-lower": 4975, - "arith-upper": 4631, - "arith-conflicts": 11, - "arith-bound-propagations-lp": 2639, - "arith-diseq": 1163, - "arith-make-feasible": 673, - "arith-max-columns": 348, - "arith-max-rows": 199, - "arith-offset-eqs": 429, - "arith-fixed-eqs": 917, - "solve-eqs-steps": 13000, - "solve-eqs-elim-vars": 4554, - "num allocs": 82902270, - "rlimit count": 1887441, - "max memory": 88.59, - "memory": 86.55, - "time": 0.171 - } - }, - "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102": { - "elapsed_ms": 175, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 312, - "stats": { - "conflicts": 106, - "decisions": 1606, - "propagations": 82460, - "binary propagations": 61142, - "final checks": 15, - "added eqs": 10225, - "mk clause": 7425, - "mk clause binary": 277620, - "del clause": 2179, - "minimized lits": 395, - "num checks": 16, - "mk bool var": 10007, - "pb resolves": 27, - "pb conflicts": 27, - "pb propagations": 41, - "pb predicates": 154, - "arith eq adapter": 1528, - "arith-lower": 3609, - "arith-upper": 3548, - "arith-fixed-eqs": 14, - "arith-conflicts": 5, - "arith-bound-propagations-lp": 2342, - "arith-diseq": 1745, - "arith-make-feasible": 1107, - "arith-max-columns": 367, - "arith-max-rows": 214, - "arith-offset-eqs": 451, - "solve-eqs-steps": 13087, - "solve-eqs-elim-vars": 4650, - "num allocs": 82676890, - "rlimit count": 1887760, - "max memory": 88.76, - "memory": 86.68, - "time": 0.175 - } - }, - "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62": { - "elapsed_ms": 145, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 407, - "stats": { - "conflicts": 3, - "decisions": 6, - "propagations": 3081, - "binary propagations": 2545, - "added eqs": 622, - "mk clause": 5343, - "mk clause binary": 274028, - "del clause": 243, - "num checks": 1, - "mk bool var": 6929, - "pb predicates": 151, - "arith eq adapter": 293, - "arith-lower": 86, - "arith-upper": 86, - "arith-bound-propagations-lp": 20, - "arith-diseq": 11, - "arith-make-feasible": 11, - "arith-max-columns": 337, - "arith-max-rows": 193, - "arith-offset-eqs": 1, - "arith-fixed-eqs": 6, - "solve-eqs-steps": 13327, - "solve-eqs-elim-vars": 4506, - "num allocs": 68543201, - "rlimit count": 1616021, - "max memory": 88.34, - "memory": 85.22, - "time": 0.145 - } - }, - "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97": { - "elapsed_ms": 188, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 597, - "stats": { - "conflicts": 219, - "decisions": 1756, - "propagations": 169900, - "binary propagations": 127984, - "restarts": 1, - "final checks": 16, - "added eqs": 21183, - "mk clause": 7385, - "mk clause binary": 277800, - "del clause": 2007, - "minimized lits": 586, - "num checks": 17, - "mk bool var": 9496, - "pb resolves": 28, - "pb conflicts": 28, - "pb propagations": 58, - "pb predicates": 154, - "arith eq adapter": 1270, - "arith-lower": 7236, - "arith-upper": 7597, - "arith-fixed-eqs": 70, - "arith-conflicts": 21, - "arith-bound-propagations-lp": 5314, - "arith-diseq": 2009, - "arith-make-feasible": 1670, - "arith-max-columns": 371, - "arith-max-rows": 220, - "arith-offset-eqs": 870, - "solve-eqs-steps": 12785, - "solve-eqs-elim-vars": 4650, - "num allocs": 86910777, - "rlimit count": 2035211, - "max memory": 88.81, - "memory": 87.02, - "time": 0.187 - } - }, - "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07": { - "elapsed_ms": 644, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 1674, - "stats": { - "conflicts": 335, - "decisions": 5186, - "propagations": 444718, - "binary propagations": 335262, - "restarts": 3, - "final checks": 9, - "added eqs": 49632, - "mk clause": 13497, - "mk clause binary": 1018513, - "del clause": 4428, - "minimized lits": 476, - "num checks": 10, - "mk bool var": 17570, - "pb resolves": 97, - "pb conflicts": 97, - "pb propagations": 105, - "pb predicates": 485, - "arith eq adapter": 2218, - "arith-lower": 18318, - "arith-upper": 18182, - "arith-fixed-eqs": 354, - "arith-conflicts": 28, - "arith-bound-propagations-lp": 11954, - "arith-diseq": 4689, - "arith-make-feasible": 3756, - "arith-max-columns": 584, - "arith-max-rows": 356, - "arith-offset-eqs": 2585, - "solve-eqs-steps": 26644, - "solve-eqs-elim-vars": 8047, - "num allocs": 507617878, - "rlimit count": 7258850, - "max memory": 295.69, - "memory": 282.15, - "time": 0.643 - } - }, - "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678": { - "elapsed_ms": 1593, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 2728, - "stats": { - "conflicts": 899, - "decisions": 13186, - "propagations": 2230618, - "binary propagations": 1708238, - "restarts": 8, - "final checks": 14, - "added eqs": 229778, - "mk clause": 26234, - "mk clause binary": 2751847, - "del clause": 6555, - "minimized lits": 4494, - "num checks": 15, - "mk bool var": 32526, - "pb resolves": 146, - "pb conflicts": 146, - "pb propagations": 215, - "pb predicates": 851, - "arith eq adapter": 3753, - "arith-lower": 86621, - "arith-upper": 86769, - "arith-fixed-eqs": 706, - "arith-conflicts": 72, - "arith-bound-propagations-lp": 56004, - "arith-diseq": 20399, - "arith-make-feasible": 9707, - "arith-max-columns": 1171, - "arith-max-rows": 734, - "arith-offset-eqs": 13343, - "solve-eqs-steps": 45332, - "solve-eqs-elim-vars": 13068, - "num allocs": 2584040643, - "rlimit count": 12772018, - "max memory": 619.94, - "memory": 599.28, - "time": 1.592 - } - }, - "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1": { - "elapsed_ms": 1617, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 2996, - "stats": { - "conflicts": 742, - "decisions": 6784, - "propagations": 1539060, - "binary propagations": 1172688, - "restarts": 6, - "added eqs": 133195, - "mk clause": 21618, - "mk clause binary": 2530387, - "del clause": 8849, - "minimized lits": 5430, - "num checks": 1, - "mk bool var": 26942, - "pb resolves": 84, - "pb conflicts": 84, - "pb propagations": 64, - "pb predicates": 844, - "arith eq adapter": 2609, - "arith-lower": 50071, - "arith-upper": 50903, - "arith-fixed-eqs": 228, - "arith-conflicts": 47, - "arith-bound-propagations-lp": 32430, - "arith-diseq": 10808, - "arith-make-feasible": 5677, - "arith-max-columns": 918, - "arith-max-rows": 555, - "arith-offset-eqs": 7212, - "solve-eqs-steps": 47474, - "solve-eqs-elim-vars": 13562, - "num allocs": 2153793705, - "rlimit count": 20606772, - "max memory": 604.58, - "memory": 581.37, - "time": 1.617 - } - }, - "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240": { - "elapsed_ms": 1462, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 3681, - "stats": { - "conflicts": 782, - "decisions": 11807, - "propagations": 1657628, - "binary propagations": 1268596, - "restarts": 6, - "final checks": 13, - "added eqs": 175598, - "mk clause": 25969, - "mk clause binary": 2752534, - "del clause": 6889, - "minimized lits": 3586, - "num checks": 14, - "mk bool var": 35838, - "pb resolves": 132, - "pb conflicts": 132, - "pb propagations": 163, - "pb predicates": 851, - "arith eq adapter": 4922, - "arith-lower": 65980, - "arith-upper": 65473, - "arith-fixed-eqs": 458, - "arith-conflicts": 35, - "arith-bound-propagations-lp": 40216, - "arith-diseq": 14033, - "arith-make-feasible": 8085, - "arith-max-columns": 1153, - "arith-max-rows": 720, - "arith-offset-eqs": 11149, - "solve-eqs-steps": 45840, - "solve-eqs-elim-vars": 13103, - "num allocs": 2459813988, - "rlimit count": 12534946, - "max memory": 619.39, - "memory": 598.54, - "time": 1.462 - } - }, - "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa": { - "elapsed_ms": 6802, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 13346, - "stats": { - "conflicts": 36, - "decisions": 309, - "propagations": 148377, - "binary propagations": 128438, - "added eqs": 10868, - "mk clause": 53385, - "mk clause binary": 14969882, - "del clause": 609, - "minimized lits": 86, - "num checks": 1, - "mk bool var": 61167, - "pb propagations": 29, - "pb predicates": 363, - "arith eq adapter": 1591, - "arith-lower": 4082, - "arith-upper": 4178, - "arith-conflicts": 7, - "arith-bound-propagations-lp": 2534, - "arith-diseq": 464, - "arith-make-feasible": 542, - "arith-max-columns": 1633, - "arith-max-rows": 1015, - "arith-offset-eqs": 209, - "arith-fixed-eqs": 790, - "solve-eqs-steps": 140602, - "solve-eqs-elim-vars": 27284, - "rlimit count": 21056686, - "max memory": 4321.87, - "memory": 4069.19, - "num allocs": 33745826870.0, - "time": 6.802 - } - }, - "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416": { - "elapsed_ms": 6582, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 14992, - "stats": { - "conflicts": 27, - "decisions": 79, - "propagations": 144900, - "binary propagations": 123789, - "added eqs": 9276, - "mk clause": 53346, - "mk clause binary": 14961098, - "del clause": 609, - "minimized lits": 43, - "num checks": 1, - "mk bool var": 61148, - "pb propagations": 17, - "pb predicates": 363, - "arith eq adapter": 1591, - "arith-lower": 3345, - "arith-upper": 3271, - "arith-conflicts": 11, - "arith-bound-propagations-lp": 1758, - "arith-diseq": 405, - "arith-make-feasible": 328, - "arith-max-columns": 1631, - "arith-max-rows": 1015, - "arith-offset-eqs": 231, - "arith-fixed-eqs": 482, - "solve-eqs-steps": 140314, - "solve-eqs-elim-vars": 27284, - "rlimit count": 21013773, - "max memory": 4321.4, - "memory": 4068.67, - "num allocs": 33595594265.0, - "time": 6.582 - } - }, - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c": { - "elapsed_ms": 7522, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 16518, - "stats": { - "conflicts": 133, - "decisions": 8000, - "propagations": 1042454, - "binary propagations": 860243, - "final checks": 63, - "added eqs": 50767, - "mk clause": 53891, - "mk clause binary": 15003886, - "del clause": 804, - "minimized lits": 4026, - "num checks": 64, - "mk bool var": 61797, - "pb resolves": 27, - "pb conflicts": 27, - "pb propagations": 234, - "pb predicates": 367, - "arith eq adapter": 1672, - "arith-lower": 19978, - "arith-upper": 22681, - "arith-conflicts": 26, - "arith-bound-propagations-lp": 17475, - "arith-diseq": 8202, - "arith-make-feasible": 4982, - "arith-max-columns": 1644, - "arith-max-rows": 1023, - "arith-offset-eqs": 2993, - "arith-fixed-eqs": 6646, - "solve-eqs-steps": 141131, - "solve-eqs-elim-vars": 27438, - "rlimit count": 25115048, - "max memory": 4323.2, - "memory": 4078.04, - "num allocs": 48281023551.0, - "time": 7.522 - } - }, - "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677": { - "elapsed_ms": 15924, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 32076, - "stats": { - "conflicts": 106, - "decisions": 1044, - "propagations": 1000545, - "binary propagations": 824948, - "added eqs": 140293, - "mk clause": 115565, - "mk clause binary": 18694422, - "del clause": 9573, - "minimized lits": 774, - "num checks": 1, - "mk bool var": 149183, - "pb propagations": 7, - "pb predicates": 5216, - "arith eq adapter": 7426, - "arith-lower": 49575, - "arith-upper": 49453, - "arith-conflicts": 6, - "arith-bound-propagations-lp": 16950, - "arith-diseq": 1131, - "arith-make-feasible": 1874, - "arith-max-columns": 7100, - "arith-max-rows": 4531, - "arith-offset-eqs": 5065, - "arith-fixed-eqs": 6959, - "solve-eqs-steps": 246577, - "solve-eqs-elim-vars": 74707, - "rlimit count": 72627630, - "max memory": 4735.35, - "memory": 4491.88, - "num allocs": 130462954454.0, - "time": 15.924 - } - }, - "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d": { - "elapsed_ms": 16731, - "result": "Unsat", - "matches_raw": true, - "raw_elapsed_ms": 33160, - "stats": { - "conflicts": 83, - "decisions": 760, - "propagations": 645209, - "binary propagations": 532485, - "added eqs": 91467, - "mk clause": 115660, - "mk clause binary": 18710201, - "del clause": 9818, - "minimized lits": 414, - "num checks": 1, - "mk bool var": 149108, - "pb propagations": 5, - "pb predicates": 5215, - "arith eq adapter": 7563, - "arith-lower": 30211, - "arith-upper": 30387, - "arith-conflicts": 2, - "arith-bound-propagations-lp": 11135, - "arith-diseq": 818, - "arith-make-feasible": 1252, - "arith-max-columns": 7084, - "arith-max-rows": 4526, - "arith-offset-eqs": 4174, - "arith-fixed-eqs": 4060, - "solve-eqs-steps": 242535, - "solve-eqs-elim-vars": 75194, - "rlimit count": 71788859, - "max memory": 4752.97, - "memory": 4510.6, - "num allocs": 134129336930.0, - "time": 16.73 + "time": 9.681 } } } diff --git a/input/z3-bench/evolve/shared/phase1_best.json b/input/z3-bench/evolve/shared/phase1_best.json new file mode 100644 index 0000000000..cd8bfc8a4f --- /dev/null +++ b/input/z3-bench/evolve/shared/phase1_best.json @@ -0,0 +1,33 @@ +{ + "opt.elim_01": true, + "opt.enable_core_rotate": true, + "opt.enable_sat": true, + "opt.enable_sls": true, + "opt.maxlex.enable": true, + "opt.maxres.add_upper_bound_block": false, + "opt.maxres.hill_climb": true, + "opt.maxres.max_core_size": 5, + "opt.maxres.max_correction_set_size": 3, + "opt.maxres.maximize_assignment": false, + "opt.maxres.pivot_on_correction_set": true, + "opt.maxres.wmax": false, + "opt.maxsat_engine": "rc2", + "opt.optsmt_engine": "basic", + "opt.pb.compile_equality": false, + "opt.priority": "pareto", + "opt.rc2.totalizer": true, + "sls.early_prune": true, + "sls.random_offset": true, + "sls.rescore": true, + "sls.restart_base": 100, + "sls.restart_init": false, + "sls.track_unsat": false, + "sls.walksat": true, + "sls.walksat_repick": true, + "sls.walksat_ucb": true, + "sls.walksat_ucb_constant": 23.0, + "sls.walksat_ucb_forget": 0.1, + "sls.walksat_ucb_init": false, + "sls.walksat_ucb_noise": 0.0002, + "sls.wp": 23 +} diff --git a/input/z3-bench/evolve/shared/phase2_best.json b/input/z3-bench/evolve/shared/phase2_best.json new file mode 100644 index 0000000000..5f23fbb78e --- /dev/null +++ b/input/z3-bench/evolve/shared/phase2_best.json @@ -0,0 +1,118 @@ +{ + "sat.acce": false, + "sat.anf": false, + "sat.anf.delay": 2, + "sat.anf.exlin": false, + "sat.asymm_branch": true, + "sat.asymm_branch.all": false, + "sat.asymm_branch.delay": 1, + "sat.asymm_branch.limit": 100000000, + "sat.asymm_branch.rounds": 2, + "sat.asymm_branch.sampled": true, + "sat.ate": false, + "sat.backtrack.conflicts": 4000, + "sat.backtrack.scopes": 100, + "sat.bca": false, + "sat.bce": false, + "sat.bce_at": 2, + "sat.bce_delay": 2, + "sat.blocked_clause_limit": 100000000, + "sat.branching.anti_exploration": 0.1, + "sat.branching.heuristic": "lrb", + "sat.burst_search": 0, + "sat.cardinality.encoding": "grouped", + "sat.cardinality.solver": true, + "sat.cce": false, + "sat.core.minimize": false, + "sat.core.minimize_partial": false, + "sat.cut": false, + "sat.cut.aig": false, + "sat.cut.delay": 2, + "sat.cut.dont_cares": true, + "sat.cut.force": false, + "sat.cut.lut": false, + "sat.cut.npn3": false, + "sat.cut.redundancies": true, + "sat.cut.xor": false, + "sat.ddfw.init_clause_weight": 8, + "sat.ddfw.reinit_base": 10000, + "sat.ddfw.restart_base": 100000, + "sat.ddfw.threads": 0, + "sat.ddfw.use_reward_pct": 15, + "sat.ddfw_search": false, + "sat.elim_vars": true, + "sat.enable_pre_simplify": false, + "sat.force_cleanup": false, + "sat.gc": "dyn_psm", + "sat.gc.burst": false, + "sat.gc.defrag": true, + "sat.gc.increment": 500, + "sat.gc.initial": 80000, + "sat.gc.k": 7, + "sat.gc.small_lbd": 3, + "sat.inprocess.max": 4294967295, + "sat.local_search": false, + "sat.local_search_mode": "wsat", + "sat.local_search_threads": 0, + "sat.lookahead.cube.cutoff": "depth", + "sat.lookahead.cube.depth": 1, + "sat.lookahead.cube.fraction": 0.4, + "sat.lookahead.cube.freevars": 0.8, + "sat.lookahead.cube.psat.clause_base": 2.0, + "sat.lookahead.cube.psat.trigger": 5.0, + "sat.lookahead.cube.psat.var_exp": 1.0, + "sat.lookahead.delta_fraction": 1.0, + "sat.lookahead.double": true, + "sat.lookahead.global_autarky": false, + "sat.lookahead.preselect": false, + "sat.lookahead.reward": "march_cu", + "sat.lookahead.use_learned": false, + "sat.lookahead_scores": false, + "sat.lookahead_simplify": false, + "sat.lookahead_simplify.bca": true, + "sat.minimize_lemmas": true, + "sat.pb.lemma_format": "cardinality", + "sat.pb.resolve": "cardinality", + "sat.pb.solver": "binary_merge", + "sat.phase": "caching", + "sat.phase.sticky": true, + "sat.prob_search": false, + "sat.probing": true, + "sat.probing_binary": true, + "sat.probing_cache": true, + "sat.probing_cache_limit": 1024, + "sat.probing_limit": 5000000, + "sat.propagate.prefetch": true, + "sat.random_freq": 0.01, + "sat.reorder.activity_scale": 100, + "sat.reorder.base": 4294967295, + "sat.reorder.itau": 4.0, + "sat.rephase.base": 1000, + "sat.resolution.cls_cutoff1": 100000000, + "sat.resolution.cls_cutoff2": 700000000, + "sat.resolution.limit": 500000000, + "sat.resolution.lit_cutoff_range1": 700, + "sat.resolution.lit_cutoff_range2": 400, + "sat.resolution.lit_cutoff_range3": 300, + "sat.resolution.occ_cutoff": 10, + "sat.resolution.occ_cutoff_range1": 8, + "sat.resolution.occ_cutoff_range2": 5, + "sat.resolution.occ_cutoff_range3": 3, + "sat.restart": "ema", + "sat.restart.emafastglue": 0.03, + "sat.restart.emaslowglue": 1e-05, + "sat.restart.factor": 1.5, + "sat.restart.fast": true, + "sat.restart.initial": 100, + "sat.restart.margin": 1.1, + "sat.retain_blocked_clauses": true, + "sat.scc": true, + "sat.scc.tr": true, + "sat.search.sat.conflicts": 1500, + "sat.search.unsat.conflicts": 1500, + "sat.simplify.delay": 0, + "sat.subsumption": true, + "sat.subsumption.limit": 100000000, + "sat.threads": 1, + "sat.variable_decay": 110 +} diff --git a/input/z3-bench/evolve/shared/phase3_best.json b/input/z3-bench/evolve/shared/phase3_best.json new file mode 100644 index 0000000000..749479b651 --- /dev/null +++ b/input/z3-bench/evolve/shared/phase3_best.json @@ -0,0 +1,77 @@ +{ + "smt.arith.auto_config_simplex": false, + "smt.arith.bprop_on_pivoted_rows": true, + "smt.arith.branch_cut_ratio": 2, + "smt.arith.eager_eq_axioms": true, + "smt.arith.enable_hnf": true, + "smt.arith.greatest_error_pivot": false, + "smt.arith.ignore_int": false, + "smt.arith.int_eq_branch": false, + "smt.arith.min": false, + "smt.arith.nl": true, + "smt.arith.nl.rounds": 512, + "smt.arith.propagate_eqs": true, + "smt.arith.propagation_mode": 1, + "smt.arith.random_initial_value": false, + "smt.arith.rep_freq": 0, + "smt.arith.simplex_strategy": 0, + "smt.arith.solver": 2, + "smt.array.extensional": true, + "smt.array.weak": false, + "smt.auto_config": false, + "smt.bv.delay": true, + "smt.bv.enable_int2bv": true, + "smt.bv.reflect": true, + "smt.bv.size_reduce": false, + "smt.bv.solver": 0, + "smt.case_split": 1, + "smt.core.extend_nonlocal_patterns": false, + "smt.core.extend_patterns": false, + "smt.core.extend_patterns.max_distance": 4294967295, + "smt.core.minimize": false, + "smt.core.validate": false, + "smt.cube_depth": 1, + "smt.dack": 1, + "smt.dack.eq": false, + "smt.dack.factor": 0.1, + "smt.dack.gc": 2000, + "smt.dack.gc_inv_decay": 0.8, + "smt.dack.threshold": 10, + "smt.delay_units": false, + "smt.delay_units_threshold": 32, + "smt.dt_lazy_splits": 1, + "smt.elim_unconstrained": true, + "smt.ematching": true, + "smt.induction": false, + "smt.lemma_gc_strategy": 2, + "smt.logic": "", + "smt.macro_finder": false, + "smt.mbqi": true, + "smt.mbqi.force_template": 10, + "smt.mbqi.max_cexs": 1, + "smt.mbqi.max_cexs_incr": 0, + "smt.mbqi.max_iterations": 1000, + "smt.pb.conflict_frequency": 1000, + "smt.pb.learn_complements": true, + "smt.phase_caching_off": 100, + "smt.phase_caching_on": 400, + "smt.phase_selection": 3, + "smt.propagate_values": true, + "smt.pull_nested_quantifiers": false, + "smt.qi.cost": "(+ weight generation)", + "smt.qi.eager_threshold": 15.0, + "smt.qi.lazy_threshold": 30.0, + "smt.qi.max_instances": 4294967295, + "smt.qi.max_multi_patterns": 0, + "smt.qi.quick_checker": 0, + "smt.quasi_macros": false, + "smt.refine_inj_axioms": true, + "smt.relevancy": 2, + "smt.restart_strategy": 1, + "smt.solve_eqs": true, + "smt.theory_aware_branching": false, + "smt.theory_case_split": false, + "smt.threads": 1, + "smt.threads.cube_frequency": 2, + "smt.threads.max_conflicts": 400 +} From 89a0f0f2a4949963477d42b75cfa7fd16eb226b8 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 11:00:53 +0900 Subject: [PATCH 05/42] [feat] size-based sample selection + adaptive per-problem timeout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build_samples.py replaces build_stage1_sample.py: scans raw-data, regenerates problems.jsonl, writes stage1_sample.json (5 SAT) and stage2_sample.json (50 SAT+UNSAT) using quintile-spread by (num_hard_constraints, num_variables). Runtime no longer used for selection — raw-data can accumulate beyond 50 without reshuffling. - evaluator.py: per-problem timeout = max(5s, baseline_ms * 1.3), replacing fixed OPENEVOLVE_STAGE{1,2}_TIMEOUT envs. Adaptive cap absorbs both small-problem startup overhead and huge-problem proportional headroom. _filter_stage2 added; _load_problems no longer filters by local_baseline (stage2 returns full set). - run_phase.sh / rebaseline_local.py / baseline_params.py: refs updated to build_samples.py. - README: reflect new sample layout. Co-Authored-By: Claude Opus 4.7 (1M context) --- input/z3-bench/evolve/README.md | 247 +---------- input/z3-bench/evolve/build_samples.py | 147 +++++++ input/z3-bench/evolve/build_stage1_sample.py | 86 ---- input/z3-bench/evolve/rebaseline_local.py | 2 +- input/z3-bench/evolve/run_phase.sh | 6 +- .../z3-bench/evolve/shared/baseline_params.py | 2 +- input/z3-bench/evolve/shared/evaluator.py | 81 ++-- .../z3-bench/evolve/shared/stage1_sample.json | 52 ++- .../z3-bench/evolve/shared/stage2_sample.json | 408 ++++++++++++++++++ input/z3-bench/problems.jsonl | 100 ++--- 10 files changed, 705 insertions(+), 426 deletions(-) create mode 100644 input/z3-bench/evolve/build_samples.py delete mode 100644 input/z3-bench/evolve/build_stage1_sample.py create mode 100644 input/z3-bench/evolve/shared/stage2_sample.json diff --git a/input/z3-bench/evolve/README.md b/input/z3-bench/evolve/README.md index ec96ccabf0..410df24889 100644 --- a/input/z3-bench/evolve/README.md +++ b/input/z3-bench/evolve/README.md @@ -1,194 +1,12 @@ -# Z3 Parameter Tuning via OpenEvolve +# Z3 Parameter Tuning via OpenEvolve — 실행 & 구조 OpenEvolve를 사용해 Z3 SMT 솔버의 파라미터를 진화적으로 탐색한다. 입력은 `input/z3-bench/` 데이터셋(50개 SMT2 인스턴스 + baseline 실행 로그). 목표는 baseline 대비 wall-clock 시간 단축, 단 정답(Sat/Unsat) 보존. ---- - -## 0. OpenEvolve 빠른 소개 (처음 보는 사람용) - -### 0.1 한 줄 요약 - -**OpenEvolve = LLM × 진화 알고리즘.** 사람이 정의한 "코드 조각"과 "평가 함수"를 받아, LLM이 코드를 반복적으로 변이시키고 점수가 높은 변이만 살려나간다. Google DeepMind의 AlphaEvolve 시스템을 오픈소스로 재구현한 프레임워크. - -### 0.2 동작 원리 (1 iteration) - -``` -┌───────────────────────────────────────────────────────────────┐ -│ 1. Database에서 부모 프로그램 K개 샘플링 (MAP-Elites + islands) │ -│ 2. LLM 프롬프트 구성: │ -│ - system_message (config.yaml에서) │ -│ - 부모 코드 + 부모들의 점수/메트릭 │ -│ - 과거 변이 일부 (inspiration) │ -│ - 이전 변이의 artifacts (디버깅 신호) │ -│ 3. LLM이 새 코드 생성 (diff 또는 full rewrite) │ -│ 4. 새 프로그램을 evaluator.py에 넘김 │ -│ 5. evaluator가 metrics dict 반환 (예: combined_score: 0.73) │ -│ 6. Database에 (code, metrics, artifacts) 저장 │ -│ 7. checkpoint_interval마다 디스크 저장 │ -└───────────────────────────────────────────────────────────────┘ -``` - -위를 `--iterations N`번 반복. 종료 시 `openevolve_output/best/best_program.py`에 최고 점수 변이 저장. - -### 0.3 핵심 개념 - -#### EVOLVE-BLOCK -초기 프로그램(`initial_program.py`) 안에서 **LLM이 수정해도 되는 영역**을 마커로 표시: - -```python -# 고정된 코드 (수정 금지) -import some_lib - -# EVOLVE-BLOCK-START -# 이 안의 코드만 LLM이 변이시킴 -def my_algorithm(): - return 42 -# EVOLVE-BLOCK-END - -# 고정된 코드 (인터페이스 보존용) -def run(): - return my_algorithm() -``` - -블록 밖은 인터페이스/타입/평가 함수 호출 규약 등을 유지하는 부분. 이 프로젝트에서는 EVOLVE-BLOCK 안에 Z3 파라미터 **dict 리터럴**을 두어 LLM이 키/값을 변이시킴. - -#### Evaluator -`evaluator.py`는 **단 하나의 함수**(`evaluate(program_path)`)를 노출. 변이된 프로그램을 받아 점수 dict를 돌려준다: - -```python -from openevolve.evaluation_result import EvaluationResult - -def evaluate(program_path): - # 1. 프로그램 import - # 2. 실행 / 측정 - # 3. metrics 계산 - return EvaluationResult( - metrics={"combined_score": 0.73, "sub_metric_a": 1.5, ...}, - artifacts={"summary": "...", "per_problem": [...]}, # 다음 LLM 호출의 컨텍스트로 사용됨 - ) -``` - -- **`metrics`**: 진화 압력. `combined_score` 키가 주 목적함수. 다른 키들은 부수 모니터링. -- **`artifacts`**: 점수에 영향 안 줌. 단, LLM에 다음 라운드 컨텍스트로 들어가서 "왜 실패했는지/뭐가 좋아졌는지" 학습 신호가 됨. 예: 에러 메시지, 잘못된 키 이름, 인스턴스별 speedup 분포. - -#### Cascade evaluation -한 변이를 평가하는 데 비용이 크면 단계별로 컷: - -``` -evaluate_stage1(program_path) → 빠른 검증 (이 프로젝트: 5문제) - └─ score 낮으면 즉시 컷 (cascade_thresholds 비교) - └─ score 통과 시 ↓ -evaluate_stage2(program_path) → 본 평가 (이 프로젝트: 전체 50문제) -``` - -명백히 망가진 변이(시드 위반, invalid key, 큰 회귀)는 stage1에서 거름. LLM 시간/달러 절약. - -#### MAP-Elites + Islands (다양성 유지) -- **MAP-Elites**: 코드를 다차원 feature grid에 매핑 → 각 셀의 챔피언만 유지. 단순히 "최고 점수 1개"가 아니라 "각 영역의 최고"를 보존 → 국소 최적 탈출. -- **Islands**: 독립된 N개의 population이 따로 진화. 주기적으로 migration. 한 island의 조기 수렴이 전체에 퍼지지 않게 함. - -이 프로젝트 설정: `num_islands: 3`, `population_size: 50`, `archive_size: 20`. - -#### Diff-based evolution -`diff_based_evolution: true`면 LLM이 전체 파일이 아니라 **search/replace 블록만** 출력. 큰 파일에서 토큰 절약 + 의도 명확. - -### 0.4 OpenEvolve가 받는 입력 (총 3개 파일) - -| 파일 | 역할 | -|---|---| -| `initial_program.py` | 시작점. EVOLVE-BLOCK 안 코드만 진화. 인터페이스는 evaluator와 합의 | -| `evaluator.py` | `evaluate(program_path) -> EvaluationResult` 함수 1개 노출 | -| `config.yaml` | LLM 모델, 반복 횟수, population, prompt system_message 등 | - -호출: -```bash -python openevolve-run.py \ - initial_program.py \ - evaluator.py \ - --config config.yaml \ - --iterations 100 -``` - -### 0.5 출력 - -``` -/openevolve_output/ -├── best/ -│ └── best_program.py # 최고 score 변이 -├── checkpoints/ -│ ├── checkpoint_10/ # checkpoint_interval마다 -│ ├── checkpoint_20/ -│ └── ... -└── logs/ - └── openevolve_*.log -``` - -`--checkpoint ` 옵션으로 중단 지점에서 재개 가능. - -### 0.6 이 프로젝트에서 OpenEvolve의 적용 방식 - -| OpenEvolve 개념 | 이 프로젝트에서 어떻게 쓰이나 | -|---|---| -| EVOLVE-BLOCK | Z3 파라미터 dict 리터럴 (`OPT_SLS_OVERRIDES = {...}` 등) | -| 진화 단위 | 알고리즘 코드 아니라 **dict 키/값** (이름 추가/제거/값 변경) | -| Evaluator | 변이된 dict를 `subprocess`로 `z3 ...`에 넘겨 50개 SMT2 풀고 점수화 | -| metrics | `combined_score = geomean(speedup) × solved_rate²` | -| artifacts | 인스턴스별 (sha, baseline_ms, elapsed_ms, speedup, timeout) — LLM이 다음 라운드에 "어느 문제가 느려졌는지" 확인 가능 | -| Cascade | stage1=5문제 15s, stage2=50문제 120s | -| Phase 분할 | 단일 OpenEvolve 실행이 아니라 **4회 순차 실행**. 각 phase는 다른 `initial_program.py` 사용, 이전 phase의 winner를 import | - -### 0.7 더 읽기 - -- 메인 README: `/README.md` -- 다른 예제: `examples/function_minimization/` (가장 간단), `examples/llm_prompt_optimization/`, `examples/circle_packing/` -- 기본 config 전체: `configs/default_config.yaml` -- 아키텍처: `CLAUDE.md` (개발자용 노트) +> OpenEvolve 소개, 본 프로젝트의 목적/접근, 스코어링 공식, 설계 결정, 로드맵은 [OPENEVOLVE_INTRO.md](OPENEVOLVE_INTRO.md) 참고. --- -## 1. 목적과 접근 - -- **타깃**: `z3_applied_params` 19개(베이스라인)에서 출발 → Z3 4.13.x 전체 파라미터 공간(opt./sat./smt./sls./parallel./global, ~250키) 탐색 -- **방법**: OpenEvolve로 `initial_program.py` 안의 dict 리터럴을 LLM이 변이. EVOLVE-BLOCK 마커 사이의 파라미터 dict만 진화 대상 -- **베이스라인**: `problems.jsonl`의 `applied_params_hash = 543b29...` 행들. 인스턴스별 `elapsed_ms` + `result`를 기준값으로 사용 -- **솔버 실행**: subprocess로 `z3 -T: -smt2 key=value ... file.smt2` 호출 → 격리 + 타임아웃 강제 - -## 2. Phase 분할 (옵션 b) - -| Phase | EVOLVE 대상 | 고정(locked) | 키 수 | iterations | 목적 | -|---|---|---|---|---|---| -| **P1** | `opt.*` + `sls.*` | sat/smt/parallel 베이스라인 + 시드 3종 | ~34 | 80 | MaxSAT 엔진 선택, SLS local search 튜닝 | -| **P2** | `sat.*` | P1 best `opt.*+sls.*` + smt/parallel 베이스라인 | ~121 | 150 | CDCL 코어 (preprocessing/restart/branching) | -| **P3** | `smt.*` (`auto_config=false` 강제) | P1+P2 best | ~97 | 120 | 산술/양화자 — LIA-heavy 워크로드에 영향 큼 | -| **P4** | P1∪P2∪P3 best 통합 | 없음 (locked 키만 유지) | union | 60 | 상호작용 보정. 짧은 local refinement | - -**고정 키 (locked)** — 전체 phase 변경 금지, evaluator가 위반 시 0점: -- `sat.random_seed = 0` -- `smt.random_seed = 0` -- `sls.random_seed = 0` -- `parallel.enable = False` - -**Phase 간 핸드오프**: 자동. P{N} 종료 후 `run_phase.sh`가 `extract_best.py N` 자동 호출 → `shared/phase{N}_best.json` 작성 → P{N+1}이 import. - -P4 시작 시 `prepare_phase4.py` 자동 실행 → `phase4_unified/initial_program.py`의 EVOLVE-BLOCK을 union dict literal로 머터리얼라이즈 (LLM이 diff 편집 가능하도록). - -## 3. 스코어링 - -``` -per_problem: - match baseline result → speedup = baseline_ms / elapsed_ms - mismatch (regression/unknown/timeout) → 1e-6 (geomean에 강한 페널티) - -aggregate: - combined_score = geomean(speedup) * solved_rate^2 -``` - -- `solved_rate^2`: 정답률이 핵심 게이트. 1회 회귀도 강하게 패널티 -- `geomean(speedup)`: 큰 인스턴스가 합산 지배하지 않도록 -- baseline 그대로면 `combined_score ≈ 1.0` -- 부수 메트릭: `regressions`, `solved/total`, `geomean_speedup` - -## 4. 디렉토리 구조 +## 1. 디렉토리 구조 ``` input/z3-bench/ @@ -197,18 +15,22 @@ input/z3-bench/ ├── problems.csv # 평탄화 버전 ├── raw-data/ # 원본 SMT2 + meta jsonl └── evolve/ - ├── README.md # 이 파일 + ├── README.md # 이 파일 (실행 & 구조) + ├── OPENEVOLVE_INTRO.md # 개념/목적/설계 ├── config.yaml # 공유 OpenEvolve config ├── run_phase.sh # 1/2/3/4 phase 실행 진입점 - ├── build_stage1_sample.py # stage1 sample 생성 스크립트 + ├── build_samples.py # stage1/stage2 sample 생성 ├── extract_best.py # phase N 종료 후 best 추출 ├── prepare_phase4.py # phase4 EVOLVE-BLOCK 머터리얼라이즈 + ├── rebaseline_local.py # 로컬에서 baseline 재측정 + ├── final_verify.py # P4 best 전수 검증 ├── shared/ │ ├── baseline_params.py # BASELINE 19키, LOCKED 4키 │ ├── score.py # geomean × solved_rate^2 │ ├── z3_runner.py # subprocess z3 CLI 호출 │ ├── evaluator.py # cascade stage1/stage2 │ ├── stage1_sample.json # 5문제 stratified sample (seed=42) + │ ├── stage2_sample.json # stage2 problem set │ └── phase{1,2,3}_best.json # 각 phase 종료 후 생성됨 ├── phase1_opt_sls/ │ └── initial_program.py # EVOLVE-BLOCK: OPT_SLS_OVERRIDES (~34키) @@ -220,7 +42,7 @@ input/z3-bench/ └── initial_program.py # EVOLVE-BLOCK: UNIFIED_OVERRIDES (union) ``` -## 5. 평가 흐름 (cascade) +## 2. 평가 흐름 (cascade) ``` LLM 변이된 initial_program.py @@ -250,7 +72,7 @@ ac90ca97ff99 239 ms Unsat (fast) 5분위 버킷에서 하나씩 → Sat/Unsat + 빠름/느림 골고루. -## 6. Initial program 표준 형태 +## 3. Initial program 표준 형태 각 phase의 `initial_program.py`는 동일 패턴: @@ -287,7 +109,7 @@ def get_phase_overrides(): evaluator는 phase를 모름 — `get_params()` 결과만 받음. `extract_best.py`는 `get_phase_overrides()`만 호출 → phase별 dict 분리 유지. -## 7. 실행 절차 (Docker) +## 4. 실행 절차 (Docker) ### Host에서 @@ -351,7 +173,7 @@ apt-get install -y z3 # 또는: pip install z3-solver (CLI 동반) export OPENAI_API_KEY="..." # 셸 안에서도 export 필요 # (이미 생성됨, 재생성 원할 때만) -python input/z3-bench/evolve/build_stage1_sample.py +python input/z3-bench/evolve/build_samples.py # 순차 실행 — 각 phase 종료 시 extract_best.py 자동 호출 ./input/z3-bench/evolve/run_phase.sh 1 @@ -383,7 +205,7 @@ nohup ./input/z3-bench/evolve/run_phase.sh 1 \ &> /app/logs/phase1.log & ``` -## 8. 환경 변수 +## 5. 환경 변수 | 변수 | 기본 | 용도 | |---|---|---| @@ -393,47 +215,8 @@ nohup ./input/z3-bench/evolve/run_phase.sh 1 \ | `OPENEVOLVE_STAGE2_TIMEOUT` | 120 | stage2 문제당 초 | | `OPENEVOLVE_Z3_BIN` | `z3` | z3 바이너리 경로 | -## 9. 주요 설계 결정 - -| 항목 | 선택 | 이유 | -|---|---|---| -| Phase 핸드오프 | 자동 (`run_phase.sh` → `extract_best.py`) | 사람 개입 줄임 | -| 메트릭 | `geomean(speedup) × solved_rate²` | 큰 인스턴스 지배 방지 + 정답률 강하게 게이트 | -| Z3 실행 | subprocess CLI | 프로세스 격리, 타임아웃 강제, 한 문제 크래시 영향 차단 | -| Stage1 샘플 | stratified 5문제, seed=42 | Sat/Unsat × 빠름/느림 골고루, 재현 가능 | -| Locked 키 | 시드 3종 + parallel.enable | 비교 공정성, 단일스레드 일관성 | -| `smt.auto_config` | P3에서 False 강제 | True면 다른 smt.* 옵션이 silently override됨 | -| `parallel_evaluations` | 1 | z3 메모리 4GB+ 인스턴스 존재, OOM 위험 | -| Phase 4 EVOLVE-BLOCK | 머터리얼라이즈된 literal dict | LLM이 diff 편집 가능해야 진화 가능 | - -## 10. 검증 상태 - -- `python build_stage1_sample.py` → 5문제 stratified 샘플 생성 (완료) -- 4개 phase `initial_program.py` import 확인: - - phase1: 46 키 (BASELINE 19 + OVERRIDES 34, 일부 키 중복) - - phase2: 135 키 - - phase3: 114 키 - - phase4: 19 키 (BASELINE만 — phases 1-3 이후 prepare_phase4.py가 채움) -- `score.py` 시뮬레이션: 2 speedup + 1 timeout + 1 regression + 1 slowdown → combined ≈ 0.002 (correctness gate 강하게 작동 확인) - -## 11. 도커 안에서 추가 검증 필요 +## 6. 도커 안에서 추가 검증 필요 - `z3 -pmd | less` 출력으로 4.13.3.0의 실제 키 검증 (일부 키명/타입이 마이너 버전마다 다를 수 있음) - baseline 변이로 stage1 1회 평가 직접 호출 → z3 binary 동작/타임아웃 검증 - LLM API 호출 sanity check (`config.yaml`의 api_base + 키 매칭) - -## 12. 비용/시간 추정 - -- baseline 평균 elapsed_ms ≈ 24,229 ms → 변이당 stage2 full run ≈ 50 × 24s = 1200s = 20분 (평균) -- P1 80 iter × 평균 20분 ≈ 27시간 (worst-case 비현실적, cascade로 대부분 stage1에서 컷) -- P2 150 iter × 20분 ≈ 50시간 -- 비용 절감: `OPENEVOLVE_MAX_PROBLEMS=20`으로 stage2도 축소 가능. 또는 stage1 cascade threshold 0.5+로 상향 → 약한 변이 조기 컷 비율↑ - -## 13. 향후 작업 후보 - -1. 컨테이너에서 `z3 -pmd` 캡쳐 → invalid key 사전 필터 -2. baseline 변이 stage1 1회 평가 sanity check -3. `docker-run.sh`에 `-e OPENAI_API_KEY` 자동 전달 추가 -4. LLM 모델 선택 (Gemini 무료 티어 vs 사내 모델 vs OpenAI) -5. 변이 결과 시각화 (`scripts/visualizer.py --path .../checkpoint_K/`) -6. final 검증: P4 best를 problems.jsonl 전수 50문제에 대해 재실행, speedup 분포 리포트 diff --git a/input/z3-bench/evolve/build_samples.py b/input/z3-bench/evolve/build_samples.py new file mode 100644 index 0000000000..ef0f66e88f --- /dev/null +++ b/input/z3-bench/evolve/build_samples.py @@ -0,0 +1,147 @@ +""" +Build problems.jsonl + stage1_sample.json + stage2_sample.json from raw-data. + +Source of truth = raw-data/*.meta.jsonl. raw-data accumulates over time; +this script (re)scans the directory each run, rewrites problems.jsonl as the +full aggregate, and re-selects stage1 / stage2 samples. + +Size metric: (num_hard_constraints, num_variables) tuple ascending — primary +then tiebreak. Runtime (elapsed_ms) is NOT used for selection. + +Stage1 (5): SAT-only, quintile-spread by size (5 buckets, 1 per bucket). +Stage2 (50): SAT + UNSAT, quintile-spread by size (5 buckets, 10 per bucket + rank-linspace within bucket). + +Quintile-spread = stable, deterministic ordering by rank then equal-density +sampling per bucket. Guarantees representation across the size distribution +rather than clustering on fastest / smallest problems. +""" +import json +import pathlib + +_HERE = pathlib.Path(__file__).resolve().parent +_BENCH = _HERE.parent +_RAW = _BENCH / "raw-data" +_PROBLEMS = _BENCH / "problems.jsonl" +_STAGE1 = _HERE / "shared" / "stage1_sample.json" +_STAGE2 = _HERE / "shared" / "stage2_sample.json" + +STAGE1_N = 5 +STAGE2_N = 50 +N_BUCKETS = 5 + + +def _scan_raw(): + rows = [] + for path in sorted(_RAW.glob("*.meta.jsonl")): + with open(path) as f: + for line in f: + line = line.strip() + if not line: + continue + rows.append(json.loads(line)) + break + return rows + + +def _size_key(d): + feats = d.get("features") or {} + return (feats.get("num_hard_constraints", 0), feats.get("num_variables", 0)) + + +def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): + total = len(sorted_rows) + if total == 0 or n_pick <= 0: + return [] + if total <= n_pick: + return list(sorted_rows) + + per_bucket = n_pick // n_buckets + remainder = n_pick % n_buckets + picked = [] + for b in range(n_buckets): + lo = (b * total) // n_buckets + hi = ((b + 1) * total) // n_buckets + bucket = sorted_rows[lo:hi] + if not bucket: + continue + k = per_bucket + (1 if b < remainder else 0) + if k <= 0: + continue + if k == 1: + picked.append(bucket[len(bucket) // 2]) + else: + for j in range(k): + idx = round(j * (len(bucket) - 1) / (k - 1)) + picked.append(bucket[idx]) + return picked + + +def _summary(d): + f = d.get("features") or {} + z = d.get("z3_status") or {} + return { + "sha": d["problem_sha256"][:12], + "num_hard_constraints": f.get("num_hard_constraints", 0), + "num_variables": f.get("num_variables", 0), + "baseline_result": z.get("result"), + "baseline_ms": z.get("elapsed_ms"), + } + + +def _write_sample(path, picks, label, criteria): + path.write_text( + json.dumps( + { + "selection": f"{len(picks)} {criteria}, quintile-spread by " + "(num_hard_constraints, num_variables)", + "source": str(_PROBLEMS.relative_to(_BENCH.parent)), + "sha256": [d["problem_sha256"] for d in picks], + "summary": [_summary(d) for d in picks], + }, + indent=2, + ) + + "\n" + ) + print(f"wrote {path.relative_to(_BENCH.parent)} ({len(picks)} {label})") + + +def main(): + rows = _scan_raw() + if not rows: + raise SystemExit(f"no *.meta.jsonl files found under {_RAW}") + print(f"scanned {len(rows)} raw meta files") + + with open(_PROBLEMS, "w") as f: + for d in rows: + f.write(json.dumps(d) + "\n") + print(f"wrote {_PROBLEMS.relative_to(_BENCH.parent)} ({len(rows)} entries)") + + sat = sorted( + (d for d in rows if (d.get("z3_status") or {}).get("result") == "Sat"), + key=_size_key, + ) + all_sorted = sorted(rows, key=_size_key) + + s1 = _quintile_spread(sat, STAGE1_N, N_BUCKETS) + s2 = _quintile_spread(all_sorted, STAGE2_N, N_BUCKETS) + + _write_sample(_STAGE1, s1, "stage1", "SAT-only") + _write_sample(_STAGE2, s2, "stage2", "SAT+UNSAT") + + for label, picks in (("stage1", s1), ("stage2", s2)): + print(f"\n{label}:") + for d in picks: + f_ = d.get("features") or {} + z = d.get("z3_status") or {} + print( + f" {d['problem_sha256'][:12]} " + f"hc={f_.get('num_hard_constraints', 0):>7} " + f"vars={f_.get('num_variables', 0):>7} " + f"{z.get('result', '?'):<7} " + f"{z.get('elapsed_ms', 0):>6}ms" + ) + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/build_stage1_sample.py b/input/z3-bench/evolve/build_stage1_sample.py deleted file mode 100644 index ba6e421b80..0000000000 --- a/input/z3-bench/evolve/build_stage1_sample.py +++ /dev/null @@ -1,86 +0,0 @@ -""" -Generate stage1_sample.json: 5 fastest Sat problems (fallback: fastest Unsat -to fill remainder). - -Rationale: stage1 has tight per-problem timeout (15s default). Including slow -baseline problems (>15s) guarantees timeout regardless of variant quality, -making stage1 score uninformative. Sat is preferred since LLM is more likely -to preserve Sat than Unsat under aggressive param changes (Unsat proofs depend -on completeness of preprocessing pipeline). - -No randomness — deterministic pick of fastest N by result class. -""" -import json -import pathlib - -ROOT = pathlib.Path(__file__).resolve().parent -PROBLEMS = ROOT.parent / "problems.jsonl" -OUT = ROOT / "shared" / "stage1_sample.json" - -NUM_PROBLEMS = 5 -# Stage1 wall-clock budget: 60-120s per variant. -# - good variant (baseline-like): 5 × ~12s = 60s lower bound -# - bad variant (all timeout): 5 × 24s = 120s upper bound -# Pick problems whose baseline elapsed_ms falls in [MIN_MS, MAX_MS]. -# Per-problem timeout defaults to 24s in evaluator.py. -MIN_MS = 4000 -MAX_MS = 15000 - - -def main(): - rows = [] - with open(PROBLEMS) as f: - for line in f: - d = json.loads(line) - rows.append( - ( - d["problem_sha256"], - d["z3_status"]["elapsed_ms"], - d["z3_status"]["result"], - ) - ) - rows.sort(key=lambda r: r[1]) # ascending by elapsed_ms - - in_range = [r for r in rows if MIN_MS <= r[1] <= MAX_MS] - sat_band = [r for r in in_range if r[2] == "Sat"] - unsat_band = [r for r in in_range if r[2] == "Unsat"] - - picked = sat_band[:NUM_PROBLEMS] - if len(picked) < NUM_PROBLEMS: - picked.extend(unsat_band[: NUM_PROBLEMS - len(picked)]) - if len(picked) < NUM_PROBLEMS: - # fallback: widen below MIN_MS toward 0, prefer Sat - below = [r for r in rows if r[1] < MIN_MS] - sat_below = sorted((r for r in below if r[2] == "Sat"), key=lambda r: -r[1]) - picked.extend(sat_below[: NUM_PROBLEMS - len(picked)]) - if len(picked) < NUM_PROBLEMS: - remaining = [r for r in rows if r not in picked] - picked.extend(remaining[: NUM_PROBLEMS - len(picked)]) - - OUT.parent.mkdir(parents=True, exist_ok=True) - OUT.write_text( - json.dumps( - { - "selection": f"{NUM_PROBLEMS} Sat-preferred with baseline_ms in [{MIN_MS}, {MAX_MS}] (Unsat / sub-MIN_MS fallbacks)", - "source": str(PROBLEMS.relative_to(ROOT.parent.parent)), - "sha256": [r[0] for r in picked], - "summary": [ - { - "sha": r[0][:12], - "baseline_ms": r[1], - "baseline_result": r[2], - } - for r in picked - ], - }, - indent=2, - ) - + "\n" - ) - print(f"wrote {OUT.relative_to(ROOT.parent.parent)} ({len(picked)} problems)") - for s in picked: - print(f" {s[0][:12]} {s[1]:>6} ms {s[2]}") - - -if __name__ == "__main__": - main() diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index 7a555a7bcb..b8c69c56d1 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -51,7 +51,7 @@ def _load_problem_index(): def _load_stage1_shas(): if not _STAGE1_SAMPLE.exists(): - print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_stage1_sample.py first", + print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", file=sys.stderr) sys.exit(2) return list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) diff --git a/input/z3-bench/evolve/run_phase.sh b/input/z3-bench/evolve/run_phase.sh index 48dc7a2e4a..681e2abb36 100755 --- a/input/z3-bench/evolve/run_phase.sh +++ b/input/z3-bench/evolve/run_phase.sh @@ -59,9 +59,9 @@ if [ ! -f "$RUNNER" ]; then exit 1 fi -if [ ! -f "$ROOT/shared/stage1_sample.json" ]; then - echo "stage1_sample.json missing — running build_stage1_sample.py first..." - python "$ROOT/build_stage1_sample.py" +if [ ! -f "$ROOT/shared/stage1_sample.json" ] || [ ! -f "$ROOT/shared/stage2_sample.json" ]; then + echo "sample json missing — running build_samples.py first..." + python "$ROOT/build_samples.py" fi if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ -f "$ROOT/shared/local_baseline.json" ]; then diff --git a/input/z3-bench/evolve/shared/baseline_params.py b/input/z3-bench/evolve/shared/baseline_params.py index a9c42e628e..1b45d966c8 100644 --- a/input/z3-bench/evolve/shared/baseline_params.py +++ b/input/z3-bench/evolve/shared/baseline_params.py @@ -70,7 +70,7 @@ def _self_test(): stage1_sample = here / "stage1_sample.json" if not stage1_sample.exists(): - print(f"ERROR: {stage1_sample} missing. run build_stage1_sample.py first.", + print(f"ERROR: {stage1_sample} missing. run build_samples.py first.", file=sys.stderr) return 2 diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index ab904fbc45..f3aa1208ce 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -1,9 +1,15 @@ """ OpenEvolve evaluator for Z3 parameter tuning. -Cascade: - stage1: 5 stratified problems (stage1_sample.json), per-problem 15s - stage2: full 50 problems, per-problem 120s +Sample selection (built by build_samples.py): + stage1: stage1_sample.json (5 SAT, quintile-spread by problem size) + stage2: stage2_sample.json (50 SAT+UNSAT, quintile-spread by problem size) + +Per-problem timeout = max(MIN_TIMEOUT_S, ceil(baseline_ms * TIMEOUT_FACTOR / 1000)). +Adaptive: small problems get tight cap, huge problems get proportional headroom. +Constants TIMEOUT_FACTOR=1.3, MIN_TIMEOUT_S=5 (z3 startup overhead floor). +Baseline_ms reflects local rebaseline (rebaseline_local.py) when SHA is in +local_baseline.json, else raw_ms from problems.jsonl. Score: geomean(speedup) * solved_rate^2 * efficiency^OPENEVOLVE_STATS_WEIGHT. efficiency = geomean over {decisions, propagations, conflicts, mk clause} @@ -17,8 +23,6 @@ Environment overrides: OPENEVOLVE_MAX_PROBLEMS int — cap stage2 problem count - OPENEVOLVE_STAGE1_TIMEOUT int sec — per-problem timeout in stage1 (default 24) - OPENEVOLVE_STAGE2_TIMEOUT int sec — per-problem timeout in stage2 (default 120) OPENEVOLVE_PARALLEL_SOLVERS int — SINGLE knob for total z3 concurrency (default 1). Spawns N z3 worker subprocesses concurrently per stage; each pinned to a @@ -31,11 +35,15 @@ """ import importlib.util import json +import math import os import pathlib import sys import traceback +TIMEOUT_FACTOR = 1.3 +MIN_TIMEOUT_S = 5 + _HERE = pathlib.Path(__file__).resolve().parent sys.path.insert(0, str(_HERE)) @@ -50,6 +58,7 @@ _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _STAGE1_SAMPLE = _HERE / "stage1_sample.json" +_STAGE2_SAMPLE = _HERE / "stage2_sample.json" _LOCAL_BASELINE = _HERE / "local_baseline.json" _PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") # None -> sys.executable @@ -64,14 +73,12 @@ def _load_program(path): def _load_problems(): - # If rebaseline_local.py has been run, restrict stage2 to that SHA subset - # (20 stratified). Reasons: - # - non-rebaselined problems would use raw_ms recorded on a different - # machine, skewing speedup - # - smaller stage2 = faster iterations - # Local elapsed_ms used only when local result matches raw, else fall - # back to raw_ms for that SHA to avoid speedup distortion from a bad - # local run (timeout, mismatch). + # Always returns the full problems.jsonl set (50 problems). + # local_baseline.json (if present) overlays per-SHA local timing so that + # speedup uses on-machine wall-clock for rebaselined SHAs; non-rebaselined + # SHAs fall back to raw_ms recorded in problems.jsonl. Local elapsed_ms is + # only trusted when local result matches raw — otherwise raw_ms wins to + # avoid speedup distortion from a bad local run (timeout, mismatch). local = {} if _LOCAL_BASELINE.exists(): local = json.loads(_LOCAL_BASELINE.read_text()) @@ -81,8 +88,6 @@ def _load_problems(): for line in f: d = json.loads(line) sha = d["problem_sha256"] - if local and sha not in local: - continue baseline_ms = d["z3_status"]["elapsed_ms"] baseline_result = d["z3_status"]["result"] baseline_stats = {} @@ -109,6 +114,17 @@ def _filter_stage1(problems): return [p for p in problems if p["sha"] in keep] +def _filter_stage2(problems): + # stage2_sample.json pins a deterministic 50-problem subset built by + # build_samples.py (quintile-spread by num_hard_constraints, num_variables). + # raw-data may exceed 50; without this filter, stage2 cost grows + # unbounded as raw-data accumulates. + if not _STAGE2_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE2_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + def _err_result(metrics_extra, artifacts): metrics = { "combined_score": 0.0, @@ -122,7 +138,7 @@ def _err_result(metrics_extra, artifacts): return EvaluationResult(metrics=metrics, artifacts=artifacts) -def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): +def _evaluate(program_path, problems, stage_name): try: program = _load_program(program_path) except Exception as e: @@ -199,13 +215,14 @@ def _evaluate(program_path, problems, per_problem_timeout_s, stage_name): def _solve(idx_p): idx, p = idx_p smt2_path = _RAW_DIR / p["smt2"] + timeout_s = max(MIN_TIMEOUT_S, math.ceil(p["baseline_ms"] * TIMEOUT_FACTOR / 1000)) core = _core_pool.get() try: - r = run_z3(smt2_path, params, per_problem_timeout_s, + r = run_z3(smt2_path, params, timeout_s, python_bin=_PYTHON_BIN, cpu_core=core) finally: _core_pool.put(core) - return idx, p, r, core + return idx, p, r, core, timeout_s def _is_regression(p, r): # Correctness regression: baseline gave a definitive answer (Sat/Unsat) @@ -257,9 +274,9 @@ def _regression_err(p, r): if n_parallel == 1: # Sequential: short-circuit immediately on invalid or regression. for pair in enumerate(problems): - idx, p, r, core = _solve(pair) + idx, p, r, core, timeout_s = _solve(pair) print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " f"(core={core})", flush=True) if "invalid_param" in r: return _invalid_err(r) @@ -270,17 +287,18 @@ def _regression_err(p, r): by_idx[idx] = (p, r) else: # Parallel: cancel pending futures on first failure. In-flight tasks - # keep running until subprocess timeout (with __exit__ waits for them); - # acceptable for stage1 (timeout ~24s). + # keep running until subprocess timeout (with __exit__ waits for them). + # Per-problem timeout is now baseline_ms * 1.3 (adaptive), so worst-case + # drain depends on the slowest in-flight problem rather than a fixed cap. from concurrent.futures import ThreadPoolExecutor, as_completed with ThreadPoolExecutor(max_workers=n_parallel) as ex: futures = [ex.submit(_solve, pair) for pair in enumerate(problems)] for fut in as_completed(futures): if abort is not None: continue - idx, p, r, core = fut.result() + idx, p, r, core, timeout_s = fut.result() print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " f"(core={core})", flush=True) if "invalid_param" in r: abort = ("invalid", p, r) @@ -353,21 +371,20 @@ def _regression_err(p, r): def evaluate_stage1(program_path): - # Default 24s per problem → 5 problems = 60-120s wall-clock budget - # (60s lower bound on baseline-like variants, 120s upper bound on all-timeout). - timeout = int(os.environ.get("OPENEVOLVE_STAGE1_TIMEOUT", "24")) + # Per-problem timeout = baseline_ms * TIMEOUT_FACTOR (computed in _solve). + # Stage1 wall-clock budget ≈ TIMEOUT_FACTOR * sum(baseline_ms) over 5 sample + # problems (parallel mode divides by n_parallel). problems = _filter_stage1(_load_problems()) - return _evaluate(program_path, problems, timeout, "stage1") + return _evaluate(program_path, problems, "stage1") def evaluate_stage2(program_path): - timeout = int(os.environ.get("OPENEVOLVE_STAGE2_TIMEOUT", "120")) - problems = _load_problems() - return _evaluate(program_path, problems, timeout, "stage2") + problems = _filter_stage2(_load_problems()) + return _evaluate(program_path, problems, "stage2") def evaluate(program_path): # Evolution uses stage1 (5 sampled problems) only — fast iteration loop. - # Stage2 (20 problems) is reserved for final verification via + # Stage2 (full 50 problems) is reserved for final verification via # final_verify.py on the best-program, not the per-variant search loop. return evaluate_stage1(program_path) diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json index a31bb6bfb3..82cd674969 100644 --- a/input/z3-bench/evolve/shared/stage1_sample.json +++ b/input/z3-bench/evolve/shared/stage1_sample.json @@ -1,38 +1,48 @@ { - "selection": "5 Sat-preferred with baseline_ms in [4000, 15000] (Unsat / sub-MIN_MS fallbacks)", + "selection": "5 SAT-only, quintile-spread by (num_hard_constraints, num_variables)", "source": "z3-bench/problems.jsonl", "sha256": [ - "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", - "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a" + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", + "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", + "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" ], "summary": [ { - "sha": "75ee534dbc92", - "baseline_ms": 13086, - "baseline_result": "Sat" + "sha": "505a2e36055c", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 307 }, { - "sha": "069af7891076", - "baseline_ms": 13885, - "baseline_result": "Sat" + "sha": "4a02d7846394", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 14428 }, { - "sha": "318bc251e0bd", - "baseline_ms": 14232, - "baseline_result": "Sat" + "sha": "8a304b9c461a", + "num_hard_constraints": 112796, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3053 }, { - "sha": "493242c37992", - "baseline_ms": 14353, - "baseline_result": "Sat" + "sha": "6aab51935a09", + "num_hard_constraints": 113172, + "num_variables": 17151, + "baseline_result": "Sat", + "baseline_ms": 3681 }, { - "sha": "4a02d7846394", - "baseline_ms": 14428, - "baseline_result": "Sat" + "sha": "a7df812c620d", + "num_hard_constraints": 696365, + "num_variables": 83551, + "baseline_result": "Sat", + "baseline_ms": 93445 } ] } diff --git a/input/z3-bench/evolve/shared/stage2_sample.json b/input/z3-bench/evolve/shared/stage2_sample.json new file mode 100644 index 0000000000..d5dd3fe11c --- /dev/null +++ b/input/z3-bench/evolve/shared/stage2_sample.json @@ -0,0 +1,408 @@ +{ + "selection": "50 SAT+UNSAT, quintile-spread by (num_hard_constraints, num_variables)", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", + "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", + "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", + "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", + "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", + "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", + "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", + "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", + "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", + "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", + "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", + "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", + "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", + "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", + "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", + "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", + "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", + "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", + "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", + "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", + "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", + "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", + "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", + "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", + "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", + "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", + "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", + "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", + "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", + "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", + "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", + "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", + "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", + "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", + "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", + "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", + "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" + ], + "summary": [ + { + "sha": "fac53f0ffed2", + "num_hard_constraints": 14932, + "num_variables": 3797, + "baseline_result": "Unsat", + "baseline_ms": 221 + }, + { + "sha": "4fb703b12127", + "num_hard_constraints": 15034, + "num_variables": 3842, + "baseline_result": "Unsat", + "baseline_ms": 311 + }, + { + "sha": "17cc4d349ce3", + "num_hard_constraints": 15243, + "num_variables": 3932, + "baseline_result": "Sat", + "baseline_ms": 366 + }, + { + "sha": "133383a624ef", + "num_hard_constraints": 24797, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 480 + }, + { + "sha": "ac90ca97ff99", + "num_hard_constraints": 24797, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 239 + }, + { + "sha": "25025d341f86", + "num_hard_constraints": 24807, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 407 + }, + { + "sha": "40bd9a434478", + "num_hard_constraints": 24807, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 490 + }, + { + "sha": "e57b3cf2bc7e", + "num_hard_constraints": 24936, + "num_variables": 5752, + "baseline_result": "Unsat", + "baseline_ms": 268 + }, + { + "sha": "fe3a23ba2a11", + "num_hard_constraints": 24936, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 258 + }, + { + "sha": "187551dceaf0", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 294 + }, + { + "sha": "505a2e36055c", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 307 + }, + { + "sha": "a4658d3a051a", + "num_hard_constraints": 25205, + "num_variables": 5854, + "baseline_result": "Sat", + "baseline_ms": 597 + }, + { + "sha": "b6393502fdb5", + "num_hard_constraints": 25205, + "num_variables": 5854, + "baseline_result": "Sat", + "baseline_ms": 312 + }, + { + "sha": "872cbdb83f73", + "num_hard_constraints": 59387, + "num_variables": 10244, + "baseline_result": "Sat", + "baseline_ms": 1298 + }, + { + "sha": "aa358daf4226", + "num_hard_constraints": 59387, + "num_variables": 10244, + "baseline_result": "Sat", + "baseline_ms": 1674 + }, + { + "sha": "069af7891076", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 13885 + }, + { + "sha": "29efe6d38d7b", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 12712 + }, + { + "sha": "42bc61a62698", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 12692 + }, + { + "sha": "4a02d7846394", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 14428 + }, + { + "sha": "65444d693881", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 13089 + }, + { + "sha": "75ee534dbc92", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 13086 + }, + { + "sha": "7ac5a84f68bc", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 14992 + }, + { + "sha": "deb82eaaca14", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 13346 + }, + { + "sha": "03b7e129d625", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 16518 + }, + { + "sha": "318bc251e0bd", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 14232 + }, + { + "sha": "493242c37992", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 14353 + }, + { + "sha": "86468fd861ff", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 15671 + }, + { + "sha": "8a304b9c461a", + "num_hard_constraints": 112796, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3053 + }, + { + "sha": "d8d5ffa7d824", + "num_hard_constraints": 112812, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3350 + }, + { + "sha": "3cacf544225e", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Unsat", + "baseline_ms": 2996 + }, + { + "sha": "a47edaf1aecb", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2343 + }, + { + "sha": "aeec9f77b092", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2193 + }, + { + "sha": "0f6f9aa28440", + "num_hard_constraints": 112990, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2728 + }, + { + "sha": "21069961e8dc", + "num_hard_constraints": 113006, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2900 + }, + { + "sha": "6aab51935a09", + "num_hard_constraints": 113172, + "num_variables": 17151, + "baseline_result": "Sat", + "baseline_ms": 3681 + }, + { + "sha": "cc611a5155b2", + "num_hard_constraints": 524539, + "num_variables": 59881, + "baseline_result": "Sat", + "baseline_ms": 42599 + }, + { + "sha": "3854194b901b", + "num_hard_constraints": 524914, + "num_variables": 59955, + "baseline_result": "Sat", + "baseline_ms": 66100 + }, + { + "sha": "5250d459bef2", + "num_hard_constraints": 524936, + "num_variables": 59955, + "baseline_result": "Sat", + "baseline_ms": 67552 + }, + { + "sha": "7d51ef2bfc4c", + "num_hard_constraints": 524936, + "num_variables": 59955, + "baseline_result": "Sat", + "baseline_ms": 40558 + }, + { + "sha": "4c942959630b", + "num_hard_constraints": 695689, + "num_variables": 83411, + "baseline_result": "Sat", + "baseline_ms": 132126 + }, + { + "sha": "a7df812c620d", + "num_hard_constraints": 696365, + "num_variables": 83551, + "baseline_result": "Sat", + "baseline_ms": 93445 + }, + { + "sha": "76bcc4964307", + "num_hard_constraints": 696736, + "num_variables": 83621, + "baseline_result": "Sat", + "baseline_ms": 112662 + }, + { + "sha": "7f7b5c632ef8", + "num_hard_constraints": 696736, + "num_variables": 83621, + "baseline_result": "Sat", + "baseline_ms": 181205 + }, + { + "sha": "86efb0762e6d", + "num_hard_constraints": 696736, + "num_variables": 83621, + "baseline_result": "Sat", + "baseline_ms": 80512 + }, + { + "sha": "3b58bd47434b", + "num_hard_constraints": 1092831, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 31732 + }, + { + "sha": "f54dba052fbf", + "num_hard_constraints": 1092831, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 31406 + }, + { + "sha": "bc60e5e73924", + "num_hard_constraints": 1093104, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 32076 + }, + { + "sha": "c5d46b1e315a", + "num_hard_constraints": 1093134, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 32836 + }, + { + "sha": "96158dd28c0b", + "num_hard_constraints": 1095737, + "num_variables": 99809, + "baseline_result": "Unsat", + "baseline_ms": 33160 + }, + { + "sha": "be1c308d7977", + "num_hard_constraints": 1095737, + "num_variables": 99809, + "baseline_result": "Unsat", + "baseline_ms": 33752 + } + ] +} diff --git a/input/z3-bench/problems.jsonl b/input/z3-bench/problems.jsonl index 9e15a30e29..24180fcb55 100644 --- a/input/z3-bench/problems.jsonl +++ b/input/z3-bench/problems.jsonl @@ -1,50 +1,50 @@ -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", "seed": 0, "smt2_filename": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 145020, "arith eq adapter": 1624, "arith-bound-propagations-lp": 14758, "arith-conflicts": 101, "arith-diseq": 19981, "arith-fixed-eqs": 8401, "arith-lower": 88590, "arith-make-feasible": 13517, "arith-max-columns": 1644, "arith-max-rows": 1023, "arith-offset-eqs": 12540, "arith-upper": 88093, "binary propagations": 3044960, "conflicts": 638, "decisions": 16700, "del clause": 801, "final checks": 41, "max memory": 4318.31, "memory": 4076.23, "minimized lits": 3511, "mk bool var": 60789, "mk clause": 62512, "mk clause binary": 15003837, "num allocs": 276298779074.0, "num checks": 42, "pb conflicts": 22, "pb predicates": 367, "pb propagations": 1240, "pb resolves": 22, "propagations": 3734347, "restarts": 5, "rlimit count": 27700333, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 16.518}, "z3_status": {"elapsed_ms": 16518, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", "seed": 0, "smt2_filename": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 95311, "arith eq adapter": 1608, "arith-bound-propagations-lp": 9506, "arith-conflicts": 71, "arith-diseq": 14280, "arith-fixed-eqs": 5175, "arith-lower": 56673, "arith-make-feasible": 8011, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 6459, "arith-upper": 56242, "binary propagations": 2085729, "conflicts": 419, "decisions": 13038, "del clause": 1084, "final checks": 40, "max memory": 4320.75, "memory": 4077.95, "minimized lits": 5865, "mk bool var": 60480, "mk clause": 60206, "mk clause binary": 14964248, "num allocs": 1625635741926.0, "num checks": 41, "pb conflicts": 30, "pb predicates": 363, "pb propagations": 420, "pb resolves": 30, "propagations": 2535296, "restarts": 3, "rlimit count": 26615394, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140869, "time": 13.884}, "z3_status": {"elapsed_ms": 13885, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112990, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", "seed": 0, "smt2_filename": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 87034, "arith eq adapter": 1026, "arith-bound-propagations-lp": 4214, "arith-conflicts": 7, "arith-diseq": 2406, "arith-fixed-eqs": 1624, "arith-lower": 33416, "arith-make-feasible": 2917, "arith-max-columns": 977, "arith-max-rows": 627, "arith-offset-eqs": 6366, "arith-upper": 33019, "binary propagations": 737687, "conflicts": 281, "decisions": 10023, "del clause": 2426, "final checks": 17, "max memory": 620.35, "memory": 599.48, "minimized lits": 627, "mk bool var": 25823, "mk clause": 26318, "mk clause binary": 2791918, "num allocs": 23895626486.0, "num checks": 18, "pb conflicts": 96, "pb predicates": 1271, "pb propagations": 231, "pb resolves": 89, "propagations": 1022106, "restarts": 2, "rlimit count": 10426372, "solve-eqs-elim-vars": 13104, "solve-eqs-steps": 45389, "time": 2.728}, "z3_status": {"elapsed_ms": 2728, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24797, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", "seed": 0, "smt2_filename": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 605, "arith eq adapter": 298, "arith-bound-propagations-lp": 33, "arith-conflicts": 1, "arith-diseq": 5, "arith-fixed-eqs": 3, "arith-lower": 101, "arith-make-feasible": 10, "arith-max-columns": 305, "arith-max-rows": 189, "arith-upper": 103, "binary propagations": 8669, "conflicts": 8, "decisions": 12, "del clause": 457, "max memory": 88.59, "memory": 85.7, "mk bool var": 6998, "mk clause": 5875, "mk clause binary": 279848, "num allocs": 7304494372.0, "num checks": 1, "pb predicates": 259, "propagations": 10603, "rlimit count": 1689462, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13406, "time": 0.48}, "z3_status": {"elapsed_ms": 480, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 2188, "num_hard_constraints": 15243, "num_int": 1736, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 8, "num_soft_constraints": 224, "num_variables": 3932}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a__543b29ed8f75ba2d__seed0.meta.jsonl", "problem_sha256": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", "seed": 0, "smt2_filename": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5332, "arith eq adapter": 198, "arith-bound-propagations-lp": 515, "arith-conflicts": 2, "arith-diseq": 229, "arith-fixed-eqs": 172, "arith-lower": 2135, "arith-make-feasible": 609, "arith-max-columns": 159, "arith-max-rows": 92, "arith-offset-eqs": 467, "arith-upper": 2217, "binary propagations": 37973, "conflicts": 80, "decisions": 1169, "del clause": 248, "final checks": 7, "max memory": 41.83, "memory": 36.99, "minimized lits": 230, "mk bool var": 3437, "mk clause": 3358, "mk clause binary": 38581, "num allocs": 127421138, "num checks": 8, "pb conflicts": 14, "pb predicates": 102, "pb propagations": 56, "pb resolves": 8, "propagations": 53219, "rlimit count": 992112, "solve-eqs-elim-vars": 3264, "solve-eqs-steps": 7166, "time": 0.365}, "z3_status": {"elapsed_ms": 366, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24937, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", "seed": 0, "smt2_filename": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 8031, "arith eq adapter": 353, "arith-bound-propagations-lp": 847, "arith-conflicts": 7, "arith-diseq": 578, "arith-fixed-eqs": 399, "arith-lower": 3222, "arith-make-feasible": 386, "arith-max-columns": 310, "arith-max-rows": 192, "arith-offset-eqs": 392, "arith-upper": 3456, "binary propagations": 65381, "conflicts": 97, "decisions": 1067, "del clause": 491, "final checks": 7, "max memory": 88.59, "memory": 86.9, "minimized lits": 232, "mk bool var": 7069, "mk clause": 6801, "mk clause binary": 280980, "num allocs": 885209871, "num checks": 8, "pb conflicts": 28, "pb predicates": 260, "pb propagations": 10, "pb resolves": 26, "propagations": 92823, "rlimit count": 1766969, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13242, "time": 0.294}, "z3_status": {"elapsed_ms": 294, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 113006, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", "seed": 0, "smt2_filename": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 55429, "arith eq adapter": 968, "arith-bound-propagations-lp": 3780, "arith-conflicts": 5, "arith-diseq": 1510, "arith-fixed-eqs": 1036, "arith-lower": 19629, "arith-make-feasible": 1749, "arith-max-columns": 823, "arith-max-rows": 526, "arith-offset-eqs": 3086, "arith-upper": 19853, "binary propagations": 526090, "conflicts": 330, "decisions": 7222, "del clause": 2676, "final checks": 17, "max memory": 616.98, "memory": 595.92, "minimized lits": 1209, "mk bool var": 24324, "mk clause": 25064, "mk clause binary": 2736107, "num allocs": 24112114359.0, "num checks": 18, "pb conflicts": 89, "pb predicates": 1266, "pb propagations": 131, "pb resolves": 85, "propagations": 743241, "restarts": 2, "rlimit count": 14138638, "solve-eqs-elim-vars": 13431, "solve-eqs-steps": 47221, "time": 2.9}, "z3_status": {"elapsed_ms": 2900, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24807, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", "seed": 0, "smt2_filename": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 489, "arith eq adapter": 294, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-lower": 37, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "arith-upper": 37, "binary propagations": 4076, "conflicts": 3, "decisions": 4, "del clause": 454, "max memory": 88.83, "memory": 85.64, "mk bool var": 7005, "mk clause": 5856, "mk clause binary": 279773, "num allocs": 7248116132.0, "num checks": 1, "pb predicates": 259, "propagations": 5019, "rlimit count": 1554154, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13345, "time": 0.407}, "z3_status": {"elapsed_ms": 407, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", "seed": 0, "smt2_filename": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 6074, "arith eq adapter": 1590, "arith-bound-propagations-lp": 924, "arith-conflicts": 5, "arith-diseq": 240, "arith-fixed-eqs": 271, "arith-lower": 3118, "arith-make-feasible": 308, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 98, "arith-upper": 3121, "binary propagations": 117701, "conflicts": 34, "decisions": 196, "del clause": 608, "max memory": 4321.07, "memory": 4067.98, "minimized lits": 9, "mk bool var": 60496, "mk clause": 54268, "mk clause binary": 14969844, "num allocs": 1708759135547.0, "num checks": 1, "pb predicates": 363, "pb propagations": 28, "propagations": 136583, "rlimit count": 21352456, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 141071, "time": 12.712}, "z3_status": {"elapsed_ms": 12712, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", "seed": 0, "smt2_filename": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 95430, "arith eq adapter": 1629, "arith-bound-propagations-lp": 12154, "arith-conflicts": 72, "arith-diseq": 16605, "arith-fixed-eqs": 6134, "arith-lower": 58588, "arith-make-feasible": 8769, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 7789, "arith-upper": 59006, "binary propagations": 2575222, "conflicts": 501, "decisions": 17511, "del clause": 1217, "final checks": 30, "max memory": 4318.35, "memory": 4076.37, "minimized lits": 5254, "mk bool var": 60793, "mk clause": 61190, "mk clause binary": 15003811, "num allocs": 268741800331.0, "num checks": 31, "pb conflicts": 33, "pb predicates": 367, "pb propagations": 490, "pb resolves": 32, "propagations": 3164096, "restarts": 4, "rlimit count": 26341700, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 14.232}, "z3_status": {"elapsed_ms": 14232, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32107, "num_hard_constraints": 524914, "num_int": 27810, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1455, "num_variables": 59955}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", "seed": 0, "smt2_filename": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 12346592, "arith eq adapter": 4263, "arith-bound-propagations-lp": 177174, "arith-conflicts": 615, "arith-diseq": 409254, "arith-fixed-eqs": 162505, "arith-lower": 5819586, "arith-make-feasible": 219820, "arith-max-columns": 4092, "arith-max-rows": 2679, "arith-offset-eqs": 1145118, "arith-upper": 5824768, "binary propagations": 115958664, "conflicts": 20293, "decisions": 403008, "del clause": 37530, "final checks": 49, "max memory": 2497.69, "memory": 2437.4, "minimized lits": 171338, "mk bool var": 90959, "mk clause": 142266, "mk clause binary": 10500181, "num allocs": 838208096541.0, "num checks": 50, "pb conflicts": 816, "pb predicates": 4090, "pb propagations": 10434, "pb resolves": 741, "propagations": 159458871, "restarts": 122, "rlimit count": 285787632, "solve-eqs-elim-vars": 45255, "solve-eqs-steps": 149099, "time": 66.1}, "z3_status": {"elapsed_ms": 66100, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1092831, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", "seed": 0, "smt2_filename": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 56536, "arith eq adapter": 6993, "arith-bound-propagations-lp": 4168, "arith-conflicts": 2, "arith-diseq": 300, "arith-fixed-eqs": 973, "arith-lower": 22496, "arith-make-feasible": 713, "arith-max-columns": 6906, "arith-max-rows": 4548, "arith-offset-eqs": 3338, "arith-upper": 22521, "binary propagations": 348869, "conflicts": 43, "decisions": 513, "del clause": 11461, "max memory": 4743.79, "memory": 4498.16, "minimized lits": 14, "mk bool var": 148833, "mk clause": 125242, "mk clause binary": 18933928, "num allocs": 2220106133528.0, "num checks": 1, "pb predicates": 6459, "pb propagations": 5, "propagations": 444570, "rlimit count": 66826573, "solve-eqs-elim-vars": 74706, "solve-eqs-steps": 241608, "time": 31.732}, "z3_status": {"elapsed_ms": 31732, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112978, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", "seed": 0, "smt2_filename": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 140007, "arith eq adapter": 936, "arith-bound-propagations-lp": 4268, "arith-conflicts": 13, "arith-diseq": 3954, "arith-fixed-eqs": 1898, "arith-lower": 56038, "arith-make-feasible": 2691, "arith-max-columns": 768, "arith-max-rows": 491, "arith-offset-eqs": 6795, "arith-upper": 55961, "binary propagations": 1494337, "conflicts": 784, "decisions": 4989, "del clause": 2544, "max memory": 605.3, "memory": 582.2, "minimized lits": 4171, "mk bool var": 23071, "mk clause": 25280, "mk clause binary": 2567576, "num allocs": 23395126940.0, "num checks": 1, "pb conflicts": 58, "pb predicates": 1264, "pb propagations": 189, "pb resolves": 46, "propagations": 2033058, "restarts": 7, "rlimit count": 19446685, "solve-eqs-elim-vars": 13598, "solve-eqs-steps": 47631, "time": 2.996}, "z3_status": {"elapsed_ms": 2996, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24807, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", "seed": 0, "smt2_filename": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 485, "arith eq adapter": 293, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-lower": 37, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "arith-upper": 37, "binary propagations": 4750, "conflicts": 3, "decisions": 4, "del clause": 453, "max memory": 88.64, "memory": 85.62, "mk bool var": 6997, "mk clause": 5855, "mk clause binary": 279810, "num allocs": 6621909635.0, "num checks": 1, "pb predicates": 259, "propagations": 5876, "rlimit count": 1554883, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13339, "time": 0.49}, "z3_status": {"elapsed_ms": 490, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", "seed": 0, "smt2_filename": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5074, "arith eq adapter": 1590, "arith-bound-propagations-lp": 779, "arith-conflicts": 2, "arith-diseq": 167, "arith-fixed-eqs": 206, "arith-lower": 2542, "arith-make-feasible": 257, "arith-max-columns": 1629, "arith-max-rows": 1015, "arith-offset-eqs": 96, "arith-upper": 2513, "binary propagations": 121912, "conflicts": 26, "decisions": 195, "del clause": 608, "max memory": 4320.64, "memory": 4067.25, "minimized lits": 5, "mk bool var": 60451, "mk clause": 54098, "mk clause binary": 14960765, "num allocs": 1682503615929.0, "num checks": 1, "pb predicates": 363, "pb propagations": 16, "propagations": 140779, "rlimit count": 21341530, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140898, "time": 12.692}, "z3_status": {"elapsed_ms": 12692, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", "seed": 0, "smt2_filename": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 59301, "arith eq adapter": 1636, "arith-bound-propagations-lp": 9055, "arith-conflicts": 56, "arith-diseq": 11710, "arith-fixed-eqs": 4696, "arith-lower": 35643, "arith-make-feasible": 6376, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 5531, "arith-upper": 36771, "binary propagations": 1411020, "conflicts": 383, "decisions": 11875, "del clause": 1034, "final checks": 56, "max memory": 4318.36, "memory": 4075.97, "minimized lits": 3367, "mk bool var": 60795, "mk clause": 59626, "mk clause binary": 15003810, "num allocs": 286040856795.0, "num checks": 57, "pb conflicts": 26, "pb predicates": 367, "pb propagations": 630, "pb resolves": 26, "propagations": 1751697, "restarts": 2, "rlimit count": 25778910, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 14.353}, "z3_status": {"elapsed_ms": 14353, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", "seed": 0, "smt2_filename": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 74240, "arith eq adapter": 1603, "arith-bound-propagations-lp": 7956, "arith-conflicts": 43, "arith-diseq": 7119, "arith-fixed-eqs": 4240, "arith-lower": 41809, "arith-make-feasible": 6041, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 4979, "arith-upper": 41262, "binary propagations": 1520411, "conflicts": 340, "decisions": 9171, "del clause": 786, "final checks": 39, "max memory": 4320.79, "memory": 4077.26, "minimized lits": 998, "mk bool var": 60485, "mk clause": 59105, "mk clause binary": 14964213, "num allocs": 1785451733878.0, "num checks": 40, "pb conflicts": 24, "pb predicates": 363, "pb propagations": 285, "pb resolves": 24, "propagations": 1845870, "restarts": 2, "rlimit count": 25489167, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140872, "time": 14.428}, "z3_status": {"elapsed_ms": 14428, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 44958, "num_hard_constraints": 695689, "num_int": 38403, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2133, "num_variables": 83411}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", "seed": 0, "smt2_filename": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 22780198, "arith eq adapter": 6166, "arith-bound-propagations-lp": 286437, "arith-conflicts": 1185, "arith-diseq": 707609, "arith-fixed-eqs": 256585, "arith-lower": 10543138, "arith-make-feasible": 269584, "arith-max-columns": 6012, "arith-max-rows": 3941, "arith-offset-eqs": 2140101, "arith-upper": 10483890, "binary propagations": 232759821, "conflicts": 29011, "decisions": 376993, "del clause": 64995, "final checks": 9, "max memory": 4694.12, "memory": 4492.82, "minimized lits": 290946, "mk bool var": 138039, "mk clause": 213015, "mk clause binary": 18899506, "num allocs": 1954890661459.0, "num checks": 10, "pb conflicts": 764, "pb predicates": 5948, "pb propagations": 11662, "pb resolves": 755, "propagations": 310575312, "restarts": 163, "rlimit count": 556478248, "solve-eqs-elim-vars": 61991, "solve-eqs-steps": 231026, "time": 132.126}, "z3_status": {"elapsed_ms": 132126, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 2140, "num_hard_constraints": 15034, "num_int": 1694, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 8, "num_soft_constraints": 218, "num_variables": 3842}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac__543b29ed8f75ba2d__seed0.meta.jsonl", "problem_sha256": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", "seed": 0, "smt2_filename": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 255, "arith eq adapter": 124, "arith-bound-propagations-lp": 14, "arith-fixed-eqs": 3, "arith-lower": 34, "arith-make-feasible": 8, "arith-max-columns": 135, "arith-max-rows": 77, "arith-upper": 34, "binary propagations": 2463, "conflicts": 4, "decisions": 4, "del clause": 165, "max memory": 28.14, "memory": 27.65, "mk bool var": 3129, "mk clause": 2607, "mk clause binary": 36304, "num allocs": 63214666, "num checks": 1, "pb predicates": 98, "propagations": 3035, "rlimit count": 1042113, "solve-eqs-elim-vars": 3217, "solve-eqs-steps": 6989, "time": 0.311}, "z3_status": {"elapsed_ms": 311, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24937, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", "seed": 0, "smt2_filename": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 7810, "arith eq adapter": 416, "arith-bound-propagations-lp": 780, "arith-conflicts": 4, "arith-diseq": 673, "arith-fixed-eqs": 372, "arith-lower": 3208, "arith-make-feasible": 405, "arith-max-columns": 311, "arith-max-rows": 191, "arith-offset-eqs": 274, "arith-upper": 3203, "binary propagations": 70699, "conflicts": 93, "decisions": 1160, "del clause": 2128, "final checks": 8, "max memory": 88.58, "memory": 86.84, "minimized lits": 112, "mk bool var": 7113, "mk clause": 6750, "mk clause binary": 280979, "num allocs": 886786171, "num checks": 9, "pb conflicts": 25, "pb predicates": 260, "pb propagations": 4, "pb resolves": 23, "propagations": 99526, "rlimit count": 1778656, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13057, "time": 0.307}, "z3_status": {"elapsed_ms": 307, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32107, "num_hard_constraints": 524936, "num_int": 27810, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1455, "num_variables": 59955}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", "seed": 0, "smt2_filename": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 12975639, "arith eq adapter": 4219, "arith-bound-propagations-lp": 159293, "arith-conflicts": 608, "arith-diseq": 451355, "arith-fixed-eqs": 170238, "arith-lower": 6143127, "arith-make-feasible": 190568, "arith-max-columns": 4026, "arith-max-rows": 2636, "arith-offset-eqs": 1183279, "arith-upper": 6161508, "binary propagations": 126959642, "conflicts": 21002, "decisions": 325796, "del clause": 40992, "final checks": 13, "max memory": 2491.57, "memory": 2429.38, "minimized lits": 211317, "mk bool var": 90262, "mk clause": 141847, "mk clause binary": 10484184, "num allocs": 784980287529.0, "num checks": 14, "pb conflicts": 900, "pb predicates": 4081, "pb propagations": 8427, "pb resolves": 851, "propagations": 174972212, "restarts": 128, "rlimit count": 305746540, "solve-eqs-elim-vars": 45406, "solve-eqs-steps": 151730, "time": 67.552}, "z3_status": {"elapsed_ms": 67552, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", "seed": 0, "smt2_filename": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5498, "arith eq adapter": 1590, "arith-bound-propagations-lp": 831, "arith-conflicts": 6, "arith-diseq": 260, "arith-fixed-eqs": 202, "arith-lower": 2802, "arith-make-feasible": 268, "arith-max-columns": 1632, "arith-max-rows": 1015, "arith-offset-eqs": 145, "arith-upper": 2774, "binary propagations": 117112, "conflicts": 30, "decisions": 140, "del clause": 608, "max memory": 4320.63, "memory": 4067.77, "minimized lits": 42, "mk bool var": 60465, "mk clause": 54151, "mk clause binary": 14960999, "num allocs": 248743109287.0, "num checks": 1, "pb predicates": 363, "pb propagations": 31, "propagations": 135224, "rlimit count": 21339214, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140903, "time": 13.089}, "z3_status": {"elapsed_ms": 13089, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9359, "num_hard_constraints": 113172, "num_int": 7774, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 550, "num_variables": 17151}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", "seed": 0, "smt2_filename": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 105286, "arith eq adapter": 1049, "arith-bound-propagations-lp": 4890, "arith-conflicts": 10, "arith-diseq": 2617, "arith-fixed-eqs": 1788, "arith-lower": 40711, "arith-make-feasible": 2828, "arith-max-columns": 971, "arith-max-rows": 625, "arith-offset-eqs": 6036, "arith-upper": 40917, "binary propagations": 1012034, "conflicts": 558, "decisions": 10820, "del clause": 4733, "final checks": 8, "max memory": 620.18, "memory": 599.2, "minimized lits": 2268, "mk bool var": 25831, "mk clause": 26721, "mk clause binary": 2793125, "num allocs": 23618333082.0, "num checks": 9, "pb conflicts": 94, "pb predicates": 1271, "pb propagations": 265, "pb resolves": 86, "propagations": 1404437, "restarts": 5, "rlimit count": 11339618, "solve-eqs-elim-vars": 13139, "solve-eqs-steps": 46025, "time": 3.681}, "z3_status": {"elapsed_ms": 3681, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", "seed": 0, "smt2_filename": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 35686, "arith eq adapter": 1601, "arith-bound-propagations-lp": 5861, "arith-conflicts": 18, "arith-diseq": 6427, "arith-fixed-eqs": 2838, "arith-lower": 20745, "arith-make-feasible": 3871, "arith-max-columns": 1634, "arith-max-rows": 1015, "arith-offset-eqs": 2844, "arith-upper": 18796, "binary propagations": 732747, "conflicts": 155, "decisions": 8418, "del clause": 961, "final checks": 41, "max memory": 4321.23, "memory": 4077.11, "minimized lits": 2234, "mk bool var": 60515, "mk clause": 56969, "mk clause binary": 14972566, "num allocs": 1633050360948.0, "num checks": 42, "pb conflicts": 27, "pb predicates": 363, "pb propagations": 352, "pb resolves": 27, "propagations": 912363, "rlimit count": 23855170, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140952, "time": 13.086}, "z3_status": {"elapsed_ms": 13086, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45066, "num_hard_constraints": 696736, "num_int": 38505, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2139, "num_variables": 83621}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", "seed": 0, "smt2_filename": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 18440443, "arith eq adapter": 6081, "arith-bound-propagations-lp": 212243, "arith-conflicts": 941, "arith-diseq": 558301, "arith-fixed-eqs": 195998, "arith-lower": 8270504, "arith-make-feasible": 203372, "arith-max-columns": 6012, "arith-max-rows": 3938, "arith-offset-eqs": 1806760, "arith-upper": 8318461, "binary propagations": 191192148, "conflicts": 23003, "decisions": 350564, "del clause": 58027, "final checks": 26, "max memory": 4679.64, "memory": 4475.72, "minimized lits": 221909, "mk bool var": 138182, "mk clause": 201346, "mk clause binary": 18898284, "num allocs": 1959882383024.0, "num checks": 27, "pb conflicts": 814, "pb predicates": 5948, "pb propagations": 9446, "pb resolves": 810, "propagations": 251976930, "restarts": 135, "rlimit count": 467737909, "solve-eqs-elim-vars": 62202, "solve-eqs-steps": 233917, "time": 112.662}, "z3_status": {"elapsed_ms": 112662, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", "seed": 0, "smt2_filename": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 6100, "arith eq adapter": 1590, "arith-bound-propagations-lp": 943, "arith-conflicts": 4, "arith-diseq": 224, "arith-fixed-eqs": 242, "arith-lower": 3067, "arith-make-feasible": 265, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 161, "arith-upper": 3100, "binary propagations": 135175, "conflicts": 28, "decisions": 146, "del clause": 608, "max memory": 4320.64, "memory": 4067.46, "mk bool var": 60466, "mk clause": 54267, "mk clause binary": 14960982, "num allocs": 247227550887.0, "num checks": 1, "pb predicates": 363, "pb propagations": 31, "propagations": 156475, "rlimit count": 20732604, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 140756, "time": 14.992}, "z3_status": {"elapsed_ms": 14992, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32107, "num_hard_constraints": 524936, "num_int": 27810, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1455, "num_variables": 59955}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", "seed": 0, "smt2_filename": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5445205, "arith eq adapter": 4147, "arith-bound-propagations-lp": 97950, "arith-conflicts": 238, "arith-diseq": 203618, "arith-fixed-eqs": 84468, "arith-lower": 2484160, "arith-make-feasible": 107974, "arith-max-columns": 4031, "arith-max-rows": 2642, "arith-offset-eqs": 550751, "arith-upper": 2503352, "binary propagations": 50228368, "conflicts": 8858, "decisions": 242490, "del clause": 13324, "final checks": 37, "max memory": 2491.74, "memory": 2428.83, "minimized lits": 61681, "mk bool var": 90264, "mk clause": 122774, "mk clause binary": 10476400, "num allocs": 768321328643.0, "num checks": 38, "pb conflicts": 691, "pb predicates": 4081, "pb propagations": 5087, "pb resolves": 666, "propagations": 69339814, "restarts": 63, "rlimit count": 147263647, "solve-eqs-elim-vars": 45406, "solve-eqs-steps": 151483, "time": 40.558}, "z3_status": {"elapsed_ms": 40558, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45066, "num_hard_constraints": 696736, "num_int": 38505, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2139, "num_variables": 83621}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", "seed": 0, "smt2_filename": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 37062841, "arith eq adapter": 6051, "arith-bound-propagations-lp": 349707, "arith-conflicts": 1452, "arith-diseq": 1150230, "arith-fixed-eqs": 387304, "arith-lower": 17392307, "arith-make-feasible": 386095, "arith-max-columns": 5982, "arith-max-rows": 3916, "arith-offset-eqs": 3109654, "arith-upper": 17439340, "binary propagations": 403602049, "conflicts": 48772, "decisions": 603760, "del clause": 89700, "final checks": 46, "max memory": 4675.71, "memory": 4478.29, "minimized lits": 647794, "mk bool var": 137772, "mk clause": 240524, "mk clause binary": 18874440, "num allocs": 2198837164034.0, "num checks": 47, "pb conflicts": 1246, "pb predicates": 5924, "pb propagations": 19722, "pb resolves": 1202, "propagations": 540204864, "restarts": 230, "rlimit count": 925944306, "solve-eqs-elim-vars": 62257, "solve-eqs-steps": 235494, "time": 181.205}, "z3_status": {"elapsed_ms": 181205, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19738, "num_hard_constraints": 106100, "num_int": 13290, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2059, "num_variables": 33068}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", "seed": 0, "smt2_filename": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 42183, "arith eq adapter": 1625, "arith-bound-propagations-lp": 6394, "arith-conflicts": 15, "arith-diseq": 5483, "arith-fixed-eqs": 3372, "arith-lower": 24070, "arith-make-feasible": 3915, "arith-max-columns": 1640, "arith-max-rows": 1023, "arith-offset-eqs": 3491, "arith-upper": 24407, "binary propagations": 894105, "conflicts": 207, "decisions": 7280, "del clause": 991, "final checks": 44, "max memory": 4318.34, "memory": 4074.18, "minimized lits": 2493, "mk bool var": 60771, "mk clause": 58411, "mk clause binary": 15003817, "num allocs": 276646349770.0, "num checks": 45, "pb conflicts": 28, "pb predicates": 367, "pb propagations": 238, "pb resolves": 28, "propagations": 1095466, "restarts": 1, "rlimit count": 24227973, "solve-eqs-elim-vars": 27546, "solve-eqs-steps": 141584, "time": 15.671}, "z3_status": {"elapsed_ms": 15671, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45066, "num_hard_constraints": 696736, "num_int": 38505, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2139, "num_variables": 83621}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", "seed": 0, "smt2_filename": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 11494488, "arith eq adapter": 6010, "arith-bound-propagations-lp": 202414, "arith-conflicts": 693, "arith-diseq": 387281, "arith-fixed-eqs": 175207, "arith-lower": 5204616, "arith-make-feasible": 158327, "arith-max-columns": 5950, "arith-max-rows": 3895, "arith-offset-eqs": 1215308, "arith-upper": 5188371, "binary propagations": 112341445, "conflicts": 12501, "decisions": 340795, "del clause": 44414, "final checks": 31, "max memory": 4677.0, "memory": 4472.91, "minimized lits": 117407, "mk bool var": 137591, "mk clause": 187206, "mk clause binary": 18879578, "num allocs": 1946559293743.0, "num checks": 32, "pb conflicts": 841, "pb predicates": 5918, "pb propagations": 4689, "pb resolves": 833, "propagations": 150689373, "restarts": 84, "rlimit count": 326014276, "solve-eqs-elim-vars": 62312, "solve-eqs-steps": 236797, "time": 80.512}, "z3_status": {"elapsed_ms": 80512, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 5621, "num_hard_constraints": 59387, "num_int": 4609, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 14, "num_soft_constraints": 383, "num_variables": 10244}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", "seed": 0, "smt2_filename": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 24673, "arith eq adapter": 592, "arith-bound-propagations-lp": 1423, "arith-conflicts": 5, "arith-diseq": 714, "arith-fixed-eqs": 411, "arith-lower": 8074, "arith-make-feasible": 559, "arith-max-columns": 440, "arith-max-rows": 276, "arith-offset-eqs": 1294, "arith-upper": 8452, "binary propagations": 247668, "conflicts": 204, "decisions": 2761, "del clause": 2704, "final checks": 7, "max memory": 296.1, "memory": 282.53, "minimized lits": 433, "mk bool var": 13485, "mk clause": 13545, "mk clause binary": 1029592, "num allocs": 5783835209.0, "num checks": 8, "pb conflicts": 64, "pb predicates": 742, "pb propagations": 11, "pb resolves": 61, "propagations": 350767, "restarts": 1, "rlimit count": 7471692, "solve-eqs-elim-vars": 8110, "solve-eqs-steps": 27135, "time": 1.298}, "z3_status": {"elapsed_ms": 1298, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9303, "num_hard_constraints": 112796, "num_int": 7722, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 546, "num_variables": 17043}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", "seed": 0, "smt2_filename": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 96079, "arith eq adapter": 996, "arith-bound-propagations-lp": 4966, "arith-conflicts": 22, "arith-diseq": 2937, "arith-fixed-eqs": 1736, "arith-lower": 36463, "arith-make-feasible": 2744, "arith-max-columns": 928, "arith-max-rows": 595, "arith-offset-eqs": 4498, "arith-upper": 36283, "binary propagations": 923597, "conflicts": 604, "decisions": 9551, "del clause": 2461, "final checks": 7, "max memory": 619.29, "memory": 598.59, "minimized lits": 2388, "mk bool var": 25208, "mk clause": 26874, "mk clause binary": 2777754, "num allocs": 23284377244.0, "num checks": 8, "pb conflicts": 105, "pb predicates": 1270, "pb propagations": 207, "pb resolves": 96, "propagations": 1273438, "restarts": 5, "rlimit count": 11627096, "solve-eqs-elim-vars": 13164, "solve-eqs-steps": 45577, "time": 3.053}, "z3_status": {"elapsed_ms": 3053, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52910, "num_hard_constraints": 1095737, "num_int": 46851, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1923, "num_variables": 99809}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", "seed": 0, "smt2_filename": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 42398, "arith eq adapter": 6915, "arith-bound-propagations-lp": 3332, "arith-conflicts": 5, "arith-diseq": 368, "arith-fixed-eqs": 697, "arith-lower": 16011, "arith-make-feasible": 529, "arith-max-columns": 6803, "arith-max-rows": 4481, "arith-offset-eqs": 1230, "arith-upper": 15880, "binary propagations": 260020, "conflicts": 54, "decisions": 288, "del clause": 11453, "max memory": 4757.86, "memory": 4511.08, "minimized lits": 461, "mk bool var": 147911, "mk clause": 124126, "mk clause binary": 18933443, "num allocs": 2225318125530.0, "num checks": 1, "pb predicates": 6451, "propagations": 336058, "rlimit count": 67537967, "solve-eqs-elim-vars": 75286, "solve-eqs-steps": 242873, "time": 33.16}, "z3_status": {"elapsed_ms": 33160, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3276, "num_hard_constraints": 25205, "num_int": 2568, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 293, "num_variables": 5854}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", "seed": 0, "smt2_filename": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 8473, "arith eq adapter": 352, "arith-bound-propagations-lp": 704, "arith-conflicts": 3, "arith-diseq": 194, "arith-fixed-eqs": 235, "arith-lower": 2807, "arith-make-feasible": 614, "arith-max-columns": 316, "arith-max-rows": 195, "arith-offset-eqs": 542, "arith-upper": 2978, "binary propagations": 60549, "conflicts": 82, "decisions": 2016, "del clause": 526, "final checks": 20, "max memory": 88.85, "memory": 87.2, "minimized lits": 218, "mk bool var": 7141, "mk clause": 6707, "mk clause binary": 283433, "num allocs": 916529572, "num checks": 21, "pb conflicts": 28, "pb predicates": 262, "pb propagations": 42, "pb resolves": 27, "propagations": 86665, "rlimit count": 1861058, "solve-eqs-elim-vars": 4674, "solve-eqs-steps": 12943, "time": 0.597}, "z3_status": {"elapsed_ms": 597, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112978, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", "seed": 0, "smt2_filename": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 92812, "arith eq adapter": 997, "arith-bound-propagations-lp": 4793, "arith-conflicts": 12, "arith-diseq": 3187, "arith-fixed-eqs": 1504, "arith-lower": 36636, "arith-make-feasible": 2256, "arith-max-columns": 897, "arith-max-rows": 576, "arith-offset-eqs": 5809, "arith-upper": 37302, "binary propagations": 862717, "conflicts": 386, "decisions": 7695, "del clause": 3879, "final checks": 13, "max memory": 619.16, "memory": 598.16, "minimized lits": 1659, "mk bool var": 25148, "mk clause": 26490, "mk clause binary": 2774776, "num allocs": 166577556987.0, "num checks": 14, "pb conflicts": 83, "pb predicates": 1269, "pb propagations": 125, "pb resolves": 79, "propagations": 1195002, "restarts": 3, "rlimit count": 13786897, "solve-eqs-elim-vars": 13239, "solve-eqs-steps": 47503, "time": 2.343}, "z3_status": {"elapsed_ms": 2343, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 45030, "num_hard_constraints": 696365, "num_int": 38471, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 50, "num_soft_constraints": 2137, "num_variables": 83551}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", "seed": 0, "smt2_filename": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 11957912, "arith eq adapter": 6146, "arith-bound-propagations-lp": 205359, "arith-conflicts": 566, "arith-diseq": 413086, "arith-fixed-eqs": 165911, "arith-lower": 5515659, "arith-make-feasible": 220059, "arith-max-columns": 6049, "arith-max-rows": 3965, "arith-offset-eqs": 1243032, "arith-upper": 5502761, "binary propagations": 106355263, "conflicts": 12900, "decisions": 396823, "del clause": 40457, "final checks": 28, "max memory": 4702.37, "memory": 4501.36, "minimized lits": 84576, "mk bool var": 138632, "mk clause": 192891, "mk clause binary": 18913269, "num allocs": 1958182966487.0, "num checks": 29, "pb conflicts": 691, "pb predicates": 5972, "pb propagations": 9961, "pb resolves": 677, "propagations": 145339357, "restarts": 86, "rlimit count": 322543353, "solve-eqs-elim-vars": 62037, "solve-eqs-steps": 229747, "time": 93.445}, "z3_status": {"elapsed_ms": 93445, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 5621, "num_hard_constraints": 59387, "num_int": 4609, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 14, "num_soft_constraints": 383, "num_variables": 10244}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", "seed": 0, "smt2_filename": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 19410, "arith eq adapter": 518, "arith-bound-propagations-lp": 1404, "arith-conflicts": 1, "arith-diseq": 926, "arith-fixed-eqs": 636, "arith-lower": 7215, "arith-make-feasible": 931, "arith-max-columns": 461, "arith-max-rows": 290, "arith-offset-eqs": 1094, "arith-upper": 7628, "binary propagations": 199079, "conflicts": 132, "decisions": 3661, "del clause": 1677, "final checks": 6, "max memory": 296.0, "memory": 282.5, "minimized lits": 273, "mk bool var": 13565, "mk clause": 13535, "mk clause binary": 1035061, "num allocs": 5749098214.0, "num checks": 7, "pb conflicts": 59, "pb predicates": 743, "pb propagations": 97, "pb resolves": 56, "propagations": 274267, "restarts": 1, "rlimit count": 6504829, "solve-eqs-elim-vars": 8075, "solve-eqs-steps": 26821, "time": 1.674}, "z3_status": {"elapsed_ms": 1674, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3195, "num_hard_constraints": 24797, "num_int": 2496, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 284, "num_variables": 5701}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", "seed": 0, "smt2_filename": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 1565, "arith eq adapter": 309, "arith-bound-propagations-lp": 186, "arith-conflicts": 1, "arith-diseq": 55, "arith-fixed-eqs": 39, "arith-lower": 539, "arith-make-feasible": 43, "arith-max-columns": 305, "arith-max-rows": 189, "arith-offset-eqs": 55, "arith-upper": 548, "binary propagations": 14830, "conflicts": 9, "decisions": 21, "del clause": 464, "max memory": 88.65, "memory": 85.82, "minimized lits": 5, "mk bool var": 7028, "mk clause": 6036, "mk clause binary": 279871, "num allocs": 7218965455.0, "num checks": 1, "pb predicates": 259, "propagations": 18322, "rlimit count": 1703733, "solve-eqs-elim-vars": 4524, "solve-eqs-steps": 13406, "time": 0.239}, "z3_status": {"elapsed_ms": 239, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9331, "num_hard_constraints": 112978, "num_int": 7748, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 548, "num_variables": 17097}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", "seed": 0, "smt2_filename": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 88027, "arith eq adapter": 1088, "arith-bound-propagations-lp": 4317, "arith-conflicts": 9, "arith-diseq": 2504, "arith-fixed-eqs": 1721, "arith-lower": 34607, "arith-make-feasible": 2668, "arith-max-columns": 922, "arith-max-rows": 593, "arith-offset-eqs": 5934, "arith-upper": 34622, "binary propagations": 821400, "conflicts": 313, "decisions": 11511, "del clause": 6511, "final checks": 9, "max memory": 619.08, "memory": 597.88, "minimized lits": 1008, "mk bool var": 25292, "mk clause": 25863, "mk clause binary": 2778804, "num allocs": 173287420086.0, "num checks": 10, "pb conflicts": 95, "pb predicates": 1270, "pb propagations": 369, "pb resolves": 89, "propagations": 1133434, "restarts": 2, "rlimit count": 10988398, "solve-eqs-elim-vars": 13199, "solve-eqs-steps": 46243, "time": 2.193}, "z3_status": {"elapsed_ms": 2193, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3276, "num_hard_constraints": 25205, "num_int": 2568, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 293, "num_variables": 5854}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", "seed": 0, "smt2_filename": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 13717, "arith eq adapter": 359, "arith-bound-propagations-lp": 1129, "arith-diseq": 408, "arith-fixed-eqs": 389, "arith-lower": 5039, "arith-make-feasible": 1740, "arith-max-columns": 317, "arith-max-rows": 194, "arith-offset-eqs": 977, "arith-upper": 5210, "binary propagations": 110923, "conflicts": 272, "decisions": 4275, "del clause": 535, "final checks": 11, "max memory": 88.83, "memory": 87.38, "minimized lits": 1008, "mk bool var": 7147, "mk clause": 7350, "mk clause binary": 283406, "num allocs": 895408085, "num checks": 12, "pb conflicts": 64, "pb predicates": 262, "pb propagations": 311, "pb resolves": 35, "propagations": 156893, "restarts": 2, "rlimit count": 1935497, "solve-eqs-elim-vars": 4674, "solve-eqs-steps": 13111, "time": 0.312}, "z3_status": {"elapsed_ms": 312, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1093104, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", "seed": 0, "smt2_filename": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 16606, "arith eq adapter": 6836, "arith-bound-propagations-lp": 1138, "arith-diseq": 60, "arith-fixed-eqs": 298, "arith-lower": 3734, "arith-make-feasible": 108, "arith-max-columns": 6854, "arith-max-rows": 4519, "arith-offset-eqs": 159, "arith-upper": 3716, "binary propagations": 63412, "conflicts": 8, "decisions": 44, "del clause": 11413, "max memory": 4739.95, "memory": 4491.86, "mk bool var": 148222, "mk clause": 122124, "mk clause binary": 18918999, "num allocs": 2209919358644.0, "num checks": 1, "pb predicates": 6452, "propagations": 78236, "rlimit count": 67029168, "solve-eqs-elim-vars": 74793, "solve-eqs-steps": 246594, "time": 32.076}, "z3_status": {"elapsed_ms": 32076, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52910, "num_hard_constraints": 1095737, "num_int": 46851, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1923, "num_variables": 99809}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", "seed": 0, "smt2_filename": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 467675, "arith eq adapter": 7128, "arith-bound-propagations-lp": 17339, "arith-conflicts": 22, "arith-diseq": 8603, "arith-fixed-eqs": 5630, "arith-lower": 201950, "arith-make-feasible": 4523, "arith-max-columns": 6858, "arith-max-rows": 4522, "arith-offset-eqs": 32206, "arith-upper": 204836, "binary propagations": 3798556, "conflicts": 554, "decisions": 2726, "del clause": 11717, "max memory": 4742.12, "memory": 4504.18, "minimized lits": 7387, "mk bool var": 148696, "mk clause": 136706, "mk clause binary": 18949817, "num allocs": 2234259712780.0, "num checks": 1, "pb predicates": 6454, "pb propagations": 127, "propagations": 5217493, "restarts": 5, "rlimit count": 76041935, "solve-eqs-elim-vars": 75214, "solve-eqs-steps": 247112, "time": 33.752}, "z3_status": {"elapsed_ms": 33752, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1093134, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", "seed": 0, "smt2_filename": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 12994, "arith eq adapter": 6797, "arith-bound-propagations-lp": 488, "arith-diseq": 37, "arith-fixed-eqs": 84, "arith-lower": 1897, "arith-make-feasible": 65, "arith-max-columns": 6794, "arith-max-rows": 4478, "arith-offset-eqs": 25, "arith-upper": 1897, "binary propagations": 60805, "conflicts": 17, "decisions": 59, "del clause": 11402, "max memory": 4755.76, "memory": 4504.42, "minimized lits": 300, "mk bool var": 147738, "mk clause": 121238, "mk clause binary": 18903218, "num allocs": 2213342027483.0, "num checks": 1, "pb predicates": 6449, "propagations": 77550, "rlimit count": 66856154, "solve-eqs-elim-vars": 74865, "solve-eqs-steps": 242639, "time": 32.836}, "z3_status": {"elapsed_ms": 32836, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 32069, "num_hard_constraints": 524539, "num_int": 27774, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 38, "num_soft_constraints": 1453, "num_variables": 59881}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", "seed": 0, "smt2_filename": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 6444865, "arith eq adapter": 4241, "arith-bound-propagations-lp": 111557, "arith-conflicts": 259, "arith-diseq": 223102, "arith-fixed-eqs": 84900, "arith-lower": 2904629, "arith-make-feasible": 100743, "arith-max-columns": 4091, "arith-max-rows": 2679, "arith-offset-eqs": 664132, "arith-upper": 2921908, "binary propagations": 57569986, "conflicts": 8751, "decisions": 199321, "del clause": 16378, "final checks": 33, "max memory": 2497.83, "memory": 2434.64, "minimized lits": 70760, "mk bool var": 91008, "mk clause": 124076, "mk clause binary": 10500022, "num allocs": 769099593064.0, "num checks": 34, "pb conflicts": 616, "pb predicates": 4090, "pb propagations": 5541, "pb resolves": 596, "propagations": 79552413, "restarts": 63, "rlimit count": 161835665, "solve-eqs-elim-vars": 45182, "solve-eqs-steps": 148243, "time": 42.599}, "z3_status": {"elapsed_ms": 42599, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 9303, "num_hard_constraints": 112812, "num_int": 7722, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 18, "num_soft_constraints": 546, "num_variables": 17043}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", "seed": 0, "smt2_filename": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 75108, "arith eq adapter": 831, "arith-bound-propagations-lp": 3554, "arith-conflicts": 5, "arith-diseq": 3069, "arith-fixed-eqs": 1366, "arith-lower": 26930, "arith-make-feasible": 2780, "arith-max-columns": 774, "arith-max-rows": 494, "arith-offset-eqs": 4884, "arith-upper": 28277, "binary propagations": 740858, "conflicts": 394, "decisions": 10789, "del clause": 2582, "final checks": 8, "max memory": 612.05, "memory": 590.91, "minimized lits": 2033, "mk bool var": 23635, "mk clause": 24698, "mk clause binary": 2719904, "num allocs": 23511619607.0, "num checks": 9, "pb conflicts": 117, "pb predicates": 1265, "pb propagations": 314, "pb resolves": 101, "propagations": 1035444, "restarts": 3, "rlimit count": 14423207, "solve-eqs-elim-vars": 13491, "solve-eqs-steps": 47432, "time": 3.35}, "z3_status": {"elapsed_ms": 3350, "result": "Sat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 19654, "num_hard_constraints": 105784, "num_int": 13218, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 40, "num_soft_constraints": 2047, "num_variables": 32912}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", "seed": 0, "smt2_filename": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5552, "arith eq adapter": 1593, "arith-bound-propagations-lp": 999, "arith-conflicts": 3, "arith-diseq": 187, "arith-fixed-eqs": 262, "arith-lower": 2740, "arith-make-feasible": 228, "arith-max-columns": 1633, "arith-max-rows": 1015, "arith-offset-eqs": 140, "arith-upper": 2743, "binary propagations": 119525, "conflicts": 28, "decisions": 130, "del clause": 611, "max memory": 4321.13, "memory": 4068.8, "minimized lits": 12, "mk bool var": 60503, "mk clause": 54323, "mk clause binary": 14969842, "num allocs": 1678980211955.0, "num checks": 1, "pb predicates": 363, "pb propagations": 23, "propagations": 140410, "rlimit count": 20723801, "solve-eqs-elim-vars": 27384, "solve-eqs-steps": 141044, "time": 13.346}, "z3_status": {"elapsed_ms": 13346, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "half", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24936, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", "seed": 0, "smt2_filename": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5415, "arith eq adapter": 356, "arith-bound-propagations-lp": 546, "arith-conflicts": 3, "arith-diseq": 339, "arith-fixed-eqs": 217, "arith-lower": 2087, "arith-make-feasible": 239, "arith-max-columns": 310, "arith-max-rows": 191, "arith-offset-eqs": 327, "arith-upper": 2155, "binary propagations": 42514, "conflicts": 61, "decisions": 190, "del clause": 491, "max memory": 88.64, "memory": 86.18, "minimized lits": 215, "mk bool var": 7126, "mk clause": 6486, "mk clause binary": 282146, "num allocs": 848196759, "num checks": 1, "pb conflicts": 2, "pb predicates": 260, "pb propagations": 16, "pb resolves": 2, "propagations": 57841, "rlimit count": 1643884, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13030, "time": 0.268}, "z3_status": {"elapsed_ms": 268, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "2", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 52694, "num_hard_constraints": 1092831, "num_int": 46644, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 48, "num_soft_constraints": 1914, "num_variables": 99386}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", "seed": 0, "smt2_filename": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 39079, "arith eq adapter": 6939, "arith-bound-propagations-lp": 3834, "arith-conflicts": 1, "arith-diseq": 277, "arith-fixed-eqs": 896, "arith-lower": 14729, "arith-make-feasible": 768, "arith-max-columns": 6887, "arith-max-rows": 4538, "arith-offset-eqs": 1580, "arith-upper": 14637, "binary propagations": 237755, "conflicts": 34, "decisions": 752, "del clause": 11462, "max memory": 4759.15, "memory": 4513.86, "minimized lits": 216, "mk bool var": 148631, "mk clause": 125068, "mk clause binary": 18935100, "num allocs": 2225577072298.0, "num checks": 1, "pb predicates": 6459, "pb propagations": 2, "propagations": 307126, "rlimit count": 66565673, "solve-eqs-elim-vars": 74706, "solve-eqs-steps": 241933, "time": 31.406}, "z3_status": {"elapsed_ms": 31406, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 2116, "num_hard_constraints": 14932, "num_int": 1673, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 8, "num_soft_constraints": 215, "num_variables": 3797}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3__543b29ed8f75ba2d__seed0.meta.jsonl", "problem_sha256": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", "seed": 0, "smt2_filename": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"max memory": 25.25, "memory": 22.82, "num allocs": 49404449, "rlimit count": 828317, "solve-eqs-elim-vars": 3365, "solve-eqs-steps": 7223, "time": 0.221}, "z3_status": {"elapsed_ms": 221, "result": "Unsat"}, "z3_version": "4.13.3.0"} -{"applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "cli_params": {"effort": "low", "m2_offset": "zero", "num_of_heights": "1", "optimize_m1": "False", "optimize_m2": "False", "process": "sf4lpp", "seed": "0", "solver": "z3", "solver_iter_timeout": "3600.0", "tech": "sf4lpp", "unsat_debug": "False", "use_reboot": "False"}, "features": {"num_bool": 3222, "num_hard_constraints": 24936, "num_int": 2520, "num_maximize_objectives": 0, "num_minimize_objectives": 0, "num_real": 10, "num_soft_constraints": 287, "num_variables": 5752}, "meta_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b__543b29ed8f75ba2d__seed0.meta.jsonl", "path": "primary", "problem_sha256": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", "seed": 0, "smt2_filename": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2", "smt2_path": "/Users/heedeok.son/workspace/openevolve/input/z3-bench/raw-data/fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2", "solver": "z3", "z3_applied_params": {"opt.enable_core_rotate": true, "opt.enable_sat": true, "opt.enable_sls": true, "opt.maxres.hill_climb": true, "opt.maxsat_engine": "wmax", "opt.priority": "pareto", "opt.rc2.totalizer": true, "parallel.enable": false, "sat.branching.heuristic": "vsids", "sat.pb.solver": "totalizer", "sat.phase": "caching", "sat.random_seed": 0, "sat.restart": "geometric", "sat.threads": 1, "sls.random_seed": 0, "smt.phase_selection": 3, "smt.random_seed": 0, "smt.threads": 1, "threads": 1}, "z3_statistics": {"added eqs": 5141, "arith eq adapter": 357, "arith-bound-propagations-lp": 483, "arith-conflicts": 5, "arith-diseq": 592, "arith-fixed-eqs": 309, "arith-lower": 2136, "arith-make-feasible": 416, "arith-max-columns": 309, "arith-max-rows": 191, "arith-offset-eqs": 291, "arith-upper": 2122, "binary propagations": 53999, "conflicts": 103, "decisions": 964, "del clause": 482, "final checks": 6, "max memory": 88.65, "memory": 86.87, "minimized lits": 242, "mk bool var": 7079, "mk clause": 6437, "mk clause binary": 282306, "num allocs": 863687625, "num checks": 7, "pb conflicts": 30, "pb predicates": 260, "pb propagations": 45, "pb resolves": 28, "propagations": 76908, "rlimit count": 1730326, "solve-eqs-elim-vars": 4574, "solve-eqs-steps": 13111, "time": 0.258}, "z3_status": {"elapsed_ms": 258, "result": "Sat"}, "z3_version": "4.13.3.0"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 16518}, "z3_statistics": {"conflicts": 638, "decisions": 16700, "propagations": 3734347, "binary propagations": 3044960, "restarts": 5, "final checks": 41, "added eqs": 145020, "mk clause": 62512, "mk clause binary": 15003837, "del clause": 801, "minimized lits": 3511, "num checks": 42, "mk bool var": 60789, "pb resolves": 22, "pb conflicts": 22, "pb propagations": 1240, "pb predicates": 367, "arith eq adapter": 1624, "arith-lower": 88590, "arith-upper": 88093, "arith-fixed-eqs": 8401, "arith-conflicts": 101, "arith-bound-propagations-lp": 14758, "arith-diseq": 19981, "arith-make-feasible": 13517, "arith-max-columns": 1644, "arith-max-rows": 1023, "arith-offset-eqs": 12540, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 27700333, "max memory": 4318.31, "memory": 4076.23, "num allocs": 276298779074.0, "time": 16.518}, "problem_sha256": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 13885}, "z3_statistics": {"conflicts": 419, "decisions": 13038, "propagations": 2535296, "binary propagations": 2085729, "restarts": 3, "final checks": 40, "added eqs": 95311, "mk clause": 60206, "mk clause binary": 14964248, "del clause": 1084, "minimized lits": 5865, "num checks": 41, "mk bool var": 60480, "pb resolves": 30, "pb conflicts": 30, "pb propagations": 420, "pb predicates": 363, "arith eq adapter": 1608, "arith-lower": 56673, "arith-upper": 56242, "arith-conflicts": 71, "arith-bound-propagations-lp": 9506, "arith-diseq": 14280, "arith-make-feasible": 8011, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 6459, "arith-fixed-eqs": 5175, "solve-eqs-steps": 140869, "solve-eqs-elim-vars": 27384, "rlimit count": 26615394, "max memory": 4320.75, "memory": 4077.95, "num allocs": 1625635741926.0, "time": 13.884}, "problem_sha256": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112990, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2728}, "z3_statistics": {"conflicts": 281, "decisions": 10023, "propagations": 1022106, "binary propagations": 737687, "restarts": 2, "final checks": 17, "added eqs": 87034, "mk clause": 26318, "mk clause binary": 2791918, "del clause": 2426, "minimized lits": 627, "num checks": 18, "mk bool var": 25823, "pb resolves": 89, "pb conflicts": 96, "pb propagations": 231, "pb predicates": 1271, "arith eq adapter": 1026, "arith-lower": 33416, "arith-upper": 33019, "arith-fixed-eqs": 1624, "arith-conflicts": 7, "arith-bound-propagations-lp": 4214, "arith-diseq": 2406, "arith-make-feasible": 2917, "arith-max-columns": 977, "arith-max-rows": 627, "arith-offset-eqs": 6366, "solve-eqs-steps": 45389, "solve-eqs-elim-vars": 13104, "rlimit count": 10426372, "max memory": 620.35, "memory": 599.48, "num allocs": 23895626486.0, "time": 2.728}, "problem_sha256": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24797, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 480}, "z3_statistics": {"conflicts": 8, "decisions": 12, "propagations": 10603, "binary propagations": 8669, "added eqs": 605, "mk clause": 5875, "mk clause binary": 279848, "del clause": 457, "num checks": 1, "mk bool var": 6998, "pb predicates": 259, "arith eq adapter": 298, "arith-lower": 101, "arith-upper": 103, "arith-conflicts": 1, "arith-bound-propagations-lp": 33, "arith-diseq": 5, "arith-make-feasible": 10, "arith-max-columns": 305, "arith-max-rows": 189, "arith-fixed-eqs": 3, "solve-eqs-steps": 13406, "solve-eqs-elim-vars": 4524, "rlimit count": 1689462, "max memory": 88.59, "memory": 85.7, "num allocs": 7304494372.0, "time": 0.48}, "problem_sha256": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2"} +{"z3_version": "4.13.3.0", "features": {"num_variables": 3932, "num_bool": 2188, "num_int": 1736, "num_real": 8, "num_hard_constraints": 15243, "num_soft_constraints": 224, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 366}, "z3_statistics": {"conflicts": 80, "decisions": 1169, "propagations": 53219, "binary propagations": 37973, "final checks": 7, "added eqs": 5332, "mk clause": 3358, "mk clause binary": 38581, "del clause": 248, "minimized lits": 230, "num checks": 8, "mk bool var": 3437, "pb resolves": 8, "pb conflicts": 14, "pb propagations": 56, "pb predicates": 102, "arith eq adapter": 198, "arith-lower": 2135, "arith-upper": 2217, "arith-fixed-eqs": 172, "arith-conflicts": 2, "arith-bound-propagations-lp": 515, "arith-diseq": 229, "arith-make-feasible": 609, "arith-max-columns": 159, "arith-max-rows": 92, "arith-offset-eqs": 467, "solve-eqs-steps": 7166, "solve-eqs-elim-vars": 3264, "num allocs": 127421138, "rlimit count": 992112, "max memory": 41.83, "memory": 36.99, "time": 0.365}, "problem_sha256": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24937, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 294}, "z3_statistics": {"conflicts": 97, "decisions": 1067, "propagations": 92823, "binary propagations": 65381, "final checks": 7, "added eqs": 8031, "mk clause": 6801, "mk clause binary": 280980, "del clause": 491, "minimized lits": 232, "num checks": 8, "mk bool var": 7069, "pb resolves": 26, "pb conflicts": 28, "pb propagations": 10, "pb predicates": 260, "arith eq adapter": 353, "arith-lower": 3222, "arith-upper": 3456, "arith-fixed-eqs": 399, "arith-conflicts": 7, "arith-bound-propagations-lp": 847, "arith-diseq": 578, "arith-make-feasible": 386, "arith-max-columns": 310, "arith-max-rows": 192, "arith-offset-eqs": 392, "solve-eqs-steps": 13242, "solve-eqs-elim-vars": 4574, "num allocs": 885209871, "rlimit count": 1766969, "max memory": 88.59, "memory": 86.9, "time": 0.294}, "problem_sha256": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 113006, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2900}, "z3_statistics": {"conflicts": 330, "decisions": 7222, "propagations": 743241, "binary propagations": 526090, "restarts": 2, "final checks": 17, "added eqs": 55429, "mk clause": 25064, "mk clause binary": 2736107, "del clause": 2676, "minimized lits": 1209, "num checks": 18, "mk bool var": 24324, "pb resolves": 85, "pb conflicts": 89, "pb propagations": 131, "pb predicates": 1266, "arith eq adapter": 968, "arith-lower": 19629, "arith-upper": 19853, "arith-fixed-eqs": 1036, "arith-conflicts": 5, "arith-bound-propagations-lp": 3780, "arith-diseq": 1510, "arith-make-feasible": 1749, "arith-max-columns": 823, "arith-max-rows": 526, "arith-offset-eqs": 3086, "solve-eqs-steps": 47221, "solve-eqs-elim-vars": 13431, "rlimit count": 14138638, "max memory": 616.98, "memory": 595.92, "num allocs": 24112114359.0, "time": 2.9}, "problem_sha256": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24807, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 407}, "z3_statistics": {"conflicts": 3, "decisions": 4, "propagations": 5019, "binary propagations": 4076, "added eqs": 489, "mk clause": 5856, "mk clause binary": 279773, "del clause": 454, "num checks": 1, "mk bool var": 7005, "pb predicates": 259, "arith eq adapter": 294, "arith-lower": 37, "arith-upper": 37, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "solve-eqs-steps": 13345, "solve-eqs-elim-vars": 4524, "rlimit count": 1554154, "max memory": 88.83, "memory": 85.64, "num allocs": 7248116132.0, "time": 0.407}, "problem_sha256": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 12712}, "z3_statistics": {"conflicts": 34, "decisions": 196, "propagations": 136583, "binary propagations": 117701, "added eqs": 6074, "mk clause": 54268, "mk clause binary": 14969844, "del clause": 608, "minimized lits": 9, "num checks": 1, "mk bool var": 60496, "pb propagations": 28, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 3118, "arith-upper": 3121, "arith-conflicts": 5, "arith-bound-propagations-lp": 924, "arith-diseq": 240, "arith-make-feasible": 308, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 98, "arith-fixed-eqs": 271, "solve-eqs-steps": 141071, "solve-eqs-elim-vars": 27384, "rlimit count": 21352456, "max memory": 4321.07, "memory": 4067.98, "num allocs": 1708759135547.0, "time": 12.712}, "problem_sha256": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 14232}, "z3_statistics": {"conflicts": 501, "decisions": 17511, "propagations": 3164096, "binary propagations": 2575222, "restarts": 4, "final checks": 30, "added eqs": 95430, "mk clause": 61190, "mk clause binary": 15003811, "del clause": 1217, "minimized lits": 5254, "num checks": 31, "mk bool var": 60793, "pb resolves": 32, "pb conflicts": 33, "pb propagations": 490, "pb predicates": 367, "arith eq adapter": 1629, "arith-lower": 58588, "arith-upper": 59006, "arith-fixed-eqs": 6134, "arith-conflicts": 72, "arith-bound-propagations-lp": 12154, "arith-diseq": 16605, "arith-make-feasible": 8769, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 7789, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 26341700, "max memory": 4318.35, "memory": 4076.37, "num allocs": 268741800331.0, "time": 14.232}, "problem_sha256": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59955, "num_bool": 32107, "num_int": 27810, "num_real": 38, "num_hard_constraints": 524914, "num_soft_constraints": 1455, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 66100}, "z3_statistics": {"conflicts": 20293, "decisions": 403008, "propagations": 159458871, "binary propagations": 115958664, "restarts": 122, "final checks": 49, "added eqs": 12346592, "mk clause": 142266, "mk clause binary": 10500181, "del clause": 37530, "minimized lits": 171338, "num checks": 50, "mk bool var": 90959, "pb resolves": 741, "pb conflicts": 816, "pb propagations": 10434, "pb predicates": 4090, "arith eq adapter": 4263, "arith-lower": 5819586, "arith-upper": 5824768, "arith-fixed-eqs": 162505, "arith-conflicts": 615, "arith-bound-propagations-lp": 177174, "arith-diseq": 409254, "arith-make-feasible": 219820, "arith-max-columns": 4092, "arith-max-rows": 2679, "arith-offset-eqs": 1145118, "solve-eqs-steps": 149099, "solve-eqs-elim-vars": 45255, "rlimit count": 285787632, "max memory": 2497.69, "memory": 2437.4, "num allocs": 838208096541.0, "time": 66.1}, "problem_sha256": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1092831, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 31732}, "z3_statistics": {"conflicts": 43, "decisions": 513, "propagations": 444570, "binary propagations": 348869, "added eqs": 56536, "mk clause": 125242, "mk clause binary": 18933928, "del clause": 11461, "minimized lits": 14, "num checks": 1, "mk bool var": 148833, "pb propagations": 5, "pb predicates": 6459, "arith eq adapter": 6993, "arith-lower": 22496, "arith-upper": 22521, "arith-fixed-eqs": 973, "arith-conflicts": 2, "arith-bound-propagations-lp": 4168, "arith-diseq": 300, "arith-make-feasible": 713, "arith-max-columns": 6906, "arith-max-rows": 4548, "arith-offset-eqs": 3338, "solve-eqs-steps": 241608, "solve-eqs-elim-vars": 74706, "rlimit count": 66826573, "max memory": 4743.79, "memory": 4498.16, "num allocs": 2220106133528.0, "time": 31.732}, "problem_sha256": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112978, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 2996}, "z3_statistics": {"conflicts": 784, "decisions": 4989, "propagations": 2033058, "binary propagations": 1494337, "restarts": 7, "added eqs": 140007, "mk clause": 25280, "mk clause binary": 2567576, "del clause": 2544, "minimized lits": 4171, "num checks": 1, "mk bool var": 23071, "pb resolves": 46, "pb conflicts": 58, "pb propagations": 189, "pb predicates": 1264, "arith eq adapter": 936, "arith-lower": 56038, "arith-upper": 55961, "arith-fixed-eqs": 1898, "arith-conflicts": 13, "arith-bound-propagations-lp": 4268, "arith-diseq": 3954, "arith-make-feasible": 2691, "arith-max-columns": 768, "arith-max-rows": 491, "arith-offset-eqs": 6795, "solve-eqs-steps": 47631, "solve-eqs-elim-vars": 13598, "rlimit count": 19446685, "max memory": 605.3, "memory": 582.2, "num allocs": 23395126940.0, "time": 2.996}, "problem_sha256": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24807, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 490}, "z3_statistics": {"conflicts": 3, "decisions": 4, "propagations": 5876, "binary propagations": 4750, "added eqs": 485, "mk clause": 5855, "mk clause binary": 279810, "del clause": 453, "num checks": 1, "mk bool var": 6997, "pb predicates": 259, "arith eq adapter": 293, "arith-lower": 37, "arith-upper": 37, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "solve-eqs-steps": 13339, "solve-eqs-elim-vars": 4524, "rlimit count": 1554883, "max memory": 88.64, "memory": 85.62, "num allocs": 6621909635.0, "time": 0.49}, "problem_sha256": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 12692}, "z3_statistics": {"conflicts": 26, "decisions": 195, "propagations": 140779, "binary propagations": 121912, "added eqs": 5074, "mk clause": 54098, "mk clause binary": 14960765, "del clause": 608, "minimized lits": 5, "num checks": 1, "mk bool var": 60451, "pb propagations": 16, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 2542, "arith-upper": 2513, "arith-conflicts": 2, "arith-bound-propagations-lp": 779, "arith-diseq": 167, "arith-make-feasible": 257, "arith-max-columns": 1629, "arith-max-rows": 1015, "arith-offset-eqs": 96, "arith-fixed-eqs": 206, "solve-eqs-steps": 140898, "solve-eqs-elim-vars": 27384, "rlimit count": 21341530, "max memory": 4320.64, "memory": 4067.25, "num allocs": 1682503615929.0, "time": 12.692}, "problem_sha256": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 14353}, "z3_statistics": {"conflicts": 383, "decisions": 11875, "propagations": 1751697, "binary propagations": 1411020, "restarts": 2, "final checks": 56, "added eqs": 59301, "mk clause": 59626, "mk clause binary": 15003810, "del clause": 1034, "minimized lits": 3367, "num checks": 57, "mk bool var": 60795, "pb resolves": 26, "pb conflicts": 26, "pb propagations": 630, "pb predicates": 367, "arith eq adapter": 1636, "arith-lower": 35643, "arith-upper": 36771, "arith-fixed-eqs": 4696, "arith-conflicts": 56, "arith-bound-propagations-lp": 9055, "arith-diseq": 11710, "arith-make-feasible": 6376, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 5531, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 25778910, "max memory": 4318.36, "memory": 4075.97, "num allocs": 286040856795.0, "time": 14.353}, "problem_sha256": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 14428}, "z3_statistics": {"conflicts": 340, "decisions": 9171, "propagations": 1845870, "binary propagations": 1520411, "restarts": 2, "final checks": 39, "added eqs": 74240, "mk clause": 59105, "mk clause binary": 14964213, "del clause": 786, "minimized lits": 998, "num checks": 40, "mk bool var": 60485, "pb resolves": 24, "pb conflicts": 24, "pb propagations": 285, "pb predicates": 363, "arith eq adapter": 1603, "arith-lower": 41809, "arith-upper": 41262, "arith-conflicts": 43, "arith-bound-propagations-lp": 7956, "arith-diseq": 7119, "arith-make-feasible": 6041, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 4979, "arith-fixed-eqs": 4240, "solve-eqs-steps": 140872, "solve-eqs-elim-vars": 27384, "rlimit count": 25489167, "max memory": 4320.79, "memory": 4077.26, "num allocs": 1785451733878.0, "time": 14.428}, "problem_sha256": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83411, "num_bool": 44958, "num_int": 38403, "num_real": 50, "num_hard_constraints": 695689, "num_soft_constraints": 2133, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 132126}, "z3_statistics": {"conflicts": 29011, "decisions": 376993, "propagations": 310575312, "binary propagations": 232759821, "restarts": 163, "final checks": 9, "added eqs": 22780198, "mk clause": 213015, "mk clause binary": 18899506, "del clause": 64995, "minimized lits": 290946, "num checks": 10, "mk bool var": 138039, "pb resolves": 755, "pb conflicts": 764, "pb propagations": 11662, "pb predicates": 5948, "arith eq adapter": 6166, "arith-lower": 10543138, "arith-upper": 10483890, "arith-fixed-eqs": 256585, "arith-conflicts": 1185, "arith-bound-propagations-lp": 286437, "arith-diseq": 707609, "arith-make-feasible": 269584, "arith-max-columns": 6012, "arith-max-rows": 3941, "arith-offset-eqs": 2140101, "solve-eqs-steps": 231026, "solve-eqs-elim-vars": 61991, "rlimit count": 556478248, "max memory": 4694.12, "memory": 4492.82, "num allocs": 1954890661459.0, "time": 132.126}, "problem_sha256": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2"} +{"z3_version": "4.13.3.0", "features": {"num_variables": 3842, "num_bool": 2140, "num_int": 1694, "num_real": 8, "num_hard_constraints": 15034, "num_soft_constraints": 218, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 311}, "z3_statistics": {"conflicts": 4, "decisions": 4, "propagations": 3035, "binary propagations": 2463, "added eqs": 255, "mk clause": 2607, "mk clause binary": 36304, "del clause": 165, "num checks": 1, "mk bool var": 3129, "pb predicates": 98, "arith eq adapter": 124, "arith-lower": 34, "arith-upper": 34, "arith-bound-propagations-lp": 14, "arith-make-feasible": 8, "arith-max-columns": 135, "arith-max-rows": 77, "arith-fixed-eqs": 3, "solve-eqs-steps": 6989, "solve-eqs-elim-vars": 3217, "num allocs": 63214666, "rlimit count": 1042113, "max memory": 28.14, "memory": 27.65, "time": 0.311}, "problem_sha256": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24937, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 307}, "z3_statistics": {"conflicts": 93, "decisions": 1160, "propagations": 99526, "binary propagations": 70699, "final checks": 8, "added eqs": 7810, "mk clause": 6750, "mk clause binary": 280979, "del clause": 2128, "minimized lits": 112, "num checks": 9, "mk bool var": 7113, "pb resolves": 23, "pb conflicts": 25, "pb propagations": 4, "pb predicates": 260, "arith eq adapter": 416, "arith-lower": 3208, "arith-upper": 3203, "arith-fixed-eqs": 372, "arith-conflicts": 4, "arith-bound-propagations-lp": 780, "arith-diseq": 673, "arith-make-feasible": 405, "arith-max-columns": 311, "arith-max-rows": 191, "arith-offset-eqs": 274, "solve-eqs-steps": 13057, "solve-eqs-elim-vars": 4574, "num allocs": 886786171, "rlimit count": 1778656, "max memory": 88.58, "memory": 86.84, "time": 0.307}, "problem_sha256": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59955, "num_bool": 32107, "num_int": 27810, "num_real": 38, "num_hard_constraints": 524936, "num_soft_constraints": 1455, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 67552}, "z3_statistics": {"conflicts": 21002, "decisions": 325796, "propagations": 174972212, "binary propagations": 126959642, "restarts": 128, "final checks": 13, "added eqs": 12975639, "mk clause": 141847, "mk clause binary": 10484184, "del clause": 40992, "minimized lits": 211317, "num checks": 14, "mk bool var": 90262, "pb resolves": 851, "pb conflicts": 900, "pb propagations": 8427, "pb predicates": 4081, "arith eq adapter": 4219, "arith-lower": 6143127, "arith-upper": 6161508, "arith-fixed-eqs": 170238, "arith-conflicts": 608, "arith-bound-propagations-lp": 159293, "arith-diseq": 451355, "arith-make-feasible": 190568, "arith-max-columns": 4026, "arith-max-rows": 2636, "arith-offset-eqs": 1183279, "solve-eqs-steps": 151730, "solve-eqs-elim-vars": 45406, "rlimit count": 305746540, "max memory": 2491.57, "memory": 2429.38, "num allocs": 784980287529.0, "time": 67.552}, "problem_sha256": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 13089}, "z3_statistics": {"conflicts": 30, "decisions": 140, "propagations": 135224, "binary propagations": 117112, "added eqs": 5498, "mk clause": 54151, "mk clause binary": 14960999, "del clause": 608, "minimized lits": 42, "num checks": 1, "mk bool var": 60465, "pb propagations": 31, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 2802, "arith-upper": 2774, "arith-conflicts": 6, "arith-bound-propagations-lp": 831, "arith-diseq": 260, "arith-make-feasible": 268, "arith-max-columns": 1632, "arith-max-rows": 1015, "arith-offset-eqs": 145, "arith-fixed-eqs": 202, "solve-eqs-steps": 140903, "solve-eqs-elim-vars": 27384, "rlimit count": 21339214, "max memory": 4320.63, "memory": 4067.77, "num allocs": 248743109287.0, "time": 13.089}, "problem_sha256": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17151, "num_bool": 9359, "num_int": 7774, "num_real": 18, "num_hard_constraints": 113172, "num_soft_constraints": 550, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 3681}, "z3_statistics": {"conflicts": 558, "decisions": 10820, "propagations": 1404437, "binary propagations": 1012034, "restarts": 5, "final checks": 8, "added eqs": 105286, "mk clause": 26721, "mk clause binary": 2793125, "del clause": 4733, "minimized lits": 2268, "num checks": 9, "mk bool var": 25831, "pb resolves": 86, "pb conflicts": 94, "pb propagations": 265, "pb predicates": 1271, "arith eq adapter": 1049, "arith-lower": 40711, "arith-upper": 40917, "arith-fixed-eqs": 1788, "arith-conflicts": 10, "arith-bound-propagations-lp": 4890, "arith-diseq": 2617, "arith-make-feasible": 2828, "arith-max-columns": 971, "arith-max-rows": 625, "arith-offset-eqs": 6036, "solve-eqs-steps": 46025, "solve-eqs-elim-vars": 13139, "rlimit count": 11339618, "max memory": 620.18, "memory": 599.2, "num allocs": 23618333082.0, "time": 3.681}, "problem_sha256": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 13086}, "z3_statistics": {"conflicts": 155, "decisions": 8418, "propagations": 912363, "binary propagations": 732747, "final checks": 41, "added eqs": 35686, "mk clause": 56969, "mk clause binary": 14972566, "del clause": 961, "minimized lits": 2234, "num checks": 42, "mk bool var": 60515, "pb resolves": 27, "pb conflicts": 27, "pb propagations": 352, "pb predicates": 363, "arith eq adapter": 1601, "arith-lower": 20745, "arith-upper": 18796, "arith-conflicts": 18, "arith-bound-propagations-lp": 5861, "arith-diseq": 6427, "arith-make-feasible": 3871, "arith-max-columns": 1634, "arith-max-rows": 1015, "arith-offset-eqs": 2844, "arith-fixed-eqs": 2838, "solve-eqs-steps": 140952, "solve-eqs-elim-vars": 27384, "rlimit count": 23855170, "max memory": 4321.23, "memory": 4077.11, "num allocs": 1633050360948.0, "time": 13.086}, "problem_sha256": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83621, "num_bool": 45066, "num_int": 38505, "num_real": 50, "num_hard_constraints": 696736, "num_soft_constraints": 2139, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 112662}, "z3_statistics": {"conflicts": 23003, "decisions": 350564, "propagations": 251976930, "binary propagations": 191192148, "restarts": 135, "final checks": 26, "added eqs": 18440443, "mk clause": 201346, "mk clause binary": 18898284, "del clause": 58027, "minimized lits": 221909, "num checks": 27, "mk bool var": 138182, "pb resolves": 810, "pb conflicts": 814, "pb propagations": 9446, "pb predicates": 5948, "arith eq adapter": 6081, "arith-lower": 8270504, "arith-upper": 8318461, "arith-conflicts": 941, "arith-bound-propagations-lp": 212243, "arith-diseq": 558301, "arith-make-feasible": 203372, "arith-max-columns": 6012, "arith-max-rows": 3938, "arith-offset-eqs": 1806760, "arith-fixed-eqs": 195998, "solve-eqs-steps": 233917, "solve-eqs-elim-vars": 62202, "rlimit count": 467737909, "max memory": 4679.64, "memory": 4475.72, "num allocs": 1959882383024.0, "time": 112.662}, "problem_sha256": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 14992}, "z3_statistics": {"conflicts": 28, "decisions": 146, "propagations": 156475, "binary propagations": 135175, "added eqs": 6100, "mk clause": 54267, "mk clause binary": 14960982, "del clause": 608, "num checks": 1, "mk bool var": 60466, "pb propagations": 31, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 3067, "arith-upper": 3100, "arith-conflicts": 4, "arith-bound-propagations-lp": 943, "arith-diseq": 224, "arith-make-feasible": 265, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 161, "arith-fixed-eqs": 242, "solve-eqs-steps": 140756, "solve-eqs-elim-vars": 27384, "rlimit count": 20732604, "max memory": 4320.64, "memory": 4067.46, "num allocs": 247227550887.0, "time": 14.992}, "problem_sha256": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59955, "num_bool": 32107, "num_int": 27810, "num_real": 38, "num_hard_constraints": 524936, "num_soft_constraints": 1455, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 40558}, "z3_statistics": {"conflicts": 8858, "decisions": 242490, "propagations": 69339814, "binary propagations": 50228368, "restarts": 63, "final checks": 37, "added eqs": 5445205, "mk clause": 122774, "mk clause binary": 10476400, "del clause": 13324, "minimized lits": 61681, "num checks": 38, "mk bool var": 90264, "pb resolves": 666, "pb conflicts": 691, "pb propagations": 5087, "pb predicates": 4081, "arith eq adapter": 4147, "arith-lower": 2484160, "arith-upper": 2503352, "arith-fixed-eqs": 84468, "arith-conflicts": 238, "arith-bound-propagations-lp": 97950, "arith-diseq": 203618, "arith-make-feasible": 107974, "arith-max-columns": 4031, "arith-max-rows": 2642, "arith-offset-eqs": 550751, "solve-eqs-steps": 151483, "solve-eqs-elim-vars": 45406, "rlimit count": 147263647, "max memory": 2491.74, "memory": 2428.83, "num allocs": 768321328643.0, "time": 40.558}, "problem_sha256": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83621, "num_bool": 45066, "num_int": 38505, "num_real": 50, "num_hard_constraints": 696736, "num_soft_constraints": 2139, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 181205}, "z3_statistics": {"conflicts": 48772, "decisions": 603760, "propagations": 540204864, "binary propagations": 403602049, "restarts": 230, "final checks": 46, "added eqs": 37062841, "mk clause": 240524, "mk clause binary": 18874440, "del clause": 89700, "minimized lits": 647794, "num checks": 47, "mk bool var": 137772, "pb resolves": 1202, "pb conflicts": 1246, "pb propagations": 19722, "pb predicates": 5924, "arith eq adapter": 6051, "arith-lower": 17392307, "arith-upper": 17439340, "arith-fixed-eqs": 387304, "arith-conflicts": 1452, "arith-bound-propagations-lp": 349707, "arith-diseq": 1150230, "arith-make-feasible": 386095, "arith-max-columns": 5982, "arith-max-rows": 3916, "arith-offset-eqs": 3109654, "solve-eqs-steps": 235494, "solve-eqs-elim-vars": 62257, "rlimit count": 925944306, "max memory": 4675.71, "memory": 4478.29, "num allocs": 2198837164034.0, "time": 181.205}, "problem_sha256": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 15671}, "z3_statistics": {"conflicts": 207, "decisions": 7280, "propagations": 1095466, "binary propagations": 894105, "restarts": 1, "final checks": 44, "added eqs": 42183, "mk clause": 58411, "mk clause binary": 15003817, "del clause": 991, "minimized lits": 2493, "num checks": 45, "mk bool var": 60771, "pb resolves": 28, "pb conflicts": 28, "pb propagations": 238, "pb predicates": 367, "arith eq adapter": 1625, "arith-lower": 24070, "arith-upper": 24407, "arith-fixed-eqs": 3372, "arith-conflicts": 15, "arith-bound-propagations-lp": 6394, "arith-diseq": 5483, "arith-make-feasible": 3915, "arith-max-columns": 1640, "arith-max-rows": 1023, "arith-offset-eqs": 3491, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 24227973, "max memory": 4318.34, "memory": 4074.18, "num allocs": 276646349770.0, "time": 15.671}, "problem_sha256": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83621, "num_bool": 45066, "num_int": 38505, "num_real": 50, "num_hard_constraints": 696736, "num_soft_constraints": 2139, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 80512}, "z3_statistics": {"conflicts": 12501, "decisions": 340795, "propagations": 150689373, "binary propagations": 112341445, "restarts": 84, "final checks": 31, "added eqs": 11494488, "mk clause": 187206, "mk clause binary": 18879578, "del clause": 44414, "minimized lits": 117407, "num checks": 32, "mk bool var": 137591, "pb resolves": 833, "pb conflicts": 841, "pb propagations": 4689, "pb predicates": 5918, "arith eq adapter": 6010, "arith-lower": 5204616, "arith-upper": 5188371, "arith-conflicts": 693, "arith-bound-propagations-lp": 202414, "arith-diseq": 387281, "arith-make-feasible": 158327, "arith-max-columns": 5950, "arith-max-rows": 3895, "arith-offset-eqs": 1215308, "arith-fixed-eqs": 175207, "solve-eqs-steps": 236797, "solve-eqs-elim-vars": 62312, "rlimit count": 326014276, "max memory": 4677.0, "memory": 4472.91, "num allocs": 1946559293743.0, "time": 80.512}, "problem_sha256": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 10244, "num_bool": 5621, "num_int": 4609, "num_real": 14, "num_hard_constraints": 59387, "num_soft_constraints": 383, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 1298}, "z3_statistics": {"conflicts": 204, "decisions": 2761, "propagations": 350767, "binary propagations": 247668, "restarts": 1, "final checks": 7, "added eqs": 24673, "mk clause": 13545, "mk clause binary": 1029592, "del clause": 2704, "minimized lits": 433, "num checks": 8, "mk bool var": 13485, "pb resolves": 61, "pb conflicts": 64, "pb propagations": 11, "pb predicates": 742, "arith eq adapter": 592, "arith-lower": 8074, "arith-upper": 8452, "arith-fixed-eqs": 411, "arith-conflicts": 5, "arith-bound-propagations-lp": 1423, "arith-diseq": 714, "arith-make-feasible": 559, "arith-max-columns": 440, "arith-max-rows": 276, "arith-offset-eqs": 1294, "solve-eqs-steps": 27135, "solve-eqs-elim-vars": 8110, "rlimit count": 7471692, "max memory": 296.1, "memory": 282.53, "num allocs": 5783835209.0, "time": 1.298}, "problem_sha256": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17043, "num_bool": 9303, "num_int": 7722, "num_real": 18, "num_hard_constraints": 112796, "num_soft_constraints": 546, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 3053}, "z3_statistics": {"conflicts": 604, "decisions": 9551, "propagations": 1273438, "binary propagations": 923597, "restarts": 5, "final checks": 7, "added eqs": 96079, "mk clause": 26874, "mk clause binary": 2777754, "del clause": 2461, "minimized lits": 2388, "num checks": 8, "mk bool var": 25208, "pb resolves": 96, "pb conflicts": 105, "pb propagations": 207, "pb predicates": 1270, "arith eq adapter": 996, "arith-lower": 36463, "arith-upper": 36283, "arith-fixed-eqs": 1736, "arith-conflicts": 22, "arith-bound-propagations-lp": 4966, "arith-diseq": 2937, "arith-make-feasible": 2744, "arith-max-columns": 928, "arith-max-rows": 595, "arith-offset-eqs": 4498, "solve-eqs-steps": 45577, "solve-eqs-elim-vars": 13164, "rlimit count": 11627096, "max memory": 619.29, "memory": 598.59, "num allocs": 23284377244.0, "time": 3.053}, "problem_sha256": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99809, "num_bool": 52910, "num_int": 46851, "num_real": 48, "num_hard_constraints": 1095737, "num_soft_constraints": 1923, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 33160}, "z3_statistics": {"conflicts": 54, "decisions": 288, "propagations": 336058, "binary propagations": 260020, "added eqs": 42398, "mk clause": 124126, "mk clause binary": 18933443, "del clause": 11453, "minimized lits": 461, "num checks": 1, "mk bool var": 147911, "pb predicates": 6451, "arith eq adapter": 6915, "arith-lower": 16011, "arith-upper": 15880, "arith-conflicts": 5, "arith-bound-propagations-lp": 3332, "arith-diseq": 368, "arith-make-feasible": 529, "arith-max-columns": 6803, "arith-max-rows": 4481, "arith-offset-eqs": 1230, "arith-fixed-eqs": 697, "solve-eqs-steps": 242873, "solve-eqs-elim-vars": 75286, "rlimit count": 67537967, "max memory": 4757.86, "memory": 4511.08, "num allocs": 2225318125530.0, "time": 33.16}, "problem_sha256": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5854, "num_bool": 3276, "num_int": 2568, "num_real": 10, "num_hard_constraints": 25205, "num_soft_constraints": 293, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 597}, "z3_statistics": {"conflicts": 82, "decisions": 2016, "propagations": 86665, "binary propagations": 60549, "final checks": 20, "added eqs": 8473, "mk clause": 6707, "mk clause binary": 283433, "del clause": 526, "minimized lits": 218, "num checks": 21, "mk bool var": 7141, "pb resolves": 27, "pb conflicts": 28, "pb propagations": 42, "pb predicates": 262, "arith eq adapter": 352, "arith-lower": 2807, "arith-upper": 2978, "arith-conflicts": 3, "arith-bound-propagations-lp": 704, "arith-diseq": 194, "arith-make-feasible": 614, "arith-max-columns": 316, "arith-max-rows": 195, "arith-offset-eqs": 542, "arith-fixed-eqs": 235, "solve-eqs-steps": 12943, "solve-eqs-elim-vars": 4674, "num allocs": 916529572, "rlimit count": 1861058, "max memory": 88.85, "memory": 87.2, "time": 0.597}, "problem_sha256": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112978, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2343}, "z3_statistics": {"conflicts": 386, "decisions": 7695, "propagations": 1195002, "binary propagations": 862717, "restarts": 3, "final checks": 13, "added eqs": 92812, "mk clause": 26490, "mk clause binary": 2774776, "del clause": 3879, "minimized lits": 1659, "num checks": 14, "mk bool var": 25148, "pb resolves": 79, "pb conflicts": 83, "pb propagations": 125, "pb predicates": 1269, "arith eq adapter": 997, "arith-lower": 36636, "arith-upper": 37302, "arith-fixed-eqs": 1504, "arith-conflicts": 12, "arith-bound-propagations-lp": 4793, "arith-diseq": 3187, "arith-make-feasible": 2256, "arith-max-columns": 897, "arith-max-rows": 576, "arith-offset-eqs": 5809, "solve-eqs-steps": 47503, "solve-eqs-elim-vars": 13239, "rlimit count": 13786897, "max memory": 619.16, "memory": 598.16, "num allocs": 166577556987.0, "time": 2.343}, "problem_sha256": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83551, "num_bool": 45030, "num_int": 38471, "num_real": 50, "num_hard_constraints": 696365, "num_soft_constraints": 2137, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 93445}, "z3_statistics": {"conflicts": 12900, "decisions": 396823, "propagations": 145339357, "binary propagations": 106355263, "restarts": 86, "final checks": 28, "added eqs": 11957912, "mk clause": 192891, "mk clause binary": 18913269, "del clause": 40457, "minimized lits": 84576, "num checks": 29, "mk bool var": 138632, "pb resolves": 677, "pb conflicts": 691, "pb propagations": 9961, "pb predicates": 5972, "arith eq adapter": 6146, "arith-lower": 5515659, "arith-upper": 5502761, "arith-fixed-eqs": 165911, "arith-conflicts": 566, "arith-bound-propagations-lp": 205359, "arith-diseq": 413086, "arith-make-feasible": 220059, "arith-max-columns": 6049, "arith-max-rows": 3965, "arith-offset-eqs": 1243032, "solve-eqs-steps": 229747, "solve-eqs-elim-vars": 62037, "rlimit count": 322543353, "max memory": 4702.37, "memory": 4501.36, "num allocs": 1958182966487.0, "time": 93.445}, "problem_sha256": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 10244, "num_bool": 5621, "num_int": 4609, "num_real": 14, "num_hard_constraints": 59387, "num_soft_constraints": 383, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 1674}, "z3_statistics": {"conflicts": 132, "decisions": 3661, "propagations": 274267, "binary propagations": 199079, "restarts": 1, "final checks": 6, "added eqs": 19410, "mk clause": 13535, "mk clause binary": 1035061, "del clause": 1677, "minimized lits": 273, "num checks": 7, "mk bool var": 13565, "pb resolves": 56, "pb conflicts": 59, "pb propagations": 97, "pb predicates": 743, "arith eq adapter": 518, "arith-lower": 7215, "arith-upper": 7628, "arith-fixed-eqs": 636, "arith-conflicts": 1, "arith-bound-propagations-lp": 1404, "arith-diseq": 926, "arith-make-feasible": 931, "arith-max-columns": 461, "arith-max-rows": 290, "arith-offset-eqs": 1094, "solve-eqs-steps": 26821, "solve-eqs-elim-vars": 8075, "rlimit count": 6504829, "max memory": 296.0, "memory": 282.5, "num allocs": 5749098214.0, "time": 1.674}, "problem_sha256": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24797, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 239}, "z3_statistics": {"conflicts": 9, "decisions": 21, "propagations": 18322, "binary propagations": 14830, "added eqs": 1565, "mk clause": 6036, "mk clause binary": 279871, "del clause": 464, "minimized lits": 5, "num checks": 1, "mk bool var": 7028, "pb predicates": 259, "arith eq adapter": 309, "arith-lower": 539, "arith-upper": 548, "arith-conflicts": 1, "arith-bound-propagations-lp": 186, "arith-diseq": 55, "arith-make-feasible": 43, "arith-max-columns": 305, "arith-max-rows": 189, "arith-offset-eqs": 55, "arith-fixed-eqs": 39, "solve-eqs-steps": 13406, "solve-eqs-elim-vars": 4524, "rlimit count": 1703733, "max memory": 88.65, "memory": 85.82, "num allocs": 7218965455.0, "time": 0.239}, "problem_sha256": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112978, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2193}, "z3_statistics": {"conflicts": 313, "decisions": 11511, "propagations": 1133434, "binary propagations": 821400, "restarts": 2, "final checks": 9, "added eqs": 88027, "mk clause": 25863, "mk clause binary": 2778804, "del clause": 6511, "minimized lits": 1008, "num checks": 10, "mk bool var": 25292, "pb resolves": 89, "pb conflicts": 95, "pb propagations": 369, "pb predicates": 1270, "arith eq adapter": 1088, "arith-lower": 34607, "arith-upper": 34622, "arith-fixed-eqs": 1721, "arith-conflicts": 9, "arith-bound-propagations-lp": 4317, "arith-diseq": 2504, "arith-make-feasible": 2668, "arith-max-columns": 922, "arith-max-rows": 593, "arith-offset-eqs": 5934, "solve-eqs-steps": 46243, "solve-eqs-elim-vars": 13199, "rlimit count": 10988398, "max memory": 619.08, "memory": 597.88, "num allocs": 173287420086.0, "time": 2.193}, "problem_sha256": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5854, "num_bool": 3276, "num_int": 2568, "num_real": 10, "num_hard_constraints": 25205, "num_soft_constraints": 293, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 312}, "z3_statistics": {"conflicts": 272, "decisions": 4275, "propagations": 156893, "binary propagations": 110923, "restarts": 2, "final checks": 11, "added eqs": 13717, "mk clause": 7350, "mk clause binary": 283406, "del clause": 535, "minimized lits": 1008, "num checks": 12, "mk bool var": 7147, "pb resolves": 35, "pb conflicts": 64, "pb propagations": 311, "pb predicates": 262, "arith eq adapter": 359, "arith-lower": 5039, "arith-upper": 5210, "arith-fixed-eqs": 389, "arith-bound-propagations-lp": 1129, "arith-diseq": 408, "arith-make-feasible": 1740, "arith-max-columns": 317, "arith-max-rows": 194, "arith-offset-eqs": 977, "solve-eqs-steps": 13111, "solve-eqs-elim-vars": 4674, "num allocs": 895408085, "rlimit count": 1935497, "max memory": 88.83, "memory": 87.38, "time": 0.312}, "problem_sha256": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1093104, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 32076}, "z3_statistics": {"conflicts": 8, "decisions": 44, "propagations": 78236, "binary propagations": 63412, "added eqs": 16606, "mk clause": 122124, "mk clause binary": 18918999, "del clause": 11413, "num checks": 1, "mk bool var": 148222, "pb predicates": 6452, "arith eq adapter": 6836, "arith-lower": 3734, "arith-upper": 3716, "arith-bound-propagations-lp": 1138, "arith-diseq": 60, "arith-make-feasible": 108, "arith-max-columns": 6854, "arith-max-rows": 4519, "arith-offset-eqs": 159, "arith-fixed-eqs": 298, "solve-eqs-steps": 246594, "solve-eqs-elim-vars": 74793, "rlimit count": 67029168, "max memory": 4739.95, "memory": 4491.86, "num allocs": 2209919358644.0, "time": 32.076}, "problem_sha256": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99809, "num_bool": 52910, "num_int": 46851, "num_real": 48, "num_hard_constraints": 1095737, "num_soft_constraints": 1923, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 33752}, "z3_statistics": {"conflicts": 554, "decisions": 2726, "propagations": 5217493, "binary propagations": 3798556, "restarts": 5, "added eqs": 467675, "mk clause": 136706, "mk clause binary": 18949817, "del clause": 11717, "minimized lits": 7387, "num checks": 1, "mk bool var": 148696, "pb propagations": 127, "pb predicates": 6454, "arith eq adapter": 7128, "arith-lower": 201950, "arith-upper": 204836, "arith-fixed-eqs": 5630, "arith-conflicts": 22, "arith-bound-propagations-lp": 17339, "arith-diseq": 8603, "arith-make-feasible": 4523, "arith-max-columns": 6858, "arith-max-rows": 4522, "arith-offset-eqs": 32206, "solve-eqs-steps": 247112, "solve-eqs-elim-vars": 75214, "rlimit count": 76041935, "max memory": 4742.12, "memory": 4504.18, "num allocs": 2234259712780.0, "time": 33.752}, "problem_sha256": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1093134, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 32836}, "z3_statistics": {"conflicts": 17, "decisions": 59, "propagations": 77550, "binary propagations": 60805, "added eqs": 12994, "mk clause": 121238, "mk clause binary": 18903218, "del clause": 11402, "minimized lits": 300, "num checks": 1, "mk bool var": 147738, "pb predicates": 6449, "arith eq adapter": 6797, "arith-lower": 1897, "arith-upper": 1897, "arith-bound-propagations-lp": 488, "arith-diseq": 37, "arith-make-feasible": 65, "arith-max-columns": 6794, "arith-max-rows": 4478, "arith-offset-eqs": 25, "arith-fixed-eqs": 84, "solve-eqs-steps": 242639, "solve-eqs-elim-vars": 74865, "rlimit count": 66856154, "max memory": 4755.76, "memory": 4504.42, "num allocs": 2213342027483.0, "time": 32.836}, "problem_sha256": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59881, "num_bool": 32069, "num_int": 27774, "num_real": 38, "num_hard_constraints": 524539, "num_soft_constraints": 1453, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 42599}, "z3_statistics": {"conflicts": 8751, "decisions": 199321, "propagations": 79552413, "binary propagations": 57569986, "restarts": 63, "final checks": 33, "added eqs": 6444865, "mk clause": 124076, "mk clause binary": 10500022, "del clause": 16378, "minimized lits": 70760, "num checks": 34, "mk bool var": 91008, "pb resolves": 596, "pb conflicts": 616, "pb propagations": 5541, "pb predicates": 4090, "arith eq adapter": 4241, "arith-lower": 2904629, "arith-upper": 2921908, "arith-fixed-eqs": 84900, "arith-conflicts": 259, "arith-bound-propagations-lp": 111557, "arith-diseq": 223102, "arith-make-feasible": 100743, "arith-max-columns": 4091, "arith-max-rows": 2679, "arith-offset-eqs": 664132, "solve-eqs-steps": 148243, "solve-eqs-elim-vars": 45182, "rlimit count": 161835665, "max memory": 2497.83, "memory": 2434.64, "num allocs": 769099593064.0, "time": 42.599}, "problem_sha256": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17043, "num_bool": 9303, "num_int": 7722, "num_real": 18, "num_hard_constraints": 112812, "num_soft_constraints": 546, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 3350}, "z3_statistics": {"conflicts": 394, "decisions": 10789, "propagations": 1035444, "binary propagations": 740858, "restarts": 3, "final checks": 8, "added eqs": 75108, "mk clause": 24698, "mk clause binary": 2719904, "del clause": 2582, "minimized lits": 2033, "num checks": 9, "mk bool var": 23635, "pb resolves": 101, "pb conflicts": 117, "pb propagations": 314, "pb predicates": 1265, "arith eq adapter": 831, "arith-lower": 26930, "arith-upper": 28277, "arith-fixed-eqs": 1366, "arith-conflicts": 5, "arith-bound-propagations-lp": 3554, "arith-diseq": 3069, "arith-make-feasible": 2780, "arith-max-columns": 774, "arith-max-rows": 494, "arith-offset-eqs": 4884, "solve-eqs-steps": 47432, "solve-eqs-elim-vars": 13491, "rlimit count": 14423207, "max memory": 612.05, "memory": 590.91, "num allocs": 23511619607.0, "time": 3.35}, "problem_sha256": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 13346}, "z3_statistics": {"conflicts": 28, "decisions": 130, "propagations": 140410, "binary propagations": 119525, "added eqs": 5552, "mk clause": 54323, "mk clause binary": 14969842, "del clause": 611, "minimized lits": 12, "num checks": 1, "mk bool var": 60503, "pb propagations": 23, "pb predicates": 363, "arith eq adapter": 1593, "arith-lower": 2740, "arith-upper": 2743, "arith-conflicts": 3, "arith-bound-propagations-lp": 999, "arith-diseq": 187, "arith-make-feasible": 228, "arith-max-columns": 1633, "arith-max-rows": 1015, "arith-offset-eqs": 140, "arith-fixed-eqs": 262, "solve-eqs-steps": 141044, "solve-eqs-elim-vars": 27384, "rlimit count": 20723801, "max memory": 4321.13, "memory": 4068.8, "num allocs": 1678980211955.0, "time": 13.346}, "problem_sha256": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24936, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 268}, "z3_statistics": {"conflicts": 61, "decisions": 190, "propagations": 57841, "binary propagations": 42514, "added eqs": 5415, "mk clause": 6486, "mk clause binary": 282146, "del clause": 491, "minimized lits": 215, "num checks": 1, "mk bool var": 7126, "pb resolves": 2, "pb conflicts": 2, "pb propagations": 16, "pb predicates": 260, "arith eq adapter": 356, "arith-lower": 2087, "arith-upper": 2155, "arith-fixed-eqs": 217, "arith-conflicts": 3, "arith-bound-propagations-lp": 546, "arith-diseq": 339, "arith-make-feasible": 239, "arith-max-columns": 310, "arith-max-rows": 191, "arith-offset-eqs": 327, "solve-eqs-steps": 13030, "solve-eqs-elim-vars": 4574, "num allocs": 848196759, "rlimit count": 1643884, "max memory": 88.64, "memory": 86.18, "time": 0.268}, "problem_sha256": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1092831, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 31406}, "z3_statistics": {"conflicts": 34, "decisions": 752, "propagations": 307126, "binary propagations": 237755, "added eqs": 39079, "mk clause": 125068, "mk clause binary": 18935100, "del clause": 11462, "minimized lits": 216, "num checks": 1, "mk bool var": 148631, "pb propagations": 2, "pb predicates": 6459, "arith eq adapter": 6939, "arith-lower": 14729, "arith-upper": 14637, "arith-conflicts": 1, "arith-bound-propagations-lp": 3834, "arith-diseq": 277, "arith-make-feasible": 768, "arith-max-columns": 6887, "arith-max-rows": 4538, "arith-offset-eqs": 1580, "arith-fixed-eqs": 896, "solve-eqs-steps": 241933, "solve-eqs-elim-vars": 74706, "rlimit count": 66565673, "max memory": 4759.15, "memory": 4513.86, "num allocs": 2225577072298.0, "time": 31.406}, "problem_sha256": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2"} +{"z3_version": "4.13.3.0", "features": {"num_variables": 3797, "num_bool": 2116, "num_int": 1673, "num_real": 8, "num_hard_constraints": 14932, "num_soft_constraints": 215, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 221}, "z3_statistics": {"solve-eqs-steps": 7223, "solve-eqs-elim-vars": 3365, "num allocs": 49404449, "rlimit count": 828317, "max memory": 25.25, "memory": 22.82, "time": 0.221}, "problem_sha256": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2"} +{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24936, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 258}, "z3_statistics": {"conflicts": 103, "decisions": 964, "propagations": 76908, "binary propagations": 53999, "final checks": 6, "added eqs": 5141, "mk clause": 6437, "mk clause binary": 282306, "del clause": 482, "minimized lits": 242, "num checks": 7, "mk bool var": 7079, "pb resolves": 28, "pb conflicts": 30, "pb propagations": 45, "pb predicates": 260, "arith eq adapter": 357, "arith-lower": 2136, "arith-upper": 2122, "arith-fixed-eqs": 309, "arith-conflicts": 5, "arith-bound-propagations-lp": 483, "arith-diseq": 592, "arith-make-feasible": 416, "arith-max-columns": 309, "arith-max-rows": 191, "arith-offset-eqs": 291, "solve-eqs-steps": 13111, "solve-eqs-elim-vars": 4574, "num allocs": 863687625, "rlimit count": 1730326, "max memory": 88.65, "memory": 86.87, "time": 0.258}, "problem_sha256": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2"} From 8eb20fd1e3f854566cbc3268f0d73597cded3f46 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 11:07:07 +0900 Subject: [PATCH 06/42] [fix] update utils --- docker-run.sh | 20 +- input/z3-bench/evolve/OPENEVOLVE_INTRO.md | 228 ++++++++++++++++++++++ input/z3-bench/evolve/README.md | 129 +++++++----- input/z3-bench/evolve/build_samples.py | 18 +- scripts/docker-init-claude.sh | 73 +++++++ 5 files changed, 411 insertions(+), 57 deletions(-) create mode 100644 input/z3-bench/evolve/OPENEVOLVE_INTRO.md create mode 100755 scripts/docker-init-claude.sh diff --git a/docker-run.sh b/docker-run.sh index 6b428aafe8..e3f2a6db99 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -347,6 +347,24 @@ else echo -e "${YELLOW}Running in interactive mode...${NC}" fi +# Build container startup command: auto-run claude-init then drop to shell +# (or `tail -f /dev/null` in detached mode). Disable via AUTO_INSTALL_CLAUDE=0. +# The init script lives at ./scripts/docker-init-claude.sh relative to the +# container's working directory (SCRIPT_DIR in rootless mode, /app in root). +INIT_SCRIPT_REL="./scripts/docker-init-claude.sh" +if [ "$DETACHED_MODE" = true ]; then + CONTAINER_CMD=( + "bash" "-lc" + "if [ -x $INIT_SCRIPT_REL ]; then $INIT_SCRIPT_REL || true; fi; tail -f /dev/null" + ) +else + CONTAINER_CMD=( + "bash" "-lc" + "if [ -x $INIT_SCRIPT_REL ]; then $INIT_SCRIPT_REL || true; fi; exec bash" + ) +fi +DOCKER_RUN_OPTS+=("-e" "AUTO_INSTALL_CLAUDE=${AUTO_INSTALL_CLAUDE:-1}") + echo "" echo -e "${BLUE}Run Configuration:${NC}" echo -e " Environment: $ENV_TYPE" @@ -375,7 +393,7 @@ fi echo "" # Run Docker container -if docker run "${DOCKER_RUN_OPTS[@]}" "$LOCAL_IMAGE"; then +if docker run "${DOCKER_RUN_OPTS[@]}" "$LOCAL_IMAGE" "${CONTAINER_CMD[@]}"; then echo "" if [ "$DETACHED_MODE" = true ]; then echo -e "${GREEN}================================================${NC}" diff --git a/input/z3-bench/evolve/OPENEVOLVE_INTRO.md b/input/z3-bench/evolve/OPENEVOLVE_INTRO.md new file mode 100644 index 0000000000..6473a64d53 --- /dev/null +++ b/input/z3-bench/evolve/OPENEVOLVE_INTRO.md @@ -0,0 +1,228 @@ +# OpenEvolve 소개 — Z3 파라미터 튜닝 맥락 + +실행/구조는 [README.md](README.md) 참고. 이 문서는 OpenEvolve 개념, 본 프로젝트의 목적, 설계 결정, 로드맵을 정리. + +--- + +## 1. OpenEvolve 빠른 소개 (처음 보는 사람용) + +### 1.1 한 줄 요약 + +**OpenEvolve = LLM × 진화 알고리즘.** 사람이 정의한 "코드 조각"과 "평가 함수"를 받아, LLM이 코드를 반복적으로 변이시키고 점수가 높은 변이만 살려나간다. Google DeepMind의 AlphaEvolve 시스템을 오픈소스로 재구현한 프레임워크. + +### 1.2 동작 원리 (1 iteration) + +``` +┌───────────────────────────────────────────────────────────────┐ +│ 1. Database에서 부모 프로그램 K개 샘플링 (MAP-Elites + islands) │ +│ 2. LLM 프롬프트 구성: │ +│ - system_message (config.yaml에서) │ +│ - 부모 코드 + 부모들의 점수/메트릭 │ +│ - 과거 변이 일부 (inspiration) │ +│ - 이전 변이의 artifacts (디버깅 신호) │ +│ 3. LLM이 새 코드 생성 (diff 또는 full rewrite) │ +│ 4. 새 프로그램을 evaluator.py에 넘김 │ +│ 5. evaluator가 metrics dict 반환 (예: combined_score: 0.73) │ +│ 6. Database에 (code, metrics, artifacts) 저장 │ +│ 7. checkpoint_interval마다 디스크 저장 │ +└───────────────────────────────────────────────────────────────┘ +``` + +위를 `--iterations N`번 반복. 종료 시 `openevolve_output/best/best_program.py`에 최고 점수 변이 저장. + +### 1.3 핵심 개념 + +#### EVOLVE-BLOCK +초기 프로그램(`initial_program.py`) 안에서 **LLM이 수정해도 되는 영역**을 마커로 표시: + +```python +# 고정된 코드 (수정 금지) +import some_lib + +# EVOLVE-BLOCK-START +# 이 안의 코드만 LLM이 변이시킴 +def my_algorithm(): + return 42 +# EVOLVE-BLOCK-END + +# 고정된 코드 (인터페이스 보존용) +def run(): + return my_algorithm() +``` + +블록 밖은 인터페이스/타입/평가 함수 호출 규약 등을 유지하는 부분. 이 프로젝트에서는 EVOLVE-BLOCK 안에 Z3 파라미터 **dict 리터럴**을 두어 LLM이 키/값을 변이시킴. + +#### Evaluator +`evaluator.py`는 **단 하나의 함수**(`evaluate(program_path)`)를 노출. 변이된 프로그램을 받아 점수 dict를 돌려준다: + +```python +from openevolve.evaluation_result import EvaluationResult + +def evaluate(program_path): + # 1. 프로그램 import + # 2. 실행 / 측정 + # 3. metrics 계산 + return EvaluationResult( + metrics={"combined_score": 0.73, "sub_metric_a": 1.5, ...}, + artifacts={"summary": "...", "per_problem": [...]}, # 다음 LLM 호출의 컨텍스트로 사용됨 + ) +``` + +- **`metrics`**: 진화 압력. `combined_score` 키가 주 목적함수. 다른 키들은 부수 모니터링. +- **`artifacts`**: 점수에 영향 안 줌. 단, LLM에 다음 라운드 컨텍스트로 들어가서 "왜 실패했는지/뭐가 좋아졌는지" 학습 신호가 됨. 예: 에러 메시지, 잘못된 키 이름, 인스턴스별 speedup 분포. + +#### Cascade evaluation +한 변이를 평가하는 데 비용이 크면 단계별로 컷: + +``` +evaluate_stage1(program_path) → 빠른 검증 (이 프로젝트: 5문제) + └─ score 낮으면 즉시 컷 (cascade_thresholds 비교) + └─ score 통과 시 ↓ +evaluate_stage2(program_path) → 본 평가 (이 프로젝트: 전체 50문제) +``` + +명백히 망가진 변이(시드 위반, invalid key, 큰 회귀)는 stage1에서 거름. LLM 시간/달러 절약. + +#### MAP-Elites + Islands (다양성 유지) +- **MAP-Elites**: 코드를 다차원 feature grid에 매핑 → 각 셀의 챔피언만 유지. 단순히 "최고 점수 1개"가 아니라 "각 영역의 최고"를 보존 → 국소 최적 탈출. +- **Islands**: 독립된 N개의 population이 따로 진화. 주기적으로 migration. 한 island의 조기 수렴이 전체에 퍼지지 않게 함. + +이 프로젝트 설정: `num_islands: 3`, `population_size: 50`, `archive_size: 20`. + +#### Diff-based evolution +`diff_based_evolution: true`면 LLM이 전체 파일이 아니라 **search/replace 블록만** 출력. 큰 파일에서 토큰 절약 + 의도 명확. + +### 1.4 OpenEvolve가 받는 입력 (총 3개 파일) + +| 파일 | 역할 | +|---|---| +| `initial_program.py` | 시작점. EVOLVE-BLOCK 안 코드만 진화. 인터페이스는 evaluator와 합의 | +| `evaluator.py` | `evaluate(program_path) -> EvaluationResult` 함수 1개 노출 | +| `config.yaml` | LLM 모델, 반복 횟수, population, prompt system_message 등 | + +호출: +```bash +python openevolve-run.py \ + initial_program.py \ + evaluator.py \ + --config config.yaml \ + --iterations 100 +``` + +### 1.5 출력 + +``` +/openevolve_output/ +├── best/ +│ └── best_program.py # 최고 score 변이 +├── checkpoints/ +│ ├── checkpoint_10/ # checkpoint_interval마다 +│ ├── checkpoint_20/ +│ └── ... +└── logs/ + └── openevolve_*.log +``` + +`--checkpoint ` 옵션으로 중단 지점에서 재개 가능. + +### 1.6 이 프로젝트에서 OpenEvolve의 적용 방식 + +| OpenEvolve 개념 | 이 프로젝트에서 어떻게 쓰이나 | +|---|---| +| EVOLVE-BLOCK | Z3 파라미터 dict 리터럴 (`OPT_SLS_OVERRIDES = {...}` 등) | +| 진화 단위 | 알고리즘 코드 아니라 **dict 키/값** (이름 추가/제거/값 변경) | +| Evaluator | 변이된 dict를 `subprocess`로 `z3 ...`에 넘겨 50개 SMT2 풀고 점수화 | +| metrics | `combined_score = geomean(speedup) × solved_rate²` | +| artifacts | 인스턴스별 (sha, baseline_ms, elapsed_ms, speedup, timeout) — LLM이 다음 라운드에 "어느 문제가 느려졌는지" 확인 가능 | +| Cascade | stage1=5문제 15s, stage2=50문제 120s | +| Phase 분할 | 단일 OpenEvolve 실행이 아니라 **4회 순차 실행**. 각 phase는 다른 `initial_program.py` 사용, 이전 phase의 winner를 import | + +### 1.7 더 읽기 + +- 메인 README: `/README.md` +- 다른 예제: `examples/function_minimization/` (가장 간단), `examples/llm_prompt_optimization/`, `examples/circle_packing/` +- 기본 config 전체: `configs/default_config.yaml` +- 아키텍처: `CLAUDE.md` (개발자용 노트) + +--- + +## 2. 목적과 접근 + +- **타깃**: `z3_applied_params` 19개(베이스라인)에서 출발 → Z3 4.13.x 전체 파라미터 공간(opt./sat./smt./sls./parallel./global, ~250키) 탐색 +- **방법**: OpenEvolve로 `initial_program.py` 안의 dict 리터럴을 LLM이 변이. EVOLVE-BLOCK 마커 사이의 파라미터 dict만 진화 대상 +- **베이스라인**: `problems.jsonl`의 `applied_params_hash = 543b29...` 행들. 인스턴스별 `elapsed_ms` + `result`를 기준값으로 사용 +- **솔버 실행**: subprocess로 `z3 -T: -smt2 key=value ... file.smt2` 호출 → 격리 + 타임아웃 강제 + +## 3. Phase 분할 (옵션 b) + +| Phase | EVOLVE 대상 | 고정(locked) | 키 수 | iterations | 목적 | +|---|---|---|---|---|---| +| **P1** | `opt.*` + `sls.*` | sat/smt/parallel 베이스라인 + 시드 3종 | ~34 | 80 | MaxSAT 엔진 선택, SLS local search 튜닝 | +| **P2** | `sat.*` | P1 best `opt.*+sls.*` + smt/parallel 베이스라인 | ~121 | 150 | CDCL 코어 (preprocessing/restart/branching) | +| **P3** | `smt.*` (`auto_config=false` 강제) | P1+P2 best | ~97 | 120 | 산술/양화자 — LIA-heavy 워크로드에 영향 큼 | +| **P4** | P1∪P2∪P3 best 통합 | 없음 (locked 키만 유지) | union | 60 | 상호작용 보정. 짧은 local refinement | + +**고정 키 (locked)** — 전체 phase 변경 금지, evaluator가 위반 시 0점: +- `sat.random_seed = 0` +- `smt.random_seed = 0` +- `sls.random_seed = 0` +- `parallel.enable = False` + +**Phase 간 핸드오프**: 자동. P{N} 종료 후 `run_phase.sh`가 `extract_best.py N` 자동 호출 → `shared/phase{N}_best.json` 작성 → P{N+1}이 import. + +P4 시작 시 `prepare_phase4.py` 자동 실행 → `phase4_unified/initial_program.py`의 EVOLVE-BLOCK을 union dict literal로 머터리얼라이즈 (LLM이 diff 편집 가능하도록). + +## 4. 스코어링 + +``` +per_problem: + match baseline result → speedup = baseline_ms / elapsed_ms + mismatch (regression/unknown/timeout) → 1e-6 (geomean에 강한 페널티) + +aggregate: + combined_score = geomean(speedup) * solved_rate^2 +``` + +- `solved_rate^2`: 정답률이 핵심 게이트. 1회 회귀도 강하게 패널티 +- `geomean(speedup)`: 큰 인스턴스가 합산 지배하지 않도록 +- baseline 그대로면 `combined_score ≈ 1.0` +- 부수 메트릭: `regressions`, `solved/total`, `geomean_speedup` + +## 5. 주요 설계 결정 + +| 항목 | 선택 | 이유 | +|---|---|---| +| Phase 핸드오프 | 자동 (`run_phase.sh` → `extract_best.py`) | 사람 개입 줄임 | +| 메트릭 | `geomean(speedup) × solved_rate²` | 큰 인스턴스 지배 방지 + 정답률 강하게 게이트 | +| Z3 실행 | subprocess CLI | 프로세스 격리, 타임아웃 강제, 한 문제 크래시 영향 차단 | +| Stage1 샘플 | stratified 5문제, seed=42 | Sat/Unsat × 빠름/느림 골고루, 재현 가능 | +| Locked 키 | 시드 3종 + parallel.enable | 비교 공정성, 단일스레드 일관성 | +| `smt.auto_config` | P3에서 False 강제 | True면 다른 smt.* 옵션이 silently override됨 | +| `parallel_evaluations` | 1 | z3 메모리 4GB+ 인스턴스 존재, OOM 위험 | +| Phase 4 EVOLVE-BLOCK | 머터리얼라이즈된 literal dict | LLM이 diff 편집 가능해야 진화 가능 | + +## 6. 검증 상태 + +- `python build_stage1_sample.py` → 5문제 stratified 샘플 생성 (완료) +- 4개 phase `initial_program.py` import 확인: + - phase1: 46 키 (BASELINE 19 + OVERRIDES 34, 일부 키 중복) + - phase2: 135 키 + - phase3: 114 키 + - phase4: 19 키 (BASELINE만 — phases 1-3 이후 prepare_phase4.py가 채움) +- `score.py` 시뮬레이션: 2 speedup + 1 timeout + 1 regression + 1 slowdown → combined ≈ 0.002 (correctness gate 강하게 작동 확인) + +## 7. 비용/시간 추정 + +- baseline 평균 elapsed_ms ≈ 24,229 ms → 변이당 stage2 full run ≈ 50 × 24s = 1200s = 20분 (평균) +- P1 80 iter × 평균 20분 ≈ 27시간 (worst-case 비현실적, cascade로 대부분 stage1에서 컷) +- P2 150 iter × 20분 ≈ 50시간 +- 비용 절감: `OPENEVOLVE_MAX_PROBLEMS=20`으로 stage2도 축소 가능. 또는 stage1 cascade threshold 0.5+로 상향 → 약한 변이 조기 컷 비율↑ + +## 8. 향후 작업 후보 + +1. 컨테이너에서 `z3 -pmd` 캡쳐 → invalid key 사전 필터 +2. baseline 변이 stage1 1회 평가 sanity check +3. `docker-run.sh`에 `-e OPENAI_API_KEY` 자동 전달 추가 +4. LLM 모델 선택 (Gemini 무료 티어 vs 사내 모델 vs OpenAI) +5. 변이 결과 시각화 (`scripts/visualizer.py --path .../checkpoint_K/`) +6. final 검증: P4 best를 problems.jsonl 전수 50문제에 대해 재실행, speedup 분포 리포트 diff --git a/input/z3-bench/evolve/README.md b/input/z3-bench/evolve/README.md index 410df24889..5490c3f6cf 100644 --- a/input/z3-bench/evolve/README.md +++ b/input/z3-bench/evolve/README.md @@ -111,78 +111,86 @@ evaluator는 phase를 모름 — `get_params()` 결과만 받음. `extract_best. ## 4. 실행 절차 (Docker) -### Host에서 +### 4.1 백엔드 선택 + +| 항목 | OpenAI 호환 (기본) | Claude Code | +|---|---|---| +| 인증 | env var `OPENAI_API_KEY` (Gemini/OpenAI/local 등) | env var `CLAUDE_CODE_OAUTH_TOKEN` (host에서 `claude setup-token`) | +| config.yaml model | `provider` 없음 또는 `openai` | `provider: claude_code` | +| Config 예시 | `configs/default_config.yaml` | `configs/claude_code_example.yaml` | +| Rate limit | 키 발급사 정책 | Pro/Max 5h window — 빠르게 막힘 | +| 재현성 | `temperature`/`seed` 적용 | SDK 미지원, 약함 | +| Docker 자동 셋업 | skip 권장 (`AUTO_INSTALL_CLAUDE=0`) | docker-init-claude.sh가 자동 실행 | + +### 4.2 Quickstart — Claude Code 백엔드 ```bash -export OPENAI_API_KEY="..." # config.yaml의 api_base에 맞는 키 - # (현재 gemini-2.5-flash → Google AI Studio key) -./docker-run.sh dev -s z3evo # interactive shell -``` +# === Host에서 (1회만) === +claude setup-token # 출력 토큰 복사 (Keychain 우회용 long-lived OAuth) +export CLAUDE_CODE_OAUTH_TOKEN="sk-..." # ~/.zshrc 등 영구화 권장 -`OPENAI_API_KEY`라는 이름은 OpenEvolve가 OpenAI 호환 SDK를 쓰기 때문. 실제 라우팅은 `config.yaml`의 `api_base`가 결정. +./docker-run.sh dev -s z3evo # 진입 — 첫 실행: claude CLI + SDK 자동 설치 (수 분) + # 두 번째부터: 즉시 셸 (영속 mount로 skip) +``` -### Claude Code 백엔드 사용 시 +```bash +# === Container 안 (1회만) === +pip install -e ".[dev]" # OpenEvolve 본체 +apt-get install -y z3 # 또는: pip install z3-solver -`config.yaml`에서 `provider: claude_code`로 모델을 정의하면 (`configs/claude_code_example.yaml` 참고) API 키 대신 Claude Code 구독 인증을 쓸 수 있다. Docker 안에서 쓰려면: +python -c "from openevolve.llm.claude_code import ClaudeCodeLLM; print('ok')" # sanity check -1. **Host에서 (1회만)**: long-lived OAuth 토큰 생성 - ```bash - claude setup-token # 출력된 토큰 복사 - export CLAUDE_CODE_OAUTH_TOKEN="sk-..." - ``` - macOS는 OAuth credential을 Keychain에 저장하므로 `~/.claude/` 마운트만으로는 인증 안 됨. 토큰 방식이 필수. +# 데이터 sample (이미 생성됨; 재생성 원할 때만) +python input/z3-bench/evolve/build_samples.py -2. **docker-run.sh 실행**: 위 env var가 export 되어 있으면 자동 전달 + `~/.claude/` 마운트 (settings/sessions 공유). - ```bash - ./docker-run.sh dev -s z3evo - ``` +# Phase 순차 실행 — 각 phase 종료 시 extract_best.py 자동 호출 +./input/z3-bench/evolve/run_phase.sh 1 +./input/z3-bench/evolve/run_phase.sh 2 +./input/z3-bench/evolve/run_phase.sh 3 +./input/z3-bench/evolve/run_phase.sh 4 +``` -3. **Container 안 (1회만)**: `claude` CLI 설치. axion 이미지에는 Node.js/npm 없음 → Anthropic 공식 standalone installer 사용 (Node 번들, 시스템 의존성 없음). - ```bash - curl -fsSL https://claude.ai/install.sh | bash - # 설치 위치: ~/.local/bin/claude - export PATH="$HOME/.local/bin:$PATH" # ~/.bashrc에 영구 추가 권장 - claude --version # sanity check - pip install -e ".[claude-code]" # claude-agent-sdk - ``` - SDK 탐색 순서: `~/.npm-global/bin/claude` → `/usr/local/bin/claude` → `~/.local/bin/claude` → `~/.claude/local/claude` → PATH. 위 경로 그대로 작동. +### 4.3 Quickstart — OpenAI 호환 백엔드 - **설치 영속화**: 컨테이너는 `--rm`이라 종료 시 사라지지만 docker-run.sh가 `~/.axion-docker-persist/claude-local/`을 `/root/.local`로 마운트 → 한 번 설치하면 다음 컨테이너에서도 그대로 사용 가능. +```bash +# === Host에서 === +export OPENAI_API_KEY="..." # config.yaml의 api_base에 맞는 키 +AUTO_INSTALL_CLAUDE=0 ./docker-run.sh dev -s z3evo # claude 셋업 skip - **host 차이**: - - Linux host: docker-run.sh가 host `claude` 바이너리도 자동 마운트 (`/usr/local/bin/claude` ro) → installer 생략 가능. - - Mac host: cross-OS 불가 → 위 installer 필수. +# === Container 안 === +pip install -e ".[dev]" +apt-get install -y z3 +export OPENAI_API_KEY="..." # 셸 안에서도 필요 (-e로 전달됨) +./input/z3-bench/evolve/run_phase.sh 1 +``` - **HOME 분리**: `~/.claude/`가 host에서 마운트되므로 host config 공유됨. 충돌 우려 시 컨테이너 안에서 `CLAUDE_CONFIG_DIR` 등 별도 path 지정. +`OPENAI_API_KEY`라는 이름은 OpenEvolve가 OpenAI 호환 SDK를 쓰기 때문. 실제 라우팅은 `config.yaml`의 `api_base`가 결정 (Gemini, OpenAI, vLLM 등). -4. **체크**: 인증 작동 여부 - ```bash - python -c "from openevolve.llm.claude_code import ClaudeCodeLLM; print('ok')" - ``` +### 4.4 docker-run.sh의 Claude Code 셋업 동작 -**주의**: Claude Pro/Max 구독은 5시간 윈도우 rate limit 있음. 큰 evolution run은 빠르게 막힘. 작은 iteration으로 검증 먼저. +docker-run.sh가 [scripts/docker-init-claude.sh](../../../scripts/docker-init-claude.sh)를 컨테이너 startup 명령으로 실행. **멱등** (이미 설치돼 있으면 skip). -### Container 안 +| 단계 | 동작 | Skip 조건 | +|---|---|---| +| 1 | `~/.local/bin`을 PATH 추가 + `~/.bashrc` 영구화 | grep로 중복 차단 | +| 2 | `claude` CLI 설치 (`curl -fsSL https://claude.ai/install.sh \| bash`) | `command -v claude` 성공 | +| 3 | `pip install -e ".[claude-code]"` (= claude-agent-sdk) | `import claude_agent_sdk` 성공 | +| 4 | Auth env var 체크 → 없으면 경고 | — | -```bash -cd $SCRIPT_DIR # rootless: 호스트 경로 그대로 / root: /app +**영속화**: `--rm` 컨테이너지만 `~/.axion-docker-persist/claude-local/` → `/root/.local` 마운트로 설치 결과 호스트에 남음. 다음 컨테이너 즉시 사용. -# 1회 셋업 -pip install -e ".[dev]" -apt-get install -y z3 # 또는: pip install z3-solver (CLI 동반) -export OPENAI_API_KEY="..." # 셸 안에서도 export 필요 +**자동 셋업 끄기**: `AUTO_INSTALL_CLAUDE=0 ./docker-run.sh ...` -# (이미 생성됨, 재생성 원할 때만) -python input/z3-bench/evolve/build_samples.py +**Host OS별 차이**: +- Linux host: host의 `claude` 바이너리도 read-only 자동 마운트 (`/usr/local/bin/claude`) → init script가 installer skip. +- Mac host: cross-OS 불가 → init script가 standalone installer 실행 (Node 번들 포함). -# 순차 실행 — 각 phase 종료 시 extract_best.py 자동 호출 -./input/z3-bench/evolve/run_phase.sh 1 -./input/z3-bench/evolve/run_phase.sh 2 -./input/z3-bench/evolve/run_phase.sh 3 -./input/z3-bench/evolve/run_phase.sh 4 -``` +**Mount 요약** (root mode 기준): +- `$HOME/.claude/` → `/root/.claude` (settings/sessions/projects 공유) +- `~/.axion-docker-persist/claude-local/` → `/root/.local` (claude 바이너리 영속) +- env forward: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_BASE_URL`, `CLAUDE_CODE_OAUTH_TOKEN`, `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` -### 체크포인트 재개 +### 4.5 체크포인트 재개 OpenEvolve가 `phase{N}_*/openevolve_output/checkpoints/checkpoint_K/`에 자동 저장. 재개: @@ -196,7 +204,7 @@ python /app/openevolve-run.py \ --iterations 100 ``` -### Detached 장시간 실행 +### 4.6 Detached 장시간 실행 ```bash ./docker-run.sh dev -s z3evo -d @@ -205,6 +213,19 @@ nohup ./input/z3-bench/evolve/run_phase.sh 1 \ &> /app/logs/phase1.log & ``` +Detached mode에서도 init script가 background로 한 번 실행됨. `docker logs $CONTAINER_NAME`로 init 출력 확인. + +### 4.7 트러블슈팅 + +| 증상 | 원인 / 해결 | +|---|---| +| 진입 시 `[init-claude] no CLAUDE_CODE_OAUTH_TOKEN ...` 경고 | host에서 `claude setup-token` → token export → 재실행 | +| `claude --version` 안 됨 | `source ~/.bashrc` 또는 `export PATH="$HOME/.local/bin:$PATH"` | +| init이 매번 재설치 | `~/.axion-docker-persist/claude-local/` 마운트 누락 (rootless면 `$HOME` bind에 포함되어 있어야 함). `ls ~/.local/bin/claude` 확인 | +| `pip install` 실패 | cwd 확인 (`pyproject.toml` 있는지) — rootless면 `cd $SCRIPT_DIR` 먼저 | +| Rate limit | Pro/Max 5h window 소진. `OPENEVOLVE_MAX_PROBLEMS` 축소 또는 OpenAI 호환 백엔드 병행 | +| Mac에서 host claude 마운트 시도 | Mac 바이너리는 Linux 컨테이너에서 안 돎 → docker-run.sh가 자동 skip하고 installer로 fallback | + ## 5. 환경 변수 | 변수 | 기본 | 용도 | diff --git a/input/z3-bench/evolve/build_samples.py b/input/z3-bench/evolve/build_samples.py index ef0f66e88f..cddc43bab2 100644 --- a/input/z3-bench/evolve/build_samples.py +++ b/input/z3-bench/evolve/build_samples.py @@ -8,6 +8,11 @@ Size metric: (num_hard_constraints, num_variables) tuple ascending — primary then tiebreak. Runtime (elapsed_ms) is NOT used for selection. +Sample pool cap: baseline_ms <= MAX_BASELINE_MS (5 min). Excludes monster +problems where even baseline times out under reasonable per-iteration +budgets. problems.jsonl still contains the full set; only sample selection +applies the cap. + Stage1 (5): SAT-only, quintile-spread by size (5 buckets, 1 per bucket). Stage2 (50): SAT + UNSAT, quintile-spread by size (5 buckets, 10 per bucket rank-linspace within bucket). @@ -29,6 +34,7 @@ STAGE1_N = 5 STAGE2_N = 50 N_BUCKETS = 5 +MAX_BASELINE_MS = 300_000 # 5 min cap — exclude monster problems from sample pool def _scan_raw(): @@ -117,11 +123,19 @@ def main(): f.write(json.dumps(d) + "\n") print(f"wrote {_PROBLEMS.relative_to(_BENCH.parent)} ({len(rows)} entries)") + candidates = [ + d for d in rows + if (d.get("z3_status") or {}).get("elapsed_ms", 0) <= MAX_BASELINE_MS + ] + skipped = len(rows) - len(candidates) + print(f"sample pool: {len(candidates)} (skipped {skipped} with " + f"baseline_ms > {MAX_BASELINE_MS}ms)") + sat = sorted( - (d for d in rows if (d.get("z3_status") or {}).get("result") == "Sat"), + (d for d in candidates if (d.get("z3_status") or {}).get("result") == "Sat"), key=_size_key, ) - all_sorted = sorted(rows, key=_size_key) + all_sorted = sorted(candidates, key=_size_key) s1 = _quintile_spread(sat, STAGE1_N, N_BUCKETS) s2 = _quintile_spread(all_sorted, STAGE2_N, N_BUCKETS) diff --git a/scripts/docker-init-claude.sh b/scripts/docker-init-claude.sh new file mode 100755 index 0000000000..9fa871517e --- /dev/null +++ b/scripts/docker-init-claude.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# Auto-bootstrap Claude Code CLI + Python SDK inside the container. +# Idempotent: skips work already done. Invoked by docker-run.sh as the +# container's startup command. +# +# Disable by exporting AUTO_INSTALL_CLAUDE=0 before ./docker-run.sh + +set -u + +if [[ "${AUTO_INSTALL_CLAUDE:-1}" == "0" ]]; then + echo "[init-claude] AUTO_INSTALL_CLAUDE=0 -> skipping" + exit 0 +fi + +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +NC='\033[0m' +log() { echo -e "${GREEN}[init-claude]${NC} $*"; } +warn() { echo -e "${YELLOW}[init-claude]${NC} $*"; } +err() { echo -e "${RED}[init-claude]${NC} $*" >&2; } + +# 1. PATH: ensure ~/.local/bin is first (standalone installer target) +export PATH="$HOME/.local/bin:$PATH" +if [[ -f "$HOME/.bashrc" ]] && ! grep -q 'HOME/.local/bin' "$HOME/.bashrc" 2>/dev/null; then + echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc" + log "added ~/.local/bin to ~/.bashrc" +fi + +# 2. claude CLI: install if missing +if command -v claude >/dev/null 2>&1; then + log "claude CLI found: $(command -v claude) ($(claude --version 2>&1 | head -1))" +else + log "claude CLI not found -> running standalone installer" + if ! command -v curl >/dev/null 2>&1; then + err "curl missing; cannot install. apt-get install curl, then re-run." + else + if curl -fsSL https://claude.ai/install.sh | bash; then + export PATH="$HOME/.local/bin:$PATH" + if command -v claude >/dev/null 2>&1; then + log "installed: $(claude --version 2>&1 | head -1)" + else + warn "installer finished but claude still not on PATH" + fi + else + err "installer failed" + fi + fi +fi + +# 3. claude-agent-sdk Python package: install if missing +if python -c "import claude_agent_sdk" 2>/dev/null; then + log "claude_agent_sdk Python pkg present" +else + log "claude_agent_sdk missing -> pip install -e .[claude-code]" + if [[ -f "pyproject.toml" ]]; then + if pip install --quiet -e ".[claude-code]"; then + log "installed claude-agent-sdk" + else + warn "pip install failed; run manually: pip install -e \".[claude-code]\"" + fi + else + warn "pyproject.toml not in cwd ($(pwd)); skipping pip install" + fi +fi + +# 4. Auth sanity check +if [[ -n "${CLAUDE_CODE_OAUTH_TOKEN:-}${ANTHROPIC_API_KEY:-}${ANTHROPIC_AUTH_TOKEN:-}" ]]; then + log "auth env var present" +else + warn "no CLAUDE_CODE_OAUTH_TOKEN / ANTHROPIC_API_KEY in env" + warn " host에서: claude setup-token -> export CLAUDE_CODE_OAUTH_TOKEN=... -> re-run docker-run.sh" +fi From ceb1150508517007048a14a4d9ee4810e5d4e8de Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 11:33:44 +0900 Subject: [PATCH 07/42] update samples --- input/z3-bench/evolve/build_samples.py | 75 ++-- input/z3-bench/evolve/config.yaml | 9 +- input/z3-bench/evolve/rebaseline_local.py | 37 +- input/z3-bench/evolve/shared/evaluator.py | 35 +- .../evolve/shared/local_baseline.json | 378 ++++++++-------- .../z3-bench/evolve/shared/stage1_sample.json | 48 +-- .../z3-bench/evolve/shared/stage2_sample.json | 370 +--------------- .../z3-bench/evolve/shared/stage3_sample.json | 408 ++++++++++++++++++ 8 files changed, 733 insertions(+), 627 deletions(-) create mode 100644 input/z3-bench/evolve/shared/stage3_sample.json diff --git a/input/z3-bench/evolve/build_samples.py b/input/z3-bench/evolve/build_samples.py index cddc43bab2..a41cfc527c 100644 --- a/input/z3-bench/evolve/build_samples.py +++ b/input/z3-bench/evolve/build_samples.py @@ -1,25 +1,27 @@ """ -Build problems.jsonl + stage1_sample.json + stage2_sample.json from raw-data. +Build problems.jsonl + stage1/2/3 sample files from raw-data. Source of truth = raw-data/*.meta.jsonl. raw-data accumulates over time; -this script (re)scans the directory each run, rewrites problems.jsonl as the -full aggregate, and re-selects stage1 / stage2 samples. - -Size metric: (num_hard_constraints, num_variables) tuple ascending — primary -then tiebreak. Runtime (elapsed_ms) is NOT used for selection. - -Sample pool cap: baseline_ms <= MAX_BASELINE_MS (5 min). Excludes monster -problems where even baseline times out under reasonable per-iteration -budgets. problems.jsonl still contains the full set; only sample selection -applies the cap. - -Stage1 (5): SAT-only, quintile-spread by size (5 buckets, 1 per bucket). -Stage2 (50): SAT + UNSAT, quintile-spread by size (5 buckets, 10 per bucket - rank-linspace within bucket). - -Quintile-spread = stable, deterministic ordering by rank then equal-density -sampling per bucket. Guarantees representation across the size distribution -rather than clustering on fastest / smallest problems. +this script rescans each run, rewrites problems.jsonl as the full aggregate, +and re-selects all stage samples. + +Sample pool cap: baseline_ms <= MAX_BASELINE_MS (5 min). problems.jsonl +still contains the full set; only sample selection applies the cap. + +Stage1 (5): SAT, runtime lower-half (fast-medium). Quintile-spread by + baseline_ms within the half. Drives the fast evolve loop — + keeps per-iteration wall-clock bounded. +Stage2 (5): SAT, runtime upper-half (medium-slow) capped at + STAGE2_MAX_MS (2 min). Quintile-spread by baseline_ms within + the capped pool. Catches regressions on harder instances + without letting stage2 wall-clock blow up. +Stage3 (50): SAT+UNSAT, quintile-spread by size + (num_hard_constraints, num_variables). Broad coverage for + final verification / full-dataset scoring. + +Quintile-spread = sort by key, split into 5 equal-rank buckets, pick N/5 +from each bucket via rank-linspace within bucket. Deterministic, no +randomness. """ import json import pathlib @@ -30,11 +32,14 @@ _PROBLEMS = _BENCH / "problems.jsonl" _STAGE1 = _HERE / "shared" / "stage1_sample.json" _STAGE2 = _HERE / "shared" / "stage2_sample.json" +_STAGE3 = _HERE / "shared" / "stage3_sample.json" STAGE1_N = 5 -STAGE2_N = 50 +STAGE2_N = 5 +STAGE3_N = 50 N_BUCKETS = 5 MAX_BASELINE_MS = 300_000 # 5 min cap — exclude monster problems from sample pool +STAGE2_MAX_MS = 120_000 # 2 min cap — stage2 wall must stay bounded def _scan_raw(): @@ -55,6 +60,10 @@ def _size_key(d): return (feats.get("num_hard_constraints", 0), feats.get("num_variables", 0)) +def _runtime_key(d): + return (d.get("z3_status") or {}).get("elapsed_ms", 0) + + def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): total = len(sorted_rows) if total == 0 or n_pick <= 0: @@ -131,19 +140,29 @@ def main(): print(f"sample pool: {len(candidates)} (skipped {skipped} with " f"baseline_ms > {MAX_BASELINE_MS}ms)") - sat = sorted( + # Stage1/2: SAT only, split by runtime median. + sat_by_rt = sorted( (d for d in candidates if (d.get("z3_status") or {}).get("result") == "Sat"), - key=_size_key, + key=_runtime_key, ) - all_sorted = sorted(candidates, key=_size_key) + half = len(sat_by_rt) // 2 + sat_lower = sat_by_rt[:half] # fast-medium runtime + sat_upper = sat_by_rt[half:] # medium-slow runtime + sat_upper_capped = [d for d in sat_upper if _runtime_key(d) <= STAGE2_MAX_MS] + print(f"stage2 pool: {len(sat_upper_capped)} (capped at {STAGE2_MAX_MS}ms, " + f"dropped {len(sat_upper) - len(sat_upper_capped)} from upper-half)") + + s1 = _quintile_spread(sat_lower, STAGE1_N, N_BUCKETS) + s2 = _quintile_spread(sat_upper_capped, STAGE2_N, N_BUCKETS) - s1 = _quintile_spread(sat, STAGE1_N, N_BUCKETS) - s2 = _quintile_spread(all_sorted, STAGE2_N, N_BUCKETS) + # Stage3: SAT+UNSAT, quintile-spread by problem size (broad coverage). + s3 = _quintile_spread(sorted(candidates, key=_size_key), STAGE3_N, N_BUCKETS) - _write_sample(_STAGE1, s1, "stage1", "SAT-only") - _write_sample(_STAGE2, s2, "stage2", "SAT+UNSAT") + _write_sample(_STAGE1, s1, "stage1", "SAT runtime lower-half") + _write_sample(_STAGE2, s2, "stage2", "SAT runtime upper-half") + _write_sample(_STAGE3, s3, "stage3", "SAT+UNSAT broad-size") - for label, picks in (("stage1", s1), ("stage2", s2)): + for label, picks in (("stage1", s1), ("stage2", s2), ("stage3", s3)): print(f"\n{label}:") for d in picks: f_ = d.get("features") or {} diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index ac45024557..5102c95752 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -80,8 +80,13 @@ database: similarity_threshold: 0.95 evaluator: - timeout: 300 # 5 min cap per variant (stage1 only: 5 problems × 24s) - cascade_evaluation: false # stage2 reserved for final_verify.py, not per-variant search + timeout: 600 # 10 min cap per variant (stage3 worst-case ≈ 4 min wall) + cascade_evaluation: true # stage1 → stage2 → stage3 escalation per variant + cascade_thresholds: [1.0, 1.1] + # threshold[0] = stage1 combined_score gate to enter stage2 (>=1.0 = baseline-or-better) + # threshold[1] = stage2 merged combined_score gate to enter stage3 (>=1.1 = 10% gain) + # combined_score uses geomean_speedup * solved_rate^2 (+ efficiency^STATS_WEIGHT). + # Initial baseline-equivalent variant scores ≈1.0 — passes stage1 gate, fails stage3. parallel_evaluations: 1 # FIXED 1 — variant pool kept serial. All z3 concurrency # is controlled by env OPENEVOLVE_PARALLEL_SOLVERS (inner # ThreadPool that runs N stage-problems concurrently per diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index b8c69c56d1..3d4307f19c 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -1,15 +1,17 @@ """ -Init-phase rebaseline: measure BASELINE elapsed_ms on the stage1 evolution -sample (shared/stage1_sample.json) and write shared/local_baseline.json. +Init-phase rebaseline: measure BASELINE elapsed_ms on the union of +stage1_sample.json + stage2_sample.json (10 SHAs total) and write +shared/local_baseline.json. Wall-clock varies by hardware / z3 version. Raw-data baseline_ms was recorded on a different machine, so comparing against it gives misleading speedup. evaluator._load_problems overlays this local file onto raw data so that speedup = local_baseline_ms / variant_elapsed_ms. -Only the stage1 evolution sample is rebaselined here — fast (~30s with -parallel=5) and matches what the evolve loop actually sees. Final verification -uses a separate larger sample via final_verify.py, which rebaselines on the fly. +Stage1+stage2 are rebaselined — both feed the evolve loop (stage1 fast +triage, stage2 medium-slow regression check). Stage3 (50 SHAs, broad +size-distribution) is NOT rebaselined here because final_verify.py +re-measures baseline on the fly per problem. Per-problem: 1 run, timeout = max(60s, raw_baseline_ms * 2 / 1000). Concurrency = config parallel_solvers (env OPENEVOLVE_PARALLEL_SOLVERS override). @@ -32,6 +34,7 @@ _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" +_STAGE2_SAMPLE = _HERE / "shared" / "stage2_sample.json" _OUT = _HERE / "shared" / "local_baseline.json" @@ -49,16 +52,30 @@ def _load_problem_index(): return idx -def _load_stage1_shas(): +def _load_target_shas(): + # Rebaseline stage1 + stage2 (10 SHAs total). Stage3 (50) is skipped — + # final_verify.py rebaselines on the fly per-problem and the cost of + # rebaselining 50 with multi-min runtimes is too high for routine setup. if not _STAGE1_SAMPLE.exists(): print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", file=sys.stderr) sys.exit(2) - return list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + shas = list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + if _STAGE2_SAMPLE.exists(): + s2 = json.loads(_STAGE2_SAMPLE.read_text())["sha256"] + seen = set(shas) + for sha in s2: + if sha not in seen: + shas.append(sha) + seen.add(sha) + else: + print(f"WARN: {_STAGE2_SAMPLE} missing — rebaselining stage1 only", + file=sys.stderr) + return shas def main(): - shas = _load_stage1_shas() + shas = _load_target_shas() idx = _load_problem_index() tasks = [] @@ -75,8 +92,8 @@ def main(): import queue as _queue n_parallel = min(parallel_solvers(default=1), len(tasks)) - print(f"rebaselining stage1 evolution sample: {len(tasks)} problems " - f"(from stage1_sample.json)") + print(f"rebaselining stage1+stage2 evolution samples: {len(tasks)} problems " + f"(union of stage1_sample.json + stage2_sample.json)") print(f"timeout per problem = max(60s, raw_ms * 2), parallel={n_parallel} " f"(taskset core pin)") print() diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index f3aa1208ce..e0bb36412c 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -59,6 +59,7 @@ _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _STAGE1_SAMPLE = _HERE / "stage1_sample.json" _STAGE2_SAMPLE = _HERE / "stage2_sample.json" +_STAGE3_SAMPLE = _HERE / "stage3_sample.json" _LOCAL_BASELINE = _HERE / "local_baseline.json" _PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") # None -> sys.executable @@ -115,16 +116,24 @@ def _filter_stage1(problems): def _filter_stage2(problems): - # stage2_sample.json pins a deterministic 50-problem subset built by - # build_samples.py (quintile-spread by num_hard_constraints, num_variables). - # raw-data may exceed 50; without this filter, stage2 cost grows - # unbounded as raw-data accumulates. + # stage2_sample.json: 5 SAT problems from the runtime upper-half + # (medium-slow). Catches regressions on harder instances. if not _STAGE2_SAMPLE.exists(): return problems keep = set(json.loads(_STAGE2_SAMPLE.read_text())["sha256"]) return [p for p in problems if p["sha"] in keep] +def _filter_stage3(problems): + # stage3_sample.json: 50 SAT+UNSAT problems, size-stratified broad + # coverage. raw-data may exceed 50; without this filter, stage3 cost + # grows unbounded as raw-data accumulates. + if not _STAGE3_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE3_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + def _err_result(metrics_extra, artifacts): metrics = { "combined_score": 0.0, @@ -286,13 +295,18 @@ def _regression_err(p, r): return _regression_err(p, r) by_idx[idx] = (p, r) else: - # Parallel: cancel pending futures on first failure. In-flight tasks - # keep running until subprocess timeout (with __exit__ waits for them). - # Per-problem timeout is now baseline_ms * 1.3 (adaptive), so worst-case + # Parallel: LPT (longest-processing-time) submission — sort problems + # by baseline_ms descending so big jobs dispatch first. ThreadPool's + # internal FIFO queue then drains small jobs onto whichever worker + # frees up, minimising tail idle time when n_parallel < len(problems). + # Cancel pending futures on first failure; in-flight tasks keep + # running until subprocess timeout (with __exit__ waits for them). + # Per-problem timeout is baseline_ms * 1.3 (adaptive), so worst-case # drain depends on the slowest in-flight problem rather than a fixed cap. from concurrent.futures import ThreadPoolExecutor, as_completed + ordered = sorted(enumerate(problems), key=lambda ip: -ip[1]["baseline_ms"]) with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_solve, pair) for pair in enumerate(problems)] + futures = [ex.submit(_solve, pair) for pair in ordered] for fut in as_completed(futures): if abort is not None: continue @@ -383,6 +397,11 @@ def evaluate_stage2(program_path): return _evaluate(program_path, problems, "stage2") +def evaluate_stage3(program_path): + problems = _filter_stage3(_load_problems()) + return _evaluate(program_path, problems, "stage3") + + def evaluate(program_path): # Evolution uses stage1 (5 sampled problems) only — fast iteration loop. # Stage2 (full 50 problems) is reserved for final verification via diff --git a/input/z3-bench/evolve/shared/local_baseline.json b/input/z3-bench/evolve/shared/local_baseline.json index c368df6609..a32d05944b 100644 --- a/input/z3-bench/evolve/shared/local_baseline.json +++ b/input/z3-bench/evolve/shared/local_baseline.json @@ -1,217 +1,215 @@ { - "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8": { - "elapsed_ms": 9658, + "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500": { + "elapsed_ms": 206, "result": "Sat", "matches_raw": true, - "raw_elapsed_ms": 13086, + "raw_elapsed_ms": 294, "stats": { - "conflicts": 346, - "decisions": 13879, - "propagations": 1852731, - "binary propagations": 1542459, - "restarts": 2, - "final checks": 57, - "added eqs": 101168, - "mk clause": 53762, - "mk clause binary": 14972623, - "del clause": 788, - "minimized lits": 4063, - "num checks": 58, - "mk bool var": 61279, - "pb resolves": 27, - "pb conflicts": 27, - "pb propagations": 367, - "pb predicates": 363, - "arith eq adapter": 1621, - "arith-lower": 42952, - "arith-upper": 42151, - "arith-conflicts": 73, - "arith-bound-propagations-lp": 37965, - "arith-diseq": 12892, - "arith-make-feasible": 10663, - "arith-max-columns": 1633, - "arith-max-rows": 1015, - "arith-offset-eqs": 5846, - "arith-fixed-eqs": 13173, - "solve-eqs-steps": 140510, - "solve-eqs-elim-vars": 27284, - "rlimit count": 26312539, - "max memory": 4322.01, - "memory": 4078.56, - "num allocs": 48404857791.0, - "time": 9.658 + "conflicts": 94, + "decisions": 1199, + "propagations": 112554, + "binary propagations": 88002, + "final checks": 12, + "added eqs": 13146, + "mk clause": 6192, + "mk clause binary": 275302, + "del clause": 1023, + "minimized lits": 138, + "num checks": 13, + "mk bool var": 8691, + "pb resolves": 23, + "pb conflicts": 23, + "pb propagations": 5, + "pb predicates": 152, + "arith eq adapter": 1063, + "arith-lower": 4975, + "arith-upper": 4631, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 2639, + "arith-diseq": 1163, + "arith-make-feasible": 673, + "arith-max-columns": 348, + "arith-max-rows": 199, + "arith-offset-eqs": 429, + "arith-fixed-eqs": 917, + "solve-eqs-steps": 13000, + "solve-eqs-elim-vars": 4554, + "num allocs": 82902270, + "rlimit count": 1887441, + "max memory": 88.59, + "memory": 86.55, + "time": 0.206 } }, - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3": { - "elapsed_ms": 7827, + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a": { + "elapsed_ms": 73, "result": "Sat", "matches_raw": true, - "raw_elapsed_ms": 13885, + "raw_elapsed_ms": 366, "stats": { - "conflicts": 194, - "decisions": 9196, - "propagations": 979859, - "binary propagations": 804835, - "restarts": 1, - "final checks": 46, - "added eqs": 53913, - "mk clause": 53566, - "mk clause binary": 14964298, - "del clause": 756, - "minimized lits": 3410, - "num checks": 47, - "mk bool var": 61193, - "pb resolves": 30, - "pb conflicts": 30, - "pb propagations": 294, - "pb predicates": 363, - "arith eq adapter": 1605, - "arith-lower": 24162, - "arith-upper": 22975, - "arith-conflicts": 22, - "arith-bound-propagations-lp": 21276, - "arith-diseq": 9181, - "arith-make-feasible": 6578, - "arith-max-columns": 1631, - "arith-max-rows": 1015, - "arith-offset-eqs": 2733, - "arith-fixed-eqs": 6225, - "solve-eqs-steps": 140427, - "solve-eqs-elim-vars": 27284, - "rlimit count": 25116882, - "max memory": 4321.63, - "memory": 4075.61, - "num allocs": 44267582854.0, - "time": 7.826 + "conflicts": 57, + "decisions": 959, + "propagations": 47700, + "binary propagations": 33638, + "final checks": 24, + "added eqs": 4528, + "mk clause": 2872, + "mk clause binary": 38558, + "del clause": 285, + "minimized lits": 163, + "num checks": 25, + "mk bool var": 3595, + "pb resolves": 12, + "pb conflicts": 15, + "pb propagations": 33, + "pb predicates": 102, + "arith eq adapter": 196, + "arith-lower": 1370, + "arith-upper": 1341, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 914, + "arith-diseq": 288, + "arith-make-feasible": 503, + "arith-max-columns": 157, + "arith-max-rows": 92, + "arith-offset-eqs": 258, + "arith-fixed-eqs": 332, + "solve-eqs-steps": 7146, + "solve-eqs-elim-vars": 3244, + "num allocs": 19186867, + "rlimit count": 1085456, + "max memory": 27.8, + "memory": 27.79, + "time": 0.073 } }, - "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4": { - "elapsed_ms": 8160, + "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07": { + "elapsed_ms": 667, "result": "Sat", "matches_raw": true, - "raw_elapsed_ms": 14232, + "raw_elapsed_ms": 1674, "stats": { - "conflicts": 286, - "decisions": 10752, - "propagations": 1385715, - "binary propagations": 1153752, - "restarts": 1, - "final checks": 56, - "added eqs": 70701, - "mk clause": 53955, - "mk clause binary": 15003881, - "del clause": 791, - "minimized lits": 4210, - "num checks": 57, - "mk bool var": 61703, - "pb resolves": 31, - "pb conflicts": 32, - "pb propagations": 452, - "pb predicates": 367, - "arith eq adapter": 1630, - "arith-lower": 29779, - "arith-upper": 29671, - "arith-conflicts": 30, - "arith-bound-propagations-lp": 25416, - "arith-diseq": 9500, - "arith-make-feasible": 7214, - "arith-max-columns": 1642, - "arith-max-rows": 1023, - "arith-offset-eqs": 3501, - "arith-fixed-eqs": 9401, - "solve-eqs-steps": 141131, - "solve-eqs-elim-vars": 27438, - "rlimit count": 25313143, - "max memory": 4323.22, - "memory": 4077.97, - "num allocs": 46757602227.0, - "time": 8.159 + "conflicts": 335, + "decisions": 5186, + "propagations": 444718, + "binary propagations": 335262, + "restarts": 3, + "final checks": 9, + "added eqs": 49632, + "mk clause": 13497, + "mk clause binary": 1018513, + "del clause": 4428, + "minimized lits": 476, + "num checks": 10, + "mk bool var": 17570, + "pb resolves": 97, + "pb conflicts": 97, + "pb propagations": 105, + "pb predicates": 485, + "arith eq adapter": 2218, + "arith-lower": 18318, + "arith-upper": 18182, + "arith-fixed-eqs": 354, + "arith-conflicts": 28, + "arith-bound-propagations-lp": 11954, + "arith-diseq": 4689, + "arith-make-feasible": 3756, + "arith-max-columns": 584, + "arith-max-rows": 356, + "arith-offset-eqs": 2585, + "solve-eqs-steps": 26644, + "solve-eqs-elim-vars": 8047, + "num allocs": 507617878, + "rlimit count": 7258850, + "max memory": 295.69, + "memory": 282.15, + "time": 0.667 } }, - "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12": { - "elapsed_ms": 8207, + "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678": { + "elapsed_ms": 1622, "result": "Sat", "matches_raw": true, - "raw_elapsed_ms": 14353, + "raw_elapsed_ms": 2728, "stats": { - "conflicts": 370, - "decisions": 12306, - "propagations": 1907454, - "binary propagations": 1581417, - "restarts": 2, - "final checks": 58, - "added eqs": 93222, - "mk clause": 54004, - "mk clause binary": 15003935, - "del clause": 758, - "minimized lits": 6012, - "num checks": 59, - "mk bool var": 61652, - "pb resolves": 32, - "pb conflicts": 32, - "pb propagations": 414, - "pb predicates": 367, - "arith eq adapter": 1615, - "arith-lower": 39727, - "arith-upper": 39085, - "arith-conflicts": 85, - "arith-bound-propagations-lp": 33639, - "arith-diseq": 12851, - "arith-make-feasible": 8778, - "arith-max-columns": 1644, - "arith-max-rows": 1023, - "arith-offset-eqs": 5028, - "arith-fixed-eqs": 12443, - "solve-eqs-steps": 141131, - "solve-eqs-elim-vars": 27438, - "rlimit count": 26185013, - "max memory": 4323.19, - "memory": 4078.87, - "num allocs": 48160422899.0, - "time": 8.206 + "conflicts": 899, + "decisions": 13186, + "propagations": 2230618, + "binary propagations": 1708238, + "restarts": 8, + "final checks": 14, + "added eqs": 229778, + "mk clause": 26234, + "mk clause binary": 2751847, + "del clause": 6555, + "minimized lits": 4494, + "num checks": 15, + "mk bool var": 32526, + "pb resolves": 146, + "pb conflicts": 146, + "pb propagations": 215, + "pb predicates": 851, + "arith eq adapter": 3753, + "arith-lower": 86621, + "arith-upper": 86769, + "arith-fixed-eqs": 706, + "arith-conflicts": 72, + "arith-bound-propagations-lp": 56004, + "arith-diseq": 20399, + "arith-make-feasible": 9707, + "arith-max-columns": 1171, + "arith-max-rows": 734, + "arith-offset-eqs": 13343, + "solve-eqs-steps": 45332, + "solve-eqs-elim-vars": 13068, + "num allocs": 2584040643, + "rlimit count": 12772018, + "max memory": 619.94, + "memory": 599.28, + "time": 1.622 } }, - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a": { - "elapsed_ms": 9681, + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84": { + "elapsed_ms": 1716, "result": "Sat", "matches_raw": true, - "raw_elapsed_ms": 14428, + "raw_elapsed_ms": 3350, "stats": { - "conflicts": 261, - "decisions": 8937, - "propagations": 1336168, - "binary propagations": 1124409, - "restarts": 2, - "final checks": 43, - "added eqs": 79235, - "mk clause": 53625, - "mk clause binary": 14964291, - "del clause": 723, - "minimized lits": 3743, - "num checks": 44, - "mk bool var": 61210, - "pb resolves": 27, - "pb conflicts": 27, - "pb propagations": 368, - "pb predicates": 363, - "arith eq adapter": 1612, - "arith-lower": 32987, - "arith-upper": 33563, - "arith-conflicts": 43, - "arith-bound-propagations-lp": 29776, - "arith-diseq": 10605, - "arith-make-feasible": 8136, - "arith-max-columns": 1631, - "arith-max-rows": 1015, - "arith-offset-eqs": 4101, - "arith-fixed-eqs": 10582, - "solve-eqs-steps": 140430, - "solve-eqs-elim-vars": 27284, - "rlimit count": 25422361, - "max memory": 4321.57, - "memory": 4075.38, - "num allocs": 43841036999.0, - "time": 9.681 + "conflicts": 417, + "decisions": 11540, + "propagations": 1128638, + "binary propagations": 849055, + "restarts": 3, + "final checks": 11, + "added eqs": 113826, + "mk clause": 25677, + "mk clause binary": 2682505, + "del clause": 7791, + "minimized lits": 1561, + "num checks": 12, + "mk bool var": 31692, + "pb resolves": 140, + "pb conflicts": 140, + "pb propagations": 151, + "pb predicates": 845, + "arith eq adapter": 4218, + "arith-lower": 40885, + "arith-upper": 41967, + "arith-fixed-eqs": 512, + "arith-conflicts": 31, + "arith-bound-propagations-lp": 27128, + "arith-diseq": 12159, + "arith-make-feasible": 7169, + "arith-max-columns": 935, + "arith-max-rows": 567, + "arith-offset-eqs": 6913, + "solve-eqs-steps": 47248, + "solve-eqs-elim-vars": 13455, + "num allocs": 2287909482, + "rlimit count": 15791680, + "max memory": 611.27, + "memory": 589.44, + "time": 1.716 } } } diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json index 82cd674969..92e23d2238 100644 --- a/input/z3-bench/evolve/shared/stage1_sample.json +++ b/input/z3-bench/evolve/shared/stage1_sample.json @@ -1,48 +1,48 @@ { - "selection": "5 SAT-only, quintile-spread by (num_hard_constraints, num_variables)", + "selection": "5 SAT runtime lower-half, quintile-spread by (num_hard_constraints, num_variables)", "source": "z3-bench/problems.jsonl", "sha256": [ - "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", - "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", - "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" + "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", + "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84" ], "summary": [ { - "sha": "505a2e36055c", + "sha": "187551dceaf0", "num_hard_constraints": 24937, "num_variables": 5752, "baseline_result": "Sat", - "baseline_ms": 307 + "baseline_ms": 294 }, { - "sha": "4a02d7846394", - "num_hard_constraints": 105784, - "num_variables": 32912, + "sha": "17cc4d349ce3", + "num_hard_constraints": 15243, + "num_variables": 3932, "baseline_result": "Sat", - "baseline_ms": 14428 + "baseline_ms": 366 }, { - "sha": "8a304b9c461a", - "num_hard_constraints": 112796, - "num_variables": 17043, + "sha": "aa358daf4226", + "num_hard_constraints": 59387, + "num_variables": 10244, "baseline_result": "Sat", - "baseline_ms": 3053 + "baseline_ms": 1674 }, { - "sha": "6aab51935a09", - "num_hard_constraints": 113172, - "num_variables": 17151, + "sha": "0f6f9aa28440", + "num_hard_constraints": 112990, + "num_variables": 17097, "baseline_result": "Sat", - "baseline_ms": 3681 + "baseline_ms": 2728 }, { - "sha": "a7df812c620d", - "num_hard_constraints": 696365, - "num_variables": 83551, + "sha": "d8d5ffa7d824", + "num_hard_constraints": 112812, + "num_variables": 17043, "baseline_result": "Sat", - "baseline_ms": 93445 + "baseline_ms": 3350 } ] } diff --git a/input/z3-bench/evolve/shared/stage2_sample.json b/input/z3-bench/evolve/shared/stage2_sample.json index d5dd3fe11c..345f7738f8 100644 --- a/input/z3-bench/evolve/shared/stage2_sample.json +++ b/input/z3-bench/evolve/shared/stage2_sample.json @@ -1,164 +1,14 @@ { - "selection": "50 SAT+UNSAT, quintile-spread by (num_hard_constraints, num_variables)", + "selection": "5 SAT runtime upper-half, quintile-spread by (num_hard_constraints, num_variables)", "source": "z3-bench/problems.jsonl", "sha256": [ - "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", - "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", - "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", - "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", - "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", - "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", - "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", - "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", - "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", - "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", - "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", - "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", - "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", - "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", - "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", - "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", - "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", - "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", - "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", - "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", - "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", - "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", - "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", - "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", - "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", - "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", - "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", - "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", - "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", - "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", - "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", - "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", - "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", - "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", - "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", - "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", - "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", - "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", - "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", - "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", - "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", - "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" ], "summary": [ - { - "sha": "fac53f0ffed2", - "num_hard_constraints": 14932, - "num_variables": 3797, - "baseline_result": "Unsat", - "baseline_ms": 221 - }, - { - "sha": "4fb703b12127", - "num_hard_constraints": 15034, - "num_variables": 3842, - "baseline_result": "Unsat", - "baseline_ms": 311 - }, - { - "sha": "17cc4d349ce3", - "num_hard_constraints": 15243, - "num_variables": 3932, - "baseline_result": "Sat", - "baseline_ms": 366 - }, - { - "sha": "133383a624ef", - "num_hard_constraints": 24797, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 480 - }, - { - "sha": "ac90ca97ff99", - "num_hard_constraints": 24797, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 239 - }, - { - "sha": "25025d341f86", - "num_hard_constraints": 24807, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 407 - }, - { - "sha": "40bd9a434478", - "num_hard_constraints": 24807, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 490 - }, - { - "sha": "e57b3cf2bc7e", - "num_hard_constraints": 24936, - "num_variables": 5752, - "baseline_result": "Unsat", - "baseline_ms": 268 - }, - { - "sha": "fe3a23ba2a11", - "num_hard_constraints": 24936, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 258 - }, - { - "sha": "187551dceaf0", - "num_hard_constraints": 24937, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 294 - }, - { - "sha": "505a2e36055c", - "num_hard_constraints": 24937, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 307 - }, - { - "sha": "a4658d3a051a", - "num_hard_constraints": 25205, - "num_variables": 5854, - "baseline_result": "Sat", - "baseline_ms": 597 - }, - { - "sha": "b6393502fdb5", - "num_hard_constraints": 25205, - "num_variables": 5854, - "baseline_result": "Sat", - "baseline_ms": 312 - }, - { - "sha": "872cbdb83f73", - "num_hard_constraints": 59387, - "num_variables": 10244, - "baseline_result": "Sat", - "baseline_ms": 1298 - }, - { - "sha": "aa358daf4226", - "num_hard_constraints": 59387, - "num_variables": 10244, - "baseline_result": "Sat", - "baseline_ms": 1674 - }, { "sha": "069af7891076", "num_hard_constraints": 105784, @@ -166,69 +16,6 @@ "baseline_result": "Sat", "baseline_ms": 13885 }, - { - "sha": "29efe6d38d7b", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 12712 - }, - { - "sha": "42bc61a62698", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 12692 - }, - { - "sha": "4a02d7846394", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 14428 - }, - { - "sha": "65444d693881", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 13089 - }, - { - "sha": "75ee534dbc92", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 13086 - }, - { - "sha": "7ac5a84f68bc", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 14992 - }, - { - "sha": "deb82eaaca14", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 13346 - }, - { - "sha": "03b7e129d625", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 16518 - }, - { - "sha": "318bc251e0bd", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 14232 - }, { "sha": "493242c37992", "num_hard_constraints": 106100, @@ -237,74 +24,11 @@ "baseline_ms": 14353 }, { - "sha": "86468fd861ff", + "sha": "03b7e129d625", "num_hard_constraints": 106100, "num_variables": 33068, "baseline_result": "Sat", - "baseline_ms": 15671 - }, - { - "sha": "8a304b9c461a", - "num_hard_constraints": 112796, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3053 - }, - { - "sha": "d8d5ffa7d824", - "num_hard_constraints": 112812, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3350 - }, - { - "sha": "3cacf544225e", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Unsat", - "baseline_ms": 2996 - }, - { - "sha": "a47edaf1aecb", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2343 - }, - { - "sha": "aeec9f77b092", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2193 - }, - { - "sha": "0f6f9aa28440", - "num_hard_constraints": 112990, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2728 - }, - { - "sha": "21069961e8dc", - "num_hard_constraints": 113006, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2900 - }, - { - "sha": "6aab51935a09", - "num_hard_constraints": 113172, - "num_variables": 17151, - "baseline_result": "Sat", - "baseline_ms": 3681 - }, - { - "sha": "cc611a5155b2", - "num_hard_constraints": 524539, - "num_variables": 59881, - "baseline_result": "Sat", - "baseline_ms": 42599 + "baseline_ms": 16518 }, { "sha": "3854194b901b", @@ -313,96 +37,12 @@ "baseline_result": "Sat", "baseline_ms": 66100 }, - { - "sha": "5250d459bef2", - "num_hard_constraints": 524936, - "num_variables": 59955, - "baseline_result": "Sat", - "baseline_ms": 67552 - }, - { - "sha": "7d51ef2bfc4c", - "num_hard_constraints": 524936, - "num_variables": 59955, - "baseline_result": "Sat", - "baseline_ms": 40558 - }, - { - "sha": "4c942959630b", - "num_hard_constraints": 695689, - "num_variables": 83411, - "baseline_result": "Sat", - "baseline_ms": 132126 - }, { "sha": "a7df812c620d", "num_hard_constraints": 696365, "num_variables": 83551, "baseline_result": "Sat", "baseline_ms": 93445 - }, - { - "sha": "76bcc4964307", - "num_hard_constraints": 696736, - "num_variables": 83621, - "baseline_result": "Sat", - "baseline_ms": 112662 - }, - { - "sha": "7f7b5c632ef8", - "num_hard_constraints": 696736, - "num_variables": 83621, - "baseline_result": "Sat", - "baseline_ms": 181205 - }, - { - "sha": "86efb0762e6d", - "num_hard_constraints": 696736, - "num_variables": 83621, - "baseline_result": "Sat", - "baseline_ms": 80512 - }, - { - "sha": "3b58bd47434b", - "num_hard_constraints": 1092831, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 31732 - }, - { - "sha": "f54dba052fbf", - "num_hard_constraints": 1092831, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 31406 - }, - { - "sha": "bc60e5e73924", - "num_hard_constraints": 1093104, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 32076 - }, - { - "sha": "c5d46b1e315a", - "num_hard_constraints": 1093134, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 32836 - }, - { - "sha": "96158dd28c0b", - "num_hard_constraints": 1095737, - "num_variables": 99809, - "baseline_result": "Unsat", - "baseline_ms": 33160 - }, - { - "sha": "be1c308d7977", - "num_hard_constraints": 1095737, - "num_variables": 99809, - "baseline_result": "Unsat", - "baseline_ms": 33752 } ] } diff --git a/input/z3-bench/evolve/shared/stage3_sample.json b/input/z3-bench/evolve/shared/stage3_sample.json new file mode 100644 index 0000000000..5dabe7ff2d --- /dev/null +++ b/input/z3-bench/evolve/shared/stage3_sample.json @@ -0,0 +1,408 @@ +{ + "selection": "50 SAT+UNSAT broad-size, quintile-spread by (num_hard_constraints, num_variables)", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", + "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", + "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", + "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", + "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", + "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", + "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", + "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", + "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", + "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", + "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", + "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", + "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", + "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", + "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", + "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", + "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", + "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", + "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", + "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", + "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", + "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", + "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", + "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", + "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", + "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", + "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", + "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", + "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", + "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", + "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", + "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", + "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", + "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", + "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", + "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", + "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" + ], + "summary": [ + { + "sha": "fac53f0ffed2", + "num_hard_constraints": 14932, + "num_variables": 3797, + "baseline_result": "Unsat", + "baseline_ms": 221 + }, + { + "sha": "4fb703b12127", + "num_hard_constraints": 15034, + "num_variables": 3842, + "baseline_result": "Unsat", + "baseline_ms": 311 + }, + { + "sha": "17cc4d349ce3", + "num_hard_constraints": 15243, + "num_variables": 3932, + "baseline_result": "Sat", + "baseline_ms": 366 + }, + { + "sha": "133383a624ef", + "num_hard_constraints": 24797, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 480 + }, + { + "sha": "ac90ca97ff99", + "num_hard_constraints": 24797, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 239 + }, + { + "sha": "25025d341f86", + "num_hard_constraints": 24807, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 407 + }, + { + "sha": "40bd9a434478", + "num_hard_constraints": 24807, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 490 + }, + { + "sha": "e57b3cf2bc7e", + "num_hard_constraints": 24936, + "num_variables": 5752, + "baseline_result": "Unsat", + "baseline_ms": 268 + }, + { + "sha": "fe3a23ba2a11", + "num_hard_constraints": 24936, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 258 + }, + { + "sha": "187551dceaf0", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 294 + }, + { + "sha": "505a2e36055c", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 307 + }, + { + "sha": "a4658d3a051a", + "num_hard_constraints": 25205, + "num_variables": 5854, + "baseline_result": "Sat", + "baseline_ms": 597 + }, + { + "sha": "b6393502fdb5", + "num_hard_constraints": 25205, + "num_variables": 5854, + "baseline_result": "Sat", + "baseline_ms": 312 + }, + { + "sha": "872cbdb83f73", + "num_hard_constraints": 59387, + "num_variables": 10244, + "baseline_result": "Sat", + "baseline_ms": 1298 + }, + { + "sha": "aa358daf4226", + "num_hard_constraints": 59387, + "num_variables": 10244, + "baseline_result": "Sat", + "baseline_ms": 1674 + }, + { + "sha": "069af7891076", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 13885 + }, + { + "sha": "29efe6d38d7b", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 12712 + }, + { + "sha": "42bc61a62698", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 12692 + }, + { + "sha": "4a02d7846394", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 14428 + }, + { + "sha": "65444d693881", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 13089 + }, + { + "sha": "75ee534dbc92", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 13086 + }, + { + "sha": "7ac5a84f68bc", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 14992 + }, + { + "sha": "deb82eaaca14", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 13346 + }, + { + "sha": "03b7e129d625", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 16518 + }, + { + "sha": "318bc251e0bd", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 14232 + }, + { + "sha": "493242c37992", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 14353 + }, + { + "sha": "86468fd861ff", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 15671 + }, + { + "sha": "8a304b9c461a", + "num_hard_constraints": 112796, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3053 + }, + { + "sha": "d8d5ffa7d824", + "num_hard_constraints": 112812, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3350 + }, + { + "sha": "3cacf544225e", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Unsat", + "baseline_ms": 2996 + }, + { + "sha": "a47edaf1aecb", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2343 + }, + { + "sha": "aeec9f77b092", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2193 + }, + { + "sha": "0f6f9aa28440", + "num_hard_constraints": 112990, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2728 + }, + { + "sha": "21069961e8dc", + "num_hard_constraints": 113006, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2900 + }, + { + "sha": "6aab51935a09", + "num_hard_constraints": 113172, + "num_variables": 17151, + "baseline_result": "Sat", + "baseline_ms": 3681 + }, + { + "sha": "cc611a5155b2", + "num_hard_constraints": 524539, + "num_variables": 59881, + "baseline_result": "Sat", + "baseline_ms": 42599 + }, + { + "sha": "3854194b901b", + "num_hard_constraints": 524914, + "num_variables": 59955, + "baseline_result": "Sat", + "baseline_ms": 66100 + }, + { + "sha": "5250d459bef2", + "num_hard_constraints": 524936, + "num_variables": 59955, + "baseline_result": "Sat", + "baseline_ms": 67552 + }, + { + "sha": "7d51ef2bfc4c", + "num_hard_constraints": 524936, + "num_variables": 59955, + "baseline_result": "Sat", + "baseline_ms": 40558 + }, + { + "sha": "4c942959630b", + "num_hard_constraints": 695689, + "num_variables": 83411, + "baseline_result": "Sat", + "baseline_ms": 132126 + }, + { + "sha": "a7df812c620d", + "num_hard_constraints": 696365, + "num_variables": 83551, + "baseline_result": "Sat", + "baseline_ms": 93445 + }, + { + "sha": "76bcc4964307", + "num_hard_constraints": 696736, + "num_variables": 83621, + "baseline_result": "Sat", + "baseline_ms": 112662 + }, + { + "sha": "7f7b5c632ef8", + "num_hard_constraints": 696736, + "num_variables": 83621, + "baseline_result": "Sat", + "baseline_ms": 181205 + }, + { + "sha": "86efb0762e6d", + "num_hard_constraints": 696736, + "num_variables": 83621, + "baseline_result": "Sat", + "baseline_ms": 80512 + }, + { + "sha": "3b58bd47434b", + "num_hard_constraints": 1092831, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 31732 + }, + { + "sha": "f54dba052fbf", + "num_hard_constraints": 1092831, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 31406 + }, + { + "sha": "bc60e5e73924", + "num_hard_constraints": 1093104, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 32076 + }, + { + "sha": "c5d46b1e315a", + "num_hard_constraints": 1093134, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 32836 + }, + { + "sha": "96158dd28c0b", + "num_hard_constraints": 1095737, + "num_variables": 99809, + "baseline_result": "Unsat", + "baseline_ms": 33160 + }, + { + "sha": "be1c308d7977", + "num_hard_constraints": 1095737, + "num_variables": 99809, + "baseline_result": "Unsat", + "baseline_ms": 33752 + } + ] +} From d005d8647253f7698c4e41a4aae310b8f8c62012 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 11:45:13 +0900 Subject: [PATCH 08/42] [fix] remove rebaseline timeout --- input/z3-bench/evolve/rebaseline_local.py | 17 +- .../evolve/shared/local_baseline.json | 234 +++++++++++++++++- 2 files changed, 235 insertions(+), 16 deletions(-) diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index 3d4307f19c..09fcc5475d 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -13,11 +13,13 @@ size-distribution) is NOT rebaselined here because final_verify.py re-measures baseline on the fly per problem. -Per-problem: 1 run, timeout = max(60s, raw_baseline_ms * 2 / 1000). +Per-problem: 1 run, timeout = REBASELINE_TIMEOUT_S (1 hr safety floor — a +truncated baseline measurement is worse than a slow one). MISMATCH-by-timeout +that the old multiplier produced would poison local_baseline. Big problems +under parallel contention may run ~2x raw; let them finish. Concurrency = config parallel_solvers (env OPENEVOLVE_PARALLEL_SOLVERS override). """ import json -import math import pathlib import sys import time @@ -37,6 +39,10 @@ _STAGE2_SAMPLE = _HERE / "shared" / "stage2_sample.json" _OUT = _HERE / "shared" / "local_baseline.json" +# Baseline measurement must never be truncated — let z3 finish naturally. +# 1 hour cap is just a safety against true infinite loops; not expected to trigger. +REBASELINE_TIMEOUT_S = 3600 + def _load_problem_index(): idx = {} @@ -94,8 +100,8 @@ def main(): n_parallel = min(parallel_solvers(default=1), len(tasks)) print(f"rebaselining stage1+stage2 evolution samples: {len(tasks)} problems " f"(union of stage1_sample.json + stage2_sample.json)") - print(f"timeout per problem = max(60s, raw_ms * 2), parallel={n_parallel} " - f"(taskset core pin)") + print(f"timeout per problem = {REBASELINE_TIMEOUT_S}s (effectively unbounded " + f"— never cut a baseline run short), parallel={n_parallel} (taskset core pin)") print() # Cores leased from a queue so each in-flight task holds a unique slot. @@ -107,10 +113,9 @@ def main(): def _solve(task): i, meta, smt2_path = task - timeout_s = max(60, math.ceil(meta["raw_ms"] * 2 / 1000)) core = _core_pool.get() try: - res = run_z3(smt2_path, BASELINE, timeout_s, cpu_core=core) + res = run_z3(smt2_path, BASELINE, REBASELINE_TIMEOUT_S, cpu_core=core) finally: _core_pool.put(core) return i, meta, res, core diff --git a/input/z3-bench/evolve/shared/local_baseline.json b/input/z3-bench/evolve/shared/local_baseline.json index a32d05944b..51f5f2b777 100644 --- a/input/z3-bench/evolve/shared/local_baseline.json +++ b/input/z3-bench/evolve/shared/local_baseline.json @@ -1,6 +1,6 @@ { "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500": { - "elapsed_ms": 206, + "elapsed_ms": 183, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 294, @@ -38,11 +38,11 @@ "rlimit count": 1887441, "max memory": 88.59, "memory": 86.55, - "time": 0.206 + "time": 0.182 } }, "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a": { - "elapsed_ms": 73, + "elapsed_ms": 80, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 366, @@ -80,11 +80,11 @@ "rlimit count": 1085456, "max memory": 27.8, "memory": 27.79, - "time": 0.073 + "time": 0.08 } }, "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07": { - "elapsed_ms": 667, + "elapsed_ms": 649, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 1674, @@ -123,11 +123,11 @@ "rlimit count": 7258850, "max memory": 295.69, "memory": 282.15, - "time": 0.667 + "time": 0.648 } }, "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678": { - "elapsed_ms": 1622, + "elapsed_ms": 1595, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 2728, @@ -166,11 +166,11 @@ "rlimit count": 12772018, "max memory": 619.94, "memory": 599.28, - "time": 1.622 + "time": 1.595 } }, "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84": { - "elapsed_ms": 1716, + "elapsed_ms": 1482, "result": "Sat", "matches_raw": true, "raw_elapsed_ms": 3350, @@ -209,7 +209,221 @@ "rlimit count": 15791680, "max memory": 611.27, "memory": 589.44, - "time": 1.716 + "time": 1.482 + } + }, + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3": { + "elapsed_ms": 8371, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 13885, + "stats": { + "conflicts": 194, + "decisions": 9196, + "propagations": 979859, + "binary propagations": 804835, + "restarts": 1, + "final checks": 46, + "added eqs": 53913, + "mk clause": 53566, + "mk clause binary": 14964298, + "del clause": 756, + "minimized lits": 3410, + "num checks": 47, + "mk bool var": 61193, + "pb resolves": 30, + "pb conflicts": 30, + "pb propagations": 294, + "pb predicates": 363, + "arith eq adapter": 1605, + "arith-lower": 24162, + "arith-upper": 22975, + "arith-conflicts": 22, + "arith-bound-propagations-lp": 21276, + "arith-diseq": 9181, + "arith-make-feasible": 6578, + "arith-max-columns": 1631, + "arith-max-rows": 1015, + "arith-offset-eqs": 2733, + "arith-fixed-eqs": 6225, + "solve-eqs-steps": 140427, + "solve-eqs-elim-vars": 27284, + "rlimit count": 25116882, + "max memory": 4321.63, + "memory": 4075.61, + "num allocs": 44267582854.0, + "time": 8.371 + } + }, + "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12": { + "elapsed_ms": 7363, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 14353, + "stats": { + "conflicts": 370, + "decisions": 12306, + "propagations": 1907454, + "binary propagations": 1581417, + "restarts": 2, + "final checks": 58, + "added eqs": 93222, + "mk clause": 54004, + "mk clause binary": 15003935, + "del clause": 758, + "minimized lits": 6012, + "num checks": 59, + "mk bool var": 61652, + "pb resolves": 32, + "pb conflicts": 32, + "pb propagations": 414, + "pb predicates": 367, + "arith eq adapter": 1615, + "arith-lower": 39727, + "arith-upper": 39085, + "arith-conflicts": 85, + "arith-bound-propagations-lp": 33639, + "arith-diseq": 12851, + "arith-make-feasible": 8778, + "arith-max-columns": 1644, + "arith-max-rows": 1023, + "arith-offset-eqs": 5028, + "arith-fixed-eqs": 12443, + "solve-eqs-steps": 141131, + "solve-eqs-elim-vars": 27438, + "rlimit count": 26185013, + "max memory": 4323.19, + "memory": 4078.87, + "num allocs": 48160422899.0, + "time": 7.363 + } + }, + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c": { + "elapsed_ms": 7887, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 16518, + "stats": { + "conflicts": 133, + "decisions": 8000, + "propagations": 1042454, + "binary propagations": 860243, + "final checks": 63, + "added eqs": 50767, + "mk clause": 53891, + "mk clause binary": 15003886, + "del clause": 804, + "minimized lits": 4026, + "num checks": 64, + "mk bool var": 61797, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 234, + "pb predicates": 367, + "arith eq adapter": 1672, + "arith-lower": 19978, + "arith-upper": 22681, + "arith-conflicts": 26, + "arith-bound-propagations-lp": 17475, + "arith-diseq": 8202, + "arith-make-feasible": 4982, + "arith-max-columns": 1644, + "arith-max-rows": 1023, + "arith-offset-eqs": 2993, + "arith-fixed-eqs": 6646, + "solve-eqs-steps": 141131, + "solve-eqs-elim-vars": 27438, + "rlimit count": 25115048, + "max memory": 4323.2, + "memory": 4078.04, + "num allocs": 48281023551.0, + "time": 7.887 + } + }, + "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44": { + "elapsed_ms": 29796, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 66100, + "stats": { + "conflicts": 10502, + "decisions": 258344, + "propagations": 80579240, + "binary propagations": 63588207, + "restarts": 73, + "final checks": 26, + "added eqs": 9700074, + "mk clause": 86395, + "mk clause binary": 10395481, + "del clause": 16801, + "minimized lits": 86233, + "num checks": 27, + "mk bool var": 107633, + "pb resolves": 566, + "pb conflicts": 566, + "pb propagations": 5315, + "pb predicates": 3320, + "arith eq adapter": 10330, + "arith-lower": 3602580, + "arith-upper": 3584378, + "arith-fixed-eqs": 2211, + "arith-conflicts": 1568, + "arith-bound-propagations-lp": 2283276, + "arith-diseq": 330595, + "arith-make-feasible": 262361, + "arith-max-columns": 4361, + "arith-max-rows": 2791, + "arith-offset-eqs": 812596, + "solve-eqs-steps": 148571, + "solve-eqs-elim-vars": 45171, + "rlimit count": 186708860, + "max memory": 2497.21, + "memory": 2435.84, + "num allocs": 221776237287.0, + "time": 29.795 + } + }, + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40": { + "elapsed_ms": 89816, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 93445, + "stats": { + "conflicts": 24898, + "decisions": 553846, + "propagations": 225442153, + "binary propagations": 180204916, + "restarts": 144, + "final checks": 59, + "added eqs": 26342963, + "mk clause": 145891, + "mk clause binary": 18697981, + "del clause": 36477, + "minimized lits": 209386, + "num checks": 60, + "mk bool var": 168488, + "pb resolves": 790, + "pb conflicts": 790, + "pb propagations": 13162, + "pb predicates": 4862, + "arith eq adapter": 16685, + "arith-lower": 9823534, + "arith-upper": 9814657, + "arith-fixed-eqs": 5003, + "arith-conflicts": 4378, + "arith-bound-propagations-lp": 5867838, + "arith-diseq": 915639, + "arith-make-feasible": 677234, + "arith-max-columns": 6395, + "arith-max-rows": 4090, + "arith-offset-eqs": 2133120, + "solve-eqs-steps": 229433, + "solve-eqs-elim-vars": 61921, + "rlimit count": 514934063, + "max memory": 4700.46, + "memory": 4508.21, + "num allocs": 1569297060933.0, + "time": 89.815 } } } From 32b19d3c4533333a7becb3822792d3f7f461447a Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 12:59:47 +0900 Subject: [PATCH 09/42] change core idx --- input/z3-bench/evolve/_probe_parallel.py | 4 ++-- input/z3-bench/evolve/final_verify.py | 3 ++- input/z3-bench/evolve/rebaseline_local.py | 8 +++++--- input/z3-bench/evolve/shared/baseline_params.py | 5 +++-- input/z3-bench/evolve/shared/evaluator.py | 13 +++++++------ 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/input/z3-bench/evolve/_probe_parallel.py b/input/z3-bench/evolve/_probe_parallel.py index c7fd7d9666..29b7851001 100644 --- a/input/z3-bench/evolve/_probe_parallel.py +++ b/input/z3-bench/evolve/_probe_parallel.py @@ -45,12 +45,12 @@ def solve(i, sha, smt2, pin): par = {sha: [] for _, sha, _ in tasks} for rep in range(3): with ThreadPoolExecutor(max_workers=5) as ex: - futs = [ex.submit(solve, i, sha, smt2, i % 5) for i, sha, smt2 in tasks] + futs = [ex.submit(solve, i, sha, smt2, (i % 5) + 1) for i, sha, smt2 in tasks] for fut in futs: i, sha, r = fut.result() par[sha].append((r.get("result"), r["elapsed_ms"])) print(f" rep{rep} [{i+1}/5] {sha[:10]} {r.get('result')} " - f"z3={r['elapsed_ms']}ms core={i % 5}") + f"z3={r['elapsed_ms']}ms core={(i % 5) + 1}") # --- summary --- print("\n=== SUMMARY (z3 elapsed_ms) ===") diff --git a/input/z3-bench/evolve/final_verify.py b/input/z3-bench/evolve/final_verify.py index 4fe7920bef..b289340ee7 100644 --- a/input/z3-bench/evolve/final_verify.py +++ b/input/z3-bench/evolve/final_verify.py @@ -123,7 +123,8 @@ def main(): def _measure(idx_meta): i, meta, smt2 = idx_meta - core = (i % n_parallel) if n_parallel > 1 else None + # Skip core 0 — pin baseline + variant to cores 1..n_parallel. + core = ((i % n_parallel) + 1) if n_parallel > 1 else None # Baseline first, then variant — back-to-back so system noise affects # both equally and speedup ratio cancels it out. b = run_z3(smt2, BASELINE, TIMEOUT_S, cpu_core=core) diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index 09fcc5475d..c83773274e 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -105,10 +105,12 @@ def main(): print() # Cores leased from a queue so each in-flight task holds a unique slot. - # Serial mode also leases core 0 (symmetric with parallel) — keeps the - # baseline measurement under the same pin envelope variants will see. + # Cores 1..n_parallel — core 0 reserved for kernel interrupts / housekeeping + # (avoids tail-latency spikes). Serial mode also leases core 1, symmetric + # with parallel so baseline measurement matches the pin envelope variants + # will see during evolve. _core_pool = _queue.Queue() - for _c in range(n_parallel): + for _c in range(1, n_parallel + 1): _core_pool.put(_c) def _solve(task): diff --git a/input/z3-bench/evolve/shared/baseline_params.py b/input/z3-bench/evolve/shared/baseline_params.py index 1b45d966c8..e731c4469d 100644 --- a/input/z3-bench/evolve/shared/baseline_params.py +++ b/input/z3-bench/evolve/shared/baseline_params.py @@ -107,7 +107,8 @@ def solve(t): i, sha, meta, smt2 = t # Generous timeout: 2x baseline_ms (matches the [0.5, 2.0] tolerance band). timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) - core = i % n_parallel + # Skip core 0 — pin to cores 1..n_parallel. + core = (i % n_parallel) + 1 r = run_z3(smt2, BASELINE, timeout_s, cpu_core=core) return i, sha, meta, r @@ -146,7 +147,7 @@ def solve(t): status = "OK" print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x " - f"{i % n_parallel:>4} {status}") + f"{(i % n_parallel) + 1:>4} {status}") seq_estimate = sum_got_ms / 1000 print() diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index e0bb36412c..4b91de4545 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -210,15 +210,16 @@ def _evaluate(program_path, problems, stage_name): # z3 worker subprocesses run concurrently for the stage's problem list. # Worker count is capped at len(problems) (no point spawning idle threads). # Cores are leased from a queue.Queue so each in-flight task holds a - # unique core slot. This is correct even when len(problems) > n_parallel - # (idx % n_parallel would collide across workers). Serial mode also - # leases core 0 — symmetric with parallel so baseline / variant share - # the same pin envelope (no parallel=1-unpinned vs parallel=N-pinned - # bias). Default 1 = sequential, single slot. + # unique core slot. Correct even when len(problems) > n_parallel + # (idx % n_parallel would collide across workers). + # Core pool = cores 1..n_parallel — core 0 reserved for kernel interrupts + # / housekeeping (avoids tail-latency spikes). Serial mode also leases + # core 1, symmetric with parallel so baseline / variant share the same + # pin envelope (no unpinned-vs-pinned bias). import queue as _queue n_parallel = min(parallel_solvers(default=1), len(problems)) _core_pool = _queue.Queue() - for _c in range(n_parallel): + for _c in range(1, n_parallel + 1): _core_pool.put(_c) def _solve(idx_p): From 88f0f68d0c7fcc8743ebe568700b6e7506a85888 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 04:13:58 +0000 Subject: [PATCH 10/42] use core isolation on docker --- .gitignore | 6 +- docker-run.sh | 49 ++ input/z3-bench/evolve/README.md | 41 ++ .../evolve/shared/local_baseline.json | 429 ------------------ input/z3-bench/evolve/shared/phase1_best.json | 33 -- input/z3-bench/evolve/shared/phase2_best.json | 118 ----- input/z3-bench/evolve/shared/phase3_best.json | 77 ---- scripts/host-isolate-cores.sh | 237 ++++++++++ 8 files changed, 332 insertions(+), 658 deletions(-) delete mode 100644 input/z3-bench/evolve/shared/local_baseline.json delete mode 100644 input/z3-bench/evolve/shared/phase1_best.json delete mode 100644 input/z3-bench/evolve/shared/phase2_best.json delete mode 100644 input/z3-bench/evolve/shared/phase3_best.json create mode 100755 scripts/host-isolate-cores.sh diff --git a/.gitignore b/.gitignore index 597934fc78..cbbbb2787c 100644 --- a/.gitignore +++ b/.gitignore @@ -56,4 +56,8 @@ htmlcov/ # For SR secrets.yaml problems -input/z3-bench/raw-data \ No newline at end of file +input/z3-bench/raw-data + +# z3-bench evolve run artifacts (locally regenerated) +input/z3-bench/evolve/shared/local_baseline.json +input/z3-bench/evolve/shared/phase*_best.json \ No newline at end of file diff --git a/docker-run.sh b/docker-run.sh index e3f2a6db99..9af02a036b 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -39,6 +39,8 @@ INTERACTIVE_MODE=true ENV_TYPE="dev" IMAGE_TAG="dev-latest" CONTAINER_SUFFIX="" +PIN_CPUS="" +ISOLATED_CGROUP_NAME="${ISOLATED_CGROUP_NAME:-isolated.slice}" # Help function show_help() { @@ -52,6 +54,10 @@ show_help() { echo " -d, --detached Run in detached mode" echo " -i, --interactive Run in interactive mode (default)" echo " -s, --suffix TEXT Add suffix to default container name" + echo " --pin [LIST] Pin container to CPU cores (default: 1-6 if no LIST)." + echo " Adds --cpuset-cpus, joins isolated cgroup if present," + echo " and wraps the entrypoint with taskset -c LIST." + echo " Pair with: sudo ./scripts/host-isolate-cores.sh start" echo " -h, --help Show this help message" echo "" echo "Examples:" @@ -60,6 +66,8 @@ show_help() { echo " $0 prod -d # Run prod environment in detached mode" echo " $0 -d # Run dev environment in detached mode" echo " $0 dev -s test # Container: axion-cell-container-dev-\$USER-test" + echo " $0 --pin # Pin container to cores 1-6 (host isolation recommended)" + echo " $0 --pin 2-7 # Pin container to cores 2-7" echo "" } @@ -126,6 +134,19 @@ while [[ $# -gt 0 ]]; do CONTAINER_SUFFIX="$2" shift 2 ;; + --pin) + if [[ -n "${2:-}" ]] && [[ "$2" != -* ]]; then + PIN_CPUS="$2" + shift 2 + else + PIN_CPUS="1-6" + shift + fi + ;; + --pin=*) + PIN_CPUS="${1#--pin=}" + shift + ;; *) echo -e "${RED}Unknown option: $1${NC}" show_help @@ -338,6 +359,23 @@ else DOCKER_RUN_OPTS+=("${CLAUDE_CLI_MOUNT_OPTS[@]}") fi +# CPU pinning: --cpuset-cpus is the kernel-level pin; --cgroup-parent attaches +# the container to the isolated cgroup created by scripts/host-isolate-cores.sh +# so it can claim CPUs that were carved out of the system slices. taskset +# inside the container is added below as belt-and-suspenders. +JOINED_ISOLATED_CGROUP=false +if [[ -n "$PIN_CPUS" ]]; then + DOCKER_RUN_OPTS+=("--cpuset-cpus=$PIN_CPUS") + if [[ -d "/sys/fs/cgroup/$ISOLATED_CGROUP_NAME" ]]; then + DOCKER_RUN_OPTS+=("--cgroup-parent=/$ISOLATED_CGROUP_NAME") + JOINED_ISOLATED_CGROUP=true + else + echo -e "${YELLOW}Note: /sys/fs/cgroup/$ISOLATED_CGROUP_NAME not found.${NC}" + echo -e "${YELLOW} Container will use --cpuset-cpus=$PIN_CPUS only (system tasks still share those cores).${NC}" + echo -e "${YELLOW} For host-side isolation, run: sudo ./scripts/host-isolate-cores.sh start${NC}" + fi +fi + # Add options based on execution mode if [ "$DETACHED_MODE" = true ]; then DOCKER_RUN_OPTS+=("-d") @@ -363,6 +401,11 @@ else "if [ -x $INIT_SCRIPT_REL ]; then $INIT_SCRIPT_REL || true; fi; exec bash" ) fi +# Wrap with taskset so the in-container shell (and everything it spawns) is +# explicitly pinned even if the user later loosens cpuset.cpus. +if [[ -n "$PIN_CPUS" ]]; then + CONTAINER_CMD=("taskset" "-c" "$PIN_CPUS" "${CONTAINER_CMD[@]}") +fi DOCKER_RUN_OPTS+=("-e" "AUTO_INSTALL_CLAUDE=${AUTO_INSTALL_CLAUDE:-1}") echo "" @@ -390,6 +433,12 @@ fi if [ ${#CLAUDE_ENV_OPTS[@]} -gt 0 ]; then echo -e " Forwarded env vars:$(printf ' %s' "${CLAUDE_ENV_OPTS[@]}" | sed 's/-e //g' | sed 's/=[^ ]*/=***/g')" fi +if [[ -n "$PIN_CPUS" ]]; then + echo -e " CPU pinning: $PIN_CPUS (taskset + --cpuset-cpus)" + if [ "$JOINED_ISOLATED_CGROUP" = true ]; then + echo -e " Isolated cgroup: /$ISOLATED_CGROUP_NAME (joined)" + fi +fi echo "" # Run Docker container diff --git a/input/z3-bench/evolve/README.md b/input/z3-bench/evolve/README.md index 5490c3f6cf..00dc3ac051 100644 --- a/input/z3-bench/evolve/README.md +++ b/input/z3-bench/evolve/README.md @@ -226,6 +226,47 @@ Detached mode에서도 init script가 background로 한 번 실행됨. `docker l | Rate limit | Pro/Max 5h window 소진. `OPENEVOLVE_MAX_PROBLEMS` 축소 또는 OpenAI 호환 백엔드 병행 | | Mac에서 host claude 마운트 시도 | Mac 바이너리는 Linux 컨테이너에서 안 돎 → docker-run.sh가 자동 skip하고 installer로 fallback | +### 4.8 CPU 핀닝 / 코어 격리 (측정 안정성) + +z3 wall-clock을 일관되게 재기 위해 컨테이너를 특정 코어에 고정. 호스트 사이드 격리(cgroup v2 isolated partition)와 컨테이너 핀닝을 짝지어 사용한다. + +```bash +# === Host (재부팅 없음) === +sudo ./scripts/host-isolate-cores.sh start # cores 1-6 격리 +sudo ./scripts/host-isolate-cores.sh status # 상태 확인 +# 끝나면 +sudo ./scripts/host-isolate-cores.sh stop # 원복 + +# === Docker 실행 === +./docker-run.sh dev -s z3evo --pin # = --pin 1-6 (default) +./docker-run.sh dev -s z3evo --pin 2-7 # 다른 범위 +``` + +`--pin` 동작: +- `--cpuset-cpus=` 추가 (커널 cpuset 강제) +- `/sys/fs/cgroup/isolated.slice` 존재 시 `--cgroup-parent=/isolated.slice`로 격리된 cgroup에 합류 (없으면 경고만) +- 컨테이너 엔트리포인트를 `taskset -c bash -lc ...`로 래핑 + +`host-isolate-cores.sh start` 메커니즘: +- `/sys/fs/cgroup/isolated.slice` 생성 → `cpuset.cpus=1-6`, `cpuset.cpus.partition=isolated` +- 커널이 1-6을 system.slice/user.slice 등 다른 모든 cgroup에서 제거 + 스케줄러 load-balancing 끔 +- `/proc/irq/*/smp_affinity`를 `0,7-19`로 마스크 → 디바이스 IRQ가 격리 코어에 안 떨어짐 +- 상태/IRQ 백업은 `/var/lib/host-isolate-cores/`에 저장됨 (stop이 원복) + +| 변수 | 기본 | 용도 | +|---|---|---| +| `ISOLATED_CPUS` | `1-6` | 격리할 CPU 리스트 (`host-isolate-cores.sh`) | +| `CGROUP_NAME` | `isolated.slice` | 격리 cgroup 이름 | +| `ISOLATED_CGROUP_NAME` | `isolated.slice` | `docker-run.sh`가 합류할 cgroup 이름 | + +**한계**: 런타임 격리로는 커널 스레드(kthread)와 타이머 틱은 못 막음. 완전 격리가 필요하면 boot param을 추가하고 재부팅: + +``` +isolcpus=1-6 nohz_full=1-6 rcu_nocbs=1-6 +``` + +(`host-isolate-cores.sh start` 출력 마지막에 같은 안내가 나옴.) + ## 5. 환경 변수 | 변수 | 기본 | 용도 | diff --git a/input/z3-bench/evolve/shared/local_baseline.json b/input/z3-bench/evolve/shared/local_baseline.json deleted file mode 100644 index 51f5f2b777..0000000000 --- a/input/z3-bench/evolve/shared/local_baseline.json +++ /dev/null @@ -1,429 +0,0 @@ -{ - "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500": { - "elapsed_ms": 183, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 294, - "stats": { - "conflicts": 94, - "decisions": 1199, - "propagations": 112554, - "binary propagations": 88002, - "final checks": 12, - "added eqs": 13146, - "mk clause": 6192, - "mk clause binary": 275302, - "del clause": 1023, - "minimized lits": 138, - "num checks": 13, - "mk bool var": 8691, - "pb resolves": 23, - "pb conflicts": 23, - "pb propagations": 5, - "pb predicates": 152, - "arith eq adapter": 1063, - "arith-lower": 4975, - "arith-upper": 4631, - "arith-conflicts": 11, - "arith-bound-propagations-lp": 2639, - "arith-diseq": 1163, - "arith-make-feasible": 673, - "arith-max-columns": 348, - "arith-max-rows": 199, - "arith-offset-eqs": 429, - "arith-fixed-eqs": 917, - "solve-eqs-steps": 13000, - "solve-eqs-elim-vars": 4554, - "num allocs": 82902270, - "rlimit count": 1887441, - "max memory": 88.59, - "memory": 86.55, - "time": 0.182 - } - }, - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a": { - "elapsed_ms": 80, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 366, - "stats": { - "conflicts": 57, - "decisions": 959, - "propagations": 47700, - "binary propagations": 33638, - "final checks": 24, - "added eqs": 4528, - "mk clause": 2872, - "mk clause binary": 38558, - "del clause": 285, - "minimized lits": 163, - "num checks": 25, - "mk bool var": 3595, - "pb resolves": 12, - "pb conflicts": 15, - "pb propagations": 33, - "pb predicates": 102, - "arith eq adapter": 196, - "arith-lower": 1370, - "arith-upper": 1341, - "arith-conflicts": 2, - "arith-bound-propagations-lp": 914, - "arith-diseq": 288, - "arith-make-feasible": 503, - "arith-max-columns": 157, - "arith-max-rows": 92, - "arith-offset-eqs": 258, - "arith-fixed-eqs": 332, - "solve-eqs-steps": 7146, - "solve-eqs-elim-vars": 3244, - "num allocs": 19186867, - "rlimit count": 1085456, - "max memory": 27.8, - "memory": 27.79, - "time": 0.08 - } - }, - "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07": { - "elapsed_ms": 649, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 1674, - "stats": { - "conflicts": 335, - "decisions": 5186, - "propagations": 444718, - "binary propagations": 335262, - "restarts": 3, - "final checks": 9, - "added eqs": 49632, - "mk clause": 13497, - "mk clause binary": 1018513, - "del clause": 4428, - "minimized lits": 476, - "num checks": 10, - "mk bool var": 17570, - "pb resolves": 97, - "pb conflicts": 97, - "pb propagations": 105, - "pb predicates": 485, - "arith eq adapter": 2218, - "arith-lower": 18318, - "arith-upper": 18182, - "arith-fixed-eqs": 354, - "arith-conflicts": 28, - "arith-bound-propagations-lp": 11954, - "arith-diseq": 4689, - "arith-make-feasible": 3756, - "arith-max-columns": 584, - "arith-max-rows": 356, - "arith-offset-eqs": 2585, - "solve-eqs-steps": 26644, - "solve-eqs-elim-vars": 8047, - "num allocs": 507617878, - "rlimit count": 7258850, - "max memory": 295.69, - "memory": 282.15, - "time": 0.648 - } - }, - "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678": { - "elapsed_ms": 1595, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 2728, - "stats": { - "conflicts": 899, - "decisions": 13186, - "propagations": 2230618, - "binary propagations": 1708238, - "restarts": 8, - "final checks": 14, - "added eqs": 229778, - "mk clause": 26234, - "mk clause binary": 2751847, - "del clause": 6555, - "minimized lits": 4494, - "num checks": 15, - "mk bool var": 32526, - "pb resolves": 146, - "pb conflicts": 146, - "pb propagations": 215, - "pb predicates": 851, - "arith eq adapter": 3753, - "arith-lower": 86621, - "arith-upper": 86769, - "arith-fixed-eqs": 706, - "arith-conflicts": 72, - "arith-bound-propagations-lp": 56004, - "arith-diseq": 20399, - "arith-make-feasible": 9707, - "arith-max-columns": 1171, - "arith-max-rows": 734, - "arith-offset-eqs": 13343, - "solve-eqs-steps": 45332, - "solve-eqs-elim-vars": 13068, - "num allocs": 2584040643, - "rlimit count": 12772018, - "max memory": 619.94, - "memory": 599.28, - "time": 1.595 - } - }, - "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84": { - "elapsed_ms": 1482, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 3350, - "stats": { - "conflicts": 417, - "decisions": 11540, - "propagations": 1128638, - "binary propagations": 849055, - "restarts": 3, - "final checks": 11, - "added eqs": 113826, - "mk clause": 25677, - "mk clause binary": 2682505, - "del clause": 7791, - "minimized lits": 1561, - "num checks": 12, - "mk bool var": 31692, - "pb resolves": 140, - "pb conflicts": 140, - "pb propagations": 151, - "pb predicates": 845, - "arith eq adapter": 4218, - "arith-lower": 40885, - "arith-upper": 41967, - "arith-fixed-eqs": 512, - "arith-conflicts": 31, - "arith-bound-propagations-lp": 27128, - "arith-diseq": 12159, - "arith-make-feasible": 7169, - "arith-max-columns": 935, - "arith-max-rows": 567, - "arith-offset-eqs": 6913, - "solve-eqs-steps": 47248, - "solve-eqs-elim-vars": 13455, - "num allocs": 2287909482, - "rlimit count": 15791680, - "max memory": 611.27, - "memory": 589.44, - "time": 1.482 - } - }, - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3": { - "elapsed_ms": 8371, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 13885, - "stats": { - "conflicts": 194, - "decisions": 9196, - "propagations": 979859, - "binary propagations": 804835, - "restarts": 1, - "final checks": 46, - "added eqs": 53913, - "mk clause": 53566, - "mk clause binary": 14964298, - "del clause": 756, - "minimized lits": 3410, - "num checks": 47, - "mk bool var": 61193, - "pb resolves": 30, - "pb conflicts": 30, - "pb propagations": 294, - "pb predicates": 363, - "arith eq adapter": 1605, - "arith-lower": 24162, - "arith-upper": 22975, - "arith-conflicts": 22, - "arith-bound-propagations-lp": 21276, - "arith-diseq": 9181, - "arith-make-feasible": 6578, - "arith-max-columns": 1631, - "arith-max-rows": 1015, - "arith-offset-eqs": 2733, - "arith-fixed-eqs": 6225, - "solve-eqs-steps": 140427, - "solve-eqs-elim-vars": 27284, - "rlimit count": 25116882, - "max memory": 4321.63, - "memory": 4075.61, - "num allocs": 44267582854.0, - "time": 8.371 - } - }, - "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12": { - "elapsed_ms": 7363, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 14353, - "stats": { - "conflicts": 370, - "decisions": 12306, - "propagations": 1907454, - "binary propagations": 1581417, - "restarts": 2, - "final checks": 58, - "added eqs": 93222, - "mk clause": 54004, - "mk clause binary": 15003935, - "del clause": 758, - "minimized lits": 6012, - "num checks": 59, - "mk bool var": 61652, - "pb resolves": 32, - "pb conflicts": 32, - "pb propagations": 414, - "pb predicates": 367, - "arith eq adapter": 1615, - "arith-lower": 39727, - "arith-upper": 39085, - "arith-conflicts": 85, - "arith-bound-propagations-lp": 33639, - "arith-diseq": 12851, - "arith-make-feasible": 8778, - "arith-max-columns": 1644, - "arith-max-rows": 1023, - "arith-offset-eqs": 5028, - "arith-fixed-eqs": 12443, - "solve-eqs-steps": 141131, - "solve-eqs-elim-vars": 27438, - "rlimit count": 26185013, - "max memory": 4323.19, - "memory": 4078.87, - "num allocs": 48160422899.0, - "time": 7.363 - } - }, - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c": { - "elapsed_ms": 7887, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 16518, - "stats": { - "conflicts": 133, - "decisions": 8000, - "propagations": 1042454, - "binary propagations": 860243, - "final checks": 63, - "added eqs": 50767, - "mk clause": 53891, - "mk clause binary": 15003886, - "del clause": 804, - "minimized lits": 4026, - "num checks": 64, - "mk bool var": 61797, - "pb resolves": 27, - "pb conflicts": 27, - "pb propagations": 234, - "pb predicates": 367, - "arith eq adapter": 1672, - "arith-lower": 19978, - "arith-upper": 22681, - "arith-conflicts": 26, - "arith-bound-propagations-lp": 17475, - "arith-diseq": 8202, - "arith-make-feasible": 4982, - "arith-max-columns": 1644, - "arith-max-rows": 1023, - "arith-offset-eqs": 2993, - "arith-fixed-eqs": 6646, - "solve-eqs-steps": 141131, - "solve-eqs-elim-vars": 27438, - "rlimit count": 25115048, - "max memory": 4323.2, - "memory": 4078.04, - "num allocs": 48281023551.0, - "time": 7.887 - } - }, - "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44": { - "elapsed_ms": 29796, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 66100, - "stats": { - "conflicts": 10502, - "decisions": 258344, - "propagations": 80579240, - "binary propagations": 63588207, - "restarts": 73, - "final checks": 26, - "added eqs": 9700074, - "mk clause": 86395, - "mk clause binary": 10395481, - "del clause": 16801, - "minimized lits": 86233, - "num checks": 27, - "mk bool var": 107633, - "pb resolves": 566, - "pb conflicts": 566, - "pb propagations": 5315, - "pb predicates": 3320, - "arith eq adapter": 10330, - "arith-lower": 3602580, - "arith-upper": 3584378, - "arith-fixed-eqs": 2211, - "arith-conflicts": 1568, - "arith-bound-propagations-lp": 2283276, - "arith-diseq": 330595, - "arith-make-feasible": 262361, - "arith-max-columns": 4361, - "arith-max-rows": 2791, - "arith-offset-eqs": 812596, - "solve-eqs-steps": 148571, - "solve-eqs-elim-vars": 45171, - "rlimit count": 186708860, - "max memory": 2497.21, - "memory": 2435.84, - "num allocs": 221776237287.0, - "time": 29.795 - } - }, - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40": { - "elapsed_ms": 89816, - "result": "Sat", - "matches_raw": true, - "raw_elapsed_ms": 93445, - "stats": { - "conflicts": 24898, - "decisions": 553846, - "propagations": 225442153, - "binary propagations": 180204916, - "restarts": 144, - "final checks": 59, - "added eqs": 26342963, - "mk clause": 145891, - "mk clause binary": 18697981, - "del clause": 36477, - "minimized lits": 209386, - "num checks": 60, - "mk bool var": 168488, - "pb resolves": 790, - "pb conflicts": 790, - "pb propagations": 13162, - "pb predicates": 4862, - "arith eq adapter": 16685, - "arith-lower": 9823534, - "arith-upper": 9814657, - "arith-fixed-eqs": 5003, - "arith-conflicts": 4378, - "arith-bound-propagations-lp": 5867838, - "arith-diseq": 915639, - "arith-make-feasible": 677234, - "arith-max-columns": 6395, - "arith-max-rows": 4090, - "arith-offset-eqs": 2133120, - "solve-eqs-steps": 229433, - "solve-eqs-elim-vars": 61921, - "rlimit count": 514934063, - "max memory": 4700.46, - "memory": 4508.21, - "num allocs": 1569297060933.0, - "time": 89.815 - } - } -} diff --git a/input/z3-bench/evolve/shared/phase1_best.json b/input/z3-bench/evolve/shared/phase1_best.json deleted file mode 100644 index cd8bfc8a4f..0000000000 --- a/input/z3-bench/evolve/shared/phase1_best.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "opt.elim_01": true, - "opt.enable_core_rotate": true, - "opt.enable_sat": true, - "opt.enable_sls": true, - "opt.maxlex.enable": true, - "opt.maxres.add_upper_bound_block": false, - "opt.maxres.hill_climb": true, - "opt.maxres.max_core_size": 5, - "opt.maxres.max_correction_set_size": 3, - "opt.maxres.maximize_assignment": false, - "opt.maxres.pivot_on_correction_set": true, - "opt.maxres.wmax": false, - "opt.maxsat_engine": "rc2", - "opt.optsmt_engine": "basic", - "opt.pb.compile_equality": false, - "opt.priority": "pareto", - "opt.rc2.totalizer": true, - "sls.early_prune": true, - "sls.random_offset": true, - "sls.rescore": true, - "sls.restart_base": 100, - "sls.restart_init": false, - "sls.track_unsat": false, - "sls.walksat": true, - "sls.walksat_repick": true, - "sls.walksat_ucb": true, - "sls.walksat_ucb_constant": 23.0, - "sls.walksat_ucb_forget": 0.1, - "sls.walksat_ucb_init": false, - "sls.walksat_ucb_noise": 0.0002, - "sls.wp": 23 -} diff --git a/input/z3-bench/evolve/shared/phase2_best.json b/input/z3-bench/evolve/shared/phase2_best.json deleted file mode 100644 index 5f23fbb78e..0000000000 --- a/input/z3-bench/evolve/shared/phase2_best.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "sat.acce": false, - "sat.anf": false, - "sat.anf.delay": 2, - "sat.anf.exlin": false, - "sat.asymm_branch": true, - "sat.asymm_branch.all": false, - "sat.asymm_branch.delay": 1, - "sat.asymm_branch.limit": 100000000, - "sat.asymm_branch.rounds": 2, - "sat.asymm_branch.sampled": true, - "sat.ate": false, - "sat.backtrack.conflicts": 4000, - "sat.backtrack.scopes": 100, - "sat.bca": false, - "sat.bce": false, - "sat.bce_at": 2, - "sat.bce_delay": 2, - "sat.blocked_clause_limit": 100000000, - "sat.branching.anti_exploration": 0.1, - "sat.branching.heuristic": "lrb", - "sat.burst_search": 0, - "sat.cardinality.encoding": "grouped", - "sat.cardinality.solver": true, - "sat.cce": false, - "sat.core.minimize": false, - "sat.core.minimize_partial": false, - "sat.cut": false, - "sat.cut.aig": false, - "sat.cut.delay": 2, - "sat.cut.dont_cares": true, - "sat.cut.force": false, - "sat.cut.lut": false, - "sat.cut.npn3": false, - "sat.cut.redundancies": true, - "sat.cut.xor": false, - "sat.ddfw.init_clause_weight": 8, - "sat.ddfw.reinit_base": 10000, - "sat.ddfw.restart_base": 100000, - "sat.ddfw.threads": 0, - "sat.ddfw.use_reward_pct": 15, - "sat.ddfw_search": false, - "sat.elim_vars": true, - "sat.enable_pre_simplify": false, - "sat.force_cleanup": false, - "sat.gc": "dyn_psm", - "sat.gc.burst": false, - "sat.gc.defrag": true, - "sat.gc.increment": 500, - "sat.gc.initial": 80000, - "sat.gc.k": 7, - "sat.gc.small_lbd": 3, - "sat.inprocess.max": 4294967295, - "sat.local_search": false, - "sat.local_search_mode": "wsat", - "sat.local_search_threads": 0, - "sat.lookahead.cube.cutoff": "depth", - "sat.lookahead.cube.depth": 1, - "sat.lookahead.cube.fraction": 0.4, - "sat.lookahead.cube.freevars": 0.8, - "sat.lookahead.cube.psat.clause_base": 2.0, - "sat.lookahead.cube.psat.trigger": 5.0, - "sat.lookahead.cube.psat.var_exp": 1.0, - "sat.lookahead.delta_fraction": 1.0, - "sat.lookahead.double": true, - "sat.lookahead.global_autarky": false, - "sat.lookahead.preselect": false, - "sat.lookahead.reward": "march_cu", - "sat.lookahead.use_learned": false, - "sat.lookahead_scores": false, - "sat.lookahead_simplify": false, - "sat.lookahead_simplify.bca": true, - "sat.minimize_lemmas": true, - "sat.pb.lemma_format": "cardinality", - "sat.pb.resolve": "cardinality", - "sat.pb.solver": "binary_merge", - "sat.phase": "caching", - "sat.phase.sticky": true, - "sat.prob_search": false, - "sat.probing": true, - "sat.probing_binary": true, - "sat.probing_cache": true, - "sat.probing_cache_limit": 1024, - "sat.probing_limit": 5000000, - "sat.propagate.prefetch": true, - "sat.random_freq": 0.01, - "sat.reorder.activity_scale": 100, - "sat.reorder.base": 4294967295, - "sat.reorder.itau": 4.0, - "sat.rephase.base": 1000, - "sat.resolution.cls_cutoff1": 100000000, - "sat.resolution.cls_cutoff2": 700000000, - "sat.resolution.limit": 500000000, - "sat.resolution.lit_cutoff_range1": 700, - "sat.resolution.lit_cutoff_range2": 400, - "sat.resolution.lit_cutoff_range3": 300, - "sat.resolution.occ_cutoff": 10, - "sat.resolution.occ_cutoff_range1": 8, - "sat.resolution.occ_cutoff_range2": 5, - "sat.resolution.occ_cutoff_range3": 3, - "sat.restart": "ema", - "sat.restart.emafastglue": 0.03, - "sat.restart.emaslowglue": 1e-05, - "sat.restart.factor": 1.5, - "sat.restart.fast": true, - "sat.restart.initial": 100, - "sat.restart.margin": 1.1, - "sat.retain_blocked_clauses": true, - "sat.scc": true, - "sat.scc.tr": true, - "sat.search.sat.conflicts": 1500, - "sat.search.unsat.conflicts": 1500, - "sat.simplify.delay": 0, - "sat.subsumption": true, - "sat.subsumption.limit": 100000000, - "sat.threads": 1, - "sat.variable_decay": 110 -} diff --git a/input/z3-bench/evolve/shared/phase3_best.json b/input/z3-bench/evolve/shared/phase3_best.json deleted file mode 100644 index 749479b651..0000000000 --- a/input/z3-bench/evolve/shared/phase3_best.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "smt.arith.auto_config_simplex": false, - "smt.arith.bprop_on_pivoted_rows": true, - "smt.arith.branch_cut_ratio": 2, - "smt.arith.eager_eq_axioms": true, - "smt.arith.enable_hnf": true, - "smt.arith.greatest_error_pivot": false, - "smt.arith.ignore_int": false, - "smt.arith.int_eq_branch": false, - "smt.arith.min": false, - "smt.arith.nl": true, - "smt.arith.nl.rounds": 512, - "smt.arith.propagate_eqs": true, - "smt.arith.propagation_mode": 1, - "smt.arith.random_initial_value": false, - "smt.arith.rep_freq": 0, - "smt.arith.simplex_strategy": 0, - "smt.arith.solver": 2, - "smt.array.extensional": true, - "smt.array.weak": false, - "smt.auto_config": false, - "smt.bv.delay": true, - "smt.bv.enable_int2bv": true, - "smt.bv.reflect": true, - "smt.bv.size_reduce": false, - "smt.bv.solver": 0, - "smt.case_split": 1, - "smt.core.extend_nonlocal_patterns": false, - "smt.core.extend_patterns": false, - "smt.core.extend_patterns.max_distance": 4294967295, - "smt.core.minimize": false, - "smt.core.validate": false, - "smt.cube_depth": 1, - "smt.dack": 1, - "smt.dack.eq": false, - "smt.dack.factor": 0.1, - "smt.dack.gc": 2000, - "smt.dack.gc_inv_decay": 0.8, - "smt.dack.threshold": 10, - "smt.delay_units": false, - "smt.delay_units_threshold": 32, - "smt.dt_lazy_splits": 1, - "smt.elim_unconstrained": true, - "smt.ematching": true, - "smt.induction": false, - "smt.lemma_gc_strategy": 2, - "smt.logic": "", - "smt.macro_finder": false, - "smt.mbqi": true, - "smt.mbqi.force_template": 10, - "smt.mbqi.max_cexs": 1, - "smt.mbqi.max_cexs_incr": 0, - "smt.mbqi.max_iterations": 1000, - "smt.pb.conflict_frequency": 1000, - "smt.pb.learn_complements": true, - "smt.phase_caching_off": 100, - "smt.phase_caching_on": 400, - "smt.phase_selection": 3, - "smt.propagate_values": true, - "smt.pull_nested_quantifiers": false, - "smt.qi.cost": "(+ weight generation)", - "smt.qi.eager_threshold": 15.0, - "smt.qi.lazy_threshold": 30.0, - "smt.qi.max_instances": 4294967295, - "smt.qi.max_multi_patterns": 0, - "smt.qi.quick_checker": 0, - "smt.quasi_macros": false, - "smt.refine_inj_axioms": true, - "smt.relevancy": 2, - "smt.restart_strategy": 1, - "smt.solve_eqs": true, - "smt.theory_aware_branching": false, - "smt.theory_case_split": false, - "smt.threads": 1, - "smt.threads.cube_frequency": 2, - "smt.threads.max_conflicts": 400 -} diff --git a/scripts/host-isolate-cores.sh b/scripts/host-isolate-cores.sh new file mode 100755 index 0000000000..3ca4ddcd22 --- /dev/null +++ b/scripts/host-isolate-cores.sh @@ -0,0 +1,237 @@ +#!/usr/bin/env bash +# Runtime CPU-core isolation via cgroup v2 isolated partition. +# +# Creates /sys/fs/cgroup/, sets cpuset.cpus to the isolated list, +# and promotes it to an "isolated" partition root. The kernel then: +# - excludes those CPUs from every other cgroup (system.slice, user.slice, …) +# - disables scheduler load balancing on them +# Tasks must be placed into this cgroup explicitly (e.g. docker +# --cgroup-parent=/). IRQ affinity is masked to the remaining +# system CPUs so device interrupts don't fire on the isolated cores. +# +# Usage: +# sudo ./scripts/host-isolate-cores.sh start +# sudo ./scripts/host-isolate-cores.sh stop +# sudo ./scripts/host-isolate-cores.sh status +# +# Env overrides: +# ISOLATED_CPUS=1-6 CPUs to reserve for the docker workload +# CGROUP_NAME=isolated.slice Cgroup name under /sys/fs/cgroup + +set -euo pipefail + +ISOLATED_CPUS="${ISOLATED_CPUS:-1-6}" +CGROUP_NAME="${CGROUP_NAME:-isolated.slice}" +CG_ROOT="/sys/fs/cgroup" +CG_PATH="$CG_ROOT/$CGROUP_NAME" +STATE_DIR="/var/lib/host-isolate-cores" + +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m' + +need_root() { + if [[ $EUID -ne 0 ]]; then + echo -e "${RED}Must run as root (use sudo).${NC}" >&2 + exit 1 + fi +} + +check_cgroup_v2() { + if [[ ! -f "$CG_ROOT/cgroup.controllers" ]]; then + echo -e "${RED}cgroup v2 not detected at $CG_ROOT${NC}" >&2 + exit 1 + fi + if ! grep -qw cpuset "$CG_ROOT/cgroup.controllers"; then + echo -e "${RED}cpuset controller not available in cgroup v2 root${NC}" >&2 + exit 1 + fi +} + +enable_cpuset_subtree() { + if ! grep -qw cpuset "$CG_ROOT/cgroup.subtree_control" 2>/dev/null; then + echo "+cpuset" > "$CG_ROOT/cgroup.subtree_control" + fi +} + +cpu_list_to_mask() { + python3 - "$1" <<'PY' +import sys +mask = 0 +for p in sys.argv[1].split(','): + if '-' in p: + a, b = p.split('-') + for i in range(int(a), int(b) + 1): + mask |= 1 << i + elif p: + mask |= 1 << int(p) +print(f'{mask:x}') +PY +} + +compute_system_cpus() { + python3 - "$ISOLATED_CPUS" <<'PY' +import sys, os +iso = set() +for p in sys.argv[1].split(','): + if '-' in p: + a, b = p.split('-'); iso.update(range(int(a), int(b) + 1)) + elif p: + iso.add(int(p)) +remain = sorted(set(range(os.cpu_count())) - iso) +out, i = [], 0 +while i < len(remain): + j = i + while j + 1 < len(remain) and remain[j + 1] == remain[j] + 1: + j += 1 + out.append(str(remain[i]) if i == j else f'{remain[i]}-{remain[j]}') + i = j + 1 +print(','.join(out)) +PY +} + +start_isolation() { + need_root + check_cgroup_v2 + mkdir -p "$STATE_DIR" + + local system_cpus + system_cpus="$(compute_system_cpus)" + echo -e "${BLUE}Isolated cores : $ISOLATED_CPUS${NC}" + echo -e "${BLUE}System cores : $system_cpus${NC}" + echo -e "${BLUE}Cgroup : $CG_PATH${NC}" + + enable_cpuset_subtree + mkdir -p "$CG_PATH" + + # cpuset.mems must be set before cpuset.cpus on some kernels + if [[ -f "$CG_PATH/cpuset.mems" ]]; then + local mems + mems="$(cat "$CG_ROOT/cpuset.mems.effective" 2>/dev/null || echo 0)" + echo "$mems" > "$CG_PATH/cpuset.mems" 2>/dev/null || echo 0 > "$CG_PATH/cpuset.mems" + fi + + echo "$ISOLATED_CPUS" > "$CG_PATH/cpuset.cpus" + + # Newer kernels require an explicit exclusive set before promoting to a + # partition root. Older ones derive it; the write is harmless either way. + if [[ -f "$CG_PATH/cpuset.cpus.exclusive" ]]; then + echo "$ISOLATED_CPUS" > "$CG_PATH/cpuset.cpus.exclusive" 2>/dev/null || true + fi + + if echo isolated > "$CG_PATH/cpuset.cpus.partition" 2>/dev/null; then + local pstate + pstate="$(cat "$CG_PATH/cpuset.cpus.partition")" + if [[ "$pstate" == "isolated" ]]; then + echo -e "${GREEN} partition = isolated (cpus removed from every other cgroup)${NC}" + else + echo -e "${YELLOW} partition state: $pstate -- kernel rejected isolation.${NC}" + echo -e "${YELLOW} Hint: 'cat $CG_PATH/cpuset.cpus.partition' shows the reason in brackets.${NC}" + fi + else + echo -e "${YELLOW} could not write cpuset.cpus.partition; falling back to root partition${NC}" + echo root > "$CG_PATH/cpuset.cpus.partition" 2>/dev/null || true + fi + + # IRQ affinity -> system cores only + local mask + mask="$(cpu_list_to_mask "$system_cpus")" + echo -e "${BLUE}IRQ affinity mask: 0x$mask${NC}" + : > "$STATE_DIR/irq_backup.tsv" + if [[ -f /proc/irq/default_smp_affinity ]]; then + printf 'default\t%s\n' "$(cat /proc/irq/default_smp_affinity)" >> "$STATE_DIR/irq_backup.tsv" + echo "$mask" > /proc/irq/default_smp_affinity 2>/dev/null || true + fi + local ok=0 fail=0 + for d in /proc/irq/[0-9]*; do + [[ -w "$d/smp_affinity" ]] || continue + local prev + prev="$(cat "$d/smp_affinity" 2>/dev/null || true)" + printf '%s\t%s\n' "$d" "$prev" >> "$STATE_DIR/irq_backup.tsv" + if echo "$mask" > "$d/smp_affinity" 2>/dev/null; then + ok=$((ok + 1)) + else + fail=$((fail + 1)) + fi + done + echo -e "${GREEN} IRQs redirected: $ok ok, $fail unmovable (per-CPU IRQs are expected)${NC}" + + cat > "$STATE_DIR/state" < "$CG_PATH/cpuset.cpus.partition" 2>/dev/null || true + if [[ -f "$CG_PATH/cgroup.procs" ]]; then + while read -r pid; do + [[ -z "$pid" ]] && continue + echo "$pid" > "$CG_ROOT/cgroup.procs" 2>/dev/null || true + done < "$CG_PATH/cgroup.procs" + fi + find "$CG_PATH" -mindepth 1 -depth -type d -exec rmdir {} \; 2>/dev/null || true + if ! rmdir "$CG_PATH" 2>/dev/null; then + echo -e "${YELLOW} $CG_PATH still has child cgroups (leftover docker containers?)${NC}" + fi + fi + + if [[ -f "$STATE_DIR/irq_backup.tsv" ]]; then + echo -e "${BLUE}Restoring IRQ affinity...${NC}" + while IFS=$'\t' read -r key prev; do + if [[ "$key" == "default" ]]; then + echo "$prev" > /proc/irq/default_smp_affinity 2>/dev/null || true + else + [[ -w "$key/smp_affinity" ]] || continue + echo "$prev" > "$key/smp_affinity" 2>/dev/null || true + fi + done < "$STATE_DIR/irq_backup.tsv" + rm -f "$STATE_DIR/irq_backup.tsv" + fi + rm -f "$STATE_DIR/state" + echo -e "${GREEN}Restored.${NC}" +} + +show_status() { + echo -e "${BLUE}=== host-isolate-cores status ===${NC}" + if [[ -f "$STATE_DIR/state" ]]; then + cat "$STATE_DIR/state" + else + echo " (not active)" + fi + echo + if [[ -d "$CG_PATH" ]]; then + echo "Cgroup: $CG_PATH" + echo " cpuset.cpus = $(cat "$CG_PATH/cpuset.cpus" 2>/dev/null)" + echo " cpuset.cpus.effective = $(cat "$CG_PATH/cpuset.cpus.effective" 2>/dev/null)" + echo " cpuset.cpus.partition = $(cat "$CG_PATH/cpuset.cpus.partition" 2>/dev/null)" + echo " tasks = $(wc -l < "$CG_PATH/cgroup.procs" 2>/dev/null || echo 0)" + else + echo "Cgroup $CG_PATH does not exist." + fi + echo + echo "Kernel cpuset.cpus.isolated:" + echo " $(cat "$CG_ROOT/cpuset.cpus.isolated" 2>/dev/null || echo n/a)" +} + +case "${1:-}" in + start) start_isolation ;; + stop) stop_isolation ;; + status) show_status ;; + *) + echo "Usage: $0 {start|stop|status}" + echo "Env: ISOLATED_CPUS=$ISOLATED_CPUS CGROUP_NAME=$CGROUP_NAME" + exit 1 + ;; +esac From cb4ca60033db3b792182148d50f2576bc8c1a0df Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 13:54:20 +0900 Subject: [PATCH 11/42] [feat] 4-stage cascade with runtime quintile samples + outlier filter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build_samples.py: SAT runtime quintile split → stage1 (Q1+2, 5), stage2 (Q3+4, 5), stage3 (Q5, 5); stage4 (broad 20, SAT+UNSAT, dedup vs stage1-3). Tukey IQR k=3 outlier filter drops far-tail monsters (~180s/~130s with current data) so they don't distort quintile boundaries or inflate stage wall-clock. - evaluator.py: evaluate_stage3 chains stage4 internally because openevolve cascade hardcodes 3 stage slots. Gate threshold for the internal stage3→stage4 transition read from config.evaluator.cascade_thresholds[2] via runtime.cascade_threshold(). - config.yaml: cascade_thresholds=[1.03, 1.03, 1.03] — 3% gain required at each transition (stage1→2, stage2→3, stage3→4). - runtime.py: cascade_threshold(index, default) helper. - rebaseline_local.py: extend union to all 4 stage samples. Co-Authored-By: Claude Opus 4.7 (1M context) --- input/z3-bench/evolve/build_samples.py | 131 ++++-- input/z3-bench/evolve/config.yaml | 16 +- input/z3-bench/evolve/rebaseline_local.py | 50 ++- input/z3-bench/evolve/shared/evaluator.py | 45 ++- input/z3-bench/evolve/shared/runtime.py | 17 + .../z3-bench/evolve/shared/stage1_sample.json | 36 +- .../z3-bench/evolve/shared/stage2_sample.json | 46 +-- .../z3-bench/evolve/shared/stage3_sample.json | 372 +----------------- .../z3-bench/evolve/shared/stage4_sample.json | 168 ++++++++ 9 files changed, 404 insertions(+), 477 deletions(-) create mode 100644 input/z3-bench/evolve/shared/stage4_sample.json diff --git a/input/z3-bench/evolve/build_samples.py b/input/z3-bench/evolve/build_samples.py index a41cfc527c..88335b9de1 100644 --- a/input/z3-bench/evolve/build_samples.py +++ b/input/z3-bench/evolve/build_samples.py @@ -1,5 +1,5 @@ """ -Build problems.jsonl + stage1/2/3 sample files from raw-data. +Build problems.jsonl + stage1/2/3/4 sample files from raw-data. Source of truth = raw-data/*.meta.jsonl. raw-data accumulates over time; this script rescans each run, rewrites problems.jsonl as the full aggregate, @@ -8,20 +8,28 @@ Sample pool cap: baseline_ms <= MAX_BASELINE_MS (5 min). problems.jsonl still contains the full set; only sample selection applies the cap. -Stage1 (5): SAT, runtime lower-half (fast-medium). Quintile-spread by - baseline_ms within the half. Drives the fast evolve loop — - keeps per-iteration wall-clock bounded. -Stage2 (5): SAT, runtime upper-half (medium-slow) capped at - STAGE2_MAX_MS (2 min). Quintile-spread by baseline_ms within - the capped pool. Catches regressions on harder instances - without letting stage2 wall-clock blow up. -Stage3 (50): SAT+UNSAT, quintile-spread by size - (num_hard_constraints, num_variables). Broad coverage for - final verification / full-dataset scoring. - -Quintile-spread = sort by key, split into 5 equal-rank buckets, pick N/5 -from each bucket via rank-linspace within bucket. Deterministic, no -randomness. +Outlier filter: after the cap, problems whose baseline_ms lies beyond +[Q1 - k*IQR, Q3 + k*IQR] (Tukey rule, k=OUTLIER_IQR_K=3.0 "far outlier") are +dropped. k=3 instead of the textbook 1.5 because runtime is heavily right- +skewed — k=1.5 would trim away the entire upper quartile that stage3 is +supposed to test. k=3 only removes the genuine long-tail monsters that +distort quintile boundaries and inflate stage3/4 wall-clock. + +Runtime quintiles (SAT-only, sorted by elapsed_ms ascending): + Q1 = bottom 20%, Q2 = 20-40%, ..., Q5 = top 20%. + +Stage1 (5): SAT, quintiles 1+2 (fastest 40%). Quintile-spread within pool. + Cascade gate: geomean_speedup >= 1.03 → stage2. +Stage2 (5): SAT, quintiles 3+4 (middle 40-80%). Quintile-spread within pool. + Cascade gate: geomean_speedup >= 1.03 → stage3. +Stage3 (5): SAT, quintile 5 (slowest 20%). Quintile-spread within pool. + Cascade gate: geomean_speedup >= 1.03 → stage4. +Stage4 (20): SAT+UNSAT, broad runtime-spread, deduplicated against + stage1+2+3. Final cascade gate / scoring sample. + +Quintile-spread = sort by key, split into N_BUCKETS equal-rank buckets, +pick N/N_BUCKETS from each bucket via rank-linspace within bucket. +Deterministic, no randomness. """ import json import pathlib @@ -33,13 +41,16 @@ _STAGE1 = _HERE / "shared" / "stage1_sample.json" _STAGE2 = _HERE / "shared" / "stage2_sample.json" _STAGE3 = _HERE / "shared" / "stage3_sample.json" +_STAGE4 = _HERE / "shared" / "stage4_sample.json" STAGE1_N = 5 STAGE2_N = 5 -STAGE3_N = 50 +STAGE3_N = 5 +STAGE4_N = 20 N_BUCKETS = 5 MAX_BASELINE_MS = 300_000 # 5 min cap — exclude monster problems from sample pool -STAGE2_MAX_MS = 120_000 # 2 min cap — stage2 wall must stay bounded +OUTLIER_IQR_K = 3.0 # linear Tukey k (k=1.5=outlier, k=3=far outlier). + # k=3 drops only extreme tails (e.g. 181s, 132s vs ~13s median). def _scan_raw(): @@ -55,15 +66,37 @@ def _scan_raw(): return rows -def _size_key(d): - feats = d.get("features") or {} - return (feats.get("num_hard_constraints", 0), feats.get("num_variables", 0)) - - def _runtime_key(d): return (d.get("z3_status") or {}).get("elapsed_ms", 0) +def _drop_runtime_outliers(rows, k=OUTLIER_IQR_K): + """ + Remove problems whose baseline_ms lies beyond [Q1 - k*IQR, Q3 + k*IQR]. + Tukey-style linear IQR rule. k=1.5 = standard "outlier", k=3.0 = "far + outlier" — we use 3.0 because runtime is heavily right-skewed and 1.5 + would trim too aggressively (the upper quartile already lives in the + long tail). + Returns (kept_rows, dropped_rows). + """ + ms_sorted = sorted(_runtime_key(d) for d in rows if _runtime_key(d) > 0) + n = len(ms_sorted) + if n < 4: + return list(rows), [] + q1 = ms_sorted[n // 4] + q3 = ms_sorted[(3 * n) // 4] + iqr = q3 - q1 + lo, hi = q1 - k * iqr, q3 + k * iqr + kept, dropped = [], [] + for d in rows: + ms = _runtime_key(d) + if ms <= 0 or lo <= ms <= hi: + kept.append(d) + else: + dropped.append(d) + return kept, dropped + + def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): total = len(sorted_rows) if total == 0 or n_pick <= 0: @@ -108,8 +141,7 @@ def _write_sample(path, picks, label, criteria): path.write_text( json.dumps( { - "selection": f"{len(picks)} {criteria}, quintile-spread by " - "(num_hard_constraints, num_variables)", + "selection": f"{len(picks)} {criteria}", "source": str(_PROBLEMS.relative_to(_BENCH.parent)), "sha256": [d["problem_sha256"] for d in picks], "summary": [_summary(d) for d in picks], @@ -140,29 +172,50 @@ def main(): print(f"sample pool: {len(candidates)} (skipped {skipped} with " f"baseline_ms > {MAX_BASELINE_MS}ms)") - # Stage1/2: SAT only, split by runtime median. + candidates, outliers = _drop_runtime_outliers(candidates) + if outliers: + print(f"dropped {len(outliers)} runtime outliers " + f"(Tukey IQR k={OUTLIER_IQR_K}):") + for d in sorted(outliers, key=_runtime_key): + print(f" {d['problem_sha256'][:12]} " + f"{_runtime_key(d):>7}ms " + f"{(d.get('z3_status') or {}).get('result', '?')}") + + # SAT pool sorted by runtime — basis for stage1/2/3 quintile split. sat_by_rt = sorted( (d for d in candidates if (d.get("z3_status") or {}).get("result") == "Sat"), key=_runtime_key, ) - half = len(sat_by_rt) // 2 - sat_lower = sat_by_rt[:half] # fast-medium runtime - sat_upper = sat_by_rt[half:] # medium-slow runtime - sat_upper_capped = [d for d in sat_upper if _runtime_key(d) <= STAGE2_MAX_MS] - print(f"stage2 pool: {len(sat_upper_capped)} (capped at {STAGE2_MAX_MS}ms, " - f"dropped {len(sat_upper) - len(sat_upper_capped)} from upper-half)") + n_sat = len(sat_by_rt) + + def q_idx(i): # rank boundary for the i-th quintile cut (i in 0..5) + return (i * n_sat) // 5 + + pool_q12 = sat_by_rt[q_idx(0):q_idx(2)] # quintiles 1+2 (fastest 40%) + pool_q34 = sat_by_rt[q_idx(2):q_idx(4)] # quintiles 3+4 (middle 40%) + pool_q5 = sat_by_rt[q_idx(4):q_idx(5)] # quintile 5 (slowest 20%) + print(f"SAT runtime pool: {n_sat} | Q1+2={len(pool_q12)} | " + f"Q3+4={len(pool_q34)} | Q5={len(pool_q5)}") - s1 = _quintile_spread(sat_lower, STAGE1_N, N_BUCKETS) - s2 = _quintile_spread(sat_upper_capped, STAGE2_N, N_BUCKETS) + s1 = _quintile_spread(pool_q12, STAGE1_N, N_BUCKETS) + s2 = _quintile_spread(pool_q34, STAGE2_N, N_BUCKETS) + s3 = _quintile_spread(pool_q5, STAGE3_N, N_BUCKETS) - # Stage3: SAT+UNSAT, quintile-spread by problem size (broad coverage). - s3 = _quintile_spread(sorted(candidates, key=_size_key), STAGE3_N, N_BUCKETS) + # Stage4: SAT+UNSAT, broad runtime-spread, exclude SHAs already in stage1+2+3. + used = {d["problem_sha256"] for d in (s1 + s2 + s3)} + broad = sorted( + (d for d in candidates if d["problem_sha256"] not in used), + key=_runtime_key, + ) + s4 = _quintile_spread(broad, STAGE4_N, N_BUCKETS) - _write_sample(_STAGE1, s1, "stage1", "SAT runtime lower-half") - _write_sample(_STAGE2, s2, "stage2", "SAT runtime upper-half") - _write_sample(_STAGE3, s3, "stage3", "SAT+UNSAT broad-size") + _write_sample(_STAGE1, s1, "stage1", "SAT runtime Q1+2 (fastest 40%)") + _write_sample(_STAGE2, s2, "stage2", "SAT runtime Q3+4 (middle 40%)") + _write_sample(_STAGE3, s3, "stage3", "SAT runtime Q5 (slowest 20%)") + _write_sample(_STAGE4, s4, "stage4", "SAT+UNSAT broad, dedup vs stage1-3") - for label, picks in (("stage1", s1), ("stage2", s2), ("stage3", s3)): + for label, picks in (("stage1", s1), ("stage2", s2), + ("stage3", s3), ("stage4", s4)): print(f"\n{label}:") for d in picks: f_ = d.get("features") or {} diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index 5102c95752..a2b041a796 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -81,12 +81,16 @@ database: evaluator: timeout: 600 # 10 min cap per variant (stage3 worst-case ≈ 4 min wall) - cascade_evaluation: true # stage1 → stage2 → stage3 escalation per variant - cascade_thresholds: [1.0, 1.1] - # threshold[0] = stage1 combined_score gate to enter stage2 (>=1.0 = baseline-or-better) - # threshold[1] = stage2 merged combined_score gate to enter stage3 (>=1.1 = 10% gain) - # combined_score uses geomean_speedup * solved_rate^2 (+ efficiency^STATS_WEIGHT). - # Initial baseline-equivalent variant scores ≈1.0 — passes stage1 gate, fails stage3. + cascade_evaluation: true # stage1 → stage2 → stage3 (→ stage4 inside) per variant + cascade_thresholds: [1.03, 1.03, 1.03] + # threshold[0] = stage1 combined_score gate to enter stage2 (>=1.03 = ≥3% gain) + # threshold[1] = merged combined_score gate to enter stage3 (>=1.03 = ≥3% gain) + # threshold[2] = stage3 combined_score gate to enter stage4 (>=1.03 = ≥3% gain) + # threshold[2] is read by evaluator.evaluate_stage3 via runtime.cascade_threshold() + # because openevolve cascade only exposes 3 stage slots — stage4 is chained + # inside evaluate_stage3. + # combined_score = geomean_speedup * solved_rate^2 (+ efficiency^STATS_WEIGHT). + # Initial baseline-equivalent variant scores ≈1.0 — fails stage1 gate (good — skips downstream). parallel_evaluations: 1 # FIXED 1 — variant pool kept serial. All z3 concurrency # is controlled by env OPENEVOLVE_PARALLEL_SOLVERS (inner # ThreadPool that runs N stage-problems concurrently per diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index c83773274e..294a4159e9 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -1,17 +1,19 @@ """ Init-phase rebaseline: measure BASELINE elapsed_ms on the union of -stage1_sample.json + stage2_sample.json (10 SHAs total) and write +stage1 + stage2 + stage3 + stage4 sample files and write shared/local_baseline.json. Wall-clock varies by hardware / z3 version. Raw-data baseline_ms was recorded on a different machine, so comparing against it gives misleading speedup. evaluator._load_problems overlays this local file onto raw data so that -speedup = local_baseline_ms / variant_elapsed_ms. +speedup = local_baseline_ms / variant_elapsed_ms and per-problem timeout += baseline_ms * 1.3 is calibrated for the local box. -Stage1+stage2 are rebaselined — both feed the evolve loop (stage1 fast -triage, stage2 medium-slow regression check). Stage3 (50 SHAs, broad -size-distribution) is NOT rebaselined here because final_verify.py -re-measures baseline on the fly per problem. +All three stages feed the evolve loop (cascade_evaluation: true). Without +rebaselining stage3 (50 SHAs), 45/50 problems would fall back to raw_ms +recorded elsewhere and timeout/speedup calculations would drift. +final_verify.py re-measures baseline on the fly per problem anyway, but +the evolve-loop stage3 invocation needs trustworthy local baselines up front. Per-problem: 1 run, timeout = REBASELINE_TIMEOUT_S (1 hr safety floor — a truncated baseline measurement is worse than a slow one). MISMATCH-by-timeout @@ -37,6 +39,8 @@ _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" _STAGE2_SAMPLE = _HERE / "shared" / "stage2_sample.json" +_STAGE3_SAMPLE = _HERE / "shared" / "stage3_sample.json" +_STAGE4_SAMPLE = _HERE / "shared" / "stage4_sample.json" _OUT = _HERE / "shared" / "local_baseline.json" # Baseline measurement must never be truncated — let z3 finish naturally. @@ -59,24 +63,32 @@ def _load_problem_index(): def _load_target_shas(): - # Rebaseline stage1 + stage2 (10 SHAs total). Stage3 (50) is skipped — - # final_verify.py rebaselines on the fly per-problem and the cost of - # rebaselining 50 with multi-min runtimes is too high for routine setup. + # Rebaseline the union of stage1 + stage2 + stage3 samples. With cascade + # evaluation enabled all three stages run in the evolve loop, so accurate + # local baseline is required for per-problem timeout = baseline_ms * 1.3 + # to be machine-correct. Without rebaselining stage3, 45/50 problems fall + # back to raw_ms recorded on a different machine and timeout calibration + # drifts. if not _STAGE1_SAMPLE.exists(): print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", file=sys.stderr) sys.exit(2) - shas = list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) - if _STAGE2_SAMPLE.exists(): - s2 = json.loads(_STAGE2_SAMPLE.read_text())["sha256"] - seen = set(shas) - for sha in s2: + shas = [] + seen = set() + for sample_path, label in ( + (_STAGE1_SAMPLE, "stage1"), + (_STAGE2_SAMPLE, "stage2"), + (_STAGE3_SAMPLE, "stage3"), + (_STAGE4_SAMPLE, "stage4"), + ): + if not sample_path.exists(): + print(f"WARN: {sample_path.name} missing — skipping {label}", + file=sys.stderr) + continue + for sha in json.loads(sample_path.read_text())["sha256"]: if sha not in seen: shas.append(sha) seen.add(sha) - else: - print(f"WARN: {_STAGE2_SAMPLE} missing — rebaselining stage1 only", - file=sys.stderr) return shas @@ -98,8 +110,8 @@ def main(): import queue as _queue n_parallel = min(parallel_solvers(default=1), len(tasks)) - print(f"rebaselining stage1+stage2 evolution samples: {len(tasks)} problems " - f"(union of stage1_sample.json + stage2_sample.json)") + print(f"rebaselining stage1+stage2+stage3+stage4 samples: {len(tasks)} problems " + f"(union of stage{{1,2,3,4}}_sample.json)") print(f"timeout per problem = {REBASELINE_TIMEOUT_S}s (effectively unbounded " f"— never cut a baseline run short), parallel={n_parallel} (taskset core pin)") print() diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index 4b91de4545..5481d66f0f 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -50,7 +50,7 @@ from baseline_params import BASELINE, LOCKED # noqa: E402 from score import score # noqa: E402 from z3_runner import run_z3 # noqa: E402 -from runtime import parallel_solvers # noqa: E402 +from runtime import parallel_solvers, cascade_threshold # noqa: E402 from openevolve.evaluation_result import EvaluationResult # noqa: E402 @@ -60,6 +60,7 @@ _STAGE1_SAMPLE = _HERE / "stage1_sample.json" _STAGE2_SAMPLE = _HERE / "stage2_sample.json" _STAGE3_SAMPLE = _HERE / "stage3_sample.json" +_STAGE4_SAMPLE = _HERE / "stage4_sample.json" _LOCAL_BASELINE = _HERE / "local_baseline.json" _PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") # None -> sys.executable @@ -125,15 +126,24 @@ def _filter_stage2(problems): def _filter_stage3(problems): - # stage3_sample.json: 50 SAT+UNSAT problems, size-stratified broad - # coverage. raw-data may exceed 50; without this filter, stage3 cost - # grows unbounded as raw-data accumulates. + # stage3_sample.json: 5 SAT problems from runtime quintile 5 (slowest 20%). + # Gates entry to stage4 via internal STAGE3_TO_STAGE4_THRESHOLD. if not _STAGE3_SAMPLE.exists(): return problems keep = set(json.loads(_STAGE3_SAMPLE.read_text())["sha256"]) return [p for p in problems if p["sha"] in keep] +def _filter_stage4(problems): + # stage4_sample.json: 20 SAT+UNSAT broad-runtime, deduplicated vs stage1-3. + # Final cascade sample. Chained inside evaluate_stage3 because openevolve + # hardcodes 3 cascade stages. + if not _STAGE4_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE4_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + def _err_result(metrics_extra, artifacts): metrics = { "combined_score": 0.0, @@ -399,8 +409,31 @@ def evaluate_stage2(program_path): def evaluate_stage3(program_path): - problems = _filter_stage3(_load_problems()) - return _evaluate(program_path, problems, "stage3") + # openevolve cascade is hardcoded to 3 stages, so user-stage4 (20 broad + # problems) is folded in here. Gate threshold = config.yaml + # evaluator.cascade_thresholds[2] (defaults to 1.03 if absent). + problems3 = _filter_stage3(_load_problems()) + r3 = _evaluate(program_path, problems3, "stage3") + if not isinstance(r3, EvaluationResult): + return r3 + gate = cascade_threshold(2, default=1.03) + if r3.metrics.get("combined_score", 0.0) < gate: + return r3 + problems4 = _filter_stage4(_load_problems()) + r4 = _evaluate(program_path, problems4, "stage4") + if not isinstance(r4, EvaluationResult): + return r4 + # Merge: stage4 metrics overlay stage3's (final combined_score = stage4's). + merged_metrics = {**r3.metrics, **r4.metrics} + merged_artifacts = {**r3.artifacts, **r4.artifacts} + return EvaluationResult(metrics=merged_metrics, artifacts=merged_artifacts) + + +def evaluate_stage4(program_path): + # Standalone entry for manual / final-verify use. Not invoked by + # openevolve cascade — evaluate_stage3 chains here internally. + problems = _filter_stage4(_load_problems()) + return _evaluate(program_path, problems, "stage4") def evaluate(program_path): diff --git a/input/z3-bench/evolve/shared/runtime.py b/input/z3-bench/evolve/shared/runtime.py index e951cc039d..1aeb1571f8 100644 --- a/input/z3-bench/evolve/shared/runtime.py +++ b/input/z3-bench/evolve/shared/runtime.py @@ -47,3 +47,20 @@ def parallel_solvers(default=1): return max(1, int(val)) except (ValueError, TypeError): return default + + +def cascade_threshold(index, default): + """ + Read evaluator.cascade_thresholds[index] from config.yaml. + Used by evaluator.evaluate_stage3 for the internal stage3→stage4 gate + (openevolve's cascade hardcodes only 3 stage slots, so stage4 is chained + inside evaluate_stage3 using thresholds[2]). + """ + cfg = _load().get("evaluator") or {} + thresholds = cfg.get("cascade_thresholds") or [] + if index < len(thresholds): + try: + return float(thresholds[index]) + except (ValueError, TypeError): + pass + return default diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json index 92e23d2238..10c50a7c36 100644 --- a/input/z3-bench/evolve/shared/stage1_sample.json +++ b/input/z3-bench/evolve/shared/stage1_sample.json @@ -1,12 +1,12 @@ { - "selection": "5 SAT runtime lower-half, quintile-spread by (num_hard_constraints, num_variables)", + "selection": "5 SAT runtime Q1+2 (fastest 40%)", "source": "z3-bench/problems.jsonl", "sha256": [ "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", + "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", - "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", - "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84" + "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c" ], "summary": [ { @@ -17,11 +17,18 @@ "baseline_ms": 294 }, { - "sha": "17cc4d349ce3", - "num_hard_constraints": 15243, - "num_variables": 3932, + "sha": "b6393502fdb5", + "num_hard_constraints": 25205, + "num_variables": 5854, "baseline_result": "Sat", - "baseline_ms": 366 + "baseline_ms": 312 + }, + { + "sha": "a4658d3a051a", + "num_hard_constraints": 25205, + "num_variables": 5854, + "baseline_result": "Sat", + "baseline_ms": 597 }, { "sha": "aa358daf4226", @@ -31,18 +38,11 @@ "baseline_ms": 1674 }, { - "sha": "0f6f9aa28440", - "num_hard_constraints": 112990, + "sha": "a47edaf1aecb", + "num_hard_constraints": 112978, "num_variables": 17097, "baseline_result": "Sat", - "baseline_ms": 2728 - }, - { - "sha": "d8d5ffa7d824", - "num_hard_constraints": 112812, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3350 + "baseline_ms": 2343 } ] } diff --git a/input/z3-bench/evolve/shared/stage2_sample.json b/input/z3-bench/evolve/shared/stage2_sample.json index 345f7738f8..1d17490816 100644 --- a/input/z3-bench/evolve/shared/stage2_sample.json +++ b/input/z3-bench/evolve/shared/stage2_sample.json @@ -1,14 +1,28 @@ { - "selection": "5 SAT runtime upper-half, quintile-spread by (num_hard_constraints, num_variables)", + "selection": "5 SAT runtime Q3+4 (middle 40%)", "source": "z3-bench/problems.jsonl", "sha256": [ + "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", + "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", - "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c" ], "summary": [ + { + "sha": "8a304b9c461a", + "num_hard_constraints": 112796, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3053 + }, + { + "sha": "6aab51935a09", + "num_hard_constraints": 113172, + "num_variables": 17151, + "baseline_result": "Sat", + "baseline_ms": 3681 + }, { "sha": "069af7891076", "num_hard_constraints": 105784, @@ -17,11 +31,11 @@ "baseline_ms": 13885 }, { - "sha": "493242c37992", - "num_hard_constraints": 106100, - "num_variables": 33068, + "sha": "4a02d7846394", + "num_hard_constraints": 105784, + "num_variables": 32912, "baseline_result": "Sat", - "baseline_ms": 14353 + "baseline_ms": 14428 }, { "sha": "03b7e129d625", @@ -29,20 +43,6 @@ "num_variables": 33068, "baseline_result": "Sat", "baseline_ms": 16518 - }, - { - "sha": "3854194b901b", - "num_hard_constraints": 524914, - "num_variables": 59955, - "baseline_result": "Sat", - "baseline_ms": 66100 - }, - { - "sha": "a7df812c620d", - "num_hard_constraints": 696365, - "num_variables": 83551, - "baseline_result": "Sat", - "baseline_ms": 93445 } ] } diff --git a/input/z3-bench/evolve/shared/stage3_sample.json b/input/z3-bench/evolve/shared/stage3_sample.json index 5dabe7ff2d..d9954ac298 100644 --- a/input/z3-bench/evolve/shared/stage3_sample.json +++ b/input/z3-bench/evolve/shared/stage3_sample.json @@ -1,304 +1,14 @@ { - "selection": "50 SAT+UNSAT broad-size, quintile-spread by (num_hard_constraints, num_variables)", + "selection": "5 SAT runtime Q5 (slowest 20%)", "source": "z3-bench/problems.jsonl", "sha256": [ - "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", - "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", - "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", - "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", - "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", - "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", - "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", - "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", - "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", - "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", - "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", - "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", - "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", - "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", - "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", - "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", - "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", - "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", - "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", - "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", - "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", - "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", - "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", - "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", - "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", - "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", - "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", - "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", - "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", - "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", - "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", - "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", - "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", - "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", - "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", - "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", - "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", - "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", - "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", - "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" + "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea" ], "summary": [ - { - "sha": "fac53f0ffed2", - "num_hard_constraints": 14932, - "num_variables": 3797, - "baseline_result": "Unsat", - "baseline_ms": 221 - }, - { - "sha": "4fb703b12127", - "num_hard_constraints": 15034, - "num_variables": 3842, - "baseline_result": "Unsat", - "baseline_ms": 311 - }, - { - "sha": "17cc4d349ce3", - "num_hard_constraints": 15243, - "num_variables": 3932, - "baseline_result": "Sat", - "baseline_ms": 366 - }, - { - "sha": "133383a624ef", - "num_hard_constraints": 24797, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 480 - }, - { - "sha": "ac90ca97ff99", - "num_hard_constraints": 24797, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 239 - }, - { - "sha": "25025d341f86", - "num_hard_constraints": 24807, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 407 - }, - { - "sha": "40bd9a434478", - "num_hard_constraints": 24807, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 490 - }, - { - "sha": "e57b3cf2bc7e", - "num_hard_constraints": 24936, - "num_variables": 5752, - "baseline_result": "Unsat", - "baseline_ms": 268 - }, - { - "sha": "fe3a23ba2a11", - "num_hard_constraints": 24936, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 258 - }, - { - "sha": "187551dceaf0", - "num_hard_constraints": 24937, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 294 - }, - { - "sha": "505a2e36055c", - "num_hard_constraints": 24937, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 307 - }, - { - "sha": "a4658d3a051a", - "num_hard_constraints": 25205, - "num_variables": 5854, - "baseline_result": "Sat", - "baseline_ms": 597 - }, - { - "sha": "b6393502fdb5", - "num_hard_constraints": 25205, - "num_variables": 5854, - "baseline_result": "Sat", - "baseline_ms": 312 - }, - { - "sha": "872cbdb83f73", - "num_hard_constraints": 59387, - "num_variables": 10244, - "baseline_result": "Sat", - "baseline_ms": 1298 - }, - { - "sha": "aa358daf4226", - "num_hard_constraints": 59387, - "num_variables": 10244, - "baseline_result": "Sat", - "baseline_ms": 1674 - }, - { - "sha": "069af7891076", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 13885 - }, - { - "sha": "29efe6d38d7b", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 12712 - }, - { - "sha": "42bc61a62698", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 12692 - }, - { - "sha": "4a02d7846394", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 14428 - }, - { - "sha": "65444d693881", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 13089 - }, - { - "sha": "75ee534dbc92", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 13086 - }, - { - "sha": "7ac5a84f68bc", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 14992 - }, - { - "sha": "deb82eaaca14", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 13346 - }, - { - "sha": "03b7e129d625", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 16518 - }, - { - "sha": "318bc251e0bd", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 14232 - }, - { - "sha": "493242c37992", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 14353 - }, - { - "sha": "86468fd861ff", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 15671 - }, - { - "sha": "8a304b9c461a", - "num_hard_constraints": 112796, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3053 - }, - { - "sha": "d8d5ffa7d824", - "num_hard_constraints": 112812, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3350 - }, - { - "sha": "3cacf544225e", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Unsat", - "baseline_ms": 2996 - }, - { - "sha": "a47edaf1aecb", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2343 - }, - { - "sha": "aeec9f77b092", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2193 - }, - { - "sha": "0f6f9aa28440", - "num_hard_constraints": 112990, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2728 - }, - { - "sha": "21069961e8dc", - "num_hard_constraints": 113006, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2900 - }, - { - "sha": "6aab51935a09", - "num_hard_constraints": 113172, - "num_variables": 17151, - "baseline_result": "Sat", - "baseline_ms": 3681 - }, { "sha": "cc611a5155b2", "num_hard_constraints": 524539, @@ -321,88 +31,18 @@ "baseline_ms": 67552 }, { - "sha": "7d51ef2bfc4c", - "num_hard_constraints": 524936, - "num_variables": 59955, - "baseline_result": "Sat", - "baseline_ms": 40558 - }, - { - "sha": "4c942959630b", - "num_hard_constraints": 695689, - "num_variables": 83411, - "baseline_result": "Sat", - "baseline_ms": 132126 - }, - { - "sha": "a7df812c620d", - "num_hard_constraints": 696365, - "num_variables": 83551, - "baseline_result": "Sat", - "baseline_ms": 93445 - }, - { - "sha": "76bcc4964307", - "num_hard_constraints": 696736, - "num_variables": 83621, - "baseline_result": "Sat", - "baseline_ms": 112662 - }, - { - "sha": "7f7b5c632ef8", + "sha": "86efb0762e6d", "num_hard_constraints": 696736, "num_variables": 83621, "baseline_result": "Sat", - "baseline_ms": 181205 + "baseline_ms": 80512 }, { - "sha": "86efb0762e6d", + "sha": "76bcc4964307", "num_hard_constraints": 696736, "num_variables": 83621, "baseline_result": "Sat", - "baseline_ms": 80512 - }, - { - "sha": "3b58bd47434b", - "num_hard_constraints": 1092831, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 31732 - }, - { - "sha": "f54dba052fbf", - "num_hard_constraints": 1092831, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 31406 - }, - { - "sha": "bc60e5e73924", - "num_hard_constraints": 1093104, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 32076 - }, - { - "sha": "c5d46b1e315a", - "num_hard_constraints": 1093134, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 32836 - }, - { - "sha": "96158dd28c0b", - "num_hard_constraints": 1095737, - "num_variables": 99809, - "baseline_result": "Unsat", - "baseline_ms": 33160 - }, - { - "sha": "be1c308d7977", - "num_hard_constraints": 1095737, - "num_variables": 99809, - "baseline_result": "Unsat", - "baseline_ms": 33752 + "baseline_ms": 112662 } ] } diff --git a/input/z3-bench/evolve/shared/stage4_sample.json b/input/z3-bench/evolve/shared/stage4_sample.json new file mode 100644 index 0000000000..81a1bbd6f4 --- /dev/null +++ b/input/z3-bench/evolve/shared/stage4_sample.json @@ -0,0 +1,168 @@ +{ + "selection": "20 SAT+UNSAT broad, dedup vs stage1-3", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", + "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", + "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", + "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", + "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", + "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", + "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", + "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", + "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", + "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", + "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", + "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" + ], + "summary": [ + { + "sha": "fac53f0ffed2", + "num_hard_constraints": 14932, + "num_variables": 3797, + "baseline_result": "Unsat", + "baseline_ms": 221 + }, + { + "sha": "fe3a23ba2a11", + "num_hard_constraints": 24936, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 258 + }, + { + "sha": "e57b3cf2bc7e", + "num_hard_constraints": 24936, + "num_variables": 5752, + "baseline_result": "Unsat", + "baseline_ms": 268 + }, + { + "sha": "4fb703b12127", + "num_hard_constraints": 15034, + "num_variables": 3842, + "baseline_result": "Unsat", + "baseline_ms": 311 + }, + { + "sha": "17cc4d349ce3", + "num_hard_constraints": 15243, + "num_variables": 3932, + "baseline_result": "Sat", + "baseline_ms": 366 + }, + { + "sha": "133383a624ef", + "num_hard_constraints": 24797, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 480 + }, + { + "sha": "872cbdb83f73", + "num_hard_constraints": 59387, + "num_variables": 10244, + "baseline_result": "Sat", + "baseline_ms": 1298 + }, + { + "sha": "0f6f9aa28440", + "num_hard_constraints": 112990, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2728 + }, + { + "sha": "21069961e8dc", + "num_hard_constraints": 113006, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2900 + }, + { + "sha": "d8d5ffa7d824", + "num_hard_constraints": 112812, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3350 + }, + { + "sha": "42bc61a62698", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 12692 + }, + { + "sha": "75ee534dbc92", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 13086 + }, + { + "sha": "65444d693881", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 13089 + }, + { + "sha": "318bc251e0bd", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 14232 + }, + { + "sha": "7ac5a84f68bc", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 14992 + }, + { + "sha": "f54dba052fbf", + "num_hard_constraints": 1092831, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 31406 + }, + { + "sha": "3b58bd47434b", + "num_hard_constraints": 1092831, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 31732 + }, + { + "sha": "c5d46b1e315a", + "num_hard_constraints": 1093134, + "num_variables": 99386, + "baseline_result": "Unsat", + "baseline_ms": 32836 + }, + { + "sha": "be1c308d7977", + "num_hard_constraints": 1095737, + "num_variables": 99809, + "baseline_result": "Unsat", + "baseline_ms": 33752 + }, + { + "sha": "a7df812c620d", + "num_hard_constraints": 696365, + "num_variables": 83551, + "baseline_result": "Sat", + "baseline_ms": 93445 + } + ] +} From e33438db64c100c62c461ba02f249dab4a4234e4 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 14:17:47 +0900 Subject: [PATCH 12/42] add center pick option --- input/z3-bench/evolve/build_samples.py | 59 +++++++++++++++++++++----- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/input/z3-bench/evolve/build_samples.py b/input/z3-bench/evolve/build_samples.py index 88335b9de1..98f6c70e61 100644 --- a/input/z3-bench/evolve/build_samples.py +++ b/input/z3-bench/evolve/build_samples.py @@ -18,14 +18,20 @@ Runtime quintiles (SAT-only, sorted by elapsed_ms ascending): Q1 = bottom 20%, Q2 = 20-40%, ..., Q5 = top 20%. -Stage1 (5): SAT, quintiles 1+2 (fastest 40%). Quintile-spread within pool. +Stage1 (5): SAT, quintiles 1+2 (fastest 40%). Strategy: STAGE1_STRATEGY. Cascade gate: geomean_speedup >= 1.03 → stage2. -Stage2 (5): SAT, quintiles 3+4 (middle 40-80%). Quintile-spread within pool. +Stage2 (5): SAT, quintiles 3+4 (middle 40-80%). Strategy: STAGE2_STRATEGY. Cascade gate: geomean_speedup >= 1.03 → stage3. -Stage3 (5): SAT, quintile 5 (slowest 20%). Quintile-spread within pool. +Stage3 (5): SAT, quintile 5 (slowest 20%). Strategy: STAGE3_STRATEGY. Cascade gate: geomean_speedup >= 1.03 → stage4. -Stage4 (20): SAT+UNSAT, broad runtime-spread, deduplicated against - stage1+2+3. Final cascade gate / scoring sample. +Stage4 (20): SAT+UNSAT, broad. Strategy: STAGE4_STRATEGY. Deduplicated + against stage1+2+3. + +Strategies (STAGE{N}_STRATEGY): + "center" : pick N contiguous elements around the median of the pool. + Tight within-stage runtime variance (~2-3x). + "spread" : quintile-spread across the pool (N/N_BUCKETS per bucket via + rank-linspace). Intentionally wide distribution. Quintile-spread = sort by key, split into N_BUCKETS equal-rank buckets, pick N/N_BUCKETS from each bucket via rank-linspace within bucket. @@ -52,6 +58,14 @@ OUTLIER_IQR_K = 3.0 # linear Tukey k (k=1.5=outlier, k=3=far outlier). # k=3 drops only extreme tails (e.g. 181s, 132s vs ~13s median). +# Per-stage selection strategy. "center" = contiguous N picks around median +# (tight within-stage runtime variance); "spread" = quintile-spread across +# whole pool (intentionally wide distribution). +STAGE1_STRATEGY = "center" +STAGE2_STRATEGY = "center" +STAGE3_STRATEGY = "center" +STAGE4_STRATEGY = "spread" + def _scan_raw(): rows = [] @@ -97,6 +111,30 @@ def _drop_runtime_outliers(rows, k=OUTLIER_IQR_K): return kept, dropped +def _pick(strategy, sorted_rows, n_pick): + if strategy == "center": + return _center_pick(sorted_rows, n_pick) + if strategy == "spread": + return _quintile_spread(sorted_rows, n_pick, N_BUCKETS) + raise ValueError(f"unknown sample strategy: {strategy!r}") + + +def _center_pick(sorted_rows, n_pick): + """ + Pick n_pick contiguous elements centered on the median of sorted_rows. + Used for stage1/2/3 where samples should cluster tightly (similar runtime) + rather than span the whole pool — reduces within-stage variance to ~2-3x + instead of 5-8x. + """ + total = len(sorted_rows) + if total == 0 or n_pick <= 0: + return [] + if total <= n_pick: + return list(sorted_rows) + start = (total - n_pick) // 2 + return sorted_rows[start:start + n_pick] + + def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): total = len(sorted_rows) if total == 0 or n_pick <= 0: @@ -197,17 +235,18 @@ def q_idx(i): # rank boundary for the i-th quintile cut (i in 0..5) print(f"SAT runtime pool: {n_sat} | Q1+2={len(pool_q12)} | " f"Q3+4={len(pool_q34)} | Q5={len(pool_q5)}") - s1 = _quintile_spread(pool_q12, STAGE1_N, N_BUCKETS) - s2 = _quintile_spread(pool_q34, STAGE2_N, N_BUCKETS) - s3 = _quintile_spread(pool_q5, STAGE3_N, N_BUCKETS) + # Strategy per stage configurable via STAGE{N}_STRATEGY constants. + s1 = _pick(STAGE1_STRATEGY, pool_q12, STAGE1_N) + s2 = _pick(STAGE2_STRATEGY, pool_q34, STAGE2_N) + s3 = _pick(STAGE3_STRATEGY, pool_q5, STAGE3_N) - # Stage4: SAT+UNSAT, broad runtime-spread, exclude SHAs already in stage1+2+3. + # Stage4: SAT+UNSAT, exclude SHAs already in stage1+2+3. used = {d["problem_sha256"] for d in (s1 + s2 + s3)} broad = sorted( (d for d in candidates if d["problem_sha256"] not in used), key=_runtime_key, ) - s4 = _quintile_spread(broad, STAGE4_N, N_BUCKETS) + s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) _write_sample(_STAGE1, s1, "stage1", "SAT runtime Q1+2 (fastest 40%)") _write_sample(_STAGE2, s2, "stage2", "SAT runtime Q3+4 (middle 40%)") From ea29cccf526a2e4f59cc19289824dcbc6c7d7ee2 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 19 May 2026 15:22:32 +0900 Subject: [PATCH 13/42] update stats ratio --- input/z3-bench/evolve/shared/score.py | 63 +++++++++++++++++++-------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/input/z3-bench/evolve/shared/score.py b/input/z3-bench/evolve/shared/score.py index fb212d6311..d257b30559 100644 --- a/input/z3-bench/evolve/shared/score.py +++ b/input/z3-bench/evolve/shared/score.py @@ -4,11 +4,28 @@ - match baseline result: speedup = baseline_ms / elapsed_ms - mismatch (regression / unknown / timeout): contributes 1e-6 to geomean - solved_rate squared to strongly gate on correctness -- efficiency = geomean over {decisions, propagations, conflicts, restarts} - of (baseline_stat / variant_stat), only on solved problems with baseline - stats present. Lower solver work vs baseline -> efficiency > 1. - Folded multiplicatively via STATS_WEIGHT exponent (default 0 = disabled, - preserves prior scoring). Set env OPENEVOLVE_STATS_WEIGHT=0.25 to enable. +- efficiency = cross-problem geomean of per-problem weighted geomean over + SMT solver stats {conflicts, decisions, propagations}, with each ratio + (baseline_stat+1)/(variant_stat+1) clipped to [0.1, 10] to bound outliers. + Only solved problems with baseline stats present contribute. Lower solver + work vs baseline -> efficiency > 1. Folded multiplicatively via STATS_WEIGHT + exponent (default 0.333 -> stats / (speedup + stats) ~= 25% in log space; + recommended band 0.2-0.5). Override via env OPENEVOLVE_STATS_WEIGHT + (0 disables). + +Per-key weights reflect SMT solver signal quality: +- conflicts (2.0): CDCL backtracks/learned clauses. Strongest predictor of + search difficulty; lower vs baseline = smarter navigation; robust to + hardware noise. +- decisions (1.5): branching choices. Tracks search-tree size and branching + heuristic quality independent of conflicts. +- propagations (0.5): BCP + theory propagation. High variance; can mean + early pruning (good) or theory thrashing (bad). Tiebreaker only. +- 'mk clause' / 'restarts' intentionally excluded: learning is a feature + (fewer learned clauses != better), restart count alone no work signal. + +Two-level aggregate (per-problem then cross-problem) gives each benchmark +an equal vote regardless of how many stat keys it reports. Why stats matter: identical elapsed_ms with far fewer conflicts/decisions is a sturdier improvement (less variance across machines / problems) than a raw @@ -18,32 +35,42 @@ import math import os -_STATS_KEYS = ("decisions", "propagations", "conflicts", "mk clause") +_STATS_WEIGHTS = {"conflicts": 2.0, "decisions": 1.5, "propagations": 0.5} +_RATIO_CLIP_LO = 0.1 +_RATIO_CLIP_HI = 10.0 def _efficiency(per_problem): - """Geomean of baseline/variant ratio across stat keys, solved problems only. + """Cross-problem geomean of per-problem weighted geomean of clipped ratios. - Returns (efficiency, num_pairs). efficiency=1.0 if no usable pairs (no - baseline stats yet, or no solved problems) so the multiplier is a no-op. + Returns (efficiency, num_problems). efficiency=1.0 if no usable problems + (no baseline stats yet, or no solved problems) so the multiplier is a no-op. """ - ratios = [] + per_prob_effs = [] for p in per_problem: if p["result"] != p["baseline_result"]: continue bs = p.get("baseline_stats") or {} vs = p.get("stats") or {} - for k in _STATS_KEYS: + log_sum = 0.0 + w_sum = 0.0 + for k, w in _STATS_WEIGHTS.items(): b = bs.get(k) v = vs.get(k) if b is None or v is None: continue # +1 smoothing avoids div-by-zero and absurd ratios for tiny counts - ratios.append((float(b) + 1.0) / (float(v) + 1.0)) - if not ratios: + r = (float(b) + 1.0) / (float(v) + 1.0) + # Clip so one runaway problem/key can't dominate the geomean + r = max(_RATIO_CLIP_LO, min(_RATIO_CLIP_HI, r)) + log_sum += w * math.log(r) + w_sum += w + if w_sum > 0: + per_prob_effs.append(math.exp(log_sum / w_sum)) + if not per_prob_effs: return 1.0, 0 - log_sum = sum(math.log(r) for r in ratios) - return math.exp(log_sum / len(ratios)), len(ratios) + log_sum = sum(math.log(e) for e in per_prob_effs) + return math.exp(log_sum / len(per_prob_effs)), len(per_prob_effs) def score(per_problem): @@ -80,9 +107,9 @@ def score(per_problem): geomean = math.exp(log_sum / len(speedups)) solved_rate = solved / n - efficiency, eff_pairs = _efficiency(per_problem) + efficiency, eff_problems = _efficiency(per_problem) try: - stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0")) + stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0.333")) except ValueError: stats_weight = 0.0 # Clamp to a sensible band so a runaway env var can't dominate score. @@ -98,6 +125,6 @@ def score(per_problem): "solved": int(solved), "total": int(n), "efficiency": float(efficiency), - "efficiency_pairs": int(eff_pairs), + "efficiency_pairs": int(eff_problems), "stats_weight": float(stats_weight), } From 0161fef4b1332183a2792b92198b048057975ebc Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 20 May 2026 17:00:34 +0900 Subject: [PATCH 14/42] [fix] update scoring logic --- input/z3-bench/evolve/shared/score.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/input/z3-bench/evolve/shared/score.py b/input/z3-bench/evolve/shared/score.py index d257b30559..04062cd4da 100644 --- a/input/z3-bench/evolve/shared/score.py +++ b/input/z3-bench/evolve/shared/score.py @@ -1,8 +1,11 @@ """ -Scoring: geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. +Scoring: weighted_geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. - match baseline result: speedup = baseline_ms / elapsed_ms - mismatch (regression / unknown / timeout): contributes 1e-6 to geomean +- per-problem weight = baseline_ms so absolute time savings on long-running + problems dominate; small-runtime wins barely move the needle, and a + regression on a slow problem is penalized far more than on a fast one - solved_rate squared to strongly gate on correctness - efficiency = cross-problem geomean of per-problem weighted geomean over SMT solver stats {conflicts, decisions, propagations}, with each ratio @@ -89,11 +92,14 @@ def score(per_problem): } speedups = [] + weights = [] solved = 0 regressions = 0 for p in per_problem: baseline_decided = p["baseline_result"] in ("Sat", "Unsat") match = p["result"] == p["baseline_result"] + w = max(float(p["baseline_ms"]), 1.0) + weights.append(w) if match: solved += 1 sp = p["baseline_ms"] / max(p["elapsed_ms"], 1) @@ -103,8 +109,9 @@ def score(per_problem): if baseline_decided and p["result"] in ("Sat", "Unsat"): regressions += 1 - log_sum = sum(math.log(s) for s in speedups) - geomean = math.exp(log_sum / len(speedups)) + w_total = sum(weights) + log_sum = sum(w * math.log(s) for s, w in zip(speedups, weights)) + geomean = math.exp(log_sum / w_total) solved_rate = solved / n efficiency, eff_problems = _efficiency(per_problem) From e21d4566599f507fa59bbd312f76ace08aa5655f Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 20 May 2026 18:42:45 +0900 Subject: [PATCH 15/42] [feat] enable cpsat bench --- .gitignore | 5 +- input/README.md | 109 ++++ input/_lib/__init__.py | 0 input/_lib/extract_best.py | 109 ++++ input/_lib/load_bench_config.py | 105 ++++ input/_lib/prepare_phase.py | 65 +++ input/_lib/runtime.py | 93 ++++ input/_lib/subprocess_runner.py | 101 ++++ input/cpsat-bench/evolve/README.md | 140 +++++ input/cpsat-bench/evolve/build_samples.py | 225 ++++++++ input/cpsat-bench/evolve/config.yaml | 139 +++++ input/cpsat-bench/evolve/extract_best.py | 23 + .../evolve/phase1_search/initial_program.py | 41 ++ .../evolve/phase2_presolve/initial_program.py | 47 ++ .../evolve/phase3_lp_cuts/initial_program.py | 54 ++ .../evolve/phase4_unified/initial_program.py | 31 ++ .../evolve/prepare_phase_unified.py | 21 + input/cpsat-bench/evolve/rebaseline_local.py | 182 +++++++ .../evolve/shared/_cpsat_solve_worker.py | 173 ++++++ .../evolve/shared/baseline_params.py | 139 +++++ .../cpsat-bench/evolve/shared/cpsat_runner.py | 24 + input/cpsat-bench/evolve/shared/evaluator.py | 362 +++++++++++++ .../evolve/shared/local_baseline.json | 492 ++++++++++++++++++ input/cpsat-bench/evolve/shared/runtime.py | 25 + input/cpsat-bench/evolve/shared/score.py | 136 +++++ .../evolve/shared/stage1_sample.json | 38 ++ .../evolve/shared/stage2_sample.json | 38 ++ .../evolve/shared/stage3_sample.json | 38 ++ .../evolve/shared/stage4_sample.json | 128 +++++ input/cpsat-bench/problems.jsonl | 86 +++ input/run_phase.sh | 258 +++++++++ input/z3-bench/evolve/config.yaml | 18 +- input/z3-bench/evolve/extract_best.py | 114 +--- input/z3-bench/evolve/prepare_phase4.py | 63 +-- input/z3-bench/evolve/run_phase.sh | 110 ---- input/z3-bench/evolve/shared/runtime.py | 63 +-- .../z3-bench/evolve/shared/stage1_sample.json | 32 +- .../z3-bench/evolve/shared/stage2_sample.json | 32 +- .../z3-bench/evolve/shared/stage3_sample.json | 10 +- .../z3-bench/evolve/shared/stage4_sample.json | 78 +-- input/z3-bench/evolve/shared/z3_runner.py | 102 +--- 41 files changed, 3565 insertions(+), 484 deletions(-) create mode 100644 input/README.md create mode 100644 input/_lib/__init__.py create mode 100644 input/_lib/extract_best.py create mode 100644 input/_lib/load_bench_config.py create mode 100644 input/_lib/prepare_phase.py create mode 100644 input/_lib/runtime.py create mode 100644 input/_lib/subprocess_runner.py create mode 100644 input/cpsat-bench/evolve/README.md create mode 100644 input/cpsat-bench/evolve/build_samples.py create mode 100644 input/cpsat-bench/evolve/config.yaml create mode 100644 input/cpsat-bench/evolve/extract_best.py create mode 100644 input/cpsat-bench/evolve/phase1_search/initial_program.py create mode 100644 input/cpsat-bench/evolve/phase2_presolve/initial_program.py create mode 100644 input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py create mode 100644 input/cpsat-bench/evolve/phase4_unified/initial_program.py create mode 100644 input/cpsat-bench/evolve/prepare_phase_unified.py create mode 100644 input/cpsat-bench/evolve/rebaseline_local.py create mode 100644 input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py create mode 100644 input/cpsat-bench/evolve/shared/baseline_params.py create mode 100644 input/cpsat-bench/evolve/shared/cpsat_runner.py create mode 100644 input/cpsat-bench/evolve/shared/evaluator.py create mode 100644 input/cpsat-bench/evolve/shared/local_baseline.json create mode 100644 input/cpsat-bench/evolve/shared/runtime.py create mode 100644 input/cpsat-bench/evolve/shared/score.py create mode 100644 input/cpsat-bench/evolve/shared/stage1_sample.json create mode 100644 input/cpsat-bench/evolve/shared/stage2_sample.json create mode 100644 input/cpsat-bench/evolve/shared/stage3_sample.json create mode 100644 input/cpsat-bench/evolve/shared/stage4_sample.json create mode 100644 input/cpsat-bench/problems.jsonl create mode 100755 input/run_phase.sh delete mode 100755 input/z3-bench/evolve/run_phase.sh diff --git a/.gitignore b/.gitignore index cbbbb2787c..651f8b5df1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ results/ examples/lm_eval/prompts/system_message.txt examples/lm_eval/prompts/evaluator_system_message.txt - # Python __pycache__/ *.py[cod] @@ -52,12 +51,14 @@ htmlcov/ # Misc .DS_Store .venv +.claude # For SR secrets.yaml problems input/z3-bench/raw-data +input/cpsat-bench/raw-data # z3-bench evolve run artifacts (locally regenerated) input/z3-bench/evolve/shared/local_baseline.json -input/z3-bench/evolve/shared/phase*_best.json \ No newline at end of file +input/z3-bench/evolve/shared/phase*_best.json diff --git a/input/README.md b/input/README.md new file mode 100644 index 0000000000..4025d76a26 --- /dev/null +++ b/input/README.md @@ -0,0 +1,109 @@ +# input/ — Benchmark Pipelines + Shared Lib + +Each `/` directory holds one OpenEvolve solver-parameter-tuning +pipeline. Common scaffolding lives under `_lib/` and is wired into each +bench via thin per-bench wrappers (keeps bench code <100 LOC for the +boilerplate parts). + +## Layout + +``` +input/ +├── run_phase.sh # single entry: ./run_phase.sh [flags] +├── _lib/ # shared library (importable as `_lib.*`) +│ ├── runtime.py # parallel_solvers / cascade_threshold / core_range +│ ├── subprocess_runner.py # run_solver(worker, problem, params, timeout, ...) +│ ├── extract_best.py # main(root, shared, phase_dirs) — CLI core +│ └── prepare_phase.py # main(root, shared, prior_phases, unified_file) +├── z3-bench/ +│ ├── raw-data/ # .smt2 + ____seed0.meta.jsonl +│ └── evolve/ +│ ├── bench.env # config sourced by ../../run_phase.sh +│ └── ... # baseline_params, evaluator, phases, etc. +└── cpsat-bench/ + ├── raw-data/ # .cpsat.pb + ____seed0.meta.jsonl + └── evolve/ + ├── bench.env + └── ... +``` + +## _lib/ — what's shared + +| module | purpose | per-bench wrapper | +|---|---|---| +| `_lib/runtime.py` | parse `OPENEVOLVE_PARALLEL_SOLVERS`, `OPENEVOLVE_CORE_RANGE`, `cascade_thresholds` from env + config.yaml | `/evolve/shared/runtime.py` (binds config path, re-exports) | +| `_lib/subprocess_runner.py` | spawn worker subprocess, taskset pin, timeout grace, parse stdout JSON | `/evolve/shared/_runner.py` (binds WORKER path, names `run_`) | +| `_lib/extract_best.py` | argparse + load best_program.py + write `phaseN_best.json` | `/evolve/extract_best.py` (passes `PHASE_DIRS` dict) | +| `_lib/prepare_phase.py` | merge `phaseN_best.json` files, rewrite unified phase's EVOLVE-BLOCK | `/evolve/prepare_phase_unified.py` (passes `PRIOR_PHASES` list) | +| `input/run_phase.sh` | single user-facing entry: `./run_phase.sh [--pin] [--extract-only] [--iterations]`. Resolves bench, sources `/evolve/bench.env`, runs flow. | `/evolve/bench.env` (5-line config: `PHASE_DIRS`, `PHASE_ITERS`, `UNIFIED_PREPARE_SCRIPT`, `SOLVER_CHECK_CMD`, `SOLVER_INSTALL_HINT`) | + +## Per-bench files NOT shared + +Stay per-bench because each is solver- or dataset-specific: + +- `shared/baseline_params.py` — `BASELINE` + `LOCKED` dicts (recorded params) +- `shared/__solve_worker.py` — solver Python binding glue +- `shared/score.py` — score mode (`decision` / `cost` / `time-only`) +- `shared/evaluator.py` — cascade scaffold + decisive-result set + key stats +- `build_samples.py` — meta.jsonl field paths +- `rebaseline_local.py` — local baseline measurement +- `phase{N}_/initial_program.py` — phase namespace + initial overrides +- `config.yaml` — bench knobs + LLM system message + +## Wiring pattern (per-bench wrapper) + +Each wrapper: +1. Computes `_INPUT_DIR` (relative to its own file). +2. Inserts it into `sys.path` so `from _lib import ...` works. +3. Calls / re-exports the shared function with bench-specific args. + +Example — `/evolve/shared/runtime.py`: + +```python +import pathlib, sys +_HERE = pathlib.Path(__file__).resolve().parent +_CONFIG_YAML = _HERE.parent / "config.yaml" +_INPUT_DIR = _HERE.parents[2] +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) +from _lib import runtime as _rt + +core_range = _rt.core_range +def parallel_solvers(default=1): return _rt.parallel_solvers(_CONFIG_YAML, default=default) +def cascade_threshold(i, d): return _rt.cascade_threshold(_CONFIG_YAML, i, d) +``` + +Same pattern for `_runner.py`, `extract_best.py`, `prepare_phase_unified.py`. + +## Adding a new bench + +1. Make `input//raw-data/` and populate it (e.g. `load_script.sh`). +2. Scaffold `/evolve/` using the [openevolve-pipeline skill](../.claude/skills/openevolve-pipeline/SKILL.md). +3. For each shared module, copy a per-bench wrapper from `z3-bench/` or + `cpsat-bench/` and adjust the bench-specific bits (worker path, phase + dirs, config path). + +## Environment knobs (work in both benches) + +| variable | use | +|---|---| +| `OPENEVOLVE_PARALLEL_SOLVERS` | concurrent solver subprocesses per stage (cores 1..N) | +| `OPENEVOLVE_CORE_RANGE` | explicit taskset core range `N-M` (overrides PARALLEL_SOLVERS for pinning; concurrency = range size) | +| `OPENEVOLVE_MAX_PROBLEMS` | cap stage problem count (testing) | +| `OPENEVOLVE_STATS_WEIGHT` | exponent on efficiency factor in score.py (0 disables) | +| `OPENEVOLVE_COST_WEIGHT` | (cost-mode only) exponent on cost_ratio | +| `OPENEVOLVE_PYTHON_BIN` | python used by solver worker subprocess | +| `SKIP_REBASELINE` | skip per-host baseline remeasurement (reuse `local_baseline.json`) | + +## Quick start (any bench) + +```bash +# (cpsat-bench example — swap to z3-bench by name) +bash input/cpsat-bench/raw-data/load_script.sh # populate raw-data +python input/cpsat-bench/evolve/build_samples.py # stage{1..4}_sample.json +python input/cpsat-bench/evolve/shared/baseline_params.py # sanity self-test +./input/run_phase.sh cpsat-bench 1 --pin 2-7 +./input/run_phase.sh cpsat-bench 2 --pin 2-7 +./input/run_phase.sh cpsat-bench 3 --pin 2-7 +./input/run_phase.sh cpsat-bench 4 --pin 2-7 +``` diff --git a/input/_lib/__init__.py b/input/_lib/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/input/_lib/extract_best.py b/input/_lib/extract_best.py new file mode 100644 index 0000000000..7a79536434 --- /dev/null +++ b/input/_lib/extract_best.py @@ -0,0 +1,109 @@ +""" +Generic per-phase winner extractor. Per-bench `extract_best.py` wrappers +provide PHASE_DIRS and call `main(root, shared, phase_dirs)`. + +After phase N completes, load get_phase_overrides() from its best_program.py +(default: openevolve_output/best/best_program.py) and write +shared/phaseN_best.json. The next phase's initial_program.py picks it up. + +--from-checkpoints scans openevolve_output/checkpoints/checkpoint_*/ and +picks the program with the highest combined_score (best_program_info.json). +""" +import argparse +import importlib.util +import json +import pathlib +import sys + + +def _pick_from_checkpoints(phase_dir): + ckpt_root = phase_dir / "openevolve_output" / "checkpoints" + ckpts = sorted( + ckpt_root.glob("checkpoint_*"), + key=lambda p: int(p.name.split("_")[1]) if p.name.split("_")[1].isdigit() else -1, + ) + if not ckpts: + print(f"no checkpoints found under {ckpt_root}", file=sys.stderr) + sys.exit(1) + + best_py = None + best_score = float("-inf") + best_ck = None + for ck in ckpts: + info_path = ck / "best_program_info.json" + prog_path = ck / "best_program.py" + if not info_path.exists() or not prog_path.exists(): + continue + try: + info = json.loads(info_path.read_text()) + sc = float(info.get("metrics", {}).get("combined_score", float("-inf"))) + except (json.JSONDecodeError, ValueError, TypeError) as e: + print(f"warning: failed to read {info_path}: {e}", file=sys.stderr) + continue + if sc > best_score: + best_score = sc + best_py = prog_path + best_ck = ck + + if best_py is None: + print(f"no usable best_program.py in any checkpoint under {ckpt_root}", + file=sys.stderr) + sys.exit(1) + + print(f"[extract_best] from-checkpoints: picked {best_ck.name} " + f"(combined_score={best_score:.4f})") + return best_py + + +def main(root, shared, phase_dirs, argv=None): + """ + root — bench evolve dir (pathlib.Path) + shared — bench evolve/shared dir (pathlib.Path) + phase_dirs — {phase_int: "phaseN_"} (excludes the final/unified phase) + """ + choices = sorted(phase_dirs.keys()) + ap = argparse.ArgumentParser( + description="Extract get_phase_overrides() from phase's best_program.py.") + ap.add_argument("phase", type=int, choices=choices, help="phase number") + ap.add_argument("--from-checkpoints", action="store_true", + help="scan checkpoint_*/ dirs and pick highest combined_score") + args = ap.parse_args(argv) + + n = args.phase + phase_dir = pathlib.Path(root) / phase_dirs[n] + + if args.from_checkpoints: + best_py = _pick_from_checkpoints(phase_dir) + else: + best_py = phase_dir / "openevolve_output" / "best" / "best_program.py" + if not best_py.exists(): + print(f"best_program.py not found: {best_py}", file=sys.stderr) + print("run phase first (./run_phase.sh N) before extracting,", + file=sys.stderr) + print("or pass --from-checkpoints to use the latest checkpoint.", + file=sys.stderr) + sys.exit(1) + + sys.path.insert(0, str(shared)) + + spec = importlib.util.spec_from_file_location(f"phase{n}_best", best_py) + module = importlib.util.module_from_spec(spec) + try: + spec.loader.exec_module(module) + except Exception as e: + print(f"failed to load {best_py}: {e}", file=sys.stderr) + sys.exit(1) + + if not hasattr(module, "get_phase_overrides"): + print(f"{best_py} missing get_phase_overrides()", file=sys.stderr) + sys.exit(1) + + overrides = module.get_phase_overrides() + if not isinstance(overrides, dict): + print(f"get_phase_overrides() returned {type(overrides).__name__}, " + f"expected dict", file=sys.stderr) + sys.exit(1) + + out = pathlib.Path(shared) / f"phase{n}_best.json" + out.write_text(json.dumps(overrides, indent=2, sort_keys=True) + "\n") + print(f"wrote {out.relative_to(pathlib.Path(root))} ({len(overrides)} keys)") diff --git a/input/_lib/load_bench_config.py b/input/_lib/load_bench_config.py new file mode 100644 index 0000000000..795c54d5f0 --- /dev/null +++ b/input/_lib/load_bench_config.py @@ -0,0 +1,105 @@ +""" +Read `bench:` section from a bench's config.yaml and print bash `export` +statements. input/run_phase.sh evals the stdout. + +Usage: + eval "$(python _lib/load_bench_config.py /evolve/config.yaml)" + +Schema: + bench: + phases: + - dir: phase1_x + iters: 60 # optional; null/omitted => fall back to max_iterations + - dir: phase2_y + ... + unified_prepare_script: prepare_phase_unified.py # optional + solver_check_cmd: 'python -c "from ortools.sat.python import cp_model"' + solver_install_hint: install pip install ortools + rebaseline_script: rebaseline_local.py # optional override + extract_best_script: extract_best.py # optional override + build_samples_script: build_samples.py # optional override + +Output (stdout): + export PHASE_DIRS='phase1_x phase2_y ...' + export PHASE_ITERS='60 80 40' # space-separated; missing iters -> empty slot + export UNIFIED_PREPARE_SCRIPT='prepare_phase_unified.py' + export SOLVER_CHECK_CMD='python -c "..."' + ... + +All values shell-quoted via shlex.quote. Non-zero exit on missing/invalid +`bench` section. +""" +import shlex +import sys + + +def _emit(key, value): + if value is None or value == "": + return + print(f"export {key}={shlex.quote(str(value))}") + + +def main(): + if len(sys.argv) != 2: + print("usage: load_bench_config.py ", file=sys.stderr) + sys.exit(2) + + try: + import yaml + except ImportError as e: + print(f"PyYAML not importable: {e}", file=sys.stderr) + sys.exit(2) + + path = sys.argv[1] + try: + with open(path) as f: + cfg = yaml.safe_load(f) or {} + except FileNotFoundError: + print(f"config not found: {path}", file=sys.stderr) + sys.exit(2) + except yaml.YAMLError as e: + print(f"YAML parse error in {path}: {e}", file=sys.stderr) + sys.exit(2) + + bench = cfg.get("bench") + if not isinstance(bench, dict): + print(f"missing or non-dict `bench:` section in {path}", file=sys.stderr) + sys.exit(2) + + phases = bench.get("phases") + if not isinstance(phases, list) or not phases: + print(f"`bench.phases` must be a non-empty list in {path}", file=sys.stderr) + sys.exit(2) + + dirs = [] + iters = [] + any_iter = False + for i, p in enumerate(phases, start=1): + if not isinstance(p, dict) or "dir" not in p: + print(f"bench.phases[{i-1}] must be a dict with `dir` key", file=sys.stderr) + sys.exit(2) + dirs.append(str(p["dir"])) + it = p.get("iters") + if it is None or it == "": + iters.append("") + else: + iters.append(str(int(it))) + any_iter = True + + _emit("PHASE_DIRS", " ".join(dirs)) + # If no phase has iters set, omit PHASE_ITERS entirely so shell array is empty + # (and config.yaml max_iterations applies). Otherwise emit space-joined list + # with empty slots for phases without explicit iters. + if any_iter: + _emit("PHASE_ITERS", " ".join(iters)) + + _emit("UNIFIED_PREPARE_SCRIPT", bench.get("unified_prepare_script")) + _emit("SOLVER_CHECK_CMD", bench.get("solver_check_cmd")) + _emit("SOLVER_INSTALL_HINT", bench.get("solver_install_hint")) + _emit("REBASELINE_SCRIPT", bench.get("rebaseline_script")) + _emit("EXTRACT_BEST_SCRIPT", bench.get("extract_best_script")) + _emit("BUILD_SAMPLES_SCRIPT", bench.get("build_samples_script")) + + +if __name__ == "__main__": + main() diff --git a/input/_lib/prepare_phase.py b/input/_lib/prepare_phase.py new file mode 100644 index 0000000000..39a08219bf --- /dev/null +++ b/input/_lib/prepare_phase.py @@ -0,0 +1,65 @@ +""" +Materialize a unified phase's initial_program.py with a literal dict +containing the union of prior-phase winners (from shared/phaseN_best.json). + +Per-bench `prepare_phase_unified.py` wrappers call +`main(root, shared, prior_phases, unified_file)` after all prior phases +have completed (and extract_best.py ran for each). + +Rewrites only the EVOLVE-BLOCK section of the unified phase's initial_program.py. +""" +import json +import pathlib +import pprint +import re +import sys + +_EVOLVE_BLOCK_RE = re.compile( + r"(# EVOLVE-BLOCK-START\n).*?(# EVOLVE-BLOCK-END)", + re.DOTALL, +) + + +def _load(shared, n): + f = pathlib.Path(shared) / f"phase{n}_best.json" + if not f.exists(): + print(f"missing: {f}", file=sys.stderr) + sys.exit(1) + return json.loads(f.read_text()) + + +def main(root, shared, prior_phases, unified_file, dict_name="UNIFIED_OVERRIDES"): + """ + root — bench evolve dir (pathlib.Path) + shared — bench evolve/shared dir (pathlib.Path) + prior_phases — list of phase ints to merge (e.g. [1, 2, 3]) + unified_file — path to the unified phase's initial_program.py + dict_name — variable name written in the EVOLVE-BLOCK (default UNIFIED_OVERRIDES) + """ + unified_file = pathlib.Path(unified_file) + merged = {} + phase_counts = {} + for n in prior_phases: + d = _load(shared, n) + phase_counts[n] = len(d) + merged.update(d) + print("merged keys: " + " ".join(f"p{n}={c}" for n, c in phase_counts.items()) + + f" union={len(merged)}") + + src = unified_file.read_text() + dict_repr = pprint.pformat(merged, width=100, sort_dicts=True) + new_block_body = ( + "# Auto-generated by prepare_phase_unified.py from union of prior phase winners.\n" + f"{dict_name} = {dict_repr}\n" + ) + new_src, n_subs = _EVOLVE_BLOCK_RE.subn( + lambda m: m.group(1) + new_block_body + m.group(2), + src, + count=1, + ) + if n_subs != 1: + print(f"EVOLVE-BLOCK markers not found in {unified_file}", file=sys.stderr) + sys.exit(1) + unified_file.write_text(new_src) + print(f"wrote {unified_file.relative_to(pathlib.Path(root))} " + f"({len(merged)} keys in EVOLVE-BLOCK)") diff --git a/input/_lib/runtime.py b/input/_lib/runtime.py new file mode 100644 index 0000000000..7c8a84d8f2 --- /dev/null +++ b/input/_lib/runtime.py @@ -0,0 +1,93 @@ +""" +Shared runtime knob loader. Used by all bench evolve pipelines. + +Reads custom keys from /evolve/config.yaml (top-level), with env var +override. openevolve's dacite parser silently ignores unknown top-level keys, +so each bench shares the same config file rather than introducing a second. + +Priority: env var > config.yaml > default. + +Callers pass the path to config.yaml. Per-bench `shared/runtime.py` wrappers +resolve their own config path and re-export the helpers below. +""" +import os +import pathlib + +_cache = {} + + +def _load(config_path): + p = pathlib.Path(config_path) + key = str(p) + if key in _cache: + return _cache[key] + if not p.exists(): + _cache[key] = {} + return _cache[key] + try: + import yaml + _cache[key] = yaml.safe_load(p.read_text()) or {} + except Exception: + _cache[key] = {} + return _cache[key] + + +def parallel_solvers(config_path, default=1): + """ + Concurrent solver worker subprocesses per stage. + Env OPENEVOLVE_PARALLEL_SOLVERS > config.yaml parallel_solvers > default. + """ + env = os.environ.get("OPENEVOLVE_PARALLEL_SOLVERS") + if env is not None: + try: + return max(1, int(env)) + except ValueError: + pass + val = _load(config_path).get("parallel_solvers", default) + try: + return max(1, int(val)) + except (ValueError, TypeError): + return default + + +def core_range(): + """ + Parse OPENEVOLVE_CORE_RANGE=START-END (or single "N"). Returns list of + core IDs to lease, or None if env unset. + + Caller decides what to do with None: + - typical default = list(range(1, parallel_solvers() + 1)) + (cores 1..N, core 0 reserved for kernel housekeeping). + + Range size implicitly caps concurrency: n_parallel = len(core_range). + """ + env = os.environ.get("OPENEVOLVE_CORE_RANGE") + if not env: + return None + env = env.strip() + try: + if "-" in env: + lo_s, hi_s = env.split("-", 1) + lo, hi = int(lo_s), int(hi_s) + if lo > hi: + lo, hi = hi, lo + return list(range(lo, hi + 1)) + return [int(env)] + except ValueError: + return None + + +def cascade_threshold(config_path, index, default): + """ + Read evaluator.cascade_thresholds[index] from config.yaml. + Used by evaluator.evaluate_stage3 for the internal stage3→stage4 gate + (openevolve cascade hardcodes only 3 stage slots). + """ + cfg = _load(config_path).get("evaluator") or {} + thresholds = cfg.get("cascade_thresholds") or [] + if index < len(thresholds): + try: + return float(thresholds[index]) + except (ValueError, TypeError): + pass + return default diff --git a/input/_lib/subprocess_runner.py b/input/_lib/subprocess_runner.py new file mode 100644 index 0000000000..b00e122480 --- /dev/null +++ b/input/_lib/subprocess_runner.py @@ -0,0 +1,101 @@ +""" +Generic subprocess solver runner. Spawn a worker script as a subprocess and +parse a JSON dict from its stdout. Per-bench `_runner.py` wrappers +call `run_solver(WORKER_PATH, ...)` and re-export under solver-specific names. + +Contract for the worker (any language, must print JSON): + argv[1] json.dumps(params) + argv[2] str(problem_path) + argv[3] str(int(timeout_s)) + + stdout (last non-empty line, JSON): + success: {"result": , "elapsed_ms": int, "stats": dict, ...} + timeout: {"result": "Unknown", "elapsed_ms": int, "timeout": True, "stats": {}} + invalid: {"invalid_param": str, "error": str, "result": "Unknown", "elapsed_ms": int} + crash: {"result": "Unknown", "elapsed_ms": int, "error": str} + +This parent layer adds: + - hard wall-clock timeout (timeout_s + 15s grace) + - optional taskset core pin (Linux only; silently ignored if missing) + - defensive last-line parsing (defensive against stray worker prints) + +Return shape — always a dict, one of: + {"result", "elapsed_ms", "stats", ...} (success, may include "objective") + {"result": "Unknown", "elapsed_ms", "timeout": True, "stats": {}} + {"invalid_param", "stderr", "result": "Unknown", "elapsed_ms", "stats": {}} + {"result": "Unknown", "elapsed_ms", "error", "stderr", "stats": {}} +""" +import json +import shutil +import subprocess +import sys +import time + +_TASKSET = shutil.which("taskset") + + +def run_solver(worker_path, problem_path, params, timeout_s, + python_bin=None, cpu_core=None, grace_s=15): + """ + See module docstring for the contract. + + cpu_core: optional Linux taskset pin. Ignored on macOS / no util-linux. + grace_s: subprocess timeout = timeout_s + grace_s. + """ + py = python_bin or sys.executable + args = [py, str(worker_path), json.dumps(params), + str(problem_path), str(int(timeout_s))] + if cpu_core is not None and _TASKSET: + args = [_TASKSET, "-c", str(int(cpu_core))] + args + + t0 = time.monotonic() + try: + proc = subprocess.run( + args, + capture_output=True, + text=True, + timeout=timeout_s + grace_s, + ) + except subprocess.TimeoutExpired: + return { + "result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "timeout": True, + "stats": {}, + } + + stdout = (proc.stdout or "").strip() + stderr = (proc.stderr or "").strip() + + if not stdout: + return { + "result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": f"worker produced no output (rc={proc.returncode})", + "stderr": stderr[-2000:], + "stats": {}, + } + + # Last non-empty line as JSON (defensive against stray worker prints). + last = stdout.splitlines()[-1] + try: + out = json.loads(last) + except json.JSONDecodeError as e: + return { + "result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": f"worker json decode: {e}", + "stderr": (stderr + "\n--stdout--\n" + stdout)[-2000:], + "stats": {}, + } + + if "invalid_param" in out: + return { + "invalid_param": out["invalid_param"], + "stderr": (out.get("error") or stderr)[-2000:], + "result": "Unknown", + "elapsed_ms": out.get("elapsed_ms", 0), + "stats": {}, + } + out.setdefault("stats", {}) + return out diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md new file mode 100644 index 0000000000..593b24c89a --- /dev/null +++ b/input/cpsat-bench/evolve/README.md @@ -0,0 +1,140 @@ +# cpsat-bench Parameter Tuning via OpenEvolve + +Tune OR-tools CP-SAT (`ortools.sat.python.cp_model`) parameters by +evolutionary search on the `input/cpsat-bench/raw-data` dataset (85 OPTIMAL +instances stored as binary `CpModelProto`). Goal: minimize wall-clock vs +baseline while preserving feasibility / objective. + +> OpenEvolve concept primer: see `input/z3-bench/evolve/OPENEVOLVE_INTRO.md` — +> z3-bench is the canonical reference impl; the pattern here is identical +> (cost-mode scoring instead of decision-mode is the only difference). + +## Layout + +``` +input/cpsat-bench/ +├── raw-data/ # flat layout (mirrors z3-bench) +│ ├── load_script.sh # gitlab pkg 71 downloader +│ ├── .cpsat.pb # binary CpModelProto +│ └── ____seed0.meta.jsonl +├── problems.jsonl # built by build_samples.py +└── evolve/ + ├── README.md # this file + ├── config.yaml # OpenEvolve config + custom knobs + ├── run_phase.sh # phase runner (chmod +x) + ├── build_samples.py # stage{1..4} sample selection + ├── extract_best.py # per-phase winner extraction + ├── prepare_phase_unified.py # materializes phase4 EVOLVE-BLOCK + ├── rebaseline_local.py # measure baseline on local box + ├── shared/ + │ ├── baseline_params.py # BASELINE + LOCKED + │ ├── score.py # cost mode + │ ├── runtime.py # config.yaml passthrough + │ ├── evaluator.py # cascade stages + │ ├── cpsat_runner.py # subprocess solver invoker + │ ├── _cpsat_solve_worker.py + │ ├── stage{1..4}_sample.json # built by build_samples.py + │ └── local_baseline.json # built by rebaseline_local.py + └── phase{1..4}_/ + └── initial_program.py # EVOLVE-BLOCK +``` + +## Evaluation flow (cascade) + +``` +LLM-mutated initial_program.py + ↓ +evaluator.py: + 1. get_params() → dict + 2. LOCKED-violation check (random_seed, num_search_workers, timeout_sec) + 3. stage1 (5 problems, runtime Q1+Q2): + per-problem solver run, invalid_param triggers early 0 + score → gate (cascade_thresholds[0]) → stage2 + 4. stage2 (5 problems, runtime Q3+Q4): + same, gate → stage3 + 5. stage3 (5 problems, runtime Q5): + same, gate (cascade_thresholds[2]) → stage4 (chained inside stage3) + 6. stage4 (20 broad-runtime problems): + final metrics + per-problem artifacts (top 20 entries surfaced) +``` + +## Quick start + +```bash +# 0) populate raw-data from gitlab package 71 (first time only) +cd input/cpsat-bench/raw-data && bash load_script.sh && cd - + +# 1) build sample files (re-run any time raw-data changes) +python input/cpsat-bench/evolve/build_samples.py + +# 2) sanity-check: does the runner reproduce baseline timings? +python input/cpsat-bench/evolve/shared/baseline_params.py + +# 3) optional: measure baseline on local box (captures objective_value +# for cost-mode scoring — first run picks it up automatically too) +python input/cpsat-bench/evolve/rebaseline_local.py + +# 4) run phases sequentially +./input/cpsat-bench/evolve/run_phase.sh 1 +./input/cpsat-bench/evolve/run_phase.sh 2 +./input/cpsat-bench/evolve/run_phase.sh 3 +./input/cpsat-bench/evolve/run_phase.sh 4 +``` + +After each non-final phase, `run_phase.sh` calls `extract_best.py` to write +`shared/phaseN_best.json`, which the next phase's `initial_program.py` loads. + +## Resume from checkpoint + +```bash +cd input/cpsat-bench/evolve/phase2_presolve/ +python /app/openevolve-run.py \ + initial_program.py \ + ../shared/evaluator.py \ + --config ../config.yaml \ + --checkpoint openevolve_output/checkpoints/checkpoint_50 \ + --iterations 100 +``` + +## Environment variables + +| variable | default | use | +|---|---|---| +| `CLAUDE_CODE_OAUTH_TOKEN` / `OPENAI_API_KEY` | — | LLM credential (claude_code provider) | +| `OPENEVOLVE_PARALLEL_SOLVERS` | 1 | concurrent solver subprocesses per stage (taskset-pinned on Linux to cores 1..N). Each CP-SAT uses num_search_workers=8 internally — size accordingly. | +| `OPENEVOLVE_CORE_RANGE` | unset | explicit taskset core range `N-M` (overrides PARALLEL_SOLVERS for pinning; concurrency = range size). e.g. `2-7` → 6 workers on cores 2..7. `run_phase.sh --pin 2-7` is sugar for this. | +| `OPENEVOLVE_MAX_PROBLEMS` | unlimited | cap stage problem count (testing) | +| `OPENEVOLVE_STATS_WEIGHT` | 0.333 | exponent on efficiency factor (0 disables) | +| `OPENEVOLVE_COST_WEIGHT` | 1.0 | exponent on cost_ratio in cost-mode score (0 disables cost factor) | +| `OPENEVOLVE_PYTHON_BIN` | `sys.executable` | python used by solver worker | +| `SKIP_REBASELINE` | 0 | skip per-host baseline remeasurement (reuse existing local_baseline.json) | + +## CPU pinning (Linux) + +For stable wall-clock measurement, isolate cores via +`scripts/host-isolate-cores.sh start` (from the openevolve repo root) and +run the docker container with `./docker-run.sh dev -s cpsat --pin 1-6`. +The runner already pins each worker subprocess with `taskset -c `. + +## Score formula (cost mode) + +``` +combined_score = geomean( (b_obj/v_obj)^COST_W * (b_ms/v_ms) ) + * solved_rate^2 + * efficiency^STATS_WEIGHT +``` + +- All 85 baselines are OPTIMAL, so if the variant also reaches OPTIMAL, the + cost ratio collapses to 1.0 and score reduces to geomean(time speedup). +- Variants that bail to FEASIBLE-but-worse-objective are penalized via the + cost ratio; variants that bail to UNKNOWN/INFEASIBLE contribute 1e-6 to + the geomean (~60× penalty across stage1's 5 problems). +- Efficiency factor multiplies based on `num_conflicts` (weight 2.0) and + `num_branches` (weight 1.5) ratios vs baseline. + +## Locked params + +`random_seed=0`, `num_search_workers=8`, `timeout_sec=-1`. + +Modifying any locked key in `get_params()` returns `combined_score=0` plus a +`locked_violated` artifact identifying the offending key. diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py new file mode 100644 index 0000000000..032205e9ee --- /dev/null +++ b/input/cpsat-bench/evolve/build_samples.py @@ -0,0 +1,225 @@ +""" +Build problems.jsonl + stage1/2/3/4 sample files from raw-data/. + +Layout (flat, mirroring z3-bench): + raw-data/.cpsat.pb binary CpModelProto + raw-data/____seed0.meta.jsonl one-line JSON with + problem_sha256, problem_filename, cpsat_applied_params, + cpsat_status (result, elapsed_ms), cpsat_response_stats, ... + +problems.jsonl is the full aggregate; sample selection applies a runtime cap +(MAX_BASELINE_MS) and a Tukey IQR outlier filter (k=3.0) so stage quintile +boundaries don't get distorted by long-tail monsters. + +Stages (decisive = OPTIMAL or FEASIBLE; this dataset is all OPTIMAL): + stage1 (5) center pick from runtime Q1+Q2 (fastest 40%) + stage2 (5) center pick from runtime Q3+Q4 (middle 40%) + stage3 (5) center pick from runtime Q5 (slowest 20%) + stage4 (20) quintile-spread broad sample, dedup vs stage1-3 +""" +import json +import pathlib + +_HERE = pathlib.Path(__file__).resolve().parent +_BENCH = _HERE.parent +_RAW = _BENCH / "raw-data" +_PROBLEMS = _BENCH / "problems.jsonl" +_STAGE1 = _HERE / "shared" / "stage1_sample.json" +_STAGE2 = _HERE / "shared" / "stage2_sample.json" +_STAGE3 = _HERE / "shared" / "stage3_sample.json" +_STAGE4 = _HERE / "shared" / "stage4_sample.json" + +STAGE1_N = 5 +STAGE2_N = 5 +STAGE3_N = 5 +STAGE4_N = 20 +N_BUCKETS = 5 +MAX_BASELINE_MS = 120_000 # cap — exclude > 2 min monsters from sample pool +OUTLIER_IQR_K = 3.0 + +STAGE1_STRATEGY = "center" +STAGE2_STRATEGY = "center" +STAGE3_STRATEGY = "center" +STAGE4_STRATEGY = "spread" + +_DECISIVE_RESULTS = {"OPTIMAL", "FEASIBLE"} + + +def _scan_raw(): + """Glob raw-data/*.meta.jsonl (one-line JSON per problem). The meta + already contains problem_sha256 + problem_filename; no derivation needed.""" + rows = [] + for path in sorted(_RAW.glob("*.meta.jsonl")): + with open(path) as f: + line = f.readline().strip() + if not line: + continue + d = json.loads(line) + rows.append(d) + return rows + + +def _runtime_key(d): + return (d.get("cpsat_status") or {}).get("elapsed_ms", 0) + + +def _result_key(d): + return (d.get("cpsat_status") or {}).get("result") + + +def _id_key(d): + return d["problem_sha256"] + + +def _drop_runtime_outliers(rows, k=OUTLIER_IQR_K): + ms_sorted = sorted(_runtime_key(d) for d in rows if _runtime_key(d) > 0) + n = len(ms_sorted) + if n < 4: + return list(rows), [] + q1 = ms_sorted[n // 4] + q3 = ms_sorted[(3 * n) // 4] + iqr = q3 - q1 + lo, hi = q1 - k * iqr, q3 + k * iqr + kept, dropped = [], [] + for d in rows: + ms = _runtime_key(d) + if ms <= 0 or lo <= ms <= hi: + kept.append(d) + else: + dropped.append(d) + return kept, dropped + + +def _pick(strategy, sorted_rows, n_pick): + if strategy == "center": + return _center_pick(sorted_rows, n_pick) + if strategy == "spread": + return _quintile_spread(sorted_rows, n_pick, N_BUCKETS) + raise ValueError(f"unknown sample strategy: {strategy!r}") + + +def _center_pick(sorted_rows, n_pick): + total = len(sorted_rows) + if total == 0 or n_pick <= 0: + return [] + if total <= n_pick: + return list(sorted_rows) + start = (total - n_pick) // 2 + return sorted_rows[start:start + n_pick] + + +def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): + total = len(sorted_rows) + if total == 0 or n_pick <= 0: + return [] + if total <= n_pick: + return list(sorted_rows) + per_bucket = n_pick // n_buckets + remainder = n_pick % n_buckets + picked = [] + for b in range(n_buckets): + lo = (b * total) // n_buckets + hi = ((b + 1) * total) // n_buckets + bucket = sorted_rows[lo:hi] + if not bucket: + continue + k = per_bucket + (1 if b < remainder else 0) + if k <= 0: + continue + if k == 1: + picked.append(bucket[len(bucket) // 2]) + else: + for j in range(k): + idx = round(j * (len(bucket) - 1) / (k - 1)) + picked.append(bucket[idx]) + return picked + + +def _summary(d): + return { + "sha": _id_key(d)[:12], + "baseline_result": _result_key(d), + "baseline_ms": _runtime_key(d), + } + + +def _write_sample(path, picks, label, criteria): + path.write_text( + json.dumps( + { + "selection": f"{len(picks)} {criteria}", + "source": str(_PROBLEMS.relative_to(_BENCH.parent)), + "sha256": [_id_key(d) for d in picks], + "summary": [_summary(d) for d in picks], + }, + indent=2, + ) + + "\n" + ) + print(f"wrote {path.relative_to(_BENCH.parent)} ({len(picks)} {label})") + + +def main(): + rows = _scan_raw() + if not rows: + raise SystemExit(f"no *.meta.jsonl found under {_RAW}") + print(f"scanned {len(rows)} problems") + + with open(_PROBLEMS, "w") as f: + for d in rows: + f.write(json.dumps(d) + "\n") + print(f"wrote {_PROBLEMS.relative_to(_BENCH.parent)} ({len(rows)} entries)") + + candidates = [d for d in rows if _runtime_key(d) <= MAX_BASELINE_MS] + print(f"sample pool: {len(candidates)} (skipped {len(rows) - len(candidates)} " + f"with baseline_ms > {MAX_BASELINE_MS}ms)") + + candidates, outliers = _drop_runtime_outliers(candidates) + if outliers: + print(f"dropped {len(outliers)} runtime outliers (Tukey IQR k={OUTLIER_IQR_K}):") + for d in sorted(outliers, key=_runtime_key): + print(f" {_id_key(d)[:12]} {int(_runtime_key(d)):>7}ms {_result_key(d)}") + + decided_by_rt = sorted( + (d for d in candidates if _result_key(d) in _DECISIVE_RESULTS), + key=_runtime_key, + ) + n_decided = len(decided_by_rt) + + def q_idx(i): + return (i * n_decided) // 5 + + pool_q12 = decided_by_rt[q_idx(0):q_idx(2)] + pool_q34 = decided_by_rt[q_idx(2):q_idx(4)] + pool_q5 = decided_by_rt[q_idx(4):q_idx(5)] + print(f"decisive-result runtime pool: {n_decided} | Q1+2={len(pool_q12)} | " + f"Q3+4={len(pool_q34)} | Q5={len(pool_q5)}") + + s1 = _pick(STAGE1_STRATEGY, pool_q12, STAGE1_N) + s2 = _pick(STAGE2_STRATEGY, pool_q34, STAGE2_N) + s3 = _pick(STAGE3_STRATEGY, pool_q5, STAGE3_N) + + # Stage4: broad spread across full decisive pool, dedup vs stage1-3. + used = {_id_key(d) for d in (s1 + s2 + s3)} + broad = sorted( + (d for d in candidates if _id_key(d) not in used), + key=_runtime_key, + ) + s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) + + _write_sample(_STAGE1, s1, "stage1", "decisive Q1+2 (fastest 40%)") + _write_sample(_STAGE2, s2, "stage2", "decisive Q3+4 (middle 40%)") + _write_sample(_STAGE3, s3, "stage3", "decisive Q5 (slowest 20%)") + _write_sample(_STAGE4, s4, "stage4", "broad runtime spread, dedup vs stage1-3") + + for label, picks in (("stage1", s1), ("stage2", s2), + ("stage3", s3), ("stage4", s4)): + print(f"\n{label}:") + for d in picks: + print(f" {_id_key(d)[:12]} " + f"{str(_result_key(d)):<10} " + f"{int(_runtime_key(d)):>7}ms") + + +if __name__ == "__main__": + main() diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml new file mode 100644 index 0000000000..9d3e6f0f07 --- /dev/null +++ b/input/cpsat-bench/evolve/config.yaml @@ -0,0 +1,139 @@ +# Single config for cpsat-bench. Read by openevolve (dacite, ignores unknown +# top-level keys like `bench` / `parallel_solvers`) AND by input/run_phase.sh +# (via _lib/load_bench_config.py) for shell-side phase orchestration. +# +# === bench: section === +# Consumed by input/run_phase.sh. phases[].iters can be null/omitted → uses +# max_iterations below. +bench: + phases: + - dir: phase1_search + iters: 60 + - dir: phase2_presolve + iters: 100 + - dir: phase3_lp_cuts + iters: 80 + - dir: phase4_unified + iters: 40 + unified_prepare_script: prepare_phase_unified.py + solver_check_cmd: 'python -c "from ortools.sat.python import cp_model"' + solver_install_hint: "install: pip install ortools" + # optional script-name overrides (defaults shown): + # rebaseline_script: rebaseline_local.py + # extract_best_script: extract_best.py + # build_samples_script: build_samples.py + +# === Custom cpsat-bench knobs (silently ignored by openevolve dacite) === +# parallel_solvers: total concurrent CP-SAT worker subprocesses per stage. +# - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. +# - Each pinned to a dedicated core via taskset (Linux). +# - Capped at len(problems_in_stage) at runtime. +# - Env OPENEVOLVE_PARALLEL_SOLVERS overrides this value. +# - CP-SAT itself uses num_search_workers=8 internally (locked), so total +# core demand ≈ parallel_solvers × 8. Size accordingly. +parallel_solvers: 1 + +max_iterations: 60 +checkpoint_interval: 10 +log_level: "INFO" +random_seed: 42 + +diff_based_evolution: true +max_code_length: 20000 + +early_stopping_patience: null +convergence_threshold: 0.001 +early_stopping_metric: "combined_score" + +llm: + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 0.8 + timeout: 180 + retries: 2 + retry_delay: 10 + reasoning_effort: "medium" + - name: "claude-haiku-4-5" + provider: "claude_code" + weight: 0.2 + timeout: 120 + +prompt: + system_message: | + You tune OR-tools CP-SAT (ortools.sat.python.cp_model) solver parameters for a + workload of 85 OPTIMAL-objective instances stored as serialized CpModelProto + (problem.cpsat.pb). Median baseline runtime ≈ 4.6s, max ≈ 107s. + + The initial_program.py exposes an EVOLVE-BLOCK dict (per phase: + search/subsolvers, presolve, lp/cuts, or unified). Your job is to mutate + this dict to MAXIMIZE combined_score = geomean(cost_ratio * time_ratio) + * solved_rate^2 * efficiency^STATS_WEIGHT. + + Score mode = cost: variant must reach OPTIMAL or FEASIBLE on every baseline + OPTIMAL problem, otherwise the per-problem ratio is 1e-6 (large penalty, + geomean punishes one regression heavily). All baselines are OPTIMAL, so a + variant that bails to FEASIBLE with a worse objective_value scores below 1.0. + + Hard rules: + - Do NOT modify locked keys: random_seed, num_search_workers, timeout_sec. + (evaluator returns combined_score=0 + locked_violated artifact on violation.) + - Use only valid CpSolverParameters proto field names. Unknown keys + cause AttributeError → evaluator returns 0 + surfaces invalid_param. + - Respect types: bool true/false, int, float, list of strings (subsolver names). + - Repeated proto fields (extra_subsolvers, ignore_subsolvers, etc.) accept + Python lists; the worker handles del+extend internally. + + Common CP-SAT knobs worth exploring (non-exhaustive): + search/subsolvers: + extra_subsolvers, ignore_subsolvers — subsolver names include + "default_lp", "no_lp", "max_lp", "core", "quick_restart", + "reduced_costs", "lb_tree_search", "probing_search", "objective_lb_search", + "objective_shaving_search_no_lp", "pseudo_costs", "fixed", + "feasibility_pump", "feasibility_jump" + interleave_search: bool + use_feasibility_jump, use_feasibility_pump: bool + diversify_lns_params: bool + repair_hint: bool + presolve/probing: + cp_model_probing_level: 0..3 + cp_model_presolve: bool + presolve_use_bva: bool + presolve_bve_threshold: int + symmetry_level: 0..3 + tuned: bool (preset bundle — usually leave true) + lp/cuts: + linearization_level: 0..2 + cut_level: 0..2 + max_num_cuts: int (1000-10000 typical) + add_mir_cuts, add_zero_half_cuts, add_clique_cuts: bool + new_constraints_batch_size: int + mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance: numeric + + Per-round artifacts show speedup, regression, base_obj vs obj for each problem. + Read them: which knob change helped the long Q5 problems vs the fast Q1 ones? + Watch num_conflicts and num_branches — a 2x speedup with same conflict count + is hardware noise; a 2x with 10x fewer conflicts is a real find. + +database: + population_size: 50 + archive_size: 20 + num_islands: 3 + elite_selection_ratio: 0.2 + exploitation_ratio: 0.7 + similarity_threshold: 0.95 + +evaluator: + timeout: 1800 # 30 min wall cap per variant — stage4 worst case + # ≈ 20 problems × 120s × 1.3 / parallel_solvers. + cascade_evaluation: true # stage1 → stage2 → stage3 (chains to stage4 inside) + cascade_thresholds: [1.03, 1.03, 1.03] + # threshold[0] = stage1 combined_score gate → stage2 (≥3% gain) + # threshold[1] = stage2 gate → stage3 + # threshold[2] = stage3 gate → stage4 (read by evaluator.evaluate_stage3 + # via runtime.cascade_threshold — openevolve cascade exposes + # only 3 stage slots, so stage4 is chained inside stage3). + parallel_evaluations: 1 # FIXED 1. All solver concurrency via + # OPENEVOLVE_PARALLEL_SOLVERS (inner threadpool). + # parallel_evaluations × parallel_solvers × + # num_search_workers=8 RAM/CPU blowup otherwise. diff --git a/input/cpsat-bench/evolve/extract_best.py b/input/cpsat-bench/evolve/extract_best.py new file mode 100644 index 0000000000..a7ad7446b1 --- /dev/null +++ b/input/cpsat-bench/evolve/extract_best.py @@ -0,0 +1,23 @@ +""" +Thin wrapper: calls _lib.extract_best.main with cpsat-bench phase map. +""" +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_SHARED = _HERE / "shared" +_INPUT_DIR = _HERE.parents[1] + +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) + +from _lib.extract_best import main # noqa: E402 + +PHASE_DIRS = { + 1: "phase1_search", + 2: "phase2_presolve", + 3: "phase3_lp_cuts", +} + +if __name__ == "__main__": + main(_HERE, _SHARED, PHASE_DIRS) diff --git a/input/cpsat-bench/evolve/phase1_search/initial_program.py b/input/cpsat-bench/evolve/phase1_search/initial_program.py new file mode 100644 index 0000000000..e8af25a38e --- /dev/null +++ b/input/cpsat-bench/evolve/phase1_search/initial_program.py @@ -0,0 +1,41 @@ +""" +Phase 1: tune CP-SAT search / subsolver knobs. + +Targeted namespace (LLM may add/remove/modify keys in the EVOLVE-BLOCK): + extra_subsolvers, ignore_subsolvers, interleave_search, + use_feasibility_jump, use_feasibility_pump + +Other params stay at BASELINE. +Do NOT modify locked keys (see baseline_params.LOCKED): + random_seed, num_search_workers, timeout_sec +Invalid solver keys cause evaluator to return 0 and surface the offending key. +""" +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +# EVOLVE-BLOCK-START +SEARCH_OVERRIDES = { + "extra_subsolvers": ["default_lp", "no_lp"], + "ignore_subsolvers": ["max_lp"], + "interleave_search": True, + "use_feasibility_jump": False, + "use_feasibility_pump": False, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(SEARCH_OVERRIDES) + return p + + +def get_phase_overrides(): + """Used by extract_best.py — returns ONLY this phase's evolved dict.""" + return dict(SEARCH_OVERRIDES) diff --git a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py new file mode 100644 index 0000000000..d3049bfef5 --- /dev/null +++ b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py @@ -0,0 +1,47 @@ +""" +Phase 2: tune CP-SAT presolve / probing knobs. + +Targeted namespace: + cp_model_probing_level, cp_model_presolve, symmetry_level, + presolve_use_bva, presolve_bve_threshold +(LLM may explore other presolve_* / probing_* keys.) + +Inherits phase1 winners (loaded from shared/phase1_best.json if present). +Do NOT modify locked keys. +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +def _load_prev(name): + p = _SHARED / name + if p.exists(): + return json.loads(p.read_text()) + return {} + + +_PHASE1 = _load_prev("phase1_best.json") + + +# EVOLVE-BLOCK-START +PRESOLVE_OVERRIDES = { + "cp_model_probing_level": 1, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) + p.update(PRESOLVE_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(PRESOLVE_OVERRIDES) diff --git a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py new file mode 100644 index 0000000000..b13c67affb --- /dev/null +++ b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py @@ -0,0 +1,54 @@ +""" +Phase 3: tune CP-SAT LP / cuts / MIP-bridge knobs. + +Targeted namespace: + max_num_cuts, cut_level, + mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance +(LLM may explore other linearization_level, *_cuts toggles.) + +Inherits phase1+phase2 winners. +Do NOT modify locked keys. +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +def _load_prev(name): + p = _SHARED / name + if p.exists(): + return json.loads(p.read_text()) + return {} + + +_PHASE1 = _load_prev("phase1_best.json") +_PHASE2 = _load_prev("phase2_best.json") + + +# EVOLVE-BLOCK-START +LP_CUTS_OVERRIDES = { + "max_num_cuts": 3000, + "cut_level": 1, + "mip_max_bound": 1e+07, + "mip_var_scaling": 1, + "mip_check_precision": 1e-06, + "mip_drop_tolerance": 1e-07, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) + p.update(_PHASE2) + p.update(LP_CUTS_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(LP_CUTS_OVERRIDES) diff --git a/input/cpsat-bench/evolve/phase4_unified/initial_program.py b/input/cpsat-bench/evolve/phase4_unified/initial_program.py new file mode 100644 index 0000000000..c1f2cfbadb --- /dev/null +++ b/input/cpsat-bench/evolve/phase4_unified/initial_program.py @@ -0,0 +1,31 @@ +""" +Phase 4: unified refinement. + +EVOLVE-BLOCK below is auto-materialized by prepare_phase_unified.py from +the union of phase{1,2,3}_best.json winners. LLM may then tune all keys +jointly. + +Do NOT modify locked keys (random_seed, num_search_workers, timeout_sec). +""" +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +# EVOLVE-BLOCK-START +UNIFIED_OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(UNIFIED_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(UNIFIED_OVERRIDES) diff --git a/input/cpsat-bench/evolve/prepare_phase_unified.py b/input/cpsat-bench/evolve/prepare_phase_unified.py new file mode 100644 index 0000000000..9a09e32b0a --- /dev/null +++ b/input/cpsat-bench/evolve/prepare_phase_unified.py @@ -0,0 +1,21 @@ +""" +Thin wrapper: calls _lib.prepare_phase.main with cpsat-bench phase config. +Materializes phase4_unified/initial_program.py from phase{1,2,3}_best.json. +""" +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_SHARED = _HERE / "shared" +_INPUT_DIR = _HERE.parents[1] +_UNIFIED_FILE = _HERE / "phase4_unified" / "initial_program.py" + +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) + +from _lib.prepare_phase import main # noqa: E402 + +PRIOR_PHASES = [1, 2, 3] + +if __name__ == "__main__": + main(_HERE, _SHARED, PRIOR_PHASES, _UNIFIED_FILE) diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py new file mode 100644 index 0000000000..3cae20787c --- /dev/null +++ b/input/cpsat-bench/evolve/rebaseline_local.py @@ -0,0 +1,182 @@ +""" +Init-phase rebaseline: measure BASELINE on the union of +stage{1,2,3,4}_sample.json (on the local host, with current CP-SAT version) +and write shared/local_baseline.json. Captures elapsed_ms, stats, AND +objective_value — the last is critical for cost-mode scoring (variant cost +needs a baseline_obj to ratio against). + +Wall-clock varies by hardware / ortools version. raw-data timings were +recorded elsewhere; evaluator overlays this local file so per-problem +timeout = baseline_ms * 1.3 and speedup = local_baseline_ms / variant_ms +are calibrated for this box. + +Per-problem timeout = REBASELINE_TIMEOUT_S (1 hr safety floor). Never cut a +baseline run short — a truncated baseline poisons every variant comparison. + +Concurrency = config parallel_solvers (env OPENEVOLVE_PARALLEL_SOLVERS override). +""" +import json +import pathlib +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) + +from baseline_params import BASELINE # noqa: E402 +from cpsat_runner import run_cpsat # noqa: E402 +from runtime import parallel_solvers, core_range # noqa: E402 + +_BENCH_DIR = _HERE.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" +_STAGE2_SAMPLE = _HERE / "shared" / "stage2_sample.json" +_STAGE3_SAMPLE = _HERE / "shared" / "stage3_sample.json" +_STAGE4_SAMPLE = _HERE / "shared" / "stage4_sample.json" +_OUT = _HERE / "shared" / "local_baseline.json" + +REBASELINE_TIMEOUT_S = 3600 + + +def _load_problem_index(): + idx = {} + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + sha = d["problem_sha256"] + idx[sha] = { + "sha": sha, + "problem_filename": d["problem_filename"], + "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), + "raw_result": (d.get("cpsat_status") or {}).get("result"), + } + return idx + + +def _load_target_shas(): + if not _STAGE1_SAMPLE.exists(): + print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", + file=sys.stderr) + sys.exit(2) + ids = [] + seen = set() + for sample_path, label in ( + (_STAGE1_SAMPLE, "stage1"), + (_STAGE2_SAMPLE, "stage2"), + (_STAGE3_SAMPLE, "stage3"), + (_STAGE4_SAMPLE, "stage4"), + ): + if not sample_path.exists(): + print(f"WARN: {sample_path.name} missing — skipping {label}", file=sys.stderr) + continue + for sha in json.loads(sample_path.read_text())["sha256"]: + if sha not in seen: + ids.append(sha) + seen.add(sha) + return ids + + +def main(): + shas = _load_target_shas() + idx = _load_problem_index() + + tasks = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) + return 2 + path = _RAW_DIR / meta["problem_filename"] + if not path.exists(): + print(f"ERROR: input not found: {path}", file=sys.stderr) + return 2 + tasks.append((i, meta, path)) + + import queue as _queue + cores = core_range() + if cores is None: + cores = list(range(1, parallel_solvers(default=1) + 1)) + n_parallel = min(len(cores), len(tasks)) + cores = cores[:n_parallel] + print(f"rebaselining union of stage{{1,2,3,4}}_sample.json: {len(tasks)} problems") + print(f"timeout per problem = {REBASELINE_TIMEOUT_S}s (never cut short), " + f"parallel={n_parallel} cores={cores}") + print() + + _core_pool = _queue.Queue() + for _c in cores: + _core_pool.put(_c) + + def _solve(task): + i, meta, path = task + core = _core_pool.get() + try: + res = run_cpsat(path, BASELINE, REBASELINE_TIMEOUT_S, cpu_core=core) + finally: + _core_pool.put(core) + return i, meta, res, core + + t_start = time.monotonic() + completed = [] + if n_parallel == 1: + for task in tasks: + completed.append(_solve(task)) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_solve, t) for t in tasks] + for fut in as_completed(futures): + completed.append(fut.result()) + completed.sort(key=lambda x: x[0]) + + out = {} + mismatch = 0 + for i, meta, res, core in completed: + got_result = res.get("result", "Unknown") + got_ms = int(res.get("elapsed_ms", 0)) + invalid = res.get("invalid_param") + ok = (got_result == meta["raw_result"]) and not invalid + if not ok: + mismatch += 1 + + if invalid: + flag = f" INVALID_PARAM={invalid}" + elif ok: + flag = "" + else: + flag = " MISMATCH" + ratio = got_ms / max(meta["raw_ms"], 1) + print( + f" [{i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " + f"raw={meta['raw_result']:<10}/{int(meta['raw_ms']):>7}ms " + f"local={got_result:<10}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " + f"core={core}", + flush=True, + ) + + entry = { + "elapsed_ms": got_ms, + "result": got_result, + "matches_raw": ok, + "raw_elapsed_ms": meta["raw_ms"], + "stats": res.get("stats") or {}, + } + if "objective" in res: + entry["objective"] = res["objective"] + out[meta["sha"]] = entry + + elapsed = time.monotonic() - t_start + _OUT.write_text(json.dumps(out, indent=2) + "\n") + print() + print(f"wrote {_OUT.relative_to(_BENCH_DIR.parent)} " + f"({len(out)} entries, {mismatch} mismatches)") + print(f"total time: {elapsed:.1f}s") + if mismatch: + print(f"WARNING: {mismatch} problems had result mismatch — " + f"evaluator will keep raw_ms for those") + return 0 if mismatch == 0 else 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py b/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py new file mode 100644 index 0000000000..6e05b14780 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py @@ -0,0 +1,173 @@ +""" +Solve one CP-SAT problem via ortools.sat.python.cp_model. +Subprocess worker invoked by cpsat_runner.py. + +argv: + sys.argv[1] JSON dict of {key: value} (params for solver.parameters) + sys.argv[2] path to problem.cpsat.pb (serialized CpModelProto, binary) + sys.argv[3] per-problem timeout in seconds + +stdout: a single JSON line. +""" +import json +import os +import pickle +import sys +import time + + +def emit(d): + print(json.dumps(d)) + sys.stdout.flush() + + +def load_problem(path): + """raw-data layout: each dir contains problem.cpsat.pb (binary CpModelProto).""" + from ortools.sat.python import cp_model + p = str(path) + if p.endswith(".pb") or p.endswith(".bin") or p.endswith(".cpsat.pb"): + with open(p, "rb") as f: + data = f.read() + model = cp_model.CpModel() + model.Proto().ParseFromString(data) + return model + if p.endswith(".pbtxt"): + from google.protobuf import text_format + with open(p, "r") as f: + data = f.read() + model = cp_model.CpModel() + text_format.Parse(data, model.Proto()) + return model + if p.endswith(".pkl"): + with open(p, "rb") as f: + return pickle.load(f) + raise ValueError(f"unknown problem format: {path}") + + +def main(): + if len(sys.argv) != 4: + emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) + return + + try: + params = json.loads(sys.argv[1]) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"params json: {e}"}) + return + + problem_path = sys.argv[2] + timeout_s = int(sys.argv[3]) + + try: + from ortools.sat.python import cp_model + except ImportError as e: + emit({"result": "Unknown", "elapsed_ms": 0, + "error": f"ortools.sat.python.cp_model import: {e}"}) + return + + solver = cp_model.CpSolver() + + # Hard wall-clock cap on the solver side too. Parent subprocess.run adds + # an outer +15s grace. + try: + solver.parameters.max_time_in_seconds = float(timeout_s) + except Exception: + pass + + # Filter out keys that aren't real CpSolverParameters proto fields. + # `timeout_sec` and `tuned` appear in raw-data applied_params but are + # wrapper-level scheduler keys, not proto fields — silently drop instead + # of treating as invalid_param. + _DROP = {"timeout_sec", "tuned"} + + # CP-SAT params are protobuf fields. Repeated fields (lists like + # extra_subsolvers) must be assigned via .extend() rather than `=`. + for k, v in params.items(): + if k in _DROP: + continue + try: + field = getattr(solver.parameters, k) + except AttributeError as e: + emit({"invalid_param": k, "error": str(e), + "result": "Unknown", "elapsed_ms": 0}) + return + if isinstance(v, list): + try: + del field[:] + field.extend(v) + except (AttributeError, TypeError) as e: + emit({"invalid_param": k, + "error": f"list assign: {type(e).__name__}: {e}", + "result": "Unknown", "elapsed_ms": 0}) + return + else: + try: + setattr(solver.parameters, k, v) + except AttributeError as e: + emit({"invalid_param": k, "error": str(e), + "result": "Unknown", "elapsed_ms": 0}) + return + except (TypeError, ValueError) as e: + emit({"invalid_param": k, + "error": f"{type(e).__name__}: {e}", + "result": "Unknown", "elapsed_ms": 0}) + return + + try: + model = load_problem(problem_path) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"problem load: {e}"}) + return + + t0 = time.monotonic() + try: + status = solver.Solve(model) + except Exception as e: + elapsed_ms = int((time.monotonic() - t0) * 1000) + emit({"result": "Unknown", "elapsed_ms": elapsed_ms, + "error": f"Solve() raised: {e}"}) + return + elapsed_ms = int((time.monotonic() - t0) * 1000) + + label_map = { + cp_model.OPTIMAL: "OPTIMAL", + cp_model.FEASIBLE: "FEASIBLE", + cp_model.INFEASIBLE: "INFEASIBLE", + cp_model.UNKNOWN: "UNKNOWN", + cp_model.MODEL_INVALID: "MODEL_INVALID", + } + label = label_map.get(status, "UNKNOWN") + + stats = {} + for k, fn in ( + ("num_branches", "NumBranches"), + ("num_conflicts", "NumConflicts"), + ("num_booleans", "NumBooleans"), + ("wall_time", "WallTime"), + ("user_time", "UserTime"), + ): + try: + v = getattr(solver, fn)() + if isinstance(v, (int, float)): + stats[k] = v + except Exception: + pass + + obj = None + if status in (cp_model.OPTIMAL, cp_model.FEASIBLE): + try: + obj = float(solver.ObjectiveValue()) + except Exception: + obj = None + + out = {"result": label, "elapsed_ms": elapsed_ms, "stats": stats} + if obj is not None: + out["objective"] = obj + emit(out) + + +if __name__ == "__main__": + main() + sys.stdout.flush() + sys.stderr.flush() + os._exit(0) diff --git a/input/cpsat-bench/evolve/shared/baseline_params.py b/input/cpsat-bench/evolve/shared/baseline_params.py new file mode 100644 index 0000000000..ceac7d1717 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/baseline_params.py @@ -0,0 +1,139 @@ +""" +Baseline CP-SAT parameters captured from raw-data/____seed0.meta.jsonl +(uniform `cpsat_applied_params` across all problems in package 71 instances). + +DO NOT MODIFY. Imported by all phases. + +Pkg 71 applied_params has 5 keys: timeout_sec, num_search_workers, random_seed, +interleave_search, tuned. `timeout_sec` and `tuned` are wrapper-level +(scheduler) — NOT real CpSolverParameters proto fields. Including them +would make every variant fail with invalid_param. Dropped from BASELINE +and from LOCKED; the worker also has both in its _DROP set as belt+braces. +""" + +BASELINE = { + "num_search_workers": 8, + "random_seed": 0, + "interleave_search": True, +} + +LOCKED = { + "random_seed": 0, + "num_search_workers": 8, +} + + +def _self_test(): + """ + Run stage1 problems with BASELINE in parallel; report per-problem ratio vs + recorded baseline_ms. + OK ratio in [0.5, 2.0] + WARN ratio out of band + FAIL result mismatch / invalid_param + """ + import json + import math + import pathlib + import sys + import time + from concurrent.futures import ThreadPoolExecutor, as_completed + + here = pathlib.Path(__file__).resolve().parent + sys.path.insert(0, str(here)) + from cpsat_runner import run_cpsat # noqa: E402 + from runtime import parallel_solvers, core_range # noqa: E402 + + bench = here.parent.parent + raw_dir = bench / "raw-data" + problems_jsonl = bench / "problems.jsonl" + stage1_sample = here / "stage1_sample.json" + + if not stage1_sample.exists(): + print(f"ERROR: {stage1_sample} missing. run build_samples.py first.", + file=sys.stderr) + return 2 + + ids = list(json.loads(stage1_sample.read_text())["sha256"]) + idx = {} + with open(problems_jsonl) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "problem_filename": d["problem_filename"], + "baseline_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), + "baseline_result": (d.get("cpsat_status") or {}).get("result"), + } + + tasks = [] + for i, pid in enumerate(ids): + meta = idx.get(pid) + if meta is None: + print(f"ERROR: {pid[:12]} not in problems.jsonl", file=sys.stderr) + return 2 + problem_path = raw_dir / meta["problem_filename"] + if not problem_path.exists(): + print(f"ERROR: input not found: {problem_path}", file=sys.stderr) + return 2 + tasks.append((i, pid, meta, problem_path)) + + cores = core_range() + if cores is None: + cores = list(range(1, parallel_solvers(default=5) + 1)) + n_parallel = min(len(cores), len(tasks)) + cores = cores[:n_parallel] + + print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel} " + f"cores={cores}") + print() + + def solve(t): + i, pid, meta, problem_path = t + timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) + core = cores[i % n_parallel] + r = run_cpsat(problem_path, BASELINE, timeout_s, cpu_core=core) + return i, pid, meta, r + + t_start = time.monotonic() + results = [] + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(solve, t) for t in tasks] + for fut in as_completed(futures): + results.append(fut.result()) + elapsed = time.monotonic() - t_start + results.sort(key=lambda x: x[0]) + + print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" + f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} core status") + print("-" * 84) + fail = 0 + warn = 0 + for i, pid, meta, r in results: + got_result = r.get("result", "Unknown") + got_ms = int(r.get("elapsed_ms", 0)) + ratio = got_ms / max(meta["baseline_ms"], 1) + result_ok = (got_result == meta["baseline_result"]) + invalid = r.get("invalid_param") + if invalid: + status = f"FAIL(invalid={invalid})" + fail += 1 + elif not result_ok: + status = "FAIL" + fail += 1 + elif not (0.5 <= ratio <= 2.0): + status = "WARN" + warn += 1 + else: + status = "OK" + print(f"{pid[:12]:<14}{str(meta['baseline_result']):<10}{str(got_result):<10}" + f"{int(meta['baseline_ms']):>10}{got_ms:>10}{ratio:>7.2f}x " + f"{cores[i % n_parallel]:>4} {status}") + + print() + print(f"wall-clock: {elapsed:.1f}s") + print(f"summary: {len(results) - fail - warn} ok, {warn} warn, {fail} fail") + return 0 if fail == 0 else 1 + + +if __name__ == "__main__": + import sys + sys.exit(_self_test()) diff --git a/input/cpsat-bench/evolve/shared/cpsat_runner.py b/input/cpsat-bench/evolve/shared/cpsat_runner.py new file mode 100644 index 0000000000..86de9089c3 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/cpsat_runner.py @@ -0,0 +1,24 @@ +""" +Thin wrapper: run_cpsat = subprocess_runner.run_solver bound to +_cpsat_solve_worker.py. + +Status strings produced by the worker: + OPTIMAL, FEASIBLE, INFEASIBLE, UNKNOWN, MODEL_INVALID +For cost mode, success dict also includes "objective" = solver.ObjectiveValue(). +""" +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_INPUT_DIR = _HERE.parents[2] +_WORKER = _HERE / "_cpsat_solve_worker.py" + +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) + +from _lib.subprocess_runner import run_solver # noqa: E402 + + +def run_cpsat(problem_path, params, timeout_s, python_bin=None, cpu_core=None): + return run_solver(_WORKER, problem_path, params, timeout_s, + python_bin=python_bin, cpu_core=cpu_core) diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py new file mode 100644 index 0000000000..fdf8d8472f --- /dev/null +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -0,0 +1,362 @@ +""" +OpenEvolve evaluator for cpsat-bench parameter tuning. + +Score mode: cost (minimize CP-SAT objective; see score.py). + +Per-problem timeout = max(MIN_TIMEOUT_S, ceil(baseline_ms * TIMEOUT_FACTOR / 1000)). +Locked params (see baseline_params.LOCKED) must not deviate — violation => combined_score=0. + +Environment overrides: + OPENEVOLVE_MAX_PROBLEMS cap stage problem count + OPENEVOLVE_PARALLEL_SOLVERS concurrent solver subprocesses (default 1) + OPENEVOLVE_PYTHON_BIN python for worker subprocess +""" +import importlib.util +import json +import math +import os +import pathlib +import sys +import traceback + +TIMEOUT_FACTOR = 1.3 +MIN_TIMEOUT_S = 5 + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE)) + +from baseline_params import BASELINE, LOCKED # noqa: E402 +from score import score # noqa: E402 +from cpsat_runner import run_cpsat # noqa: E402 +from runtime import parallel_solvers, cascade_threshold, core_range # noqa: E402 + +from openevolve.evaluation_result import EvaluationResult # noqa: E402 + +_BENCH_DIR = _HERE.parent.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_STAGE1_SAMPLE = _HERE / "stage1_sample.json" +_STAGE2_SAMPLE = _HERE / "stage2_sample.json" +_STAGE3_SAMPLE = _HERE / "stage3_sample.json" +_STAGE4_SAMPLE = _HERE / "stage4_sample.json" +_LOCAL_BASELINE = _HERE / "local_baseline.json" + +_PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") + +_KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", "wall_time", "user_time") +_DECISIVE = ("OPTIMAL", "FEASIBLE") + + +def _load_program(path): + spec = importlib.util.spec_from_file_location("program", path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def _load_problems(): + local = {} + if _LOCAL_BASELINE.exists(): + local = json.loads(_LOCAL_BASELINE.read_text()) + rows = [] + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + sha = d["problem_sha256"] + baseline_ms = (d.get("cpsat_status") or {}).get("elapsed_ms", 0) + baseline_result = (d.get("cpsat_status") or {}).get("result") + baseline_stats = d.get("cpsat_response_stats") or {} + baseline_objective = (d.get("cpsat_status") or {}).get("objective_value") + lo = local.get(sha) + if lo and lo.get("matches_raw"): + baseline_ms = lo["elapsed_ms"] + baseline_stats = lo.get("stats") or baseline_stats + if lo.get("objective") is not None: + baseline_objective = lo["objective"] + rows.append({ + "sha": sha, + "input_file": d["problem_filename"], + "baseline_ms": baseline_ms, + "baseline_result": baseline_result, + "baseline_stats": baseline_stats, + "baseline_objective": baseline_objective, + }) + return rows + + +def _filter_stage1(problems): + if not _STAGE1_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _filter_stage2(problems): + if not _STAGE2_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE2_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _filter_stage3(problems): + if not _STAGE3_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE3_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _filter_stage4(problems): + if not _STAGE4_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE4_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _err_result(metrics_extra, artifacts): + metrics = { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, + } + metrics.update(metrics_extra) + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + +def _evaluate(program_path, problems, stage_name): + try: + program = _load_program(program_path) + except Exception as e: + return _err_result( + {"error": f"program load failed: {e}"}, + {"error_type": type(e).__name__, "error_message": str(e), + "full_traceback": traceback.format_exc()[-2000:], "stage": stage_name}, + ) + + if not hasattr(program, "get_params"): + return _err_result( + {"error": "missing get_params()"}, + {"suggestion": "initial_program.py must expose get_params() -> dict", + "stage": stage_name}, + ) + + try: + params = program.get_params() + if not isinstance(params, dict): + raise TypeError(f"get_params() returned {type(params).__name__}, expected dict") + except Exception as e: + return _err_result( + {"error": f"get_params() raised: {e}"}, + {"error_type": type(e).__name__, "error_message": str(e), + "full_traceback": traceback.format_exc()[-2000:], "stage": stage_name}, + ) + + violations = {k: params.get(k) for k in LOCKED if params.get(k) != LOCKED[k]} + if violations: + return _err_result( + {"error": "locked params violated"}, + {"locked_violated": violations, "locked_expected": LOCKED, + "stage": stage_name, + "suggestion": "Do not modify locked keys (see baseline_params.LOCKED)."}, + ) + + if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: + problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] + + for p in problems: + input_path = _RAW_DIR / p["input_file"] + if not input_path.exists(): + return _err_result( + {"error": f"input not found: {p['input_file']}"}, + {"missing_file": str(input_path), "stage": stage_name}, + ) + + import queue as _queue + # Core pool: OPENEVOLVE_CORE_RANGE (e.g. "2-7") overrides; else + # cores 1..parallel_solvers() (core 0 reserved for kernel housekeeping). + _cores = core_range() + if _cores is None: + _cores = list(range(1, parallel_solvers(default=1) + 1)) + n_parallel = min(len(_cores), len(problems)) + _cores = _cores[:n_parallel] + _core_pool = _queue.Queue() + for _c in _cores: + _core_pool.put(_c) + + def _solve(idx_p): + idx, p = idx_p + input_path = _RAW_DIR / p["input_file"] + timeout_s = max(MIN_TIMEOUT_S, math.ceil(p["baseline_ms"] * TIMEOUT_FACTOR / 1000)) + core = _core_pool.get() + try: + r = run_cpsat(input_path, params, timeout_s, python_bin=_PYTHON_BIN, cpu_core=core) + finally: + _core_pool.put(core) + return idx, p, r, core, timeout_s + + def _is_regression(p, r): + # cost mode: baseline OPTIMAL → variant must reach OPTIMAL or FEASIBLE. + # bailing to UNKNOWN/INFEASIBLE/MODEL_INVALID on an OPTIMAL baseline = regression. + if "invalid_param" in r: + return False + if p["baseline_result"] not in _DECISIVE: + return False + return r.get("result") not in _DECISIVE + + def _invalid_err(r): + return _err_result( + {"error": f"invalid param: {r['invalid_param']}"}, + {"invalid_param": r["invalid_param"], "stderr": r.get("stderr", "")[:2000], + "stage": stage_name, + "suggestion": "Remove or fix this key in get_params()."}, + ) + + def _regression_err(p, r): + return _err_result( + {"error": f"result regression on {p['sha'][:10]}: " + f"baseline={p['baseline_result']} got={r.get('result')}"}, + { + "result_mismatch": { + "sha": p["sha"][:12], + "baseline_result": p["baseline_result"], + "got_result": r.get("result"), + "elapsed_ms": r.get("elapsed_ms"), + "timeout": bool(r.get("timeout")), + }, + "stage": stage_name, + "suggestion": "Variant lost feasibility on a problem baseline reached optimal. " + "Revert params that disable a needed subsolver or shorten search.", + }, + ) + + by_idx = {} + abort = None + if n_parallel == 1: + for pair in enumerate(problems): + idx, p, r, core, timeout_s = _solve(pair) + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={core})", flush=True) + if "invalid_param" in r: + return _invalid_err(r) + if _is_regression(p, r): + print(f" [{stage_name}] regression — aborting remaining " + f"{len(problems) - idx - 1}", flush=True) + return _regression_err(p, r) + by_idx[idx] = (p, r) + else: + from concurrent.futures import ThreadPoolExecutor, as_completed + ordered = sorted(enumerate(problems), key=lambda ip: -ip[1]["baseline_ms"]) + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_solve, pair) for pair in ordered] + for fut in as_completed(futures): + if abort is not None: + continue + idx, p, r, core, timeout_s = fut.result() + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={core})", flush=True) + if "invalid_param" in r: + abort = ("invalid", p, r) + elif _is_regression(p, r): + abort = ("regression", p, r) + if abort is not None: + print(f" [{stage_name}] {abort[0]} — cancelling pending " + f"(in-flight workers will drain)", flush=True) + for f in futures: + f.cancel() + continue + by_idx[idx] = (p, r) + if abort is not None: + kind, p, r = abort + return _invalid_err(r) if kind == "invalid" else _regression_err(p, r) + + results = [] + for idx in range(len(problems)): + p, r = by_idx[idx] + rec = { + **p, + "result": r["result"], + "elapsed_ms": r["elapsed_ms"], + "timeout": bool(r.get("timeout")), + "stats": r.get("stats") or {}, + } + if "objective" in r: + rec["objective"] = r["objective"] + results.append(rec) + + metrics = score(results) + metrics["stage"] = stage_name + + for k in _KEY_STATS: + metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in results)) + + sample = [ + { + "sha": r["sha"][:10], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_ms": r["baseline_ms"], + "ms": r["elapsed_ms"], + "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), + "timeout": r["timeout"], + "base_obj": r.get("baseline_objective"), + "obj": r.get("objective"), + "stats": {k: r["stats"].get(k, 0) for k in _KEY_STATS if k in r["stats"]}, + "base_stats": {k: r["baseline_stats"].get(k, 0) + for k in _KEY_STATS if k in r.get("baseline_stats", {})}, + } + for r in results + ] + artifacts = { + "stage": stage_name, + "summary": ( + f"solved={metrics['solved']}/{metrics['total']} " + f"regressions={metrics['regressions']} " + f"geomean_speedup={metrics['geomean_speedup']:.3f} " + f"efficiency={metrics.get('efficiency', 1.0):.3f} " + f"score={metrics['combined_score']:.3f}" + ), + "per_problem": sample[:20], + } + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + +def evaluate_stage1(program_path): + return _evaluate(program_path, _filter_stage1(_load_problems()), "stage1") + + +def evaluate_stage2(program_path): + return _evaluate(program_path, _filter_stage2(_load_problems()), "stage2") + + +def evaluate_stage3(program_path): + # openevolve cascade hardcodes 3 stages, so user-stage4 (broad runtime + # sample) is chained inside stage3 via the runtime cascade_threshold gate. + problems3 = _filter_stage3(_load_problems()) + r3 = _evaluate(program_path, problems3, "stage3") + if not isinstance(r3, EvaluationResult): + return r3 + gate = cascade_threshold(2, default=1.03) + if r3.metrics.get("combined_score", 0.0) < gate: + return r3 + problems4 = _filter_stage4(_load_problems()) + r4 = _evaluate(program_path, problems4, "stage4") + if not isinstance(r4, EvaluationResult): + return r4 + merged_metrics = {**r3.metrics, **r4.metrics} + merged_artifacts = {**r3.artifacts, **r4.artifacts} + return EvaluationResult(metrics=merged_metrics, artifacts=merged_artifacts) + + +def evaluate_stage4(program_path): + # Standalone entry for manual / final-verify use. Not invoked by cascade. + problems = _filter_stage4(_load_problems()) + return _evaluate(program_path, problems, "stage4") + + +def evaluate(program_path): + # Evolution loop entry: stage1 only. Cascade chains 2/3/4. + return evaluate_stage1(program_path) diff --git a/input/cpsat-bench/evolve/shared/local_baseline.json b/input/cpsat-bench/evolve/shared/local_baseline.json new file mode 100644 index 0000000000..dde1b3bfc8 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/local_baseline.json @@ -0,0 +1,492 @@ +{ + "AOI21_D1_N_S6P25TL_C54L04_zero_20260520_163827_612893_R1": { + "elapsed_ms": 1072, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1047.19, + "stats": { + "num_branches": 10791, + "num_conflicts": 447, + "num_booleans": 1618, + "wall_time": 1.065574333, + "user_time": 1.065574375 + }, + "objective": 0.0 + }, + "NOR3_D1_N_S6P25TL_C54L04_zero_20260520_164034_061098_R1": { + "elapsed_ms": 1341, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1103.7, + "stats": { + "num_branches": 17970, + "num_conflicts": 1329, + "num_booleans": 2625, + "wall_time": 1.3358166260000002, + "user_time": 1.3358166260000002 + }, + "objective": 0.0 + }, + "INV_D3_N_S6P25TL_C54L04_zero_20260520_163923_625251_R1": { + "elapsed_ms": 1614, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1125.51, + "stats": { + "num_branches": 14791, + "num_conflicts": 989, + "num_booleans": 2184, + "wall_time": 1.6097532090000002, + "user_time": 1.60975325 + }, + "objective": 0.0 + }, + "TIEHI_D1_N_S6P25TL_C54L04_zero_20260520_164135_663628_R1": { + "elapsed_ms": 872, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1153.89, + "stats": { + "num_branches": 6482, + "num_conflicts": 288, + "num_booleans": 1354, + "wall_time": 0.8673360840000001, + "user_time": 0.867336125 + }, + "objective": 0.0 + }, + "OR2_D1_N_S6P25TL_C54L04_zero_20260520_164121_410255_R1": { + "elapsed_ms": 1111, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1342.79, + "stats": { + "num_branches": 12026, + "num_conflicts": 392, + "num_booleans": 1730, + "wall_time": 1.106266542, + "user_time": 1.106266542 + }, + "objective": 0.0 + }, + "MXT2_D1_N_S6P25TL_C54L04_zero_20260520_163952_206184_R1": { + "elapsed_ms": 7113, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4719.61, + "stats": { + "num_branches": 48084, + "num_conflicts": 1221, + "num_booleans": 5337, + "wall_time": 7.102189836000001, + "user_time": 7.102189836000001 + }, + "objective": 0.0 + }, + "XNOR2_D1_N_S6P25TL_C54L04_zero_20260520_164140_975904_R1": { + "elapsed_ms": 3662, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4765.93, + "stats": { + "num_branches": 23635, + "num_conflicts": 717, + "num_booleans": 3194, + "wall_time": 3.6539747940000002, + "user_time": 3.653974835 + }, + "objective": 0.0 + }, + "CGEN_D1_N_S6P25TL_C54L04_zero_20260520_163856_209804_R1": { + "elapsed_ms": 7127, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4897.89, + "stats": { + "num_branches": 45904, + "num_conflicts": 1666, + "num_booleans": 4986, + "wall_time": 7.116736878, + "user_time": 7.116736878 + }, + "objective": 0.0 + }, + "INV_D4_N_S6P25TL_C54L04_zero_20260520_163928_294129_R1": { + "elapsed_ms": 2947, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4972.85, + "stats": { + "num_branches": 17039, + "num_conflicts": 397, + "num_booleans": 2561, + "wall_time": 2.940979335, + "user_time": 2.940979377 + }, + "objective": 0.0 + }, + "NOR3_D2_N_S6P25TL_C54L04_zero_20260520_164034_242597_R1": { + "elapsed_ms": 9515, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 5069.53, + "stats": { + "num_branches": 56637, + "num_conflicts": 2842, + "num_booleans": 6375, + "wall_time": 9.500261907, + "user_time": 9.500261907 + }, + "objective": 0.0 + }, + "OR4_D1_N_S6P25TL_C54L04_zero_20260520_164124_043753_R1": { + "elapsed_ms": 6787, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 7393.14, + "stats": { + "num_branches": 83813, + "num_conflicts": 3870, + "num_booleans": 6211, + "wall_time": 6.778239711, + "user_time": 6.778239711 + }, + "objective": 0.0 + }, + "OA211_D1_N_S6P25TL_C54L04_zero_20260520_164042_659347_R1": { + "elapsed_ms": 8828, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 8222.12, + "stats": { + "num_branches": 87329, + "num_conflicts": 3230, + "num_booleans": 6275, + "wall_time": 8.817366837, + "user_time": 8.817366837 + }, + "objective": 0.0 + }, + "INV_D8_N_S6P25TL_C54L04_zero_20260520_163936_594574_R1": { + "elapsed_ms": 10468, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 8372.64, + "stats": { + "num_branches": 75020, + "num_conflicts": 2645, + "num_booleans": 6928, + "wall_time": 10.456212282000001, + "user_time": 10.456212324000001 + }, + "objective": 0.0 + }, + "NAND4_D2_N_S6P25TL_C54L04_zero_20260520_164014_854479_R1": { + "elapsed_ms": 26138, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 10023.2, + "stats": { + "num_branches": 128080, + "num_conflicts": 7475, + "num_booleans": 9069, + "wall_time": 26.123756304, + "user_time": 26.123756304 + }, + "objective": 0.0 + }, + "NOR2_D4_N_S6P25TL_C54L04_zero_20260520_164024_672787_R1": { + "elapsed_ms": 10718, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 10211.5, + "stats": { + "num_branches": 70360, + "num_conflicts": 1491, + "num_booleans": 6690, + "wall_time": 10.7058982, + "user_time": 10.705898283 + }, + "objective": 0.0 + }, + "INV_D1_N_S6P25TL_C54L04_zero_20260520_163919_179783_R1": { + "elapsed_ms": 103, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 103.31, + "stats": { + "num_branches": 5144, + "num_conflicts": 561, + "num_booleans": 742, + "wall_time": 0.10098591700000001, + "user_time": 0.10098591700000001 + }, + "objective": 0.0 + }, + "NAND2_D1_N_S6P25TL_C54L04_zero_20260520_163957_507242_R1": { + "elapsed_ms": 353, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 376.457, + "stats": { + "num_branches": 3767, + "num_conflicts": 132, + "num_booleans": 715, + "wall_time": 0.34886795800000003, + "user_time": 0.34886795800000003 + }, + "objective": 0.0 + }, + "BUF_D2_N_S6P25TL_C54L04_zero_20260520_163847_408601_R1": { + "elapsed_ms": 957, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 817.837, + "stats": { + "num_branches": 11847, + "num_conflicts": 255, + "num_booleans": 1767, + "wall_time": 0.9515240420000001, + "user_time": 0.9515240840000001 + }, + "objective": 0.0 + }, + "NOR2B_D1_N_S6P25TL_C54L04_zero_20260520_164029_253333_R1": { + "elapsed_ms": 1100, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1008.91, + "stats": { + "num_branches": 11160, + "num_conflicts": 414, + "num_booleans": 1750, + "wall_time": 1.0949750420000002, + "user_time": 1.0949750420000002 + }, + "objective": 0.0 + }, + "NAND3_D1_N_S6P25TL_C54L04_zero_20260520_164009_010093_R1": { + "elapsed_ms": 1972, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1458.91, + "stats": { + "num_branches": 13977, + "num_conflicts": 403, + "num_booleans": 1949, + "wall_time": 1.9672415840000002, + "user_time": 1.967241626 + }, + "objective": 0.0 + }, + "OAI31_D1_N_S6P25TL_C54L04_zero_20260520_164117_752872_R1": { + "elapsed_ms": 2855, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 1902.45, + "stats": { + "num_branches": 18240, + "num_conflicts": 655, + "num_booleans": 2652, + "wall_time": 2.8474265020000002, + "user_time": 2.8474265020000002 + }, + "objective": 0.0 + }, + "DLY2_D1_N_S6P25TL_C54L04_zero_20260520_163904_935831_R1": { + "elapsed_ms": 1841, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 2348.92, + "stats": { + "num_branches": 17028, + "num_conflicts": 365, + "num_booleans": 2544, + "wall_time": 1.8343292510000002, + "user_time": 1.834329292 + }, + "objective": 0.0 + }, + "AO1B2_D1_N_S6P25TL_C54L04_zero_20260520_163759_384345_R1": { + "elapsed_ms": 2583, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 2891.81, + "stats": { + "num_branches": 17341, + "num_conflicts": 657, + "num_booleans": 2638, + "wall_time": 2.575738002, + "user_time": 2.575738002 + }, + "objective": 0.0 + }, + "BUF_D4_N_S6P25TL_C54L04_zero_20260520_163852_376889_R1": { + "elapsed_ms": 4547, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 3073.82, + "stats": { + "num_branches": 42217, + "num_conflicts": 2150, + "num_booleans": 4626, + "wall_time": 4.538822086000001, + "user_time": 4.538822127 + }, + "objective": 0.0 + }, + "OAI22_D1_N_S6P25TL_C54L04_zero_20260520_164102_790747_R1": { + "elapsed_ms": 3630, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 3635.02, + "stats": { + "num_branches": 20382, + "num_conflicts": 1253, + "num_booleans": 2950, + "wall_time": 3.6222196540000002, + "user_time": 3.6222196540000002 + }, + "objective": 0.0 + }, + "MXIT2_D1_N_S6P25TL_C54L04_zero_20260520_163949_280871_R1": { + "elapsed_ms": 5091, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4203.63, + "stats": { + "num_branches": 37075, + "num_conflicts": 1365, + "num_booleans": 4648, + "wall_time": 5.082086835, + "user_time": 5.082086835 + }, + "objective": 0.0 + }, + "AND4_D1_N_S6P25TL_C54L04_zero_20260520_163751_228875_R1": { + "elapsed_ms": 6562, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4643.64, + "stats": { + "num_branches": 39496, + "num_conflicts": 1877, + "num_booleans": 4490, + "wall_time": 6.553675795, + "user_time": 6.553675795 + }, + "objective": 0.0 + }, + "DLY2_D2_N_S6P25TL_C54L04_zero_20260520_163908_758705_R1": { + "elapsed_ms": 5718, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 4657.45, + "stats": { + "num_branches": 35242, + "num_conflicts": 777, + "num_booleans": 4840, + "wall_time": 5.709117211000001, + "user_time": 5.709117252 + }, + "objective": 0.0 + }, + "CGENI_D1_N_S6P25TL_C54L04_zero_20260520_163859_865447_R1": { + "elapsed_ms": 5576, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 5277.72, + "stats": { + "num_branches": 44806, + "num_conflicts": 2553, + "num_booleans": 4674, + "wall_time": 5.567317711, + "user_time": 5.567317711 + }, + "objective": 0.0 + }, + "AOI211_D2_N_S6P25TL_C54L04_zero_20260520_163827_509473_R1": { + "elapsed_ms": 10539, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 5800.42, + "stats": { + "num_branches": 61461, + "num_conflicts": 2094, + "num_booleans": 6808, + "wall_time": 10.524750074, + "user_time": 10.524750115 + }, + "objective": 0.0 + }, + "INV_D6_N_S6P25TL_C54L04_zero_20260520_163928_964950_R1": { + "elapsed_ms": 9075, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 6436.83, + "stats": { + "num_branches": 51046, + "num_conflicts": 1921, + "num_booleans": 5520, + "wall_time": 9.065662087, + "user_time": 9.065662171000001 + }, + "objective": 0.0 + }, + "NAND2_D4_N_S6P25TL_C54L04_zero_20260520_164002_198066_R1": { + "elapsed_ms": 11099, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 6693.67, + "stats": { + "num_branches": 65343, + "num_conflicts": 1702, + "num_booleans": 6687, + "wall_time": 11.086316463000001, + "user_time": 11.086316505000001 + }, + "objective": 0.0 + }, + "AOI22_D2_N_S6P25TL_C54L04_zero_20260520_163837_002755_R1": { + "elapsed_ms": 21584, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 7052.16, + "stats": { + "num_branches": 81889, + "num_conflicts": 7183, + "num_booleans": 10383, + "wall_time": 21.569573246, + "user_time": 21.569573287 + }, + "objective": 0.0 + }, + "LATQ_D1_N_S6P25TL_C54L04_zero_20260520_163942_648177_R1": { + "elapsed_ms": 16461, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 10813.4, + "stats": { + "num_branches": 77638, + "num_conflicts": 2816, + "num_booleans": 7447, + "wall_time": 16.446321077, + "user_time": 16.446321119 + }, + "objective": 0.0 + }, + "BUF_D8_N_S6P25TL_C54L04_zero_20260520_163855_871191_R1": { + "elapsed_ms": 30739, + "result": "OPTIMAL", + "matches_raw": true, + "raw_elapsed_ms": 18820, + "stats": { + "num_branches": 109952, + "num_conflicts": 8326, + "num_booleans": 9787, + "wall_time": 30.722211251, + "user_time": 30.722211292 + }, + "objective": 0.0 + } +} diff --git a/input/cpsat-bench/evolve/shared/runtime.py b/input/cpsat-bench/evolve/shared/runtime.py new file mode 100644 index 0000000000..ba708c1055 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/runtime.py @@ -0,0 +1,25 @@ +""" +Thin wrapper around input/_lib/runtime.py. +Binds config.yaml path; re-exports parallel_solvers / cascade_threshold / core_range. +""" +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_CONFIG_YAML = _HERE.parent / "config.yaml" +_INPUT_DIR = _HERE.parents[2] # input/ + +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) + +from _lib import runtime as _rt # noqa: E402 + +core_range = _rt.core_range + + +def parallel_solvers(default=1): + return _rt.parallel_solvers(_CONFIG_YAML, default=default) + + +def cascade_threshold(index, default): + return _rt.cascade_threshold(_CONFIG_YAML, index, default) diff --git a/input/cpsat-bench/evolve/shared/score.py b/input/cpsat-bench/evolve/shared/score.py new file mode 100644 index 0000000000..97937ed327 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/score.py @@ -0,0 +1,136 @@ +""" +Scoring for cpsat-bench. + +Score mode: cost (minimize CP-SAT objective). + + combined = geomean(cost_ratio^COST_W * time_ratio) * solved_rate^2 * efficiency^STATS_WEIGHT + - both baseline+variant decisive (OPTIMAL or FEASIBLE) with objective values: + cost_ratio = (baseline_obj + EPS) / (variant_obj + EPS) [minimize] + time_ratio = baseline_ms / variant_ms + - status mismatch (e.g. variant UNKNOWN where baseline OPTIMAL): 1e-6 + - missing baseline_objective (rebaseline not yet run) falls back to time_ratio only + +Note: all 85 baseline runs in this dataset reach OPTIMAL, so when variant +ALSO reaches OPTIMAL, cost_ratio collapses to 1.0 and score reduces to +geomean(time_ratio). Cost mode mainly catches variants that bail to FEASIBLE +with a worse objective. + +Efficiency factor: cross-problem geomean of per-problem weighted geomean over +CP-SAT counters (num_conflicts, num_branches). Each ratio +(baseline+1)/(variant+1) clipped to [0.1, 10]. Lower variant work => efficiency > 1. + +Env overrides: + OPENEVOLVE_STATS_WEIGHT exponent on efficiency, default 0.333, 0 disables + OPENEVOLVE_COST_WEIGHT exponent on cost_ratio, default 1.0, 0 disables cost factor +""" +import math +import os + +_SCORE_MODE = "cost" + +_STATS_WEIGHTS = { + "num_conflicts": 2.0, + "num_branches": 1.5, +} +_RATIO_CLIP_LO = 0.1 +_RATIO_CLIP_HI = 10.0 + +_COST_RATIO_CLIP_LO = 0.01 +_COST_RATIO_CLIP_HI = 100.0 +_COST_EPS = 1e-9 + +_DECISIVE = ("OPTIMAL", "FEASIBLE") + + +def _efficiency(per_problem): + per_prob_effs = [] + for p in per_problem: + if p["result"] != p["baseline_result"]: + continue + bs = p.get("baseline_stats") or {} + vs = p.get("stats") or {} + log_sum = 0.0 + w_sum = 0.0 + for k, w in _STATS_WEIGHTS.items(): + b = bs.get(k) + v = vs.get(k) + if b is None or v is None: + continue + r = (float(b) + 1.0) / (float(v) + 1.0) + r = max(_RATIO_CLIP_LO, min(_RATIO_CLIP_HI, r)) + log_sum += w * math.log(r) + w_sum += w + if w_sum > 0: + per_prob_effs.append(math.exp(log_sum / w_sum)) + if not per_prob_effs: + return 1.0, 0 + log_sum = sum(math.log(e) for e in per_prob_effs) + return math.exp(log_sum / len(per_prob_effs)), len(per_prob_effs) + + +def _score_cost(per_problem): + cost_weight = float(os.environ.get("OPENEVOLVE_COST_WEIGHT", "1.0")) + cost_weight = max(0.0, min(cost_weight, 2.0)) + ratios = [] + solved = 0 + regressions = 0 + for p in per_problem: + b_ok = p["baseline_result"] in _DECISIVE + v_ok = p["result"] in _DECISIVE + b_cost = p.get("baseline_objective") + v_cost = p.get("objective") + time_r = p["baseline_ms"] / max(p["elapsed_ms"], 1) + if b_ok and v_ok: + solved += 1 + if b_cost is not None and v_cost is not None: + cost_r = (float(b_cost) + _COST_EPS) / (float(v_cost) + _COST_EPS) + cost_r = max(_COST_RATIO_CLIP_LO, min(_COST_RATIO_CLIP_HI, cost_r)) + ratios.append((cost_r ** cost_weight) * time_r) + else: + ratios.append(time_r) + else: + ratios.append(1e-6) + if b_ok and not v_ok: + regressions += 1 + geomean = math.exp(sum(math.log(r) for r in ratios) / len(ratios)) + solved_rate = solved / len(per_problem) + return geomean, solved_rate, solved, regressions + + +def score(per_problem): + n = len(per_problem) + if n == 0: + return { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, + "efficiency": 1.0, + "efficiency_pairs": 0, + "stats_weight": 0.0, + } + + geomean, solved_rate, solved, regressions = _score_cost(per_problem) + + efficiency, eff_pairs = _efficiency(per_problem) + try: + stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0.333")) + except ValueError: + stats_weight = 0.0 + stats_weight = max(0.0, min(stats_weight, 2.0)) + + combined = geomean * (solved_rate ** 2.0) * (efficiency ** stats_weight) + + return { + "combined_score": float(combined), + "geomean_speedup": float(geomean), + "solved_rate": float(solved_rate), + "regressions": int(regressions), + "solved": int(solved), + "total": int(n), + "efficiency": float(efficiency), + "efficiency_pairs": int(eff_pairs), + "stats_weight": float(stats_weight), + } diff --git a/input/cpsat-bench/evolve/shared/stage1_sample.json b/input/cpsat-bench/evolve/shared/stage1_sample.json new file mode 100644 index 0000000000..c9618a84ad --- /dev/null +++ b/input/cpsat-bench/evolve/shared/stage1_sample.json @@ -0,0 +1,38 @@ +{ + "selection": "5 decisive Q1+2 (fastest 40%)", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf", + "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654", + "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", + "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", + "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15" + ], + "summary": [ + { + "sha": "0a450b93bbd0", + "baseline_result": "OPTIMAL", + "baseline_ms": 791.232 + }, + { + "sha": "99c5ac6d121d", + "baseline_result": "OPTIMAL", + "baseline_ms": 798.026 + }, + { + "sha": "bb9eb5259a99", + "baseline_result": "OPTIMAL", + "baseline_ms": 1017.39 + }, + { + "sha": "71b18e5d4bd0", + "baseline_result": "OPTIMAL", + "baseline_ms": 1074.74 + }, + { + "sha": "e848603289cc", + "baseline_result": "OPTIMAL", + "baseline_ms": 1251.32 + } + ] +} diff --git a/input/cpsat-bench/evolve/shared/stage2_sample.json b/input/cpsat-bench/evolve/shared/stage2_sample.json new file mode 100644 index 0000000000..3395ba5f88 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/stage2_sample.json @@ -0,0 +1,38 @@ +{ + "selection": "5 decisive Q3+4 (middle 40%)", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0", + "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e", + "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", + "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", + "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8" + ], + "summary": [ + { + "sha": "66754667bf56", + "baseline_result": "OPTIMAL", + "baseline_ms": 3208.92 + }, + { + "sha": "47888d1b56a4", + "baseline_result": "OPTIMAL", + "baseline_ms": 3264.07 + }, + { + "sha": "ed8349c414d6", + "baseline_result": "OPTIMAL", + "baseline_ms": 3318.12 + }, + { + "sha": "9f330e3d7528", + "baseline_result": "OPTIMAL", + "baseline_ms": 3351.44 + }, + { + "sha": "a27f90201b57", + "baseline_result": "OPTIMAL", + "baseline_ms": 3366.15 + } + ] +} diff --git a/input/cpsat-bench/evolve/shared/stage3_sample.json b/input/cpsat-bench/evolve/shared/stage3_sample.json new file mode 100644 index 0000000000..823925ec58 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/stage3_sample.json @@ -0,0 +1,38 @@ +{ + "selection": "5 decisive Q5 (slowest 20%)", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", + "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", + "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c", + "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", + "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54" + ], + "summary": [ + { + "sha": "6ecbb5bc3a03", + "baseline_result": "OPTIMAL", + "baseline_ms": 5580.53 + }, + { + "sha": "90e16615aa98", + "baseline_result": "OPTIMAL", + "baseline_ms": 5772.7 + }, + { + "sha": "b18203536680", + "baseline_result": "OPTIMAL", + "baseline_ms": 6300.32 + }, + { + "sha": "0072ac871059", + "baseline_result": "OPTIMAL", + "baseline_ms": 6896.45 + }, + { + "sha": "1f71e23e551c", + "baseline_result": "OPTIMAL", + "baseline_ms": 7400.86 + } + ] +} diff --git a/input/cpsat-bench/evolve/shared/stage4_sample.json b/input/cpsat-bench/evolve/shared/stage4_sample.json new file mode 100644 index 0000000000..f2e60a9da1 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/stage4_sample.json @@ -0,0 +1,128 @@ +{ + "selection": "20 broad runtime spread, dedup vs stage1-3", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", + "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57", + "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", + "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2", + "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17", + "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1", + "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e", + "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469", + "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf", + "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0", + "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", + "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", + "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", + "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", + "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", + "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", + "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", + "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", + "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", + "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8" + ], + "summary": [ + { + "sha": "5976726485c2", + "baseline_result": "OPTIMAL", + "baseline_ms": 105.102 + }, + { + "sha": "bcaed7c25140", + "baseline_result": "OPTIMAL", + "baseline_ms": 502.374 + }, + { + "sha": "3e2b36379a29", + "baseline_result": "OPTIMAL", + "baseline_ms": 626.761 + }, + { + "sha": "f9e4e9cdb244", + "baseline_result": "OPTIMAL", + "baseline_ms": 668.915 + }, + { + "sha": "2d527c244103", + "baseline_result": "OPTIMAL", + "baseline_ms": 695.523 + }, + { + "sha": "395b9abdb720", + "baseline_result": "OPTIMAL", + "baseline_ms": 1394.5 + }, + { + "sha": "8f41589af605", + "baseline_result": "OPTIMAL", + "baseline_ms": 1599.16 + }, + { + "sha": "8073c7c85295", + "baseline_result": "OPTIMAL", + "baseline_ms": 1649.08 + }, + { + "sha": "d7df934f3b3b", + "baseline_result": "OPTIMAL", + "baseline_ms": 1764.03 + }, + { + "sha": "3b522f278d59", + "baseline_result": "OPTIMAL", + "baseline_ms": 2334.59 + }, + { + "sha": "cf629228e69a", + "baseline_result": "OPTIMAL", + "baseline_ms": 2972.04 + }, + { + "sha": "674b484eb726", + "baseline_result": "OPTIMAL", + "baseline_ms": 3104.21 + }, + { + "sha": "4e4bc1ad622d", + "baseline_result": "OPTIMAL", + "baseline_ms": 3107.88 + }, + { + "sha": "321b859ee1b2", + "baseline_result": "OPTIMAL", + "baseline_ms": 3472.19 + }, + { + "sha": "c6a6b2aab48a", + "baseline_result": "OPTIMAL", + "baseline_ms": 3883.39 + }, + { + "sha": "12e68b0b5089", + "baseline_result": "OPTIMAL", + "baseline_ms": 4031.48 + }, + { + "sha": "62c6e2f56638", + "baseline_result": "OPTIMAL", + "baseline_ms": 4069.74 + }, + { + "sha": "14ea5ccece18", + "baseline_result": "OPTIMAL", + "baseline_ms": 4358.96 + }, + { + "sha": "bef168aea12e", + "baseline_result": "OPTIMAL", + "baseline_ms": 7530.89 + }, + { + "sha": "a49d307cfcf3", + "baseline_result": "OPTIMAL", + "baseline_ms": 10574.9 + } + ] +} diff --git a/input/cpsat-bench/problems.jsonl b/input/cpsat-bench/problems.jsonl new file mode 100644 index 0000000000..eed6fdf39e --- /dev/null +++ b/input/cpsat-bench/problems.jsonl @@ -0,0 +1,86 @@ +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6896.45}, "cpsat_response_stats": {"num_booleans": 7248, "num_conflicts": 3843, "num_branches": 79884, "num_binary_propagations": 4096494, "num_integer_propagations": 1709363, "num_restarts": 36, "wall_time": 6.89489, "user_time": 6.89489, "deterministic_time": 15.5139}, "solution_info": "default_lp", "problem_sha256": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28940}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1619.97}, "cpsat_response_stats": {"num_booleans": 8350, "num_conflicts": 6524, "num_branches": 31795, "num_binary_propagations": 2645824, "num_integer_propagations": 763975, "num_restarts": 15, "wall_time": 1.61877, "user_time": 1.61877, "deterministic_time": 3.34384}, "solution_info": "quick_restart", "problem_sha256": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190773}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 686113}, "cpsat_response_stats": {"num_booleans": 27870, "num_conflicts": 210392, "num_branches": 952603, "num_binary_propagations": 271814160, "num_integer_propagations": 67147700, "num_restarts": 801, "wall_time": 686.1, "user_time": 686.1, "deterministic_time": 1489.62}, "solution_info": "no_lp", "problem_sha256": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2863.91}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 2.86213, "user_time": 2.86213, "deterministic_time": 5.14864}, "solution_info": "fs_random", "problem_sha256": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 791.232}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.790182, "user_time": 0.790182, "deterministic_time": 1.17229}, "solution_info": "default_lp", "problem_sha256": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44084}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3376.2}, "cpsat_response_stats": {"num_booleans": 5401, "num_conflicts": 1006, "num_branches": 39304, "num_binary_propagations": 2518627, "num_integer_propagations": 1057719, "num_restarts": 6, "wall_time": 3.37445, "user_time": 3.37445, "deterministic_time": 6.19883}, "solution_info": "fs_random_no_lp", "problem_sha256": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4031.48}, "cpsat_response_stats": {"num_booleans": 6866, "num_conflicts": 1735, "num_branches": 58712, "num_binary_propagations": 3011929, "num_integer_propagations": 1300720, "num_restarts": 18, "wall_time": 4.02854, "user_time": 4.02854, "deterministic_time": 8.22221}, "solution_info": "default_lp", "problem_sha256": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4358.96}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.35558, "user_time": 4.35558, "deterministic_time": 8.16986}, "solution_info": "default_lp", "problem_sha256": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 639.354}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.638422, "user_time": 0.638422, "deterministic_time": 0.780845}, "solution_info": "quick_restart", "problem_sha256": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13884}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 579.064}, "cpsat_response_stats": {"num_booleans": 963, "num_conflicts": 305, "num_branches": 4852, "num_binary_propagations": 160496, "num_integer_propagations": 89574, "num_restarts": 3, "wall_time": 0.578214, "user_time": 0.578215, "deterministic_time": 0.491991}, "solution_info": "fs_random_no_lp", "problem_sha256": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 623.536}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.622872, "user_time": 0.622872, "deterministic_time": 0.856701}, "solution_info": "quick_restart", "problem_sha256": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12651.7}, "cpsat_response_stats": {"num_booleans": 12809, "num_conflicts": 9916, "num_branches": 105448, "num_binary_propagations": 11407742, "num_integer_propagations": 3523778, "num_restarts": 84, "wall_time": 12.649, "user_time": 12.649, "deterministic_time": 40.5777}, "solution_info": "no_lp", "problem_sha256": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63693}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7400.86}, "cpsat_response_stats": {"num_booleans": 9777, "num_conflicts": 4016, "num_branches": 100243, "num_binary_propagations": 5080514, "num_integer_propagations": 2059675, "num_restarts": 42, "wall_time": 7.39644, "user_time": 7.39644, "deterministic_time": 16.5819}, "solution_info": "default_lp", "problem_sha256": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1373.64}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.37189, "user_time": 1.3719, "deterministic_time": 1.17965}, "solution_info": "quick_restart_no_lp", "problem_sha256": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1961.23}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.95933, "user_time": 1.95933, "deterministic_time": 2.96945}, "solution_info": "quick_restart", "problem_sha256": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4467.43}, "cpsat_response_stats": {"num_booleans": 7413, "num_conflicts": 2835, "num_branches": 59220, "num_binary_propagations": 4276450, "num_integer_propagations": 1634222, "num_restarts": 24, "wall_time": 4.46411, "user_time": 4.46411, "deterministic_time": 8.37719}, "solution_info": "no_lp", "problem_sha256": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 695.523}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.694453, "user_time": 0.694453, "deterministic_time": 1.0021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40984}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.19}, "cpsat_response_stats": {"num_booleans": 7093, "num_conflicts": 3904, "num_branches": 96041, "num_binary_propagations": 2928204, "num_integer_propagations": 1313715, "num_restarts": 21, "wall_time": 3.47075, "user_time": 3.47075, "deterministic_time": 7.69355}, "solution_info": "no_lp", "problem_sha256": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.82}, "cpsat_response_stats": {"num_booleans": 7705, "num_conflicts": 2828, "num_branches": 58028, "num_binary_propagations": 4226539, "num_integer_propagations": 1608385, "num_restarts": 25, "wall_time": 3.95941, "user_time": 3.95941, "deterministic_time": 8.34405}, "solution_info": "default_lp", "problem_sha256": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1394.5}, "cpsat_response_stats": {"num_booleans": 2857, "num_conflicts": 788, "num_branches": 15786, "num_binary_propagations": 1064689, "num_integer_propagations": 514092, "num_restarts": 3, "wall_time": 1.39259, "user_time": 1.39259, "deterministic_time": 2.14286}, "solution_info": "fs_random", "problem_sha256": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2334.59}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 2.33214, "user_time": 2.33214, "deterministic_time": 4.11721}, "solution_info": "fs_random", "problem_sha256": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 626.761}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.625687, "user_time": 0.625687, "deterministic_time": 0.978811}, "solution_info": "fs_random_no_lp", "problem_sha256": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2204.94}, "cpsat_response_stats": {"num_booleans": 6449, "num_conflicts": 4661, "num_branches": 23327, "num_binary_propagations": 1646864, "num_integer_propagations": 452047, "num_restarts": 6, "wall_time": 2.20345, "user_time": 2.20345, "deterministic_time": 3.42086}, "solution_info": "no_lp", "problem_sha256": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2662.56}, "cpsat_response_stats": {"num_booleans": 2399, "num_conflicts": 362, "num_branches": 13873, "num_binary_propagations": 692748, "num_integer_propagations": 337883, "num_restarts": 3, "wall_time": 2.66105, "user_time": 2.66105, "deterministic_time": 2.77881}, "solution_info": "default_lp", "problem_sha256": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44637}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.07}, "cpsat_response_stats": {"num_booleans": 5408, "num_conflicts": 1980, "num_branches": 44483, "num_binary_propagations": 3150386, "num_integer_propagations": 1307464, "num_restarts": 18, "wall_time": 3.26093, "user_time": 3.26093, "deterministic_time": 6.892}, "solution_info": "fs_random_no_lp", "problem_sha256": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380120.0}, "cpsat_response_stats": {"num_booleans": 36217, "num_conflicts": 498838, "num_branches": 1688437, "num_binary_propagations": 773107760, "num_integer_propagations": 152021540, "num_restarts": 1585, "wall_time": 1380.11, "user_time": 1380.11, "deterministic_time": 4132.21}, "solution_info": "no_lp", "problem_sha256": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3021.82}, "cpsat_response_stats": {"num_booleans": 5387, "num_conflicts": 2499, "num_branches": 49481, "num_binary_propagations": 2735742, "num_integer_propagations": 1191031, "num_restarts": 18, "wall_time": 3.01883, "user_time": 3.01883, "deterministic_time": 6.34042}, "solution_info": "default_lp", "problem_sha256": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3107.88}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.10583, "user_time": 3.10583, "deterministic_time": 5.32494}, "solution_info": "quick_restart", "problem_sha256": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14481}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 305.266}, "cpsat_response_stats": {"num_booleans": 735, "num_conflicts": 111, "num_branches": 3720, "num_binary_propagations": 160418, "num_integer_propagations": 101919, "num_restarts": 1, "wall_time": 0.304553, "user_time": 0.304553, "deterministic_time": 0.3288}, "solution_info": "quick_restart_no_lp", "problem_sha256": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9137.48}, "cpsat_response_stats": {"num_booleans": 11965, "num_conflicts": 5533, "num_branches": 109722, "num_binary_propagations": 8413908, "num_integer_propagations": 2896401, "num_restarts": 51, "wall_time": 9.13361, "user_time": 9.13361, "deterministic_time": 24.3041}, "solution_info": "default_lp", "problem_sha256": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4129.05}, "cpsat_response_stats": {"num_booleans": 6510, "num_conflicts": 1937, "num_branches": 57423, "num_binary_propagations": 3988739, "num_integer_propagations": 1733389, "num_restarts": 15, "wall_time": 4.1255, "user_time": 4.1255, "deterministic_time": 8.30293}, "solution_info": "default_lp", "problem_sha256": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4354.72}, "cpsat_response_stats": {"num_booleans": 6457, "num_conflicts": 4442, "num_branches": 51709, "num_binary_propagations": 4135504, "num_integer_propagations": 1615413, "num_restarts": 36, "wall_time": 4.3525, "user_time": 4.3525, "deterministic_time": 7.15852}, "solution_info": "fs_random_no_lp", "problem_sha256": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 105.102}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.104788, "user_time": 0.104788, "deterministic_time": 0.0895648}, "solution_info": "no_lp", "problem_sha256": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10133.3}, "cpsat_response_stats": {"num_booleans": 9430, "num_conflicts": 4204, "num_branches": 96355, "num_binary_propagations": 4602227, "num_integer_propagations": 1948703, "num_restarts": 48, "wall_time": 10.13, "user_time": 10.13, "deterministic_time": 23.0398}, "solution_info": "default_lp", "problem_sha256": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4069.74}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.06692, "user_time": 4.06692, "deterministic_time": 7.95576}, "solution_info": "quick_restart_no_lp", "problem_sha256": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3208.92}, "cpsat_response_stats": {"num_booleans": 4386, "num_conflicts": 839, "num_branches": 29713, "num_binary_propagations": 1732122, "num_integer_propagations": 738116, "num_restarts": 6, "wall_time": 3.20745, "user_time": 3.20745, "deterministic_time": 4.43972}, "solution_info": "quick_restart_no_lp", "problem_sha256": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3104.21}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.1019, "user_time": 3.1019, "deterministic_time": 6.06734}, "solution_info": "no_lp", "problem_sha256": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14485}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 324.559}, "cpsat_response_stats": {"num_booleans": 926, "num_conflicts": 373, "num_branches": 4195, "num_binary_propagations": 242989, "num_integer_propagations": 131278, "num_restarts": 3, "wall_time": 0.32408, "user_time": 0.32408, "deterministic_time": 0.359571}, "solution_info": "fs_random", "problem_sha256": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1411.02}, "cpsat_response_stats": {"num_booleans": 2466, "num_conflicts": 619, "num_branches": 15735, "num_binary_propagations": 1018146, "num_integer_propagations": 475354, "num_restarts": 3, "wall_time": 1.40969, "user_time": 1.40969, "deterministic_time": 2.30004}, "solution_info": "quick_restart", "problem_sha256": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58433}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5580.53}, "cpsat_response_stats": {"num_booleans": 7290, "num_conflicts": 3493, "num_branches": 67375, "num_binary_propagations": 4697867, "num_integer_propagations": 1882543, "num_restarts": 36, "wall_time": 5.57758, "user_time": 5.57758, "deterministic_time": 15.4415}, "solution_info": "default_lp", "problem_sha256": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26295}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1074.74}, "cpsat_response_stats": {"num_booleans": 2583, "num_conflicts": 341, "num_branches": 14652, "num_binary_propagations": 660181, "num_integer_propagations": 302109, "num_restarts": 1, "wall_time": 1.07394, "user_time": 1.07394, "deterministic_time": 1.45079}, "solution_info": "quick_restart_no_lp", "problem_sha256": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3072.18}, "cpsat_response_stats": {"num_booleans": 2588, "num_conflicts": 299, "num_branches": 14001, "num_binary_propagations": 574297, "num_integer_propagations": 257383, "num_restarts": 1, "wall_time": 3.07056, "user_time": 3.07056, "deterministic_time": 5.90394}, "solution_info": "default_lp", "problem_sha256": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40569}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3598.47}, "cpsat_response_stats": {"num_booleans": 4997, "num_conflicts": 1142, "num_branches": 39320, "num_binary_propagations": 2036636, "num_integer_propagations": 913071, "num_restarts": 12, "wall_time": 3.59562, "user_time": 3.59562, "deterministic_time": 7.16565}, "solution_info": "default_lp", "problem_sha256": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7474.2}, "cpsat_response_stats": {"num_booleans": 8033, "num_conflicts": 9257, "num_branches": 85199, "num_binary_propagations": 8183195, "num_integer_propagations": 2521393, "num_restarts": 51, "wall_time": 7.46993, "user_time": 7.46993, "deterministic_time": 24.3461}, "solution_info": "default_lp", "problem_sha256": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1482010.0}, "cpsat_response_stats": {"num_booleans": 34600, "num_conflicts": 548234, "num_branches": 2019729, "num_binary_propagations": 788206057, "num_integer_propagations": 178268283, "num_restarts": 2288, "wall_time": 1481.99, "user_time": 1481.99, "deterministic_time": 3843.75}, "solution_info": "no_lp", "problem_sha256": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28926}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1649.08}, "cpsat_response_stats": {"num_booleans": 2898, "num_conflicts": 709, "num_branches": 19482, "num_binary_propagations": 1103156, "num_integer_propagations": 526968, "num_restarts": 6, "wall_time": 1.64755, "user_time": 1.64755, "deterministic_time": 2.86391}, "solution_info": "quick_restart", "problem_sha256": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1855.33}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.85347, "user_time": 1.85347, "deterministic_time": 3.10161}, "solution_info": "fs_random", "problem_sha256": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24569.5}, "cpsat_response_stats": {"num_booleans": 16136, "num_conflicts": 5451, "num_branches": 107151, "num_binary_propagations": 8128189, "num_integer_propagations": 3495511, "num_restarts": 60, "wall_time": 24.5589, "user_time": 24.5589, "deterministic_time": 32.4269}, "solution_info": "no_lp", "problem_sha256": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.28}, "cpsat_response_stats": {"num_booleans": 7036, "num_conflicts": 1354, "num_branches": 54858, "num_binary_propagations": 3740107, "num_integer_propagations": 1548593, "num_restarts": 9, "wall_time": 3.90812, "user_time": 3.90812, "deterministic_time": 8.30722}, "solution_info": "default_lp", "problem_sha256": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1599.16}, "cpsat_response_stats": {"num_booleans": 2920, "num_conflicts": 1148, "num_branches": 16541, "num_binary_propagations": 1396951, "num_integer_propagations": 623580, "num_restarts": 6, "wall_time": 1.59803, "user_time": 1.59803, "deterministic_time": 2.64948}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3057.05}, "cpsat_response_stats": {"num_booleans": 5699, "num_conflicts": 2050, "num_branches": 42750, "num_binary_propagations": 2908907, "num_integer_propagations": 1220861, "num_restarts": 15, "wall_time": 3.05479, "user_time": 3.05479, "deterministic_time": 6.67817}, "solution_info": "no_lp", "problem_sha256": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55906}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5772.7}, "cpsat_response_stats": {"num_booleans": 9063, "num_conflicts": 5705, "num_branches": 120717, "num_binary_propagations": 5958705, "num_integer_propagations": 2454017, "num_restarts": 20, "wall_time": 5.76998, "user_time": 5.76998, "deterministic_time": 14.8884}, "solution_info": "default_lp", "problem_sha256": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28589}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1537.86}, "cpsat_response_stats": {"num_booleans": 2822, "num_conflicts": 876, "num_branches": 16280, "num_binary_propagations": 1065365, "num_integer_propagations": 496556, "num_restarts": 6, "wall_time": 1.53626, "user_time": 1.53626, "deterministic_time": 2.10021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3578.34}, "cpsat_response_stats": {"num_booleans": 7045, "num_conflicts": 1997, "num_branches": 53648, "num_binary_propagations": 3688139, "num_integer_propagations": 1484517, "num_restarts": 15, "wall_time": 3.57481, "user_time": 3.57481, "deterministic_time": 7.28891}, "solution_info": "fs_random", "problem_sha256": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 798.026}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.797012, "user_time": 0.797012, "deterministic_time": 1.18037}, "solution_info": "default_lp", "problem_sha256": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4022.2}, "cpsat_response_stats": {"num_booleans": 6836, "num_conflicts": 1777, "num_branches": 58426, "num_binary_propagations": 3669621, "num_integer_propagations": 1600687, "num_restarts": 12, "wall_time": 4.01901, "user_time": 4.01901, "deterministic_time": 8.31302}, "solution_info": "default_lp", "problem_sha256": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45225}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4094.81}, "cpsat_response_stats": {"num_booleans": 6659, "num_conflicts": 3832, "num_branches": 89975, "num_binary_propagations": 3557350, "num_integer_propagations": 1497311, "num_restarts": 20, "wall_time": 4.09307, "user_time": 4.09307, "deterministic_time": 7.82779}, "solution_info": "default_lp", "problem_sha256": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45102}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3351.44}, "cpsat_response_stats": {"num_booleans": 5237, "num_conflicts": 1767, "num_branches": 38543, "num_binary_propagations": 2848460, "num_integer_propagations": 1099648, "num_restarts": 15, "wall_time": 3.34942, "user_time": 3.34942, "deterministic_time": 6.44192}, "solution_info": "fs_random_no_lp", "problem_sha256": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37480}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3366.15}, "cpsat_response_stats": {"num_booleans": 4923, "num_conflicts": 1494, "num_branches": 43537, "num_binary_propagations": 1671019, "num_integer_propagations": 736622, "num_restarts": 15, "wall_time": 3.36304, "user_time": 3.36304, "deterministic_time": 7.2959}, "solution_info": "default_lp", "problem_sha256": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14094}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 316.487}, "cpsat_response_stats": {"num_booleans": 729, "num_conflicts": 166, "num_branches": 4721, "num_binary_propagations": 180169, "num_integer_propagations": 107470, "num_restarts": 1, "wall_time": 0.31602, "user_time": 0.31602, "deterministic_time": 0.38152}, "solution_info": "no_lp", "problem_sha256": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10574.9}, "cpsat_response_stats": {"num_booleans": 11806, "num_conflicts": 10534, "num_branches": 98410, "num_binary_propagations": 12226499, "num_integer_propagations": 3370514, "num_restarts": 89, "wall_time": 10.5706, "user_time": 10.5706, "deterministic_time": 32.0729}, "solution_info": "no_lp", "problem_sha256": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30068}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.8}, "cpsat_response_stats": {"num_booleans": 2716, "num_conflicts": 695, "num_branches": 16497, "num_binary_propagations": 1028303, "num_integer_propagations": 482835, "num_restarts": 3, "wall_time": 1.499, "user_time": 1.499, "deterministic_time": 2.08018}, "solution_info": "quick_restart", "problem_sha256": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 42433.4}, "cpsat_response_stats": {"num_booleans": 19564, "num_conflicts": 35646, "num_branches": 377527, "num_binary_propagations": 37641950, "num_integer_propagations": 11577509, "num_restarts": 177, "wall_time": 42.4278, "user_time": 42.4278, "deterministic_time": 153.145}, "solution_info": "default_lp", "problem_sha256": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30276}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1317.35}, "cpsat_response_stats": {"num_booleans": 2458, "num_conflicts": 759, "num_branches": 14872, "num_binary_propagations": 1199762, "num_integer_propagations": 545210, "num_restarts": 6, "wall_time": 1.31604, "user_time": 1.31604, "deterministic_time": 2.31358}, "solution_info": "quick_restart_no_lp", "problem_sha256": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58078}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6300.32}, "cpsat_response_stats": {"num_booleans": 7014, "num_conflicts": 3809, "num_branches": 110454, "num_binary_propagations": 4798262, "num_integer_propagations": 1954964, "num_restarts": 24, "wall_time": 6.29768, "user_time": 6.29768, "deterministic_time": 15.1082}, "solution_info": "no_lp", "problem_sha256": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59852}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9668}, "cpsat_response_stats": {"num_booleans": 7723, "num_conflicts": 5829, "num_branches": 81909, "num_binary_propagations": 7449164, "num_integer_propagations": 2502230, "num_restarts": 42, "wall_time": 9.66487, "user_time": 9.66487, "deterministic_time": 15.8384}, "solution_info": "no_lp", "problem_sha256": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45226}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3431.8}, "cpsat_response_stats": {"num_booleans": 6506, "num_conflicts": 4101, "num_branches": 48128, "num_binary_propagations": 4289863, "num_integer_propagations": 1697744, "num_restarts": 34, "wall_time": 3.42854, "user_time": 3.42854, "deterministic_time": 7.43628}, "solution_info": "no_lp", "problem_sha256": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1017.39}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 1.01615, "user_time": 1.01615, "deterministic_time": 1.26922}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 502.374}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.50176, "user_time": 0.50176, "deterministic_time": 0.611565}, "solution_info": "no_lp", "problem_sha256": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7530.89}, "cpsat_response_stats": {"num_booleans": 8076, "num_conflicts": 8859, "num_branches": 83041, "num_binary_propagations": 8202624, "num_integer_propagations": 2570750, "num_restarts": 72, "wall_time": 7.52507, "user_time": 7.52507, "deterministic_time": 23.9536}, "solution_info": "default_lp", "problem_sha256": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3883.39}, "cpsat_response_stats": {"num_booleans": 6935, "num_conflicts": 2010, "num_branches": 62433, "num_binary_propagations": 4382597, "num_integer_propagations": 1811844, "num_restarts": 11, "wall_time": 3.88067, "user_time": 3.88067, "deterministic_time": 8.22645}, "solution_info": "default_lp", "problem_sha256": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 642.02}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.641393, "user_time": 0.641393, "deterministic_time": 0.840026}, "solution_info": "quick_restart", "problem_sha256": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1549180.0}, "cpsat_response_stats": {"num_booleans": 39882, "num_conflicts": 443078, "num_branches": 1855860, "num_binary_propagations": 634174655, "num_integer_propagations": 156622140, "num_restarts": 2195, "wall_time": 1549.16, "user_time": 1549.16, "deterministic_time": 4027.99}, "solution_info": "no_lp", "problem_sha256": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2972.04}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 2.97016, "user_time": 2.97016, "deterministic_time": 4.09745}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 636.406}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.635351, "user_time": 0.635351, "deterministic_time": 0.898867}, "solution_info": "fs_random_no_lp", "problem_sha256": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27031}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1605.55}, "cpsat_response_stats": {"num_booleans": 2865, "num_conflicts": 335, "num_branches": 15513, "num_binary_propagations": 749975, "num_integer_propagations": 323890, "num_restarts": 1, "wall_time": 1.60437, "user_time": 1.60437, "deterministic_time": 2.20673}, "solution_info": "default_lp", "problem_sha256": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56174}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3731.05}, "cpsat_response_stats": {"num_booleans": 7219, "num_conflicts": 1819, "num_branches": 62821, "num_binary_propagations": 3659457, "num_integer_propagations": 1596306, "num_restarts": 18, "wall_time": 3.72777, "user_time": 3.72777, "deterministic_time": 8.34385}, "solution_info": "default_lp", "problem_sha256": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1764.03}, "cpsat_response_stats": {"num_booleans": 5046, "num_conflicts": 4158, "num_branches": 57953, "num_binary_propagations": 2732212, "num_integer_propagations": 1222426, "num_restarts": 21, "wall_time": 1.76245, "user_time": 1.76245, "deterministic_time": 2.6842}, "solution_info": "default_lp", "problem_sha256": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49278}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4490.47}, "cpsat_response_stats": {"num_booleans": 6764, "num_conflicts": 1914, "num_branches": 57190, "num_binary_propagations": 2673983, "num_integer_propagations": 1138916, "num_restarts": 21, "wall_time": 4.48732, "user_time": 4.48732, "deterministic_time": 8.23222}, "solution_info": "default_lp", "problem_sha256": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38566}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3140.42}, "cpsat_response_stats": {"num_booleans": 8026, "num_conflicts": 5606, "num_branches": 75969, "num_binary_propagations": 3038054, "num_integer_propagations": 1261262, "num_restarts": 25, "wall_time": 3.13839, "user_time": 3.13839, "deterministic_time": 5.024}, "solution_info": "fs_random_no_lp", "problem_sha256": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30280}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1251.32}, "cpsat_response_stats": {"num_booleans": 2445, "num_conflicts": 733, "num_branches": 15802, "num_binary_propagations": 1169334, "num_integer_propagations": 540081, "num_restarts": 3, "wall_time": 1.25004, "user_time": 1.25004, "deterministic_time": 2.15822}, "solution_info": "fs_random_no_lp", "problem_sha256": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1608.48}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.6071, "user_time": 1.6071, "deterministic_time": 2.78436}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3318.12}, "cpsat_response_stats": {"num_booleans": 6711, "num_conflicts": 4463, "num_branches": 93544, "num_binary_propagations": 3540206, "num_integer_propagations": 1562033, "num_restarts": 23, "wall_time": 3.31652, "user_time": 3.31652, "deterministic_time": 7.18218}, "solution_info": "no_lp", "problem_sha256": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14595.1}, "cpsat_response_stats": {"num_booleans": 12990, "num_conflicts": 13022, "num_branches": 121753, "num_binary_propagations": 13939962, "num_integer_propagations": 4100782, "num_restarts": 111, "wall_time": 14.5923, "user_time": 14.5923, "deterministic_time": 48.0783}, "solution_info": "no_lp", "problem_sha256": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 668.915}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.667998, "user_time": 0.667998, "deterministic_time": 0.713344}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1364.16}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.36307, "user_time": 1.36307, "deterministic_time": 1.66269}, "solution_info": "no_lp", "problem_sha256": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac.cpsat.pb"} diff --git a/input/run_phase.sh b/input/run_phase.sh new file mode 100755 index 0000000000..83f09abd6b --- /dev/null +++ b/input/run_phase.sh @@ -0,0 +1,258 @@ +#!/bin/bash +# Single entry for all bench phase runs. Reads `bench:` section of +# /evolve/config.yaml (via _lib/load_bench_config.py), then drives the +# standard flow: +# parse flags → rebaseline → solver check → openevolve-run → extract_best. +# +# Usage: +# ./input/run_phase.sh [] [--pin N-M] [--extract-only] +# [--iterations ] [extra flags] +# +# omitted → run ALL phases sequentially (1..N). +# numeric → run that single phase. +# +# Examples: +# ./input/run_phase.sh cpsat-bench # run all phases (1..4) +# ./input/run_phase.sh cpsat-bench --pin 2-7 # all phases, pinned +# ./input/run_phase.sh cpsat-bench 1 --pin 2-7 +# ./input/run_phase.sh z3-bench 4 +# ./input/run_phase.sh cpsat-bench 2 --extract-only +# +# Bench config (in /evolve/config.yaml under `bench:` key — see +# _lib/load_bench_config.py for schema). Loader exports these into env: +# PHASE_DIRS space-separated phase dir names, in order +# (last entry = "unified"/final phase, no extract step) +# PHASE_ITERS space-separated iter counts per phase (omitted => +# use config.yaml max_iterations only) +# UNIFIED_PREPARE_SCRIPT (optional) script name run before the last phase +# SOLVER_CHECK_CMD (optional) shell command returning 0 if solver works +# SOLVER_INSTALL_HINT (optional) message on solver check fail +# REBASELINE_SCRIPT (optional, default rebaseline_local.py) +# EXTRACT_BEST_SCRIPT (optional, default extract_best.py) +# BUILD_SAMPLES_SCRIPT (optional, default build_samples.py) +# +# Env overrides (any bench): +# SKIP_REBASELINE=1 reuse existing local_baseline.json +# OPENEVOLVE_PARALLEL_SOLVERS=N concurrent solver subprocesses +# OPENEVOLVE_CORE_RANGE=N-M taskset core range (also set via --pin) + +set -euo pipefail + +usage() { + echo "usage: $(basename "$0") [] [--pin N-M] [--extract-only] [--iterations N] [extra flags]" >&2 + echo " omit to run all phases sequentially" >&2 + echo " = dir name under input/ (e.g. cpsat-bench, z3-bench)" >&2 +} + +if [ $# -lt 1 ]; then + usage + exit 2 +fi + +BENCH="$1"; shift + +# Optional : numeric next arg. +PHASE="" +if [ $# -ge 1 ] && [[ "$1" =~ ^[0-9]+$ ]]; then + PHASE="$1"; shift +fi + +INPUT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT="$INPUT_DIR/$BENCH/evolve" +CONFIG_YAML="$ROOT/config.yaml" + +if [ ! -d "$ROOT" ]; then + echo "bench evolve dir not found: $ROOT" >&2 + exit 2 +fi +if [ ! -f "$CONFIG_YAML" ]; then + echo "missing $CONFIG_YAML" >&2 + exit 2 +fi + +# Load `bench:` section from config.yaml → exports PHASE_DIRS, PHASE_ITERS, +# UNIFIED_PREPARE_SCRIPT, SOLVER_CHECK_CMD, ... +_BENCH_EXPORTS="$(python "$INPUT_DIR/_lib/load_bench_config.py" "$CONFIG_YAML")" +eval "$_BENCH_EXPORTS" + +: "${PHASE_DIRS:?bench.phases missing in $CONFIG_YAML}" +REBASELINE_SCRIPT="${REBASELINE_SCRIPT:-rebaseline_local.py}" +EXTRACT_BEST_SCRIPT="${EXTRACT_BEST_SCRIPT:-extract_best.py}" +BUILD_SAMPLES_SCRIPT="${BUILD_SAMPLES_SCRIPT:-build_samples.py}" + +read -r -a _DIRS <<< "$PHASE_DIRS" +read -r -a _ITERS <<< "${PHASE_ITERS:-}" +N_PHASES=${#_DIRS[@]} +LAST_PHASE=$N_PHASES +PHASE_RANGE_STR="1..$N_PHASES" + +# Parse remaining flags +EXTRACT_ONLY=0 +PIN_RANGE="" +PASSTHROUGH=() +while [ $# -gt 0 ]; do + case "$1" in + --extract-only) + EXTRACT_ONLY=1 + shift + ;; + --pin) + PIN_RANGE="$2" + shift 2 + ;; + --pin=*) + PIN_RANGE="${1#--pin=}" + shift + ;; + -h|--help) + usage + exit 0 + ;; + *) + PASSTHROUGH+=("$1") + shift + ;; + esac +done +set -- "${PASSTHROUGH[@]+"${PASSTHROUGH[@]}"}" + +# Decide phase list +if [ -z "$PHASE" ]; then + if [ "$EXTRACT_ONLY" = "1" ]; then + echo "--extract-only requires explicit (refuses to bulk-aggregate all)" >&2 + exit 2 + fi + PHASES_TO_RUN=() + for ((i = 1; i <= N_PHASES; i++)); do + PHASES_TO_RUN+=("$i") + done + RUN_ALL=1 +else + if [ "$PHASE" -lt 1 ] || [ "$PHASE" -gt "$N_PHASES" ]; then + echo "phase must be in {$PHASE_RANGE_STR} (got: $PHASE)" >&2 + exit 2 + fi + PHASES_TO_RUN=("$PHASE") + RUN_ALL=0 +fi + +if [ -n "$PIN_RANGE" ]; then + if ! [[ "$PIN_RANGE" =~ ^[0-9]+(-[0-9]+)?$ ]]; then + echo "--pin expects N or N-M (got: $PIN_RANGE)" >&2 + exit 2 + fi + export OPENEVOLVE_CORE_RANGE="$PIN_RANGE" + echo "[run_phase] OPENEVOLVE_CORE_RANGE=$PIN_RANGE" +fi + +REPO_ROOT="$(cd "$INPUT_DIR/.." && pwd)" +RUNNER="$REPO_ROOT/openevolve-run.py" + +# ============ pre-flight (once, even in run-all mode) ============ + +if [ "$EXTRACT_ONLY" != "1" ]; then + if [ ! -f "$RUNNER" ]; then + echo "openevolve-run.py not found at $RUNNER" >&2 + exit 1 + fi + + if [ ! -f "$ROOT/shared/stage1_sample.json" ] || [ ! -f "$ROOT/shared/stage2_sample.json" ]; then + echo "[run_phase] sample json missing — running $BUILD_SAMPLES_SCRIPT first..." + python "$ROOT/$BUILD_SAMPLES_SCRIPT" + fi + + if [ -f "$ROOT/$REBASELINE_SCRIPT" ]; then + if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ -f "$ROOT/shared/local_baseline.json" ]; then + echo "[run_phase] SKIP_REBASELINE=1 — reusing existing local_baseline.json" + elif [ "${SKIP_REBASELINE:-0}" = "1" ]; then + echo "[run_phase] SKIP_REBASELINE=1 but local_baseline.json missing — running $REBASELINE_SCRIPT..." + python "$ROOT/$REBASELINE_SCRIPT" || \ + echo "warning: $REBASELINE_SCRIPT finished with mismatches; evaluator falls back to raw_ms for those." + else + echo "[run_phase] running $REBASELINE_SCRIPT (set SKIP_REBASELINE=1 to skip on re-runs)..." + python "$ROOT/$REBASELINE_SCRIPT" || \ + echo "warning: $REBASELINE_SCRIPT finished with mismatches; evaluator falls back to raw_ms for those." + fi + fi + + if [ -n "${SOLVER_CHECK_CMD:-}" ]; then + if ! eval "$SOLVER_CHECK_CMD" >/dev/null 2>&1; then + echo "warning: solver check failed. ${SOLVER_INSTALL_HINT:-}" >&2 + fi + fi + + # Re-using local_baseline across the phase loop is the right thing to do — + # force-set SKIP_REBASELINE=1 so the inner per-phase logic (if any) doesn't + # rerun. Currently the inner logic does NOT rerun (we did it above), but + # set anyway for any subscript that honors it. + export SKIP_REBASELINE=1 +fi + +# ============ phase runner (called per phase) ============ + +run_one_phase() { + local phase="$1" + local dir="${_DIRS[$((phase - 1))]}" + local iter="" + if [ "${#_ITERS[@]}" -ge "$phase" ]; then + iter="${_ITERS[$((phase - 1))]}" + fi + + if [ "$EXTRACT_ONLY" = "1" ]; then + if [ "$phase" -eq "$LAST_PHASE" ]; then + echo "--extract-only not supported for phase $LAST_PHASE (no extract step)" >&2 + return 2 + fi + echo "[run_phase] --extract-only phase $phase: aggregating from checkpoints..." + python "$ROOT/$EXTRACT_BEST_SCRIPT" "$phase" --from-checkpoints + return 0 + fi + + # Unified-prep on the last phase + if [ "$phase" -eq "$LAST_PHASE" ] && [ -n "${UNIFIED_PREPARE_SCRIPT:-}" ]; then + local missing=0 + for ((i = 1; i < LAST_PHASE; i++)); do + if [ ! -f "$ROOT/shared/phase${i}_best.json" ]; then + echo "phase $LAST_PHASE requires shared/phase${i}_best.json (run phase $i first)" >&2 + missing=1 + fi + done + [ "$missing" = "1" ] && return 1 + echo "[run_phase] materializing phase$LAST_PHASE EVOLVE-BLOCK via $UNIFIED_PREPARE_SCRIPT..." + python "$ROOT/$UNIFIED_PREPARE_SCRIPT" + fi + + cd "$ROOT/$dir" + echo "[run_phase] === bench=$BENCH phase=$phase dir=$dir ${iter:+iter=$iter }cwd=$(pwd) ===" + + local iter_flag=() + if [ -n "$iter" ]; then + iter_flag=(--iterations "$iter") + fi + + python "$RUNNER" \ + initial_program.py \ + "$ROOT/shared/evaluator.py" \ + --config "$ROOT/config.yaml" \ + "${iter_flag[@]+"${iter_flag[@]}"}" \ + "$@" + + echo "[run_phase] phase $phase finished." + + if [ "$phase" -lt "$LAST_PHASE" ]; then + echo "[run_phase] extracting best overrides for phase $phase..." + python "$ROOT/$EXTRACT_BEST_SCRIPT" "$phase" + fi +} + +# ============ drive ============ + +for p in "${PHASES_TO_RUN[@]}"; do + run_one_phase "$p" "$@" +done + +if [ "$RUN_ALL" = "1" ]; then + echo "[run_phase] all $N_PHASES phases completed for $BENCH." +elif [ "${PHASES_TO_RUN[0]}" -lt "$LAST_PHASE" ]; then + echo "[run_phase] next: $0 $BENCH $((${PHASES_TO_RUN[0]} + 1))" +fi diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index a2b041a796..b99bed10ae 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -1,6 +1,20 @@ -# Shared OpenEvolve config for all Z3 tuning phases. -# Per-phase iteration count is set in run_phase.sh. +# Single config for z3-bench. Read by openevolve (dacite, ignores unknown +# top-level keys like `bench` / `parallel_solvers`) AND by input/run_phase.sh +# (via _lib/load_bench_config.py) for shell-side phase orchestration. # +# === bench: section === +# Consumed by input/run_phase.sh. phases[].iters omitted → uses +# max_iterations below (same for all phases). +bench: + phases: + - dir: phase1_opt_sls + - dir: phase2_sat + - dir: phase3_smt + - dir: phase4_unified + unified_prepare_script: prepare_phase4.py + solver_check_cmd: "command -v z3" + solver_install_hint: "install: apt-get install -y z3 or pip install z3-solver" + # === Custom z3-bench knobs (silently ignored by openevolve dacite parser) === # parallel_solvers: total concurrent z3 worker subprocesses per stage. # - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. diff --git a/input/z3-bench/evolve/extract_best.py b/input/z3-bench/evolve/extract_best.py index 109a5211a7..f7f611501f 100644 --- a/input/z3-bench/evolve/extract_best.py +++ b/input/z3-bench/evolve/extract_best.py @@ -1,24 +1,17 @@ """ -After phase N completes, extract get_phase_overrides() from its best_program.py -and write shared/phaseN_best.json. Phase N+1 auto-loads it. - -Default source: openevolve_output/best/best_program.py (created on normal phase -exit). For interrupted runs, pass --from-checkpoints to scan all -openevolve_output/checkpoints/checkpoint_*/ and pick the program with the -highest combined_score (read from best_program_info.json). - -Usage: - python extract_best.py - python extract_best.py --from-checkpoints +Thin wrapper: calls _lib.extract_best.main with z3-bench phase map. """ -import argparse -import importlib.util -import json import pathlib import sys -ROOT = pathlib.Path(__file__).resolve().parent -SHARED = ROOT / "shared" +_HERE = pathlib.Path(__file__).resolve().parent +_SHARED = _HERE / "shared" +_INPUT_DIR = _HERE.parents[1] + +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) + +from _lib.extract_best import main # noqa: E402 PHASE_DIRS = { 1: "phase1_opt_sls", @@ -26,92 +19,5 @@ 3: "phase3_smt", } - -def _pick_from_checkpoints(phase_dir): - ckpt_root = phase_dir / "openevolve_output" / "checkpoints" - ckpts = sorted( - ckpt_root.glob("checkpoint_*"), - key=lambda p: int(p.name.split("_")[1]) if p.name.split("_")[1].isdigit() else -1, - ) - if not ckpts: - print(f"no checkpoints found under {ckpt_root}", file=sys.stderr) - sys.exit(1) - - best_py = None - best_score = float("-inf") - best_ck = None - for ck in ckpts: - info_path = ck / "best_program_info.json" - prog_path = ck / "best_program.py" - if not info_path.exists() or not prog_path.exists(): - continue - try: - info = json.loads(info_path.read_text()) - score = float(info.get("metrics", {}).get("combined_score", float("-inf"))) - except (json.JSONDecodeError, ValueError, TypeError) as e: - print(f"warning: failed to read {info_path}: {e}", file=sys.stderr) - continue - if score > best_score: - best_score = score - best_py = prog_path - best_ck = ck - - if best_py is None: - print(f"no usable best_program.py in any checkpoint under {ckpt_root}", file=sys.stderr) - sys.exit(1) - - print(f"[extract_best] from-checkpoints: picked {best_ck.name} " - f"(combined_score={best_score:.4f})") - return best_py - - -def main(): - ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) - ap.add_argument("phase", type=int, choices=[1, 2, 3], help="phase number") - ap.add_argument( - "--from-checkpoints", - action="store_true", - help="scan checkpoint_*/ dirs and pick highest combined_score " - "(use for interrupted runs without best/ dir)", - ) - args = ap.parse_args() - - n = args.phase - phase_dir = ROOT / PHASE_DIRS[n] - - if args.from_checkpoints: - best_py = _pick_from_checkpoints(phase_dir) - else: - best_py = phase_dir / "openevolve_output" / "best" / "best_program.py" - if not best_py.exists(): - print(f"best_program.py not found: {best_py}", file=sys.stderr) - print("run phase first (./run_phase.sh N) before extracting,", file=sys.stderr) - print("or pass --from-checkpoints to use the latest checkpoint.", file=sys.stderr) - sys.exit(1) - - sys.path.insert(0, str(SHARED)) - - spec = importlib.util.spec_from_file_location(f"phase{n}_best", best_py) - module = importlib.util.module_from_spec(spec) - try: - spec.loader.exec_module(module) - except Exception as e: - print(f"failed to load {best_py}: {e}", file=sys.stderr) - sys.exit(1) - - if not hasattr(module, "get_phase_overrides"): - print(f"{best_py} missing get_phase_overrides()", file=sys.stderr) - sys.exit(1) - - overrides = module.get_phase_overrides() - if not isinstance(overrides, dict): - print(f"get_phase_overrides() returned {type(overrides).__name__}, expected dict", file=sys.stderr) - sys.exit(1) - - out = SHARED / f"phase{n}_best.json" - out.write_text(json.dumps(overrides, indent=2, sort_keys=True) + "\n") - print(f"wrote {out.relative_to(ROOT)} ({len(overrides)} keys)") - - if __name__ == "__main__": - main() + main(_HERE, _SHARED, PHASE_DIRS) diff --git a/input/z3-bench/evolve/prepare_phase4.py b/input/z3-bench/evolve/prepare_phase4.py index 6583121468..0aa8996b7b 100644 --- a/input/z3-bench/evolve/prepare_phase4.py +++ b/input/z3-bench/evolve/prepare_phase4.py @@ -1,62 +1,21 @@ """ -Materialize phase4_unified/initial_program.py with a literal dict containing -the union of phase 1/2/3 winners (loaded from shared/phase{1,2,3}_best.json). - -Run AFTER phases 1, 2, 3 have completed (and extract_best.py ran for each). - -This rewrites only the EVOLVE-BLOCK section of phase4_unified/initial_program.py. +Thin wrapper: calls _lib.prepare_phase.main with z3-bench phase config. +Materializes phase4_unified/initial_program.py from phase{1,2,3}_best.json. """ -import json import pathlib -import pprint -import re import sys -ROOT = pathlib.Path(__file__).resolve().parent -SHARED = ROOT / "shared" -PHASE4_FILE = ROOT / "phase4_unified" / "initial_program.py" - -_EVOLVE_BLOCK_RE = re.compile( - r"(# EVOLVE-BLOCK-START\n).*?(# EVOLVE-BLOCK-END)", - re.DOTALL, -) - - -def _load(name): - f = SHARED / name - if not f.exists(): - print(f"missing: {f}", file=sys.stderr) - sys.exit(1) - return json.loads(f.read_text()) - +_HERE = pathlib.Path(__file__).resolve().parent +_SHARED = _HERE / "shared" +_INPUT_DIR = _HERE.parents[1] +_UNIFIED_FILE = _HERE / "phase4_unified" / "initial_program.py" -def main(): - p1 = _load("phase1_best.json") - p2 = _load("phase2_best.json") - p3 = _load("phase3_best.json") - merged = {} - merged.update(p1) - merged.update(p2) - merged.update(p3) - print(f"merged keys: p1={len(p1)} p2={len(p2)} p3={len(p3)} union={len(merged)}") +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) - src = PHASE4_FILE.read_text() - dict_repr = pprint.pformat(merged, width=100, sort_dicts=True) - new_block_body = ( - "# Auto-generated by prepare_phase4.py from union of phase 1/2/3 best.\n" - f"UNIFIED_OVERRIDES = {dict_repr}\n" - ) - new_src, n = _EVOLVE_BLOCK_RE.subn( - lambda m: m.group(1) + new_block_body + m.group(2), - src, - count=1, - ) - if n != 1: - print(f"EVOLVE-BLOCK markers not found in {PHASE4_FILE}", file=sys.stderr) - sys.exit(1) - PHASE4_FILE.write_text(new_src) - print(f"wrote {PHASE4_FILE.relative_to(ROOT)} ({len(merged)} keys in EVOLVE-BLOCK)") +from _lib.prepare_phase import main # noqa: E402 +PRIOR_PHASES = [1, 2, 3] if __name__ == "__main__": - main() + main(_HERE, _SHARED, PRIOR_PHASES, _UNIFIED_FILE) diff --git a/input/z3-bench/evolve/run_phase.sh b/input/z3-bench/evolve/run_phase.sh deleted file mode 100755 index 681e2abb36..0000000000 --- a/input/z3-bench/evolve/run_phase.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash -# Run one phase of Z3 parameter evolution. -# Usage: -# ./run_phase.sh {1|2|3|4} [extra openevolve-run.py flags...] -# ./run_phase.sh {1|2|3} --extract-only # skip evolution; aggregate -# # results from existing -# # openevolve_output/checkpoints/ -# -# Iteration count comes from config.yaml (max_iterations). Override via -# `--iterations ` extra flag if needed. -# OpenEvolve outputs land in /openevolve_output/. - -set -euo pipefail - -if [ $# -lt 1 ]; then - echo "usage: $0 {1|2|3|4} [--extract-only] [extra flags]" >&2 - exit 2 -fi - -PHASE="$1" -shift - -EXTRACT_ONLY=0 -PASSTHROUGH=() -for arg in "$@"; do - case "$arg" in - --extract-only) EXTRACT_ONLY=1 ;; - *) PASSTHROUGH+=("$arg") ;; - esac -done -set -- "${PASSTHROUGH[@]+"${PASSTHROUGH[@]}"}" - -case "$PHASE" in - 1) DIR="phase1_opt_sls" ;; - 2) DIR="phase2_sat" ;; - 3) DIR="phase3_smt" ;; - 4) DIR="phase4_unified" ;; - *) echo "phase must be 1, 2, 3, or 4 (got $PHASE)" >&2; exit 2 ;; -esac - -ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -REPO_ROOT="$(cd "$ROOT/../../.." && pwd)" -RUNNER="$REPO_ROOT/openevolve-run.py" - -# --extract-only: skip evolution + setup, jump straight to aggregation. -if [ "$EXTRACT_ONLY" = "1" ]; then - if [ "$PHASE" -eq 4 ]; then - echo "--extract-only not supported for phase 4 (no extract step)" >&2 - exit 2 - fi - echo "[run_phase] --extract-only: aggregating from checkpoints (phase $PHASE)..." - python "$ROOT/extract_best.py" "$PHASE" --from-checkpoints - echo "[run_phase] extract-only done. next: $0 $((PHASE + 1))" - exit 0 -fi - -if [ ! -f "$RUNNER" ]; then - echo "openevolve-run.py not found at $RUNNER" >&2 - exit 1 -fi - -if [ ! -f "$ROOT/shared/stage1_sample.json" ] || [ ! -f "$ROOT/shared/stage2_sample.json" ]; then - echo "sample json missing — running build_samples.py first..." - python "$ROOT/build_samples.py" -fi - -if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ -f "$ROOT/shared/local_baseline.json" ]; then - echo "SKIP_REBASELINE=1 set — reusing existing local_baseline.json" -elif [ "${SKIP_REBASELINE:-0}" = "1" ]; then - echo "SKIP_REBASELINE=1 set but local_baseline.json missing — running rebaseline_local.py..." - python "$ROOT/rebaseline_local.py" || \ - echo "warning: rebaseline_local.py finished with mismatches; evaluator will fall back to raw_ms for those." -else - echo "running rebaseline_local.py (~5 min, 20 problems)... set SKIP_REBASELINE=1 to skip" - python "$ROOT/rebaseline_local.py" || \ - echo "warning: rebaseline_local.py finished with mismatches; evaluator will fall back to raw_ms for those." -fi - -if ! command -v z3 >/dev/null 2>&1; then - echo "warning: z3 binary not on PATH. install: apt-get install -y z3 or pip install z3-solver" >&2 -fi - -if [ "$PHASE" -eq 4 ]; then - if [ ! -f "$ROOT/shared/phase1_best.json" ] \ - || [ ! -f "$ROOT/shared/phase2_best.json" ] \ - || [ ! -f "$ROOT/shared/phase3_best.json" ]; then - echo "phase 4 requires phase 1/2/3 best.json files in shared/." >&2 - echo "run phases 1-3 first." >&2 - exit 1 - fi - echo "[run_phase] materializing phase4 EVOLVE-BLOCK..." - python "$ROOT/prepare_phase4.py" -fi - -cd "$ROOT/$DIR" -echo "[run_phase] phase=$PHASE dir=$DIR cwd=$(pwd) (iterations from config.yaml)" - -python "$RUNNER" \ - initial_program.py \ - "$ROOT/shared/evaluator.py" \ - --config "$ROOT/config.yaml" \ - "$@" - -echo "[run_phase] phase $PHASE finished." - -if [ "$PHASE" -lt 4 ]; then - echo "[run_phase] extracting best overrides..." - python "$ROOT/extract_best.py" "$PHASE" - echo "[run_phase] next: $0 $((PHASE + 1))" -fi diff --git a/input/z3-bench/evolve/shared/runtime.py b/input/z3-bench/evolve/shared/runtime.py index 1aeb1571f8..ba708c1055 100644 --- a/input/z3-bench/evolve/shared/runtime.py +++ b/input/z3-bench/evolve/shared/runtime.py @@ -1,66 +1,25 @@ """ -Runtime knob loader for z3-bench scripts. - -Reads custom keys from ../config.yaml (top-level), with env var override. -openevolve's dacite parser silently ignores unknown top-level keys, so we -share the same file rather than introducing a second config. - -Priority: env var > config.yaml > default. +Thin wrapper around input/_lib/runtime.py. +Binds config.yaml path; re-exports parallel_solvers / cascade_threshold / core_range. """ -import os import pathlib +import sys _HERE = pathlib.Path(__file__).resolve().parent -_CONFIG_YAML = _HERE.parent / "config.yaml" # input/z3-bench/evolve/config.yaml +_CONFIG_YAML = _HERE.parent / "config.yaml" +_INPUT_DIR = _HERE.parents[2] # input/ -_cache = None +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) +from _lib import runtime as _rt # noqa: E402 -def _load(): - global _cache - if _cache is not None: - return _cache - if not _CONFIG_YAML.exists(): - _cache = {} - return _cache - try: - import yaml - _cache = yaml.safe_load(_CONFIG_YAML.read_text()) or {} - except Exception: - _cache = {} - return _cache +core_range = _rt.core_range def parallel_solvers(default=1): - """ - Concurrent z3 worker subprocesses per stage. - Env OPENEVOLVE_PARALLEL_SOLVERS > config.yaml parallel_solvers > default. - """ - env = os.environ.get("OPENEVOLVE_PARALLEL_SOLVERS") - if env is not None: - try: - return max(1, int(env)) - except ValueError: - pass - val = _load().get("parallel_solvers", default) - try: - return max(1, int(val)) - except (ValueError, TypeError): - return default + return _rt.parallel_solvers(_CONFIG_YAML, default=default) def cascade_threshold(index, default): - """ - Read evaluator.cascade_thresholds[index] from config.yaml. - Used by evaluator.evaluate_stage3 for the internal stage3→stage4 gate - (openevolve's cascade hardcodes only 3 stage slots, so stage4 is chained - inside evaluate_stage3 using thresholds[2]). - """ - cfg = _load().get("evaluator") or {} - thresholds = cfg.get("cascade_thresholds") or [] - if index < len(thresholds): - try: - return float(thresholds[index]) - except (ValueError, TypeError): - pass - return default + return _rt.cascade_threshold(_CONFIG_YAML, index, default) diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json index 10c50a7c36..2f7e6d7d1f 100644 --- a/input/z3-bench/evolve/shared/stage1_sample.json +++ b/input/z3-bench/evolve/shared/stage1_sample.json @@ -2,20 +2,13 @@ "selection": "5 SAT runtime Q1+2 (fastest 40%)", "source": "z3-bench/problems.jsonl", "sha256": [ - "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", - "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", - "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c" + "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07" ], "summary": [ - { - "sha": "187551dceaf0", - "num_hard_constraints": 24937, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 294 - }, { "sha": "b6393502fdb5", "num_hard_constraints": 25205, @@ -23,6 +16,13 @@ "baseline_result": "Sat", "baseline_ms": 312 }, + { + "sha": "17cc4d349ce3", + "num_hard_constraints": 15243, + "num_variables": 3932, + "baseline_result": "Sat", + "baseline_ms": 366 + }, { "sha": "a4658d3a051a", "num_hard_constraints": 25205, @@ -31,18 +31,18 @@ "baseline_ms": 597 }, { - "sha": "aa358daf4226", + "sha": "872cbdb83f73", "num_hard_constraints": 59387, "num_variables": 10244, "baseline_result": "Sat", - "baseline_ms": 1674 + "baseline_ms": 1298 }, { - "sha": "a47edaf1aecb", - "num_hard_constraints": 112978, - "num_variables": 17097, + "sha": "aa358daf4226", + "num_hard_constraints": 59387, + "num_variables": 10244, "baseline_result": "Sat", - "baseline_ms": 2343 + "baseline_ms": 1674 } ] } diff --git a/input/z3-bench/evolve/shared/stage2_sample.json b/input/z3-bench/evolve/shared/stage2_sample.json index 1d17490816..f49a539fa8 100644 --- a/input/z3-bench/evolve/shared/stage2_sample.json +++ b/input/z3-bench/evolve/shared/stage2_sample.json @@ -2,20 +2,13 @@ "selection": "5 SAT runtime Q3+4 (middle 40%)", "source": "z3-bench/problems.jsonl", "sha256": [ - "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c" + "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", + "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12" ], "summary": [ - { - "sha": "8a304b9c461a", - "num_hard_constraints": 112796, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3053 - }, { "sha": "6aab51935a09", "num_hard_constraints": 113172, @@ -24,25 +17,32 @@ "baseline_ms": 3681 }, { - "sha": "069af7891076", + "sha": "75ee534dbc92", "num_hard_constraints": 105784, "num_variables": 32912, "baseline_result": "Sat", - "baseline_ms": 13885 + "baseline_ms": 13086 }, { - "sha": "4a02d7846394", + "sha": "069af7891076", "num_hard_constraints": 105784, "num_variables": 32912, "baseline_result": "Sat", - "baseline_ms": 14428 + "baseline_ms": 13885 + }, + { + "sha": "318bc251e0bd", + "num_hard_constraints": 106100, + "num_variables": 33068, + "baseline_result": "Sat", + "baseline_ms": 14232 }, { - "sha": "03b7e129d625", + "sha": "493242c37992", "num_hard_constraints": 106100, "num_variables": 33068, "baseline_result": "Sat", - "baseline_ms": 16518 + "baseline_ms": 14353 } ] } diff --git a/input/z3-bench/evolve/shared/stage3_sample.json b/input/z3-bench/evolve/shared/stage3_sample.json index d9954ac298..720a79a9c9 100644 --- a/input/z3-bench/evolve/shared/stage3_sample.json +++ b/input/z3-bench/evolve/shared/stage3_sample.json @@ -6,7 +6,7 @@ "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", - "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea" + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" ], "summary": [ { @@ -38,11 +38,11 @@ "baseline_ms": 80512 }, { - "sha": "76bcc4964307", - "num_hard_constraints": 696736, - "num_variables": 83621, + "sha": "a7df812c620d", + "num_hard_constraints": 696365, + "num_variables": 83551, "baseline_result": "Sat", - "baseline_ms": 112662 + "baseline_ms": 93445 } ] } diff --git a/input/z3-bench/evolve/shared/stage4_sample.json b/input/z3-bench/evolve/shared/stage4_sample.json index 81a1bbd6f4..5dfe3cfec6 100644 --- a/input/z3-bench/evolve/shared/stage4_sample.json +++ b/input/z3-bench/evolve/shared/stage4_sample.json @@ -5,23 +5,23 @@ "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", - "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", + "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", - "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", - "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", - "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", - "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", + "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" + "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea" ], "summary": [ { @@ -45,6 +45,13 @@ "baseline_result": "Unsat", "baseline_ms": 268 }, + { + "sha": "505a2e36055c", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 307 + }, { "sha": "4fb703b12127", "num_hard_constraints": 15034, @@ -52,13 +59,6 @@ "baseline_result": "Unsat", "baseline_ms": 311 }, - { - "sha": "17cc4d349ce3", - "num_hard_constraints": 15243, - "num_variables": 3932, - "baseline_result": "Sat", - "baseline_ms": 366 - }, { "sha": "133383a624ef", "num_hard_constraints": 24797, @@ -67,11 +67,11 @@ "baseline_ms": 480 }, { - "sha": "872cbdb83f73", - "num_hard_constraints": 59387, - "num_variables": 10244, + "sha": "aeec9f77b092", + "num_hard_constraints": 112978, + "num_variables": 17097, "baseline_result": "Sat", - "baseline_ms": 1298 + "baseline_ms": 2193 }, { "sha": "0f6f9aa28440", @@ -87,6 +87,13 @@ "baseline_result": "Sat", "baseline_ms": 2900 }, + { + "sha": "8a304b9c461a", + "num_hard_constraints": 112796, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3053 + }, { "sha": "d8d5ffa7d824", "num_hard_constraints": 112812, @@ -95,39 +102,32 @@ "baseline_ms": 3350 }, { - "sha": "42bc61a62698", + "sha": "29efe6d38d7b", "num_hard_constraints": 105784, "num_variables": 32912, "baseline_result": "Unsat", - "baseline_ms": 12692 + "baseline_ms": 12712 }, { - "sha": "75ee534dbc92", + "sha": "65444d693881", "num_hard_constraints": 105784, "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 13086 + "baseline_result": "Unsat", + "baseline_ms": 13089 }, { - "sha": "65444d693881", + "sha": "4a02d7846394", "num_hard_constraints": 105784, "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 13089 + "baseline_result": "Sat", + "baseline_ms": 14428 }, { - "sha": "318bc251e0bd", + "sha": "86468fd861ff", "num_hard_constraints": 106100, "num_variables": 33068, "baseline_result": "Sat", - "baseline_ms": 14232 - }, - { - "sha": "7ac5a84f68bc", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 14992 + "baseline_ms": 15671 }, { "sha": "f54dba052fbf", @@ -158,11 +158,11 @@ "baseline_ms": 33752 }, { - "sha": "a7df812c620d", - "num_hard_constraints": 696365, - "num_variables": 83551, + "sha": "76bcc4964307", + "num_hard_constraints": 696736, + "num_variables": 83621, "baseline_result": "Sat", - "baseline_ms": 93445 + "baseline_ms": 112662 } ] } diff --git a/input/z3-bench/evolve/shared/z3_runner.py b/input/z3-bench/evolve/shared/z3_runner.py index 7113fe0441..69c71a52a9 100644 --- a/input/z3-bench/evolve/shared/z3_runner.py +++ b/input/z3-bench/evolve/shared/z3_runner.py @@ -1,97 +1,27 @@ """ -Run a single SMT2 file through Z3 with given parameters. +Thin wrapper: run_z3 = subprocess_runner.run_solver bound to _z3_solve_worker.py. -Implementation: spawn `_z3_solve_worker.py` as a subprocess and communicate -via stdout JSON. The worker imports the z3 Python binding and applies params -via `z3.set_param()`, matching the original benchmark setup that recorded -`applied_params_hash 543b29...`. This is necessary because the z3 CLI -positional `key=value` form rejects globals (`threads`, `parallel.enable`, -`sls.parallel`) that the Python binding accepts. +Worker uses the z3 Python binding (z3.set_param + Optimize/Solver). Python +binding is preferred over CLI because z3 4.13.x CLI rejects globals like +`threads`, `parallel.enable`, `sls.parallel` as positional `key=value`, +which the binding accepts. Matches the original benchmark's +`applied_params_hash 543b29...` setup. -Subprocess isolation gives: hard wall-clock timeout, crash containment, -memory reclaim between problems. +Status strings: "Sat" / "Unsat" / "Unknown". """ -import json import pathlib -import shutil -import subprocess import sys -import time -_WORKER = str(pathlib.Path(__file__).resolve().parent / "_z3_solve_worker.py") -_TASKSET = shutil.which("taskset") # Linux only; None on macOS / missing +_HERE = pathlib.Path(__file__).resolve().parent +_INPUT_DIR = _HERE.parents[2] +_WORKER = _HERE / "_z3_solve_worker.py" +if str(_INPUT_DIR) not in sys.path: + sys.path.insert(0, str(_INPUT_DIR)) -def run_z3(smt2_path, params, timeout_s, python_bin=None, cpu_core=None): - """ - Returns dict (one of): - success: {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int, "stats": dict} - timeout: {"result": "Unknown", "elapsed_ms": int, "timeout": True, "stats": {}} - invalid: {"invalid_param": str, "stderr": str, "result": "Unknown", "elapsed_ms": int, "stats": {}} - crash: {"result": "Unknown", "elapsed_ms": int, "error": str, "stderr": str, "stats": {}} - - "stats" mirrors z3 Optimize.statistics() numeric entries (decisions, - propagations, conflicts, restarts, arith/bv counters, ...). Empty when - z3 never reached check() (param error, parse fail, timeout, crash). - - cpu_core: optional int — if given and `taskset` is on PATH, pin the - worker subprocess to that core (-c ). Used by the parallel dispatch - in evaluator.py to isolate concurrent z3 runs from cross-core - interference. Silently ignored if taskset missing (macOS / no util-linux). - """ - py = python_bin or sys.executable - args = [py, _WORKER, json.dumps(params), str(smt2_path), str(int(timeout_s))] - if cpu_core is not None and _TASKSET: - args = [_TASKSET, "-c", str(int(cpu_core))] + args - - t0 = time.monotonic() - try: - proc = subprocess.run( - args, - capture_output=True, - text=True, - timeout=timeout_s + 15, # grace for z3 startup + parse - ) - except subprocess.TimeoutExpired: - return { - "result": "Unknown", - "elapsed_ms": int((time.monotonic() - t0) * 1000), - "timeout": True, - "stats": {}, - } +from _lib.subprocess_runner import run_solver # noqa: E402 - stdout = (proc.stdout or "").strip() - stderr = (proc.stderr or "").strip() - if not stdout: - return { - "result": "Unknown", - "elapsed_ms": int((time.monotonic() - t0) * 1000), - "error": f"worker produced no output (rc={proc.returncode})", - "stderr": stderr[-2000:], - "stats": {}, - } - - # Use the last non-empty line as JSON (defensive against stray prints). - last = stdout.splitlines()[-1] - try: - out = json.loads(last) - except json.JSONDecodeError as e: - return { - "result": "Unknown", - "elapsed_ms": int((time.monotonic() - t0) * 1000), - "error": f"worker json decode: {e}", - "stderr": (stderr + "\n--stdout--\n" + stdout)[-2000:], - "stats": {}, - } - - if "invalid_param" in out: - return { - "invalid_param": out["invalid_param"], - "stderr": (out.get("error") or stderr)[-2000:], - "result": "Unknown", - "elapsed_ms": out.get("elapsed_ms", 0), - "stats": {}, - } - out.setdefault("stats", {}) - return out +def run_z3(smt2_path, params, timeout_s, python_bin=None, cpu_core=None): + return run_solver(_WORKER, smt2_path, params, timeout_s, + python_bin=python_bin, cpu_core=cpu_core) From 9f789df4045cb72f107137570a6461063a65880f Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 20 May 2026 18:56:26 +0900 Subject: [PATCH 16/42] fix core allocation error --- input/README.md | 16 +++++++++----- input/run_phase.sh | 1 + input/z3-bench/evolve/rebaseline_local.py | 20 +++++++++-------- .../z3-bench/evolve/shared/baseline_params.py | 17 ++++++++------ input/z3-bench/evolve/shared/evaluator.py | 22 +++++++++---------- 5 files changed, 44 insertions(+), 32 deletions(-) diff --git a/input/README.md b/input/README.md index 4025d76a26..44c3f2f81c 100644 --- a/input/README.md +++ b/input/README.md @@ -9,21 +9,22 @@ boilerplate parts). ``` input/ -├── run_phase.sh # single entry: ./run_phase.sh [flags] +├── run_phase.sh # single entry: ./run_phase.sh [] [flags] ├── _lib/ # shared library (importable as `_lib.*`) │ ├── runtime.py # parallel_solvers / cascade_threshold / core_range │ ├── subprocess_runner.py # run_solver(worker, problem, params, timeout, ...) │ ├── extract_best.py # main(root, shared, phase_dirs) — CLI core -│ └── prepare_phase.py # main(root, shared, prior_phases, unified_file) +│ ├── prepare_phase.py # main(root, shared, prior_phases, unified_file) +│ └── load_bench_config.py # parse `bench:` section of config.yaml → bash exports ├── z3-bench/ │ ├── raw-data/ # .smt2 + ____seed0.meta.jsonl │ └── evolve/ -│ ├── bench.env # config sourced by ../../run_phase.sh +│ ├── config.yaml # openevolve + `bench:` (phases / scripts / solver check) │ └── ... # baseline_params, evaluator, phases, etc. └── cpsat-bench/ ├── raw-data/ # .cpsat.pb + ____seed0.meta.jsonl └── evolve/ - ├── bench.env + ├── config.yaml # same └── ... ``` @@ -35,7 +36,7 @@ input/ | `_lib/subprocess_runner.py` | spawn worker subprocess, taskset pin, timeout grace, parse stdout JSON | `/evolve/shared/_runner.py` (binds WORKER path, names `run_`) | | `_lib/extract_best.py` | argparse + load best_program.py + write `phaseN_best.json` | `/evolve/extract_best.py` (passes `PHASE_DIRS` dict) | | `_lib/prepare_phase.py` | merge `phaseN_best.json` files, rewrite unified phase's EVOLVE-BLOCK | `/evolve/prepare_phase_unified.py` (passes `PRIOR_PHASES` list) | -| `input/run_phase.sh` | single user-facing entry: `./run_phase.sh [--pin] [--extract-only] [--iterations]`. Resolves bench, sources `/evolve/bench.env`, runs flow. | `/evolve/bench.env` (5-line config: `PHASE_DIRS`, `PHASE_ITERS`, `UNIFIED_PREPARE_SCRIPT`, `SOLVER_CHECK_CMD`, `SOLVER_INSTALL_HINT`) | +| `input/run_phase.sh` | single user-facing entry: `./run_phase.sh [] [--pin] [--extract-only] [--iterations]`. Phase optional → runs ALL phases sequentially. Reads `bench:` section of `/evolve/config.yaml` via `_lib/load_bench_config.py`. | `/evolve/config.yaml` — `bench:` key with `phases[].dir/iters`, `unified_prepare_script`, `solver_check_cmd`, `solver_install_hint` | ## Per-bench files NOT shared @@ -102,6 +103,11 @@ Same pattern for `_runner.py`, `extract_best.py`, `prepare_phase_unified bash input/cpsat-bench/raw-data/load_script.sh # populate raw-data python input/cpsat-bench/evolve/build_samples.py # stage{1..4}_sample.json python input/cpsat-bench/evolve/shared/baseline_params.py # sanity self-test + +# Run all phases (1..N) with one command: +./input/run_phase.sh cpsat-bench --pin 2-7 + +# Or step phase-by-phase: ./input/run_phase.sh cpsat-bench 1 --pin 2-7 ./input/run_phase.sh cpsat-bench 2 --pin 2-7 ./input/run_phase.sh cpsat-bench 3 --pin 2-7 diff --git a/input/run_phase.sh b/input/run_phase.sh index 83f09abd6b..f33181ca4c 100755 --- a/input/run_phase.sh +++ b/input/run_phase.sh @@ -192,6 +192,7 @@ fi run_one_phase() { local phase="$1" + shift local dir="${_DIRS[$((phase - 1))]}" local iter="" if [ "${#_ITERS[@]}" -ge "$phase" ]; then diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py index 294a4159e9..babea9b3ab 100644 --- a/input/z3-bench/evolve/rebaseline_local.py +++ b/input/z3-bench/evolve/rebaseline_local.py @@ -32,7 +32,7 @@ from baseline_params import BASELINE # noqa: E402 from z3_runner import run_z3 # noqa: E402 -from runtime import parallel_solvers # noqa: E402 +from runtime import parallel_solvers, core_range # noqa: E402 _BENCH_DIR = _HERE.parent _RAW_DIR = _BENCH_DIR / "raw-data" @@ -109,20 +109,22 @@ def main(): tasks.append((i, meta, smt2_path)) import queue as _queue - n_parallel = min(parallel_solvers(default=1), len(tasks)) + # Cores leased from a queue so each in-flight task holds a unique slot. + # OPENEVOLVE_CORE_RANGE (e.g. "1-5") overrides; else cores 1..N from + # parallel_solvers (core 0 reserved for kernel housekeeping). + cores = core_range() + if cores is None: + cores = list(range(1, parallel_solvers(default=1) + 1)) + n_parallel = min(len(cores), len(tasks)) + cores = cores[:n_parallel] print(f"rebaselining stage1+stage2+stage3+stage4 samples: {len(tasks)} problems " f"(union of stage{{1,2,3,4}}_sample.json)") print(f"timeout per problem = {REBASELINE_TIMEOUT_S}s (effectively unbounded " - f"— never cut a baseline run short), parallel={n_parallel} (taskset core pin)") + f"— never cut a baseline run short), parallel={n_parallel} cores={cores}") print() - # Cores leased from a queue so each in-flight task holds a unique slot. - # Cores 1..n_parallel — core 0 reserved for kernel interrupts / housekeeping - # (avoids tail-latency spikes). Serial mode also leases core 1, symmetric - # with parallel so baseline measurement matches the pin envelope variants - # will see during evolve. _core_pool = _queue.Queue() - for _c in range(1, n_parallel + 1): + for _c in cores: _core_pool.put(_c) def _solve(task): diff --git a/input/z3-bench/evolve/shared/baseline_params.py b/input/z3-bench/evolve/shared/baseline_params.py index e731c4469d..27e7a04796 100644 --- a/input/z3-bench/evolve/shared/baseline_params.py +++ b/input/z3-bench/evolve/shared/baseline_params.py @@ -62,7 +62,7 @@ def _self_test(): here = pathlib.Path(__file__).resolve().parent sys.path.insert(0, str(here)) from z3_runner import run_z3 # noqa: E402 - from runtime import parallel_solvers # noqa: E402 + from runtime import parallel_solvers, core_range # noqa: E402 bench = here.parent.parent # input/z3-bench/ raw_dir = bench / "raw-data" @@ -97,18 +97,21 @@ def _self_test(): return 2 tasks.append((i, sha, meta, smt2)) - n_parallel = min(parallel_solvers(default=5), len(tasks)) + cores = core_range() + if cores is None: + cores = list(range(1, parallel_solvers(default=5) + 1)) + n_parallel = min(len(cores), len(tasks)) + cores = cores[:n_parallel] - print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel}, " - f"taskset core pin") + print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel} " + f"cores={cores}") print() def solve(t): i, sha, meta, smt2 = t # Generous timeout: 2x baseline_ms (matches the [0.5, 2.0] tolerance band). timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) - # Skip core 0 — pin to cores 1..n_parallel. - core = (i % n_parallel) + 1 + core = cores[i % n_parallel] r = run_z3(smt2, BASELINE, timeout_s, cpu_core=core) return i, sha, meta, r @@ -147,7 +150,7 @@ def solve(t): status = "OK" print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x " - f"{(i % n_parallel) + 1:>4} {status}") + f"{cores[i % n_parallel]:>4} {status}") seq_estimate = sum_got_ms / 1000 print() diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py index 5481d66f0f..e03857c54b 100644 --- a/input/z3-bench/evolve/shared/evaluator.py +++ b/input/z3-bench/evolve/shared/evaluator.py @@ -50,7 +50,7 @@ from baseline_params import BASELINE, LOCKED # noqa: E402 from score import score # noqa: E402 from z3_runner import run_z3 # noqa: E402 -from runtime import parallel_solvers, cascade_threshold # noqa: E402 +from runtime import parallel_solvers, cascade_threshold, core_range # noqa: E402 from openevolve.evaluation_result import EvaluationResult # noqa: E402 @@ -218,18 +218,18 @@ def _evaluate(program_path, problems, stage_name): # Parallel dispatch — `OPENEVOLVE_PARALLEL_SOLVERS` controls how many # z3 worker subprocesses run concurrently for the stage's problem list. - # Worker count is capped at len(problems) (no point spawning idle threads). - # Cores are leased from a queue.Queue so each in-flight task holds a - # unique core slot. Correct even when len(problems) > n_parallel - # (idx % n_parallel would collide across workers). - # Core pool = cores 1..n_parallel — core 0 reserved for kernel interrupts - # / housekeeping (avoids tail-latency spikes). Serial mode also leases - # core 1, symmetric with parallel so baseline / variant share the same - # pin envelope (no unpinned-vs-pinned bias). + # Cores leased from a queue.Queue so each in-flight task holds a unique + # slot (idx % n_parallel would collide when len(problems) > n_parallel). + # OPENEVOLVE_CORE_RANGE (e.g. "1-5") overrides; else cores + # 1..parallel_solvers() (core 0 reserved for kernel housekeeping). import queue as _queue - n_parallel = min(parallel_solvers(default=1), len(problems)) + _cores = core_range() + if _cores is None: + _cores = list(range(1, parallel_solvers(default=1) + 1)) + n_parallel = min(len(_cores), len(problems)) + _cores = _cores[:n_parallel] _core_pool = _queue.Queue() - for _c in range(1, n_parallel + 1): + for _c in _cores: _core_pool.put(_c) def _solve(idx_p): From 493918502556468b44dda7fb59856fb23ca6ada2 Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 21 May 2026 12:09:47 +0900 Subject: [PATCH 17/42] add verify on cpsat --- input/README.md | 5 + input/cpsat-bench/evolve/final_verify.py | 240 +++++++++++++++++++++++ 2 files changed, 245 insertions(+) create mode 100644 input/cpsat-bench/evolve/final_verify.py diff --git a/input/README.md b/input/README.md index 44c3f2f81c..ca56bcbf47 100644 --- a/input/README.md +++ b/input/README.md @@ -112,4 +112,9 @@ python input/cpsat-bench/evolve/shared/baseline_params.py # sanity self-test ./input/run_phase.sh cpsat-bench 2 --pin 2-7 ./input/run_phase.sh cpsat-bench 3 --pin 2-7 ./input/run_phase.sh cpsat-bench 4 --pin 2-7 + +# Final verify on the unified winner (fresh LOCAL baseline per problem): +python input/cpsat-bench/evolve/final_verify.py \ + input/cpsat-bench/evolve/phase4_unified/openevolve_output/best/best_program.py +# (writes final_verify.json next to best_program.py) ``` diff --git a/input/cpsat-bench/evolve/final_verify.py b/input/cpsat-bench/evolve/final_verify.py new file mode 100644 index 0000000000..556f6ffda0 --- /dev/null +++ b/input/cpsat-bench/evolve/final_verify.py @@ -0,0 +1,240 @@ +""" +Final verification for cpsat-bench: on a final-test sample, measure LOCAL +baseline elapsed_ms (+ objective_value) and then run the optimized program. +Report per-problem cost_ratio + time speedup using the fresh local baseline +(not the raw-data baseline recorded on a different machine). + +Usage: + python final_verify.py + +Example: + python input/cpsat-bench/evolve/final_verify.py \\ + input/cpsat-bench/evolve/phase4_unified/openevolve_output/best/best_program.py + +Sample selection (in priority order): + 1. shared/final_sample.json — JSON file with {"sha256": [, ...]}. + Hand-edit or generate this to pin a specific subset for verification. + 2. Fall back to ALL problems in problems.jsonl. + +Order of operations: + for each problem p in final sample: + run BASELINE on p → record base_ms_local, base_obj_local + run params on p → record variant_ms, variant_obj + cost_ratio = base_obj_local / variant_obj (cost mode, minimize) + speedup = base_ms_local / variant_ms (when status decisive) + +Baseline + variant are run back-to-back per problem so they share the same +warm cache / system noise. Concurrency = config parallel_solvers (taskset +pinned via OPENEVOLVE_CORE_RANGE or 1..N). +""" +import importlib.util +import json +import pathlib +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) + +from baseline_params import BASELINE, LOCKED # noqa: E402 +from score import score # noqa: E402 +from cpsat_runner import run_cpsat # noqa: E402 +from runtime import parallel_solvers, core_range # noqa: E402 + +_BENCH_DIR = _HERE.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" + +TIMEOUT_S = 300 +_DECISIVE = ("OPTIMAL", "FEASIBLE") + + +def _load_get_params(program_path): + spec = importlib.util.spec_from_file_location("program", program_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + if not hasattr(module, "get_params"): + print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) + sys.exit(2) + return module.get_params() + + +def _load_problem_index(): + idx = {} + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "sha": d["problem_sha256"], + "problem_filename": d["problem_filename"], + "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), + "raw_result": (d.get("cpsat_status") or {}).get("result"), + } + return idx + + +def _resolve_sample(idx): + if _FINAL_SAMPLE.exists(): + shas = list(json.loads(_FINAL_SAMPLE.read_text())["sha256"]) + source = f"shared/final_sample.json ({len(shas)} SHAs)" + else: + shas = list(idx.keys()) + source = f"problems.jsonl (full {len(shas)})" + metas = [] + for sha in shas: + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} from sample not in problems.jsonl", file=sys.stderr) + sys.exit(2) + pb = _RAW_DIR / meta["problem_filename"] + if not pb.exists(): + print(f"ERROR: missing {pb}", file=sys.stderr) + sys.exit(2) + metas.append((meta, pb)) + return metas, source + + +def main(): + if len(sys.argv) != 2: + print(__doc__, file=sys.stderr) + return 2 + + program_path = pathlib.Path(sys.argv[1]).resolve() + if not program_path.exists(): + print(f"ERROR: {program_path} not found", file=sys.stderr) + return 2 + + variant_params = _load_get_params(program_path) + violations = {k: variant_params.get(k) for k in LOCKED + if variant_params.get(k) != LOCKED[k]} + if violations: + print(f"ERROR: locked params violated: {violations}", file=sys.stderr) + return 2 + + idx = _load_problem_index() + metas, source = _resolve_sample(idx) + + cores = core_range() + if cores is None: + cores = list(range(1, parallel_solvers(default=1) + 1)) + n_parallel = min(len(cores), len(metas)) + cores = cores[:n_parallel] + + print(f"final verify: {program_path}") + print(f" sample : {source}") + print(f" params : {len(variant_params)} keys, " + f"{sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} differ from BASELINE") + print(f" parallel solvers : {n_parallel} cores={cores}") + print(f" per-problem timeout : {TIMEOUT_S}s × 2 (baseline + variant)") + print() + + def _measure(idx_meta): + i, meta, pb = idx_meta + core = cores[i % n_parallel] if n_parallel > 0 else None + b = run_cpsat(pb, BASELINE, TIMEOUT_S, cpu_core=core) + v = run_cpsat(pb, variant_params, TIMEOUT_S, cpu_core=core) + return i, meta, b, v + + tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] + t_start = time.monotonic() + completed = [] + if n_parallel == 1: + for t in tasks: + completed.append(_measure(t)) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_measure, t) for t in tasks] + for fut in as_completed(futures): + completed.append(fut.result()) + completed.sort(key=lambda x: x[0]) + elapsed = time.monotonic() - t_start + + results = [] + for i, meta, b, v in completed: + base_ms_local = int(b.get("elapsed_ms", 0)) + base_result = b.get("result", "Unknown") + base_obj = b.get("objective") + var_ms = int(v.get("elapsed_ms", 0)) + var_result = v.get("result", "Unknown") + var_obj = v.get("objective") + var_invalid = v.get("invalid_param") + + if var_invalid: + flag = f" invalid={var_invalid}" + speedup = 0.0 + cost_ratio = 0.0 + elif var_result not in _DECISIVE or base_result not in _DECISIVE: + flag = f" STATUS_MISMATCH (base={base_result} variant={var_result})" + speedup = 0.0 + cost_ratio = 0.0 + else: + speedup = base_ms_local / max(var_ms, 1) + if base_obj is not None and var_obj is not None: + cost_ratio = (float(base_obj) + 1e-9) / (float(var_obj) + 1e-9) + else: + cost_ratio = 1.0 + flag = "" + + print( + f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} " + f"base_local={base_result:<10}/{base_ms_local:>7}ms" + f"{('/obj=' + format(base_obj, '.3g')) if base_obj is not None else ''} " + f"variant={var_result:<10}/{var_ms:>7}ms" + f"{('/obj=' + format(var_obj, '.3g')) if var_obj is not None else ''} " + f"speedup={speedup:.2f}x cost_ratio={cost_ratio:.3f}{flag}", + flush=True, + ) + results.append({ + "sha": meta["sha"], + "input_file": meta["problem_filename"], + "baseline_ms": base_ms_local, + "baseline_result": base_result, + "baseline_objective": base_obj, + "result": var_result, + "elapsed_ms": var_ms, + "objective": var_obj, + "timeout": bool(v.get("timeout")), + "raw_baseline_ms": meta["raw_ms"], + "stats": v.get("stats") or {}, + "baseline_stats": b.get("stats") or {}, + }) + + metrics = score(results) + print() + print("== summary (cost-mode, vs fresh LOCAL baseline) ==") + print(f" solved : {metrics['solved']}/{metrics['total']}") + print(f" regressions : {metrics['regressions']}") + print(f" geomean (cost×time) : {metrics['geomean_speedup']:.3f}") + print(f" solved_rate : {metrics['solved_rate']:.3f}") + print(f" efficiency : {metrics.get('efficiency', 1.0):.3f}") + print(f" combined_score : {metrics['combined_score']:.3f}") + print(f" wall-clock : {elapsed:.1f}s") + + out_path = program_path.parent / "final_verify.json" + out_path.write_text(json.dumps({ + "program": str(program_path), + "sample_source": source, + "metrics": metrics, + "per_problem": [ + { + "sha": r["sha"][:12], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_local_ms": r["baseline_ms"], + "variant_ms": r["elapsed_ms"], + "base_obj": r["baseline_objective"], + "variant_obj": r["objective"], + "raw_baseline_ms": r["raw_baseline_ms"], + "timeout": r["timeout"], + } + for r in results + ], + }, indent=2) + "\n") + print(f" wrote {out_path}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From da666068d96043d87f4d34e61b6bb08e4b1c1e8e Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 21 May 2026 13:25:04 +0900 Subject: [PATCH 18/42] update regression score logic --- input/cpsat-bench/evolve/final_verify.py | 31 ++++++++++++++++----- input/cpsat-bench/evolve/shared/score.py | 34 +++++++++++++++++++----- 2 files changed, 52 insertions(+), 13 deletions(-) diff --git a/input/cpsat-bench/evolve/final_verify.py b/input/cpsat-bench/evolve/final_verify.py index 556f6ffda0..c2a2603009 100644 --- a/input/cpsat-bench/evolve/final_verify.py +++ b/input/cpsat-bench/evolve/final_verify.py @@ -161,16 +161,27 @@ def _measure(idx_meta): var_obj = v.get("objective") var_invalid = v.get("invalid_param") + speedup = base_ms_local / max(var_ms, 1) if var_invalid: - flag = f" invalid={var_invalid}" + flag = f" INVALID_PARAM={var_invalid}" speedup = 0.0 cost_ratio = 0.0 - elif var_result not in _DECISIVE or base_result not in _DECISIVE: - flag = f" STATUS_MISMATCH (base={base_result} variant={var_result})" + elif base_result not in _DECISIVE and var_result not in _DECISIVE: + # Both failed to reach decisive status — uncomparable, NOT a regression. + # score.py skips this from geomean. + flag = f" BOTH_NONDECISIVE ({base_result}=base, {var_result}=variant) — skipped from score" + cost_ratio = 0.0 + elif base_result in _DECISIVE and var_result not in _DECISIVE: + # Baseline solved, variant didn't → real regression. + flag = f" REGRESSION (base={base_result} variant={var_result})" speedup = 0.0 cost_ratio = 0.0 + elif base_result not in _DECISIVE and var_result in _DECISIVE: + # Variant solved a problem baseline couldn't — bonus, but cost mode + # can't ratio it. Show but don't score. + flag = f" VARIANT_WIN_UNCOMPARABLE (base={base_result})" + cost_ratio = 0.0 else: - speedup = base_ms_local / max(var_ms, 1) if base_obj is not None and var_obj is not None: cost_ratio = (float(base_obj) + 1e-9) / (float(var_obj) + 1e-9) else: @@ -204,10 +215,16 @@ def _measure(idx_meta): metrics = score(results) print() print("== summary (cost-mode, vs fresh LOCAL baseline) ==") - print(f" solved : {metrics['solved']}/{metrics['total']}") - print(f" regressions : {metrics['regressions']}") + print(f" total problems : {metrics['total']}") + print(f" comparable : {metrics['comparable']} " + f"(baseline reached decisive status; geomean computed over this subset)") + print(f" uncomparable : {metrics['uncomparable']} " + f"(baseline non-decisive; skipped from score)") + print(f" solved : {metrics['solved']}/{metrics['comparable']}") + print(f" regressions : {metrics['regressions']} " + f"(baseline OK, variant failed)") print(f" geomean (cost×time) : {metrics['geomean_speedup']:.3f}") - print(f" solved_rate : {metrics['solved_rate']:.3f}") + print(f" solved_rate : {metrics['solved_rate']:.3f} (over comparable)") print(f" efficiency : {metrics.get('efficiency', 1.0):.3f}") print(f" combined_score : {metrics['combined_score']:.3f}") print(f" wall-clock : {elapsed:.1f}s") diff --git a/input/cpsat-bench/evolve/shared/score.py b/input/cpsat-bench/evolve/shared/score.py index 97937ed327..714020c930 100644 --- a/input/cpsat-bench/evolve/shared/score.py +++ b/input/cpsat-bench/evolve/shared/score.py @@ -69,18 +69,35 @@ def _efficiency(per_problem): def _score_cost(per_problem): + """ + Cost mode scoring rules: + - baseline NOT decisive → uncomparable; skip from geomean entirely. + (Baseline never reached OPTIMAL/FEASIBLE within timeout → variant has + no target to beat. Counting it as 1e-6 unfairly tanks the geomean.) + - baseline decisive + variant decisive → ratio = cost_ratio^W * time_ratio + (or just time_ratio if either objective_value is unknown). + - baseline decisive + variant NOT decisive → 1e-6 + regression++ (real loss). + + Returns: (geomean, solved_rate, solved, regressions, comparable) + comparable = problems where baseline was decisive (i.e. counted in geomean). + solved_rate is over `comparable` (not the total input list). + """ cost_weight = float(os.environ.get("OPENEVOLVE_COST_WEIGHT", "1.0")) cost_weight = max(0.0, min(cost_weight, 2.0)) ratios = [] solved = 0 regressions = 0 + comparable = 0 for p in per_problem: b_ok = p["baseline_result"] in _DECISIVE + if not b_ok: + continue # uncomparable + comparable += 1 v_ok = p["result"] in _DECISIVE b_cost = p.get("baseline_objective") v_cost = p.get("objective") time_r = p["baseline_ms"] / max(p["elapsed_ms"], 1) - if b_ok and v_ok: + if v_ok: solved += 1 if b_cost is not None and v_cost is not None: cost_r = (float(b_cost) + _COST_EPS) / (float(v_cost) + _COST_EPS) @@ -90,11 +107,12 @@ def _score_cost(per_problem): ratios.append(time_r) else: ratios.append(1e-6) - if b_ok and not v_ok: - regressions += 1 + regressions += 1 + if not ratios: + return 1.0, 0.0, 0, 0, 0 geomean = math.exp(sum(math.log(r) for r in ratios) / len(ratios)) - solved_rate = solved / len(per_problem) - return geomean, solved_rate, solved, regressions + solved_rate = solved / comparable + return geomean, solved_rate, solved, regressions, comparable def score(per_problem): @@ -106,13 +124,15 @@ def score(per_problem): "solved_rate": 0.0, "regressions": 0, "solved": 0, + "comparable": 0, "total": 0, + "uncomparable": 0, "efficiency": 1.0, "efficiency_pairs": 0, "stats_weight": 0.0, } - geomean, solved_rate, solved, regressions = _score_cost(per_problem) + geomean, solved_rate, solved, regressions, comparable = _score_cost(per_problem) efficiency, eff_pairs = _efficiency(per_problem) try: @@ -129,7 +149,9 @@ def score(per_problem): "solved_rate": float(solved_rate), "regressions": int(regressions), "solved": int(solved), + "comparable": int(comparable), "total": int(n), + "uncomparable": int(n - comparable), "efficiency": float(efficiency), "efficiency_pairs": int(eff_pairs), "stats_weight": float(stats_weight), From 89950c88708a301e483e92651d40a7c4ea4c2af6 Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 21 May 2026 14:25:50 +0900 Subject: [PATCH 19/42] add final bench --- input/cpsat-bench/evolve/benchmark_final.py | 340 ++++++++++++++++++++ 1 file changed, 340 insertions(+) create mode 100644 input/cpsat-bench/evolve/benchmark_final.py diff --git a/input/cpsat-bench/evolve/benchmark_final.py b/input/cpsat-bench/evolve/benchmark_final.py new file mode 100644 index 0000000000..d111fc08e5 --- /dev/null +++ b/input/cpsat-bench/evolve/benchmark_final.py @@ -0,0 +1,340 @@ +""" +Repeated-trial benchmark of BASELINE vs final-best on the main test sample. + +For each problem in the sample, run BASELINE N times AND the optimized +program's params N times (default 20 each, back-to-back on the same core +to share warm-cache / system-noise envelope). Aggregate mean / median / +stddev / min / max per case and report speedup of variant vs baseline. + +Parallelism comes from config.yaml `parallel_solvers` (env +OPENEVOLVE_PARALLEL_SOLVERS overrides) or OPENEVOLVE_CORE_RANGE. Each +problem is pinned to one core; the 40 runs for that problem stay serial +on that core. Different problems run concurrently across cores. + +Usage: + python benchmark_final.py [--iters N] [--timeout S] + +Outputs (next to ): + benchmark_final.json summary metrics + benchmark_final_iterations.csv long-form: per-run row + benchmark_final_summary.csv per-problem aggregates + +Sample selection (same as final_verify.py): + 1. shared/final_sample.json — JSON file with {"sha256": [, ...]}. + 2. Fall back to ALL problems in problems.jsonl. +""" +import argparse +import csv +import importlib.util +import json +import pathlib +import statistics +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE / "shared")) + +from baseline_params import BASELINE, LOCKED # noqa: E402 +from cpsat_runner import run_cpsat # noqa: E402 +from runtime import parallel_solvers, core_range # noqa: E402 + +_BENCH_DIR = _HERE.parent +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" + +_DEFAULT_ITERS = 20 +_DEFAULT_TIMEOUT_S = 300 +_DECISIVE = ("OPTIMAL", "FEASIBLE") + + +def _load_get_params(program_path): + spec = importlib.util.spec_from_file_location("program", program_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + if not hasattr(module, "get_params"): + print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) + sys.exit(2) + return module.get_params() + + +def _load_problem_index(): + idx = {} + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "sha": d["problem_sha256"], + "problem_filename": d["problem_filename"], + "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), + "raw_result": (d.get("cpsat_status") or {}).get("result"), + } + return idx + + +def _resolve_sample(idx): + if _FINAL_SAMPLE.exists(): + shas = list(json.loads(_FINAL_SAMPLE.read_text())["sha256"]) + source = f"shared/final_sample.json ({len(shas)} SHAs)" + else: + shas = list(idx.keys()) + source = f"problems.jsonl (full {len(shas)})" + metas = [] + for sha in shas: + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} from sample not in problems.jsonl", file=sys.stderr) + sys.exit(2) + pb = _RAW_DIR / meta["problem_filename"] + if not pb.exists(): + print(f"ERROR: missing {pb}", file=sys.stderr) + sys.exit(2) + metas.append((meta, pb)) + return metas, source + + +def _aggregate(runs): + """runs = list of dicts {elapsed_ms, result, objective?, timeout, ...}. + Returns aggregate stats over only the decisive runs (others as 'failed'). + """ + decisive = [r for r in runs if r["result"] in _DECISIVE] + ms_list = [r["elapsed_ms"] for r in decisive] + obj_list = [r["objective"] for r in decisive + if r.get("objective") is not None] + agg = { + "n_total": len(runs), + "n_decisive": len(decisive), + "n_failed": len(runs) - len(decisive), + } + if ms_list: + agg["mean_ms"] = statistics.mean(ms_list) + agg["median_ms"] = statistics.median(ms_list) + agg["min_ms"] = min(ms_list) + agg["max_ms"] = max(ms_list) + agg["stddev_ms"] = statistics.stdev(ms_list) if len(ms_list) > 1 else 0.0 + else: + agg.update({"mean_ms": 0, "median_ms": 0, "min_ms": 0, "max_ms": 0, "stddev_ms": 0.0}) + if obj_list: + agg["mean_obj"] = statistics.mean(obj_list) + agg["min_obj"] = min(obj_list) + agg["max_obj"] = max(obj_list) + return agg + + +def _run_repeat(problem_path, params, n, timeout_s, core, tag): + runs = [] + for i in range(n): + r = run_cpsat(problem_path, params, timeout_s, cpu_core=core) + runs.append({ + "iter": i + 1, + "elapsed_ms": int(r.get("elapsed_ms", 0)), + "result": r.get("result", "Unknown"), + "objective": r.get("objective"), + "timeout": bool(r.get("timeout")), + "invalid_param": r.get("invalid_param"), + "error": r.get("error"), + }) + return runs + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + ap.add_argument("program", help="path to best_program.py (must expose get_params())") + ap.add_argument("--iters", type=int, default=_DEFAULT_ITERS, + help=f"runs per (problem, variant) pair (default {_DEFAULT_ITERS})") + ap.add_argument("--timeout", type=int, default=_DEFAULT_TIMEOUT_S, + help=f"per-run timeout in seconds (default {_DEFAULT_TIMEOUT_S})") + args = ap.parse_args() + + program_path = pathlib.Path(args.program).resolve() + if not program_path.exists(): + print(f"ERROR: {program_path} not found", file=sys.stderr) + return 2 + + variant_params = _load_get_params(program_path) + violations = {k: variant_params.get(k) for k in LOCKED + if variant_params.get(k) != LOCKED[k]} + if violations: + print(f"ERROR: locked params violated: {violations}", file=sys.stderr) + return 2 + + idx = _load_problem_index() + metas, source = _resolve_sample(idx) + + cores = core_range() + if cores is None: + cores = list(range(1, parallel_solvers(default=1) + 1)) + n_parallel = min(len(cores), len(metas)) + cores = cores[:n_parallel] + + n_iters = args.iters + timeout_s = args.timeout + + n_total_runs = len(metas) * n_iters * 2 + print(f"benchmark final: {program_path}") + print(f" sample : {source}") + print(f" iters per case : {n_iters} baseline + {n_iters} variant = {n_iters * 2}") + print(f" total runs : {len(metas)} problems × {n_iters * 2} = {n_total_runs}") + print(f" per-run timeout : {timeout_s}s") + print(f" parallel solvers: {n_parallel} cores={cores}") + print(f" params diff : {sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} keys differ from BASELINE") + print() + + def _worker(idx_meta): + i, meta, pb = idx_meta + core = cores[i % n_parallel] + t0 = time.monotonic() + baseline_runs = _run_repeat(pb, BASELINE, n_iters, timeout_s, core, "baseline") + variant_runs = _run_repeat(pb, variant_params, n_iters, timeout_s, core, "variant") + dt = time.monotonic() - t0 + return i, meta, baseline_runs, variant_runs, core, dt + + tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] + t_start = time.monotonic() + completed = [] + if n_parallel == 1: + for t in tasks: + completed.append(_worker(t)) + i, meta, b_runs, v_runs, core, dt = completed[-1] + b_agg = _aggregate(b_runs) + v_agg = _aggregate(v_runs) + sp = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 + print(f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} core={core} " + f"base_mean={b_agg['mean_ms']:>7.0f}ms (n_ok={b_agg['n_decisive']}/{n_iters}) " + f"variant_mean={v_agg['mean_ms']:>7.0f}ms (n_ok={v_agg['n_decisive']}/{n_iters}) " + f"speedup={sp:.2f}x (took {dt:.1f}s)", + flush=True) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_worker, t) for t in tasks] + for fut in as_completed(futures): + completed.append(fut.result()) + i, meta, b_runs, v_runs, core, dt = completed[-1] + b_agg = _aggregate(b_runs) + v_agg = _aggregate(v_runs) + sp = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 + print(f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} core={core} " + f"base_mean={b_agg['mean_ms']:>7.0f}ms (n_ok={b_agg['n_decisive']}/{n_iters}) " + f"variant_mean={v_agg['mean_ms']:>7.0f}ms (n_ok={v_agg['n_decisive']}/{n_iters}) " + f"speedup={sp:.2f}x (took {dt:.1f}s)", + flush=True) + completed.sort(key=lambda x: x[0]) + wall = time.monotonic() - t_start + + # ----- write CSVs ----- + out_dir = program_path.parent + iter_csv = out_dir / "benchmark_final_iterations.csv" + summary_csv = out_dir / "benchmark_final_summary.csv" + json_path = out_dir / "benchmark_final.json" + + with open(iter_csv, "w", newline="") as f: + w = csv.writer(f) + w.writerow(["sha", "variant", "iter", "elapsed_ms", "result", + "objective", "timeout", "invalid_param", "error"]) + for _, meta, b_runs, v_runs, _, _ in completed: + sha = meta["sha"] + for r in b_runs: + w.writerow([sha, "baseline", r["iter"], r["elapsed_ms"], r["result"], + r["objective"] if r["objective"] is not None else "", + int(r["timeout"]), + r["invalid_param"] or "", + (r["error"] or "")[:200]]) + for r in v_runs: + w.writerow([sha, "variant", r["iter"], r["elapsed_ms"], r["result"], + r["objective"] if r["objective"] is not None else "", + int(r["timeout"]), + r["invalid_param"] or "", + (r["error"] or "")[:200]]) + + summary_rows = [] + for _, meta, b_runs, v_runs, _, _ in completed: + b_agg = _aggregate(b_runs) + v_agg = _aggregate(v_runs) + mean_sp = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 + med_sp = (b_agg["median_ms"] / max(v_agg["median_ms"], 1)) if v_agg["median_ms"] else 0 + summary_rows.append({ + "sha": meta["sha"], + "n_iters": n_iters, + "baseline_n_decisive": b_agg["n_decisive"], + "baseline_mean_ms": round(b_agg["mean_ms"], 1), + "baseline_median_ms": round(b_agg["median_ms"], 1), + "baseline_min_ms": round(b_agg["min_ms"], 1), + "baseline_max_ms": round(b_agg["max_ms"], 1), + "baseline_stddev_ms": round(b_agg["stddev_ms"], 1), + "variant_n_decisive": v_agg["n_decisive"], + "variant_mean_ms": round(v_agg["mean_ms"], 1), + "variant_median_ms": round(v_agg["median_ms"], 1), + "variant_min_ms": round(v_agg["min_ms"], 1), + "variant_max_ms": round(v_agg["max_ms"], 1), + "variant_stddev_ms": round(v_agg["stddev_ms"], 1), + "mean_speedup": round(mean_sp, 3), + "median_speedup": round(med_sp, 3), + }) + + with open(summary_csv, "w", newline="") as f: + w = csv.DictWriter(f, fieldnames=list(summary_rows[0].keys())) + w.writeheader() + w.writerows(summary_rows) + + # ----- overall aggregate ----- + # speedup geomean over problems with both means valid + import math + valid = [r for r in summary_rows + if r["baseline_mean_ms"] > 0 and r["variant_mean_ms"] > 0 + and r["baseline_n_decisive"] > 0 and r["variant_n_decisive"] > 0] + if valid: + geo_mean = math.exp(sum(math.log(r["mean_speedup"]) for r in valid) / len(valid)) + geo_med = math.exp(sum(math.log(r["median_speedup"]) for r in valid) / len(valid)) + arith_mean = sum(r["mean_speedup"] for r in valid) / len(valid) + else: + geo_mean = geo_med = arith_mean = 0.0 + + n_baseline_failed = sum(r["baseline_n_decisive"] < n_iters for r in summary_rows) + n_variant_failed = sum(r["variant_n_decisive"] < n_iters for r in summary_rows) + n_baseline_all_failed = sum(r["baseline_n_decisive"] == 0 for r in summary_rows) + n_variant_all_failed = sum(r["variant_n_decisive"] == 0 for r in summary_rows) + + json_path.write_text(json.dumps({ + "program": str(program_path), + "sample_source": source, + "iters_per_case": n_iters, + "timeout_s": timeout_s, + "n_parallel": n_parallel, + "cores": cores, + "wall_clock_s": round(wall, 1), + "n_problems": len(metas), + "summary": { + "geomean_speedup_mean": round(geo_mean, 3), + "geomean_speedup_median": round(geo_med, 3), + "arith_mean_speedup": round(arith_mean, 3), + "n_problems_with_valid_speedup": len(valid), + "n_baseline_partial_fail": n_baseline_failed, + "n_baseline_total_fail": n_baseline_all_failed, + "n_variant_partial_fail": n_variant_failed, + "n_variant_total_fail": n_variant_all_failed, + }, + "per_problem": summary_rows, + }, indent=2) + "\n") + + print() + print("== overall (mean-of-means across problems) ==") + print(f" problems with valid speedup : {len(valid)}/{len(metas)}") + print(f" geomean mean-speedup : {geo_mean:.3f}x") + print(f" geomean median-speedup : {geo_med:.3f}x") + print(f" arith mean-speedup : {arith_mean:.3f}x") + print(f" baseline partial-fail cases : {n_baseline_failed} (≥1 of {n_iters} runs non-decisive)") + print(f" baseline total-fail cases : {n_baseline_all_failed} (all {n_iters} runs non-decisive)") + print(f" variant partial-fail cases : {n_variant_failed}") + print(f" variant total-fail cases : {n_variant_all_failed}") + print(f" wall-clock : {wall:.1f}s") + print() + print(f" wrote {iter_csv}") + print(f" wrote {summary_csv}") + print(f" wrote {json_path}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From 22d0a99f938d0f848dc6d371ecaeafe833024f6b Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 21 May 2026 16:39:56 +0900 Subject: [PATCH 20/42] sample clustering --- input/cpsat-bench/evolve/build_samples.py | 90 +++++++++++++++---- .../evolve/shared/stage1_sample.json | 28 +++--- .../evolve/shared/stage2_sample.json | 32 +++---- .../evolve/shared/stage3_sample.json | 32 +++---- .../evolve/shared/stage4_sample.json | 12 +-- 5 files changed, 126 insertions(+), 68 deletions(-) diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index 032205e9ee..b788df8651 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -12,9 +12,12 @@ boundaries don't get distorted by long-tail monsters. Stages (decisive = OPTIMAL or FEASIBLE; this dataset is all OPTIMAL): - stage1 (5) center pick from runtime Q1+Q2 (fastest 40%) - stage2 (5) center pick from runtime Q3+Q4 (middle 40%) - stage3 (5) center pick from runtime Q5 (slowest 20%) + Runtime is clustered into N_BUCKETS via 1D k-means (Lloyd's). Clusters + are ordered by ascending centroid (c1=fastest, c5=slowest), then merged: + + stage1 (5) center pick from clusters c1+c2 (fast group) + stage2 (5) center pick from clusters c3+c4 (mid group) + stage3 (5) center pick from cluster c5 (slow group) stage4 (20) quintile-spread broad sample, dedup vs stage1-3 """ import json @@ -108,6 +111,54 @@ def _center_pick(sorted_rows, n_pick): return sorted_rows[start:start + n_pick] +def _cluster_runtime(sorted_rows, k, max_iter=100): + """1D Lloyd's k-means on runtime. Input must be runtime-sorted ascending. + Returns list of k buckets (lists of rows), ordered by ascending centroid.""" + n = len(sorted_rows) + if k <= 0: + return [] + if n == 0: + return [[] for _ in range(k)] + if n <= k: + buckets = [[r] for r in sorted_rows] + buckets += [[] for _ in range(k - n)] + return buckets + + values = [_runtime_key(d) for d in sorted_rows] + # init centroids at k-quantile midpoints over the sorted values. + centroids = [values[((2 * i + 1) * n) // (2 * k)] for i in range(k)] + labels = [0] * n + + for _ in range(max_iter): + changed = False + for i, v in enumerate(values): + best, best_d = 0, abs(v - centroids[0]) + for c in range(1, k): + d = abs(v - centroids[c]) + if d < best_d: + best_d, best = d, c + if labels[i] != best: + labels[i] = best + changed = True + if not changed: + break + sums = [0.0] * k + counts = [0] * k + for i, v in enumerate(values): + sums[labels[i]] += v + counts[labels[i]] += 1 + for c in range(k): + if counts[c] > 0: + centroids[c] = sums[c] / counts[c] + + order = sorted(range(k), key=lambda c: centroids[c]) + rank = {old: new for new, old in enumerate(order)} + buckets = [[] for _ in range(k)] + for i, lbl in enumerate(labels): + buckets[rank[lbl]].append(sorted_rows[i]) + return buckets + + def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): total = len(sorted_rows) if total == 0 or n_pick <= 0: @@ -186,18 +237,25 @@ def main(): ) n_decided = len(decided_by_rt) - def q_idx(i): - return (i * n_decided) // 5 + clusters = _cluster_runtime(decided_by_rt, N_BUCKETS) + pool_c12 = clusters[0] + clusters[1] + pool_c34 = clusters[2] + clusters[3] + pool_c5 = clusters[4] + + def _bucket_range(b): + if not b: + return "empty" + return f"{int(_runtime_key(b[0]))}-{int(_runtime_key(b[-1]))}ms" - pool_q12 = decided_by_rt[q_idx(0):q_idx(2)] - pool_q34 = decided_by_rt[q_idx(2):q_idx(4)] - pool_q5 = decided_by_rt[q_idx(4):q_idx(5)] - print(f"decisive-result runtime pool: {n_decided} | Q1+2={len(pool_q12)} | " - f"Q3+4={len(pool_q34)} | Q5={len(pool_q5)}") + print(f"decisive-result runtime pool: {n_decided} | clusters: " + + " | ".join(f"c{i+1}({len(b)},{_bucket_range(b)})" + for i, b in enumerate(clusters))) + print(f"stage pools: c1+2={len(pool_c12)} | c3+4={len(pool_c34)} | " + f"c5={len(pool_c5)}") - s1 = _pick(STAGE1_STRATEGY, pool_q12, STAGE1_N) - s2 = _pick(STAGE2_STRATEGY, pool_q34, STAGE2_N) - s3 = _pick(STAGE3_STRATEGY, pool_q5, STAGE3_N) + s1 = _pick(STAGE1_STRATEGY, pool_c12, STAGE1_N) + s2 = _pick(STAGE2_STRATEGY, pool_c34, STAGE2_N) + s3 = _pick(STAGE3_STRATEGY, pool_c5, STAGE3_N) # Stage4: broad spread across full decisive pool, dedup vs stage1-3. used = {_id_key(d) for d in (s1 + s2 + s3)} @@ -207,9 +265,9 @@ def q_idx(i): ) s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) - _write_sample(_STAGE1, s1, "stage1", "decisive Q1+2 (fastest 40%)") - _write_sample(_STAGE2, s2, "stage2", "decisive Q3+4 (middle 40%)") - _write_sample(_STAGE3, s3, "stage3", "decisive Q5 (slowest 20%)") + _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") + _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") + _write_sample(_STAGE3, s3, "stage3", "decisive runtime cluster c5 (slow group)") _write_sample(_STAGE4, s4, "stage4", "broad runtime spread, dedup vs stage1-3") for label, picks in (("stage1", s1), ("stage2", s2), diff --git a/input/cpsat-bench/evolve/shared/stage1_sample.json b/input/cpsat-bench/evolve/shared/stage1_sample.json index c9618a84ad..1ae95ce24a 100644 --- a/input/cpsat-bench/evolve/shared/stage1_sample.json +++ b/input/cpsat-bench/evolve/shared/stage1_sample.json @@ -1,24 +1,14 @@ { - "selection": "5 decisive Q1+2 (fastest 40%)", + "selection": "5 decisive runtime clusters c1+c2 (fast group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ - "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf", - "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654", "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", - "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15" + "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15", + "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", + "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac" ], "summary": [ - { - "sha": "0a450b93bbd0", - "baseline_result": "OPTIMAL", - "baseline_ms": 791.232 - }, - { - "sha": "99c5ac6d121d", - "baseline_result": "OPTIMAL", - "baseline_ms": 798.026 - }, { "sha": "bb9eb5259a99", "baseline_result": "OPTIMAL", @@ -33,6 +23,16 @@ "sha": "e848603289cc", "baseline_result": "OPTIMAL", "baseline_ms": 1251.32 + }, + { + "sha": "aec821f70ed6", + "baseline_result": "OPTIMAL", + "baseline_ms": 1317.35 + }, + { + "sha": "fa619c63ddf9", + "baseline_result": "OPTIMAL", + "baseline_ms": 1364.16 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage2_sample.json b/input/cpsat-bench/evolve/shared/stage2_sample.json index 3395ba5f88..80ea8e73c8 100644 --- a/input/cpsat-bench/evolve/shared/stage2_sample.json +++ b/input/cpsat-bench/evolve/shared/stage2_sample.json @@ -1,38 +1,38 @@ { - "selection": "5 decisive Q3+4 (middle 40%)", + "selection": "5 decisive runtime clusters c3+c4 (mid group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ - "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0", - "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e", - "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", - "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", - "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8" + "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e", + "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", + "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13", + "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2", + "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6" ], "summary": [ { - "sha": "66754667bf56", + "sha": "b6027761fc92", "baseline_result": "OPTIMAL", - "baseline_ms": 3208.92 + "baseline_ms": 3431.8 }, { - "sha": "47888d1b56a4", + "sha": "321b859ee1b2", "baseline_result": "OPTIMAL", - "baseline_ms": 3264.07 + "baseline_ms": 3472.19 }, { - "sha": "ed8349c414d6", + "sha": "97c67ce44962", "baseline_result": "OPTIMAL", - "baseline_ms": 3318.12 + "baseline_ms": 3578.34 }, { - "sha": "9f330e3d7528", + "sha": "7b4c2358a5ad", "baseline_result": "OPTIMAL", - "baseline_ms": 3351.44 + "baseline_ms": 3598.47 }, { - "sha": "a27f90201b57", + "sha": "d0cb084bf73c", "baseline_result": "OPTIMAL", - "baseline_ms": 3366.15 + "baseline_ms": 3731.05 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage3_sample.json b/input/cpsat-bench/evolve/shared/stage3_sample.json index 823925ec58..96f6563ed4 100644 --- a/input/cpsat-bench/evolve/shared/stage3_sample.json +++ b/input/cpsat-bench/evolve/shared/stage3_sample.json @@ -1,38 +1,38 @@ { - "selection": "5 decisive Q5 (slowest 20%)", + "selection": "5 decisive runtime cluster c5 (slow group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ - "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", - "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", - "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c", - "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", - "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54" + "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54", + "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661", + "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", + "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9", + "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3" ], "summary": [ { - "sha": "6ecbb5bc3a03", + "sha": "1f71e23e551c", "baseline_result": "OPTIMAL", - "baseline_ms": 5580.53 + "baseline_ms": 7400.86 }, { - "sha": "90e16615aa98", + "sha": "7d5ef007c158", "baseline_result": "OPTIMAL", - "baseline_ms": 5772.7 + "baseline_ms": 7474.2 }, { - "sha": "b18203536680", + "sha": "bef168aea12e", "baseline_result": "OPTIMAL", - "baseline_ms": 6300.32 + "baseline_ms": 7530.89 }, { - "sha": "0072ac871059", + "sha": "5216fc2158f9", "baseline_result": "OPTIMAL", - "baseline_ms": 6896.45 + "baseline_ms": 9137.48 }, { - "sha": "1f71e23e551c", + "sha": "b43c4de7b334", "baseline_result": "OPTIMAL", - "baseline_ms": 7400.86 + "baseline_ms": 9668 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage4_sample.json b/input/cpsat-bench/evolve/shared/stage4_sample.json index f2e60a9da1..2693731abd 100644 --- a/input/cpsat-bench/evolve/shared/stage4_sample.json +++ b/input/cpsat-bench/evolve/shared/stage4_sample.json @@ -15,12 +15,12 @@ "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", - "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", + "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", - "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", + "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8" ], "summary": [ @@ -90,9 +90,9 @@ "baseline_ms": 3107.88 }, { - "sha": "321b859ee1b2", + "sha": "ed8349c414d6", "baseline_result": "OPTIMAL", - "baseline_ms": 3472.19 + "baseline_ms": 3318.12 }, { "sha": "c6a6b2aab48a", @@ -115,9 +115,9 @@ "baseline_ms": 4358.96 }, { - "sha": "bef168aea12e", + "sha": "90e16615aa98", "baseline_result": "OPTIMAL", - "baseline_ms": 7530.89 + "baseline_ms": 5772.7 }, { "sha": "a49d307cfcf3", From 045a56138099ba02f9b06e642cc05dcb99bb2e03 Mon Sep 17 00:00:00 2001 From: hdson Date: Fri, 22 May 2026 10:44:57 +0900 Subject: [PATCH 21/42] cpsat update phase --- input/_lib/runtime.py | 23 +++++++++ input/_lib/subprocess_runner.py | 18 ++++++- input/cpsat-bench/evolve/benchmark_final.py | 36 +++++++++----- input/cpsat-bench/evolve/config.yaml | 19 ++++++-- input/cpsat-bench/evolve/final_verify.py | 39 ++++++++++----- .../evolve/phase1_search/initial_program.py | 15 +++++- .../evolve/phase2_presolve/initial_program.py | 12 ++++- .../evolve/phase3_lp_cuts/initial_program.py | 31 +++++++++--- .../evolve/phase4_unified/initial_program.py | 14 +++++- .../evolve/shared/baseline_params.py | 14 +++++- input/cpsat-bench/evolve/shared/evaluator.py | 47 +++++++++++++++---- input/cpsat-bench/evolve/shared/runtime.py | 1 + 12 files changed, 215 insertions(+), 54 deletions(-) diff --git a/input/_lib/runtime.py b/input/_lib/runtime.py index 7c8a84d8f2..c2ae7aaace 100644 --- a/input/_lib/runtime.py +++ b/input/_lib/runtime.py @@ -77,6 +77,29 @@ def core_range(): return None +def alloc_core_blocks(cores, workers_per_solve): + """Floor-chunk a core list into blocks of `workers_per_solve` cores each. + + Used when a single solver subprocess must be pinned to W cores (e.g. CP-SAT + with num_search_workers=W). Leftover cores at the tail are dropped — this + keeps every concurrent solve identical in CPU budget so benchmark timings + stay comparable. + + Examples: + alloc_core_blocks([1,2,3,4,5,6], 1) -> [[1],[2],[3],[4],[5],[6]] + alloc_core_blocks([1,2,3,4,5,6], 4) -> [[1,2,3,4]] # 5,6 dropped + alloc_core_blocks([1,2,3,4,5,6], 6) -> [[1,2,3,4,5,6]] + alloc_core_blocks([1,2,3], 4) -> [] # not enough + """ + cores = list(cores) + try: + w = max(1, int(workers_per_solve)) + except (TypeError, ValueError): + w = 1 + n = len(cores) // w + return [cores[i * w:(i + 1) * w] for i in range(n)] + + def cascade_threshold(config_path, index, default): """ Read evaluator.cascade_thresholds[index] from config.yaml. diff --git a/input/_lib/subprocess_runner.py b/input/_lib/subprocess_runner.py index b00e122480..7c87dbef38 100644 --- a/input/_lib/subprocess_runner.py +++ b/input/_lib/subprocess_runner.py @@ -39,14 +39,28 @@ def run_solver(worker_path, problem_path, params, timeout_s, """ See module docstring for the contract. - cpu_core: optional Linux taskset pin. Ignored on macOS / no util-linux. + cpu_core: optional Linux taskset pin. Accepts: + - int → pin to one core (e.g. 3 → "taskset -c 3") + - Sequence[int] / str → pin to a set of cores (e.g. [2,3,4,5] or + "2-5,7" → "taskset -c 2,3,4,5" / "2-5,7"). + Ignored on macOS / no util-linux. grace_s: subprocess timeout = timeout_s + grace_s. """ py = python_bin or sys.executable args = [py, str(worker_path), json.dumps(params), str(problem_path), str(int(timeout_s))] if cpu_core is not None and _TASKSET: - args = [_TASKSET, "-c", str(int(cpu_core))] + args + if isinstance(cpu_core, str): + cpu_arg = cpu_core + elif isinstance(cpu_core, (list, tuple)): + if not cpu_core: + cpu_arg = None + else: + cpu_arg = ",".join(str(int(c)) for c in cpu_core) + else: + cpu_arg = str(int(cpu_core)) + if cpu_arg: + args = [_TASKSET, "-c", cpu_arg] + args t0 = time.monotonic() try: diff --git a/input/cpsat-bench/evolve/benchmark_final.py b/input/cpsat-bench/evolve/benchmark_final.py index d111fc08e5..ea2ab53a56 100644 --- a/input/cpsat-bench/evolve/benchmark_final.py +++ b/input/cpsat-bench/evolve/benchmark_final.py @@ -38,7 +38,7 @@ from baseline_params import BASELINE, LOCKED # noqa: E402 from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, core_range # noqa: E402 +from runtime import parallel_solvers, core_range, alloc_core_blocks # noqa: E402 _BENCH_DIR = _HERE.parent _RAW_DIR = _BENCH_DIR / "raw-data" @@ -50,14 +50,14 @@ _DECISIVE = ("OPTIMAL", "FEASIBLE") -def _load_get_params(program_path): +def _load_program(program_path): spec = importlib.util.spec_from_file_location("program", program_path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) if not hasattr(module, "get_params"): print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) sys.exit(2) - return module.get_params() + return module def _load_problem_index(): @@ -153,9 +153,12 @@ def main(): print(f"ERROR: {program_path} not found", file=sys.stderr) return 2 - variant_params = _load_get_params(program_path) - violations = {k: variant_params.get(k) for k in LOCKED - if variant_params.get(k) != LOCKED[k]} + program = _load_program(program_path) + variant_params = program.get_params() + _phase_locked = getattr(program, "PHASE_LOCKED", None) + _lock = _phase_locked if isinstance(_phase_locked, dict) else LOCKED + violations = {k: variant_params.get(k) for k in _lock + if variant_params.get(k) != _lock[k]} if violations: print(f"ERROR: locked params violated: {violations}", file=sys.stderr) return 2 @@ -166,8 +169,13 @@ def main(): cores = core_range() if cores is None: cores = list(range(1, parallel_solvers(default=1) + 1)) - n_parallel = min(len(cores), len(metas)) - cores = cores[:n_parallel] + workers_per_solve = int(variant_params.get("num_search_workers", 1) or 1) + blocks = alloc_core_blocks(cores, workers_per_solve) + if not blocks: + blocks = [list(cores)] if cores else [None] + n_parallel = min(len(blocks), len(metas)) + blocks = blocks[:n_parallel] + baseline_cores = [(b[0] if isinstance(b, (list, tuple)) and b else b) for b in blocks] n_iters = args.iters timeout_s = args.timeout @@ -178,18 +186,20 @@ def main(): print(f" iters per case : {n_iters} baseline + {n_iters} variant = {n_iters * 2}") print(f" total runs : {len(metas)} problems × {n_iters * 2} = {n_total_runs}") print(f" per-run timeout : {timeout_s}s") - print(f" parallel solvers: {n_parallel} cores={cores}") + print(f" parallel solvers: {n_parallel} variant_workers={workers_per_solve} blocks={blocks}") print(f" params diff : {sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} keys differ from BASELINE") print() def _worker(idx_meta): i, meta, pb = idx_meta - core = cores[i % n_parallel] + slot = i % n_parallel + v_core = blocks[slot] + b_core = baseline_cores[slot] t0 = time.monotonic() - baseline_runs = _run_repeat(pb, BASELINE, n_iters, timeout_s, core, "baseline") - variant_runs = _run_repeat(pb, variant_params, n_iters, timeout_s, core, "variant") + baseline_runs = _run_repeat(pb, BASELINE, n_iters, timeout_s, b_core, "baseline") + variant_runs = _run_repeat(pb, variant_params, n_iters, timeout_s, v_core, "variant") dt = time.monotonic() - t0 - return i, meta, baseline_runs, variant_runs, core, dt + return i, meta, baseline_runs, variant_runs, v_core, dt tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] t_start = time.monotonic() diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index 9d3e6f0f07..327060f2b4 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -26,12 +26,13 @@ bench: # === Custom cpsat-bench knobs (silently ignored by openevolve dacite) === # parallel_solvers: total concurrent CP-SAT worker subprocesses per stage. # - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. -# - Each pinned to a dedicated core via taskset (Linux). -# - Capped at len(problems_in_stage) at runtime. +# - Sets the FALLBACK core-pool size when OPENEVOLVE_CORE_RANGE is unset +# (cores 1..parallel_solvers; core 0 reserved for kernel housekeeping). +# - Effective concurrency = len(core_pool) // num_search_workers (floor). +# A solve with workers=8 on a 6-core pool runs sequentially (1 block); +# a phase with workers=1 on a 6-core pool runs 6-way parallel. # - Env OPENEVOLVE_PARALLEL_SOLVERS overrides this value. -# - CP-SAT itself uses num_search_workers=8 internally (locked), so total -# core demand ≈ parallel_solvers × 8. Size accordingly. -parallel_solvers: 1 +parallel_solvers: 8 max_iterations: 60 checkpoint_interval: 10 @@ -78,11 +79,19 @@ prompt: Hard rules: - Do NOT modify locked keys: random_seed, num_search_workers, timeout_sec. (evaluator returns combined_score=0 + locked_violated artifact on violation.) + num_search_workers is pinned PER PHASE by the phase's PHASE_LOCKED: + phase1/2: num_search_workers=1 (single-worker, no subsolver mix) + phase3/4: num_search_workers=8 (multi-worker, subsolver mix engaged) + get_params() re-applies PHASE_LOCKED last so phase1/2 inherited dicts + don't leak a higher worker count into a lower-worker phase. - Use only valid CpSolverParameters proto field names. Unknown keys cause AttributeError → evaluator returns 0 + surfaces invalid_param. - Respect types: bool true/false, int, float, list of strings (subsolver names). - Repeated proto fields (extra_subsolvers, ignore_subsolvers, etc.) accept Python lists; the worker handles del+extend internally. + - Subsolver-mix keys (extra_subsolvers, ignore_subsolvers, diversify_lns_params, + repair_hint, use_feasibility_jump/pump) only meaningfully fire when + num_search_workers > 1 — they are most impactful in phase 3 and beyond. Common CP-SAT knobs worth exploring (non-exhaustive): search/subsolvers: diff --git a/input/cpsat-bench/evolve/final_verify.py b/input/cpsat-bench/evolve/final_verify.py index c2a2603009..4c6d93d03b 100644 --- a/input/cpsat-bench/evolve/final_verify.py +++ b/input/cpsat-bench/evolve/final_verify.py @@ -40,7 +40,7 @@ from baseline_params import BASELINE, LOCKED # noqa: E402 from score import score # noqa: E402 from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, core_range # noqa: E402 +from runtime import parallel_solvers, core_range, alloc_core_blocks # noqa: E402 _BENCH_DIR = _HERE.parent _RAW_DIR = _BENCH_DIR / "raw-data" @@ -51,14 +51,14 @@ _DECISIVE = ("OPTIMAL", "FEASIBLE") -def _load_get_params(program_path): +def _load_program(program_path): spec = importlib.util.spec_from_file_location("program", program_path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) if not hasattr(module, "get_params"): print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) sys.exit(2) - return module.get_params() + return module def _load_problem_index(): @@ -106,9 +106,14 @@ def main(): print(f"ERROR: {program_path} not found", file=sys.stderr) return 2 - variant_params = _load_get_params(program_path) - violations = {k: variant_params.get(k) for k in LOCKED - if variant_params.get(k) != LOCKED[k]} + program = _load_program(program_path) + variant_params = program.get_params() + # Use the program's PHASE_LOCKED if it exposes one (later phases typically + # lock num_search_workers higher than baseline); fall back to global LOCKED. + _phase_locked = getattr(program, "PHASE_LOCKED", None) + _lock = _phase_locked if isinstance(_phase_locked, dict) else LOCKED + violations = {k: variant_params.get(k) for k in _lock + if variant_params.get(k) != _lock[k]} if violations: print(f"ERROR: locked params violated: {violations}", file=sys.stderr) return 2 @@ -119,22 +124,32 @@ def main(): cores = core_range() if cores is None: cores = list(range(1, parallel_solvers(default=1) + 1)) - n_parallel = min(len(cores), len(metas)) - cores = cores[:n_parallel] + workers_per_solve = int(variant_params.get("num_search_workers", 1) or 1) + blocks = alloc_core_blocks(cores, workers_per_solve) + if not blocks: + blocks = [list(cores)] if cores else [None] + n_parallel = min(len(blocks), len(metas)) + blocks = blocks[:n_parallel] + # Baseline run still uses workers=1 (single core). Give it the first core + # of each block so it's pinned within the same NUMA neighborhood as the + # variant for fair comparison. + baseline_cores = [(b[0] if isinstance(b, (list, tuple)) and b else b) for b in blocks] print(f"final verify: {program_path}") print(f" sample : {source}") print(f" params : {len(variant_params)} keys, " f"{sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} differ from BASELINE") - print(f" parallel solvers : {n_parallel} cores={cores}") + print(f" parallel solvers : {n_parallel} variant_workers={workers_per_solve} blocks={blocks}") print(f" per-problem timeout : {TIMEOUT_S}s × 2 (baseline + variant)") print() def _measure(idx_meta): i, meta, pb = idx_meta - core = cores[i % n_parallel] if n_parallel > 0 else None - b = run_cpsat(pb, BASELINE, TIMEOUT_S, cpu_core=core) - v = run_cpsat(pb, variant_params, TIMEOUT_S, cpu_core=core) + slot = i % n_parallel if n_parallel > 0 else 0 + v_core = blocks[slot] if n_parallel > 0 else None + b_core = baseline_cores[slot] if n_parallel > 0 else None + b = run_cpsat(pb, BASELINE, TIMEOUT_S, cpu_core=b_core) + v = run_cpsat(pb, variant_params, TIMEOUT_S, cpu_core=v_core) return i, meta, b, v tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] diff --git a/input/cpsat-bench/evolve/phase1_search/initial_program.py b/input/cpsat-bench/evolve/phase1_search/initial_program.py index e8af25a38e..5d2d578566 100644 --- a/input/cpsat-bench/evolve/phase1_search/initial_program.py +++ b/input/cpsat-bench/evolve/phase1_search/initial_program.py @@ -6,8 +6,12 @@ use_feasibility_jump, use_feasibility_pump Other params stay at BASELINE. -Do NOT modify locked keys (see baseline_params.LOCKED): - random_seed, num_search_workers, timeout_sec +This phase pins num_search_workers=1 (single-worker search) so other knobs +are evaluated without multi-thread / multi-subsolver noise. Phase 3 raises +the worker count to explore subsolver-mix effects. + +Do NOT modify locked keys (see PHASE_LOCKED below + baseline_params.LOCKED): + random_seed, num_search_workers Invalid solver keys cause evaluator to return 0 and surface the offending key. """ import pathlib @@ -19,6 +23,12 @@ from baseline_params import BASELINE # noqa: E402 +PHASE_LOCKED = { + "random_seed": 0, + "num_search_workers": 1, +} + + # EVOLVE-BLOCK-START SEARCH_OVERRIDES = { "extra_subsolvers": ["default_lp", "no_lp"], @@ -33,6 +43,7 @@ def get_params(): p = dict(BASELINE) p.update(SEARCH_OVERRIDES) + p.update(PHASE_LOCKED) # re-enforce phase lock last return p diff --git a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py index d3049bfef5..bd63601882 100644 --- a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py +++ b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py @@ -7,7 +7,10 @@ (LLM may explore other presolve_* / probing_* keys.) Inherits phase1 winners (loaded from shared/phase1_best.json if present). -Do NOT modify locked keys. +Like phase1, num_search_workers stays at 1 — presolve effects must be measured +without multi-worker search masking them. + +Do NOT modify locked keys (random_seed, num_search_workers). """ import json import pathlib @@ -19,6 +22,12 @@ from baseline_params import BASELINE # noqa: E402 +PHASE_LOCKED = { + "random_seed": 0, + "num_search_workers": 1, +} + + def _load_prev(name): p = _SHARED / name if p.exists(): @@ -40,6 +49,7 @@ def get_params(): p = dict(BASELINE) p.update(_PHASE1) p.update(PRESOLVE_OVERRIDES) + p.update(PHASE_LOCKED) # phase1 may have stored workers; re-pin to 1 return p diff --git a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py index b13c67affb..b83c2c2bb5 100644 --- a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py +++ b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py @@ -1,13 +1,23 @@ """ -Phase 3: tune CP-SAT LP / cuts / MIP-bridge knobs. +Phase 3: tune CP-SAT LP / cuts / MIP-bridge AND subsolver-mix knobs. + +Worker count is RAISED to PHASE3_WORKERS (default 8) for this phase: many +subsolvers (max_lp, no_lp, core, quick_restart, reduced_costs, lb_tree_search, +probing_search, …) only activate when num_search_workers is large enough. +Phase 3's job is to find the best subsolver combination + LP/cuts tuning that +works at parallel-search scale. Targeted namespace: - max_num_cuts, cut_level, - mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance -(LLM may explore other linearization_level, *_cuts toggles.) + max_num_cuts, cut_level, linearization_level, + mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance, + extra_subsolvers, ignore_subsolvers, diversify_lns_params, repair_hint +(LLM may explore other *_cuts toggles and subsolver list contents.) + +Inherits phase1+phase2 winners, but num_search_workers is re-pinned to +PHASE3_WORKERS at the end of get_params() — phases 1/2 ran at workers=1 so +their wins still need to be re-validated at workers=PHASE3_WORKERS here. -Inherits phase1+phase2 winners. -Do NOT modify locked keys. +Do NOT modify locked keys (random_seed, num_search_workers). """ import json import pathlib @@ -19,6 +29,14 @@ from baseline_params import BASELINE # noqa: E402 +PHASE3_WORKERS = 8 + +PHASE_LOCKED = { + "random_seed": 0, + "num_search_workers": PHASE3_WORKERS, +} + + def _load_prev(name): p = _SHARED / name if p.exists(): @@ -47,6 +65,7 @@ def get_params(): p.update(_PHASE1) p.update(_PHASE2) p.update(LP_CUTS_OVERRIDES) + p.update(PHASE_LOCKED) # pin workers=PHASE3_WORKERS for this phase return p diff --git a/input/cpsat-bench/evolve/phase4_unified/initial_program.py b/input/cpsat-bench/evolve/phase4_unified/initial_program.py index c1f2cfbadb..2323f85179 100644 --- a/input/cpsat-bench/evolve/phase4_unified/initial_program.py +++ b/input/cpsat-bench/evolve/phase4_unified/initial_program.py @@ -5,7 +5,10 @@ the union of phase{1,2,3}_best.json winners. LLM may then tune all keys jointly. -Do NOT modify locked keys (random_seed, num_search_workers, timeout_sec). +num_search_workers stays at PHASE4_WORKERS (= phase3 setting) so unified +tuning happens at the same parallel-search scale as phase3. + +Do NOT modify locked keys (random_seed, num_search_workers). """ import pathlib import sys @@ -16,6 +19,14 @@ from baseline_params import BASELINE # noqa: E402 +PHASE4_WORKERS = 8 + +PHASE_LOCKED = { + "random_seed": 0, + "num_search_workers": PHASE4_WORKERS, +} + + # EVOLVE-BLOCK-START UNIFIED_OVERRIDES = {} # EVOLVE-BLOCK-END @@ -24,6 +35,7 @@ def get_params(): p = dict(BASELINE) p.update(UNIFIED_OVERRIDES) + p.update(PHASE_LOCKED) return p diff --git a/input/cpsat-bench/evolve/shared/baseline_params.py b/input/cpsat-bench/evolve/shared/baseline_params.py index ceac7d1717..f6608e6769 100644 --- a/input/cpsat-bench/evolve/shared/baseline_params.py +++ b/input/cpsat-bench/evolve/shared/baseline_params.py @@ -9,17 +9,27 @@ (scheduler) — NOT real CpSolverParameters proto fields. Including them would make every variant fail with invalid_param. Dropped from BASELINE and from LOCKED; the worker also has both in its _DROP set as belt+braces. + +Worker-count policy (2026-05 revision): + - BASELINE.num_search_workers = 1 (minimum) so phases 1+2 isolate other + knobs from parallel-search noise. + - Each phase declares its own PHASE_LOCKED in its initial_program.py, + pinning num_search_workers to the phase-specific value. Phase 3 raises + it (typically 8) to let the LLM explore subsolver variations that only + activate with multi-worker search. + - Global LOCKED only enforces random_seed; worker count is enforced per-phase. """ BASELINE = { - "num_search_workers": 8, + "num_search_workers": 1, "random_seed": 0, "interleave_search": True, } +# Global locks enforced for all phases. Per-phase locks (incl. num_search_workers) +# live in each phase's initial_program.py as PHASE_LOCKED. LOCKED = { "random_seed": 0, - "num_search_workers": 8, } diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index fdf8d8472f..78f2093448 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -28,7 +28,9 @@ from baseline_params import BASELINE, LOCKED # noqa: E402 from score import score # noqa: E402 from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, cascade_threshold, core_range # noqa: E402 +from runtime import ( # noqa: E402 + parallel_solvers, cascade_threshold, core_range, alloc_core_blocks, +) from openevolve.evaluation_result import EvaluationResult # noqa: E402 @@ -153,13 +155,17 @@ def _evaluate(program_path, problems, stage_name): "full_traceback": traceback.format_exc()[-2000:], "stage": stage_name}, ) - violations = {k: params.get(k) for k in LOCKED if params.get(k) != LOCKED[k]} + # Per-phase lock (worker count varies by phase) overrides the global lock. + phase_locked = getattr(program, "PHASE_LOCKED", None) + locked = phase_locked if isinstance(phase_locked, dict) else LOCKED + violations = {k: params.get(k) for k in locked if params.get(k) != locked[k]} if violations: return _err_result( {"error": "locked params violated"}, - {"locked_violated": violations, "locked_expected": LOCKED, + {"locked_violated": violations, "locked_expected": locked, "stage": stage_name, - "suggestion": "Do not modify locked keys (see baseline_params.LOCKED)."}, + "suggestion": "Do not modify locked keys (see PHASE_LOCKED in " + "this phase's initial_program.py)."}, ) if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: @@ -176,14 +182,25 @@ def _evaluate(program_path, problems, stage_name): import queue as _queue # Core pool: OPENEVOLVE_CORE_RANGE (e.g. "2-7") overrides; else # cores 1..parallel_solvers() (core 0 reserved for kernel housekeeping). + # + # When params["num_search_workers"] = W > 1, each variant solve needs W + # cores. We floor-chunk the core list into W-sized blocks; concurrency = + # number of blocks. Leftover cores at the tail are dropped to keep every + # solve's CPU budget identical (comparable timings). _cores = core_range() if _cores is None: _cores = list(range(1, parallel_solvers(default=1) + 1)) - n_parallel = min(len(_cores), len(problems)) - _cores = _cores[:n_parallel] + workers_per_solve = int(params.get("num_search_workers", 1) or 1) + _blocks = alloc_core_blocks(_cores, workers_per_solve) + if not _blocks: + # Not enough cores for even one block at workers_per_solve. Fall back + # to a single block of all available cores (still respect taskset pin). + _blocks = [list(_cores)] if _cores else [None] + n_parallel = min(len(_blocks), len(problems)) + _blocks = _blocks[:n_parallel] _core_pool = _queue.Queue() - for _c in _cores: - _core_pool.put(_c) + for _b in _blocks: + _core_pool.put(_b) def _solve(idx_p): idx, p = idx_p @@ -231,6 +248,16 @@ def _regression_err(p, r): }, ) + def _fmt_core(c): + if c is None: + return "-" + if isinstance(c, (list, tuple)): + return ",".join(str(x) for x in c) if c else "-" + return str(c) + + print(f" [{stage_name}] workers/solve={workers_per_solve} " + f"core_blocks={[_fmt_core(b) for b in _blocks]}", flush=True) + by_idx = {} abort = None if n_parallel == 1: @@ -238,7 +265,7 @@ def _regression_err(p, r): idx, p, r, core, timeout_s = _solve(pair) print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={core})", flush=True) + f"(core={_fmt_core(core)})", flush=True) if "invalid_param" in r: return _invalid_err(r) if _is_regression(p, r): @@ -257,7 +284,7 @@ def _regression_err(p, r): idx, p, r, core, timeout_s = fut.result() print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={core})", flush=True) + f"(core={_fmt_core(core)})", flush=True) if "invalid_param" in r: abort = ("invalid", p, r) elif _is_regression(p, r): diff --git a/input/cpsat-bench/evolve/shared/runtime.py b/input/cpsat-bench/evolve/shared/runtime.py index ba708c1055..0f15616ab7 100644 --- a/input/cpsat-bench/evolve/shared/runtime.py +++ b/input/cpsat-bench/evolve/shared/runtime.py @@ -15,6 +15,7 @@ from _lib import runtime as _rt # noqa: E402 core_range = _rt.core_range +alloc_core_blocks = _rt.alloc_core_blocks def parallel_solvers(default=1): From b55056183389c07ddb14bc919d53c4a647b49764 Mon Sep 17 00:00:00 2001 From: hdson Date: Fri, 22 May 2026 11:03:51 +0900 Subject: [PATCH 22/42] fix rebase logic --- input/cpsat-bench/evolve/rebaseline_local.py | 267 ++++++++++++++----- input/cpsat-bench/evolve/shared/evaluator.py | 68 ++++- input/run_phase.sh | 78 +++++- 3 files changed, 330 insertions(+), 83 deletions(-) diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py index 3cae20787c..68d0542458 100644 --- a/input/cpsat-bench/evolve/rebaseline_local.py +++ b/input/cpsat-bench/evolve/rebaseline_local.py @@ -5,18 +5,46 @@ objective_value — the last is critical for cost-mode scoring (variant cost needs a baseline_obj to ratio against). +MULTI-WORKER BASELINES (2026-05 revision): + Each phase's initial_program.py pins num_search_workers via PHASE_LOCKED. + Comparing a workers=8 variant against a workers=1 baseline conflates + param-tuning gain with multi-thread parallelism gain. To keep speedup + honest, we capture one baseline PER unique worker count discovered across + the phase files, and store them under `by_workers` in the output. + + Auto-discovery: walks sibling phase*_*/initial_program.py and unions every + PHASE_LOCKED["num_search_workers"]. Override with --workers 1,8 if needed. + +Output schema (shared/local_baseline.json): + { + "": { + "raw_result": "OPTIMAL", + "raw_elapsed_ms": 4321, + "by_workers": { + "1": {"elapsed_ms": ..., "result": ..., "stats": {...}, + "objective": ..., "matches_raw": true}, + "8": {"elapsed_ms": ..., "result": ..., "stats": {...}, + "objective": ..., "matches_raw": true} + } + } + } + Wall-clock varies by hardware / ortools version. raw-data timings were recorded elsewhere; evaluator overlays this local file so per-problem timeout = baseline_ms * 1.3 and speedup = local_baseline_ms / variant_ms -are calibrated for this box. +are calibrated for this box AND for the variant's worker count. Per-problem timeout = REBASELINE_TIMEOUT_S (1 hr safety floor). Never cut a baseline run short — a truncated baseline poisons every variant comparison. -Concurrency = config parallel_solvers (env OPENEVOLVE_PARALLEL_SOLVERS override). +Concurrency = floor(len(core_pool) / W) per worker count. W=1 fills the +pool fully; W=8 typically runs sequentially on small hosts. """ +import argparse +import importlib.util import json import pathlib +import queue as _queue import sys import time from concurrent.futures import ThreadPoolExecutor, as_completed @@ -26,7 +54,7 @@ from baseline_params import BASELINE # noqa: E402 from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, core_range # noqa: E402 +from runtime import parallel_solvers, core_range, alloc_core_blocks # noqa: E402 _BENCH_DIR = _HERE.parent _RAW_DIR = _BENCH_DIR / "raw-data" @@ -78,7 +106,113 @@ def _load_target_shas(): return ids +def _discover_phase_workers(): + """Union of PHASE_LOCKED['num_search_workers'] across sibling phase dirs. + + Returns sorted list of unique worker counts (defaults to [1] if nothing + discovered, so the script still produces a usable baseline).""" + workers = set() + for prog in sorted(_HERE.glob("phase*_*/initial_program.py")): + try: + spec = importlib.util.spec_from_file_location(prog.parent.name, prog) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + except Exception as e: + print(f"WARN: failed to load {prog.relative_to(_HERE)}: {e}", + file=sys.stderr) + continue + pl = getattr(mod, "PHASE_LOCKED", None) + if isinstance(pl, dict) and "num_search_workers" in pl: + try: + workers.add(int(pl["num_search_workers"])) + except (TypeError, ValueError): + pass + return sorted(workers) if workers else [1] + + +def _parse_workers_arg(s): + out = [] + for tok in s.split(","): + tok = tok.strip() + if not tok: + continue + try: + w = int(tok) + except ValueError: + raise SystemExit(f"--workers: bad integer {tok!r}") + if w < 1: + raise SystemExit(f"--workers: {w} must be >= 1") + if w not in out: + out.append(w) + if not out: + raise SystemExit("--workers: empty list") + return sorted(out) + + +def _measure_at_workers(tasks, w, cores): + """Run baseline for one worker count W across all tasks. Returns + list of (i, meta, res, core_block) tuples in submission order.""" + blocks = alloc_core_blocks(cores, w) + if not blocks: + blocks = [list(cores)] if cores else [None] + n_parallel = min(len(blocks), len(tasks)) + blocks = blocks[:n_parallel] + + pool = _queue.Queue() + for b in blocks: + pool.put(b) + + params = dict(BASELINE) + params["num_search_workers"] = w + + def _fmt(b): + if isinstance(b, (list, tuple)): + return ",".join(str(x) for x in b) + return str(b) if b is not None else "-" + + print(f" workers={w}: parallel={n_parallel} blocks={[_fmt(b) for b in blocks]}", + flush=True) + + def _solve(task): + i, meta, path = task + block = pool.get() + try: + res = run_cpsat(path, params, REBASELINE_TIMEOUT_S, cpu_core=block) + finally: + pool.put(block) + return i, meta, res, block + + out = [] + if n_parallel == 1: + for task in tasks: + out.append(_solve(task)) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_solve, t) for t in tasks] + for fut in as_completed(futures): + out.append(fut.result()) + out.sort(key=lambda x: x[0]) + return out + + def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + ap.add_argument( + "--workers", + type=str, + default=None, + help="comma-separated worker counts (e.g. '1,8'). Default: union of " + "PHASE_LOCKED['num_search_workers'] across sibling phase dirs.", + ) + args = ap.parse_args() + + if args.workers: + worker_counts = _parse_workers_arg(args.workers) + print(f"[rebaseline] worker counts (from --workers): {worker_counts}") + else: + worker_counts = _discover_phase_workers() + print(f"[rebaseline] worker counts (auto-discovered): {worker_counts}") + shas = _load_target_shas() idx = _load_problem_index() @@ -94,88 +228,75 @@ def main(): return 2 tasks.append((i, meta, path)) - import queue as _queue cores = core_range() if cores is None: cores = list(range(1, parallel_solvers(default=1) + 1)) - n_parallel = min(len(cores), len(tasks)) - cores = cores[:n_parallel] - print(f"rebaselining union of stage{{1,2,3,4}}_sample.json: {len(tasks)} problems") - print(f"timeout per problem = {REBASELINE_TIMEOUT_S}s (never cut short), " - f"parallel={n_parallel} cores={cores}") - print() - - _core_pool = _queue.Queue() - for _c in cores: - _core_pool.put(_c) - def _solve(task): - i, meta, path = task - core = _core_pool.get() - try: - res = run_cpsat(path, BASELINE, REBASELINE_TIMEOUT_S, cpu_core=core) - finally: - _core_pool.put(core) - return i, meta, res, core + print(f"rebaselining union of stage{{1,2,3,4}}_sample.json: " + f"{len(tasks)} problems × {len(worker_counts)} worker counts") + print(f" per-problem timeout = {REBASELINE_TIMEOUT_S}s (never cut short), " + f"core pool = {cores}") + print() - t_start = time.monotonic() - completed = [] - if n_parallel == 1: - for task in tasks: - completed.append(_solve(task)) - else: - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_solve, t) for t in tasks] - for fut in as_completed(futures): - completed.append(fut.result()) - completed.sort(key=lambda x: x[0]) - - out = {} - mismatch = 0 - for i, meta, res, core in completed: - got_result = res.get("result", "Unknown") - got_ms = int(res.get("elapsed_ms", 0)) - invalid = res.get("invalid_param") - ok = (got_result == meta["raw_result"]) and not invalid - if not ok: - mismatch += 1 - - if invalid: - flag = f" INVALID_PARAM={invalid}" - elif ok: - flag = "" - else: - flag = " MISMATCH" - ratio = got_ms / max(meta["raw_ms"], 1) - print( - f" [{i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " - f"raw={meta['raw_result']:<10}/{int(meta['raw_ms']):>7}ms " - f"local={got_result:<10}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " - f"core={core}", - flush=True, - ) - - entry = { - "elapsed_ms": got_ms, - "result": got_result, - "matches_raw": ok, + # results[sha]["by_workers"][str(w)] = {...} + results = {} + for meta in (m for _, m, _ in tasks): + results[meta["sha"]] = { + "raw_result": meta["raw_result"], "raw_elapsed_ms": meta["raw_ms"], - "stats": res.get("stats") or {}, + "by_workers": {}, } - if "objective" in res: - entry["objective"] = res["objective"] - out[meta["sha"]] = entry + + t_start = time.monotonic() + mismatch_total = 0 + for w in worker_counts: + completed = _measure_at_workers(tasks, w, cores) + for i, meta, res, block in completed: + got_result = res.get("result", "Unknown") + got_ms = int(res.get("elapsed_ms", 0)) + invalid = res.get("invalid_param") + ok = (got_result == meta["raw_result"]) and not invalid + if not ok: + mismatch_total += 1 + + if invalid: + flag = f" INVALID_PARAM={invalid}" + elif ok: + flag = "" + else: + flag = " MISMATCH" + ratio = got_ms / max(meta["raw_ms"], 1) + block_str = (",".join(str(x) for x in block) + if isinstance(block, (list, tuple)) else str(block)) + print( + f" [W={w} {i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " + f"raw={meta['raw_result']:<10}/{int(meta['raw_ms']):>7}ms " + f"local={got_result:<10}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " + f"cores={block_str}", + flush=True, + ) + + entry = { + "elapsed_ms": got_ms, + "result": got_result, + "matches_raw": ok, + "stats": res.get("stats") or {}, + } + if "objective" in res: + entry["objective"] = res["objective"] + results[meta["sha"]]["by_workers"][str(w)] = entry elapsed = time.monotonic() - t_start - _OUT.write_text(json.dumps(out, indent=2) + "\n") + _OUT.write_text(json.dumps(results, indent=2) + "\n") print() print(f"wrote {_OUT.relative_to(_BENCH_DIR.parent)} " - f"({len(out)} entries, {mismatch} mismatches)") + f"({len(results)} entries × {len(worker_counts)} W = " + f"{len(results) * len(worker_counts)} runs, {mismatch_total} mismatches)") print(f"total time: {elapsed:.1f}s") - if mismatch: - print(f"WARNING: {mismatch} problems had result mismatch — " - f"evaluator will keep raw_ms for those") - return 0 if mismatch == 0 else 1 + if mismatch_total: + print(f"WARNING: {mismatch_total} (problem, W) pairs had result mismatch — " + f"evaluator will fall back to raw_ms for those.") + return 0 if mismatch_total == 0 else 1 if __name__ == "__main__": diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 78f2093448..bb60554f46 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -56,7 +56,34 @@ def _load_program(path): return module -def _load_problems(): +def _pick_local_baseline(lo_entry, workers): + """Select the right local baseline entry for `workers`. + + New schema: {"by_workers": {"1": {...}, "8": {...}}, ...}. + Legacy schema (flat keys: elapsed_ms/stats/objective/matches_raw) is + treated as workers=1 measurement. + + Returns the inner dict (with matches_raw/elapsed_ms/stats/objective) + or None if no usable entry exists for that worker count. + """ + if not isinstance(lo_entry, dict): + return None + bw = lo_entry.get("by_workers") + if isinstance(bw, dict) and bw: + key = str(int(workers)) + if key in bw: + return bw[key] + # No exact match. Return None so caller falls back to raw_ms; we + # intentionally do NOT cross-substitute (e.g. W=8 → W=1) because the + # whole point of by_workers is to keep speedup ratios honest. + return None + # Legacy flat schema — treat as W=1 only. + if "elapsed_ms" in lo_entry and int(workers) == 1: + return lo_entry + return None + + +def _load_problems(workers=1): local = {} if _LOCAL_BASELINE.exists(): local = json.loads(_LOCAL_BASELINE.read_text()) @@ -69,7 +96,7 @@ def _load_problems(): baseline_result = (d.get("cpsat_status") or {}).get("result") baseline_stats = d.get("cpsat_response_stats") or {} baseline_objective = (d.get("cpsat_status") or {}).get("objective_value") - lo = local.get(sha) + lo = _pick_local_baseline(local.get(sha), workers) if lo and lo.get("matches_raw"): baseline_ms = lo["elapsed_ms"] baseline_stats = lo.get("stats") or baseline_stats @@ -351,25 +378,51 @@ def _fmt_core(c): return EvaluationResult(metrics=metrics, artifacts=artifacts) +def _peek_workers(program_path): + """Resolve num_search_workers for baseline lookup BEFORE running _evaluate. + + Prefer PHASE_LOCKED (authoritative); fall back to get_params(). On any + failure, return 1 — _evaluate's own program-load handles the real error + reporting later.""" + try: + program = _load_program(program_path) + except Exception: + return 1 + pl = getattr(program, "PHASE_LOCKED", None) + if isinstance(pl, dict) and "num_search_workers" in pl: + try: + return int(pl["num_search_workers"]) + except (TypeError, ValueError): + pass + try: + params = program.get_params() + return int(params.get("num_search_workers", 1) or 1) + except Exception: + return 1 + + def evaluate_stage1(program_path): - return _evaluate(program_path, _filter_stage1(_load_problems()), "stage1") + w = _peek_workers(program_path) + return _evaluate(program_path, _filter_stage1(_load_problems(w)), "stage1") def evaluate_stage2(program_path): - return _evaluate(program_path, _filter_stage2(_load_problems()), "stage2") + w = _peek_workers(program_path) + return _evaluate(program_path, _filter_stage2(_load_problems(w)), "stage2") def evaluate_stage3(program_path): # openevolve cascade hardcodes 3 stages, so user-stage4 (broad runtime # sample) is chained inside stage3 via the runtime cascade_threshold gate. - problems3 = _filter_stage3(_load_problems()) + w = _peek_workers(program_path) + problems3 = _filter_stage3(_load_problems(w)) r3 = _evaluate(program_path, problems3, "stage3") if not isinstance(r3, EvaluationResult): return r3 gate = cascade_threshold(2, default=1.03) if r3.metrics.get("combined_score", 0.0) < gate: return r3 - problems4 = _filter_stage4(_load_problems()) + problems4 = _filter_stage4(_load_problems(w)) r4 = _evaluate(program_path, problems4, "stage4") if not isinstance(r4, EvaluationResult): return r4 @@ -380,7 +433,8 @@ def evaluate_stage3(program_path): def evaluate_stage4(program_path): # Standalone entry for manual / final-verify use. Not invoked by cascade. - problems = _filter_stage4(_load_problems()) + w = _peek_workers(program_path) + problems = _filter_stage4(_load_problems(w)) return _evaluate(program_path, problems, "stage4") diff --git a/input/run_phase.sh b/input/run_phase.sh index f33181ca4c..1d0bd786d8 100755 --- a/input/run_phase.sh +++ b/input/run_phase.sh @@ -162,10 +162,82 @@ if [ "$EXTRACT_ONLY" != "1" ]; then fi if [ -f "$ROOT/$REBASELINE_SCRIPT" ]; then - if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ -f "$ROOT/shared/local_baseline.json" ]; then + # Bench-specific: if phase initial_program.py files declare PHASE_LOCKED + # with num_search_workers, the rebaseline script captures one baseline + # per unique W. SKIP_REBASELINE=1 only reuses an existing file when its + # schema covers every required W; legacy/incomplete files force a + # fresh rebaseline. + rebaseline_needed=0 + if [ ! -f "$ROOT/shared/local_baseline.json" ]; then + rebaseline_needed=1 + reason="missing local_baseline.json" + else + # Determine required worker counts from phase modules. Returns + # space-separated ints (e.g. "1 8") or empty if none declared. + REQ_WORKERS="$( + python - "$ROOT" <<'PY' +import importlib.util +import pathlib +import sys +root = pathlib.Path(sys.argv[1]) +workers = set() +for prog in sorted(root.glob("phase*_*/initial_program.py")): + try: + spec = importlib.util.spec_from_file_location(prog.parent.name, prog) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + except Exception: + continue + pl = getattr(mod, "PHASE_LOCKED", None) + if isinstance(pl, dict) and "num_search_workers" in pl: + try: + workers.add(int(pl["num_search_workers"])) + except (TypeError, ValueError): + pass +print(" ".join(str(w) for w in sorted(workers))) +PY + )" + if [ -n "$REQ_WORKERS" ]; then + # Check that local_baseline.json's by_workers covers each W. + MISSING="$( + python - "$ROOT/shared/local_baseline.json" "$REQ_WORKERS" <<'PY' +import json +import sys +path, req = sys.argv[1], sys.argv[2].split() +try: + data = json.load(open(path)) +except Exception: + print("unreadable") + sys.exit(0) +if not isinstance(data, dict) or not data: + print("empty") + sys.exit(0) +missing = [] +for w in req: + covered = False + for v in data.values(): + if isinstance(v, dict) and isinstance(v.get("by_workers"), dict) and w in v["by_workers"]: + covered = True + break + if not covered: + missing.append(w) +print(",".join(missing)) +PY + )" + if [ "$MISSING" = "unreadable" ] || [ "$MISSING" = "empty" ]; then + rebaseline_needed=1 + reason="local_baseline.json $MISSING" + elif [ -n "$MISSING" ]; then + rebaseline_needed=1 + reason="local_baseline.json missing worker counts: $MISSING (required: $REQ_WORKERS)" + fi + fi + fi + + if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ "$rebaseline_needed" = "0" ]; then echo "[run_phase] SKIP_REBASELINE=1 — reusing existing local_baseline.json" - elif [ "${SKIP_REBASELINE:-0}" = "1" ]; then - echo "[run_phase] SKIP_REBASELINE=1 but local_baseline.json missing — running $REBASELINE_SCRIPT..." + elif [ "${SKIP_REBASELINE:-0}" = "1" ] && [ "$rebaseline_needed" = "1" ]; then + echo "[run_phase] SKIP_REBASELINE=1 but $reason — forcing rebaseline." python "$ROOT/$REBASELINE_SCRIPT" || \ echo "warning: $REBASELINE_SCRIPT finished with mismatches; evaluator falls back to raw_ms for those." else From d484866d0b1d217792fdf151fc53d34254802a8d Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 26 May 2026 14:08:10 +0900 Subject: [PATCH 23/42] [feat] add statistics for cp-sat --- input/cpsat-bench/Statistics/analyze.py | 462 +++++++++++++++++ .../Statistics/analyze_outliers.py | 466 ++++++++++++++++++ .../Statistics/outliers_report.txt | 82 +++ input/cpsat-bench/Statistics/outliers_top.csv | 31 ++ input/cpsat-bench/Statistics/per_instance.csv | 431 ++++++++++++++++ .../Statistics/plots/01_runtime_hist.png | Bin 0 -> 28111 bytes .../Statistics/plots/02_features_hist.png | Bin 0 -> 39650 bytes .../plots/03_runtime_vs_size_scatter.png | Bin 0 -> 134188 bytes .../Statistics/plots/04_box_by_status.png | Bin 0 -> 27562 bytes .../Statistics/plots/05_box_by_hash.png | Bin 0 -> 76659 bytes .../plots/06_heatmap_vars_constraints.png | Bin 0 -> 29040 bytes .../Statistics/plots/07_residual_scatter.png | Bin 0 -> 93573 bytes .../plots/08_outlier_constraint_kinds.png | Bin 0 -> 32677 bytes input/cpsat-bench/Statistics/report.txt | 61 +++ 14 files changed, 1533 insertions(+) create mode 100644 input/cpsat-bench/Statistics/analyze.py create mode 100644 input/cpsat-bench/Statistics/analyze_outliers.py create mode 100644 input/cpsat-bench/Statistics/outliers_report.txt create mode 100644 input/cpsat-bench/Statistics/outliers_top.csv create mode 100644 input/cpsat-bench/Statistics/per_instance.csv create mode 100644 input/cpsat-bench/Statistics/plots/01_runtime_hist.png create mode 100644 input/cpsat-bench/Statistics/plots/02_features_hist.png create mode 100644 input/cpsat-bench/Statistics/plots/03_runtime_vs_size_scatter.png create mode 100644 input/cpsat-bench/Statistics/plots/04_box_by_status.png create mode 100644 input/cpsat-bench/Statistics/plots/05_box_by_hash.png create mode 100644 input/cpsat-bench/Statistics/plots/06_heatmap_vars_constraints.png create mode 100644 input/cpsat-bench/Statistics/plots/07_residual_scatter.png create mode 100644 input/cpsat-bench/Statistics/plots/08_outlier_constraint_kinds.png create mode 100644 input/cpsat-bench/Statistics/report.txt diff --git a/input/cpsat-bench/Statistics/analyze.py b/input/cpsat-bench/Statistics/analyze.py new file mode 100644 index 0000000000..fec46c2e35 --- /dev/null +++ b/input/cpsat-bench/Statistics/analyze.py @@ -0,0 +1,462 @@ +#!/usr/bin/env python3 +"""CP-SAT raw-data statistical analysis + visualization. + +Scans ../raw-data/*.meta.jsonl and produces: + - report.txt : text report with distributions + correlations + - per_instance.csv : flat table for spreadsheet exploration + - plots/*.png : histograms, scatters, boxplots, heatmap + +Metrics analyzed: + - cpsat_status.elapsed_ms (runtime) + - features.num_variables / num_bool / num_int + - features.num_constraints + +Usage: + .venv/bin/python Statistics/analyze.py + .venv/bin/python Statistics/analyze.py --raw-dir --out +""" + +from __future__ import annotations + +import argparse +import csv +import json +import math +import sys +from collections import defaultdict +from pathlib import Path +from typing import Iterable + +import numpy as np +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt +from matplotlib.colors import LogNorm + +HERE = Path(__file__).resolve().parent +DEFAULT_RAW = HERE.parent / "raw-data" +DEFAULT_OUT = HERE + + +# ---------- loading ---------- + +def load_meta(raw_dir: Path) -> list[dict]: + rows: list[dict] = [] + for path in sorted(raw_dir.glob("*.meta.jsonl")): + with path.open() as f: + for line in f: + line = line.strip() + if not line: + continue + try: + rows.append(json.loads(line)) + except json.JSONDecodeError as e: + print(f"WARN bad json {path.name}: {e}", file=sys.stderr) + return rows + + +def extract(rows: list[dict]) -> list[dict]: + out = [] + for r in rows: + feats = r.get("features") or {} + status = r.get("cpsat_status") or {} + applied = r.get("cpsat_applied_params") or {} + stats = r.get("cpsat_response_stats") or {} + out.append( + { + "problem_sha256": r.get("problem_sha256"), + "applied_params_hash": r.get("applied_params_hash"), + "status": status.get("result"), + "elapsed_ms": status.get("elapsed_ms"), + "num_variables": feats.get("num_variables"), + "num_bool": feats.get("num_bool"), + "num_int": feats.get("num_int"), + "num_constraints": feats.get("num_constraints"), + "num_workers": applied.get("num_search_workers"), + "num_conflicts": stats.get("num_conflicts"), + "num_branches": stats.get("num_branches"), + "deterministic_time": stats.get("deterministic_time"), + } + ) + return out + + +# ---------- stats ---------- + +def summarize(values: Iterable, label: str) -> dict: + arr = np.array( + [v for v in values if v is not None and not (isinstance(v, float) and math.isnan(v))], + dtype=float, + ) + if arr.size == 0: + return {"label": label, "count": 0} + return { + "label": label, + "count": int(arr.size), + "mean": float(arr.mean()), + "std": float(arr.std(ddof=1)) if arr.size > 1 else 0.0, + "min": float(arr.min()), + "p25": float(np.percentile(arr, 25)), + "median": float(np.percentile(arr, 50)), + "p75": float(np.percentile(arr, 75)), + "p95": float(np.percentile(arr, 95)), + "max": float(arr.max()), + "sum": float(arr.sum()), + } + + +def _fmt(v) -> str: + if isinstance(v, float): + if abs(v) >= 1000: + return f"{v:,.1f}" + return f"{v:.3f}" + return str(v) + + +def table(summaries: list[dict]) -> str: + cols = ["label", "count", "mean", "std", "min", "p25", "median", "p75", "p95", "max"] + widths = {c: max(len(c), 10) for c in cols} + for s in summaries: + for c in cols: + widths[c] = max(widths[c], len(_fmt(s.get(c, "")))) + lines = [] + lines.append(" | ".join(c.rjust(widths[c]) for c in cols)) + lines.append("-+-".join("-" * widths[c] for c in cols)) + for s in summaries: + lines.append(" | ".join(_fmt(s.get(c, "")).rjust(widths[c]) for c in cols)) + return "\n".join(lines) + + +def correlations(records: list[dict]) -> dict: + def pairs(key: str): + xs, ys = [], [] + for r in records: + x, y = r.get(key), r.get("elapsed_ms") + if x is None or y is None: + continue + xs.append(x) + ys.append(y) + return np.array(xs, dtype=float), np.array(ys, dtype=float) + + out = {} + for key in ( + "num_variables", + "num_bool", + "num_int", + "num_constraints", + "num_conflicts", + "num_branches", + ): + x, y = pairs(key) + if x.size < 2 or np.std(x) == 0 or np.std(y) == 0: + out[key] = {"n": int(x.size), "pearson": None, "spearman": None} + continue + pearson = float(np.corrcoef(x, y)[0, 1]) + rx = np.argsort(np.argsort(x)) + ry = np.argsort(np.argsort(y)) + spearman = float(np.corrcoef(rx, ry)[0, 1]) + out[key] = {"n": int(x.size), "pearson": pearson, "spearman": spearman} + return out + + +def status_breakdown(records: list[dict]) -> dict[str, int]: + counts: dict[str, int] = defaultdict(int) + for r in records: + counts[r.get("status") or "UNKNOWN"] += 1 + return dict(sorted(counts.items(), key=lambda kv: -kv[1])) + + +def per_hash_groups(records: list[dict]) -> list[tuple[str, list[dict]]]: + groups: dict[str, list[dict]] = defaultdict(list) + for r in records: + groups[r.get("applied_params_hash") or "UNKNOWN"].append(r) + return sorted(groups.items(), key=lambda kv: -len(kv[1])) + + +def write_report(records: list[dict], out_path: Path) -> None: + lines: list[str] = [] + lines.append("# CP-SAT raw-data statistical report") + lines.append(f"instances: {len(records)}") + lines.append( + f"unique problems: {len({r['problem_sha256'] for r in records if r.get('problem_sha256')})}" + ) + lines.append( + f"unique applied_params_hash: {len({r['applied_params_hash'] for r in records if r.get('applied_params_hash')})}" + ) + + lines.append("\n## Status breakdown") + for k, v in status_breakdown(records).items(): + lines.append(f" {k:12s} {v}") + + lines.append("\n## Overall distributions") + metrics = [ + ("elapsed_ms", [r["elapsed_ms"] for r in records]), + ("num_variables", [r["num_variables"] for r in records]), + ("num_bool", [r["num_bool"] for r in records]), + ("num_int", [r["num_int"] for r in records]), + ("num_constraints", [r["num_constraints"] for r in records]), + ] + lines.append(table([summarize(vs, name) for name, vs in metrics])) + + lines.append("\n## Runtime correlations (Pearson / Spearman vs elapsed_ms)") + corr = correlations(records) + lines.append(f"{'feature':22s} {'n':>6s} {'pearson':>10s} {'spearman':>10s}") + for k, v in corr.items(): + p = f"{v['pearson']:.4f}" if v["pearson"] is not None else "n/a" + s = f"{v['spearman']:.4f}" if v["spearman"] is not None else "n/a" + lines.append(f"{k:22s} {v['n']:>6d} {p:>10s} {s:>10s}") + + lines.append("\n## Per applied_params_hash") + for h, recs in per_hash_groups(records): + lines.append(f"\n### hash={h} n={len(recs)}") + sub = [ + ("elapsed_ms", [r["elapsed_ms"] for r in recs]), + ("num_variables", [r["num_variables"] for r in recs]), + ("num_constraints", [r["num_constraints"] for r in recs]), + ] + lines.append(table([summarize(vs, name) for name, vs in sub])) + sb = status_breakdown(recs) + lines.append(" status: " + ", ".join(f"{k}={v}" for k, v in sb.items())) + + # size-bucketed runtime + arr = np.array([r["num_variables"] for r in records if r.get("num_variables") is not None], dtype=float) + if arr.size: + edges = np.percentile(arr, [0, 25, 50, 75, 100]) + lines.append("\n## Runtime by num_variables quartile") + lines.append(f"edges: {[int(e) for e in edges]}") + sums = [] + for i in range(4): + lo, hi = edges[i], edges[i + 1] + bucket = [] + for r in records: + v, ms = r.get("num_variables"), r.get("elapsed_ms") + if v is None or ms is None: + continue + in_range = lo <= v <= hi if i == 3 else lo <= v < hi + if in_range: + bucket.append(ms) + sums.append(summarize(bucket, f"Q{i + 1}[{int(lo)}..{int(hi)}]")) + lines.append(table(sums)) + + out_path.write_text("\n".join(lines) + "\n") + print(f"wrote {out_path}") + + +def write_csv(records: list[dict], path: Path) -> None: + if not records: + return + fields = list(records[0].keys()) + with path.open("w", newline="") as f: + w = csv.DictWriter(f, fieldnames=fields) + w.writeheader() + for r in records: + w.writerow(r) + print(f"wrote {path}") + + +# ---------- viz ---------- + +STATUS_COLORS = { + "OPTIMAL": "#1f77b4", + "FEASIBLE": "#2ca02c", + "INFEASIBLE": "#d62728", + "UNKNOWN": "#7f7f7f", + "MODEL_INVALID": "#ff7f0e", +} + + +def _color_for(status: str | None) -> str: + return STATUS_COLORS.get(status or "UNKNOWN", "#9467bd") + + +def _safe_log_array(values, floor=1e-6): + arr = np.array([v for v in values if v is not None and v > 0], dtype=float) + arr[arr <= 0] = floor + return arr + + +def plot_hist_runtime(records, out: Path) -> None: + vals = _safe_log_array([r["elapsed_ms"] for r in records]) + if vals.size == 0: + return + fig, ax = plt.subplots(figsize=(8, 5)) + bins = np.logspace(np.log10(max(vals.min(), 1.0)), np.log10(vals.max()), 40) + ax.hist(vals, bins=bins, color="#1f77b4", edgecolor="black", alpha=0.85) + ax.set_xscale("log") + ax.set_xlabel("elapsed_ms (log)") + ax.set_ylabel("count") + ax.set_title(f"Runtime distribution (n={vals.size})") + ax.axvline(np.median(vals), color="red", linestyle="--", label=f"median={np.median(vals):.0f} ms") + ax.axvline(np.mean(vals), color="orange", linestyle="--", label=f"mean={np.mean(vals):.0f} ms") + ax.legend() + fig.tight_layout() + fig.savefig(out, dpi=120) + plt.close(fig) + + +def plot_hist_features(records, out: Path) -> None: + fig, axes = plt.subplots(1, 3, figsize=(15, 4.5)) + spec = [ + ("num_variables", "#1f77b4"), + ("num_bool", "#2ca02c"), + ("num_constraints", "#d62728"), + ] + for ax, (key, color) in zip(axes, spec): + vals = np.array( + [r[key] for r in records if r.get(key) is not None and r[key] > 0], + dtype=float, + ) + if vals.size == 0: + ax.set_title(f"{key} (empty)") + continue + bins = np.logspace(np.log10(max(vals.min(), 1.0)), np.log10(vals.max()), 30) + ax.hist(vals, bins=bins, color=color, edgecolor="black", alpha=0.85) + ax.set_xscale("log") + ax.set_xlabel(f"{key} (log)") + ax.set_ylabel("count") + ax.set_title(f"{key} (median={int(np.median(vals)):,})") + fig.tight_layout() + fig.savefig(out, dpi=120) + plt.close(fig) + + +def plot_scatter_runtime(records, out: Path) -> None: + fig, axes = plt.subplots(1, 2, figsize=(13, 5.5)) + for ax, key in zip(axes, ("num_variables", "num_constraints")): + xs, ys, cs = [], [], [] + for r in records: + x, y = r.get(key), r.get("elapsed_ms") + if x is None or y is None or x <= 0 or y <= 0: + continue + xs.append(x) + ys.append(y) + cs.append(_color_for(r.get("status"))) + ax.scatter(xs, ys, c=cs, alpha=0.7, s=22, edgecolors="black", linewidths=0.3) + ax.set_xscale("log") + ax.set_yscale("log") + ax.set_xlabel(f"{key} (log)") + ax.set_ylabel("elapsed_ms (log)") + if len(xs) > 2: + lx, ly = np.log(xs), np.log(ys) + slope, intercept = np.polyfit(lx, ly, 1) + xx = np.linspace(min(lx), max(lx), 50) + ax.plot(np.exp(xx), np.exp(slope * xx + intercept), color="black", linestyle="--", linewidth=1, + label=f"log-fit slope={slope:.2f}") + pearson = np.corrcoef(lx, ly)[0, 1] + ax.set_title(f"elapsed_ms vs {key} (log-log r={pearson:.3f})") + ax.legend(loc="upper left", fontsize=9) + else: + ax.set_title(f"elapsed_ms vs {key}") + + # status legend + handles = [plt.Line2D([0], [0], marker="o", linestyle="", color=c, label=k) + for k, c in STATUS_COLORS.items()] + fig.legend(handles=handles, loc="lower center", ncol=len(STATUS_COLORS), fontsize=8, frameon=False) + fig.tight_layout(rect=(0, 0.05, 1, 1)) + fig.savefig(out, dpi=120) + plt.close(fig) + + +def plot_box_by_group(records, key: str, title: str, out: Path) -> None: + groups: dict[str, list[float]] = defaultdict(list) + for r in records: + if r.get("elapsed_ms") and r["elapsed_ms"] > 0: + groups[str(r.get(key) or "UNKNOWN")].append(r["elapsed_ms"]) + if not groups: + return + items = sorted(groups.items(), key=lambda kv: -np.median(kv[1])) + fig, ax = plt.subplots(figsize=(max(7, 1.0 + 0.9 * len(items)), 5)) + data = [v for _, v in items] + labels = [k for k, _ in items] + bp = ax.boxplot(data, tick_labels=labels, showfliers=True, patch_artist=True) + for patch in bp["boxes"]: + patch.set_facecolor("#9ecae1") + ax.set_yscale("log") + ax.set_ylabel("elapsed_ms (log)") + ax.set_title(title) + ax.tick_params(axis="x", rotation=20) + for i, (label, vals) in enumerate(items, start=1): + ax.text(i, np.median(vals), f"n={len(vals)}", ha="center", va="bottom", fontsize=8) + fig.tight_layout() + fig.savefig(out, dpi=120) + plt.close(fig) + + +def plot_heatmap_size(records, out: Path) -> None: + xs, ys, ms = [], [], [] + for r in records: + v, c, t = r.get("num_variables"), r.get("num_constraints"), r.get("elapsed_ms") + if not v or not c or not t or v <= 0 or c <= 0 or t <= 0: + continue + xs.append(v) + ys.append(c) + ms.append(t) + if len(xs) < 5: + return + xs, ys, ms = np.array(xs), np.array(ys), np.array(ms) + x_edges = np.logspace(np.log10(xs.min()), np.log10(xs.max()), 16) + y_edges = np.logspace(np.log10(ys.min()), np.log10(ys.max()), 16) + # mean elapsed per cell + H_sum, _, _ = np.histogram2d(xs, ys, bins=[x_edges, y_edges], weights=ms) + H_cnt, _, _ = np.histogram2d(xs, ys, bins=[x_edges, y_edges]) + with np.errstate(invalid="ignore", divide="ignore"): + H_mean = np.where(H_cnt > 0, H_sum / H_cnt, np.nan) + + fig, ax = plt.subplots(figsize=(8, 6)) + mesh = ax.pcolormesh(x_edges, y_edges, H_mean.T, norm=LogNorm(vmin=max(np.nanmin(H_mean[H_mean > 0]), 1.0), + vmax=np.nanmax(H_mean)), + cmap="viridis", shading="auto") + ax.set_xscale("log") + ax.set_yscale("log") + ax.set_xlabel("num_variables (log)") + ax.set_ylabel("num_constraints (log)") + ax.set_title("Mean elapsed_ms across size grid") + cbar = fig.colorbar(mesh, ax=ax) + cbar.set_label("mean elapsed_ms (log)") + fig.tight_layout() + fig.savefig(out, dpi=120) + plt.close(fig) + + +def make_plots(records: list[dict], plot_dir: Path) -> None: + plot_dir.mkdir(parents=True, exist_ok=True) + plot_hist_runtime(records, plot_dir / "01_runtime_hist.png") + plot_hist_features(records, plot_dir / "02_features_hist.png") + plot_scatter_runtime(records, plot_dir / "03_runtime_vs_size_scatter.png") + plot_box_by_group(records, "status", "Runtime by cpsat_status.result", plot_dir / "04_box_by_status.png") + plot_box_by_group(records, "applied_params_hash", "Runtime by applied_params_hash", plot_dir / "05_box_by_hash.png") + plot_heatmap_size(records, plot_dir / "06_heatmap_vars_constraints.png") + print(f"wrote {len(list(plot_dir.glob('*.png')))} plots to {plot_dir}") + + +# ---------- main ---------- + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--raw-dir", type=Path, default=DEFAULT_RAW) + ap.add_argument("--out", type=Path, default=DEFAULT_OUT) + ap.add_argument("--no-plots", action="store_true") + args = ap.parse_args() + + if not args.raw_dir.is_dir(): + print(f"ERROR not a directory: {args.raw_dir}", file=sys.stderr) + return 1 + + args.out.mkdir(parents=True, exist_ok=True) + + rows = load_meta(args.raw_dir) + records = extract(rows) + print(f"loaded {len(records)} instances from {args.raw_dir}") + + write_report(records, args.out / "report.txt") + write_csv(records, args.out / "per_instance.csv") + + if not args.no_plots: + make_plots(records, args.out / "plots") + + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/input/cpsat-bench/Statistics/analyze_outliers.py b/input/cpsat-bench/Statistics/analyze_outliers.py new file mode 100644 index 0000000000..f5edd22232 --- /dev/null +++ b/input/cpsat-bench/Statistics/analyze_outliers.py @@ -0,0 +1,466 @@ +#!/usr/bin/env python3 +"""Find CP-SAT runtime outliers and diagnose root cause. + +Pipeline: + 1. Load all meta + features. + 2. Fit log-log baseline: log10(elapsed_ms) ~ a*log10(num_variables) + b*log10(num_constraints) + c + 3. Residual r = log10(actual) - log10(predicted). Large positive r = exponential blow-up. + 4. Top-K outliers: decode .cpsat.pb to extract constraint kinds, domain sizes, + coefficient magnitudes, objective presence. + 5. Compare outliers vs rest (mean diff, log-fold). + 6. Write outliers_report.txt + outliers_top.csv + plots/07_residual_*.png. + +Run: + .venv/bin/python Statistics/analyze_outliers.py --top-k 30 +""" + +from __future__ import annotations + +import argparse +import csv +import json +import math +import sys +from collections import Counter, defaultdict +from pathlib import Path +from typing import Any + +import numpy as np +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt + +from ortools.sat import cp_model_pb2 + +HERE = Path(__file__).resolve().parent +DEFAULT_RAW = HERE.parent / "raw-data" +DEFAULT_OUT = HERE + + +# ---------- meta load ---------- + +def load_meta(raw_dir: Path) -> list[dict]: + rows = [] + for path in sorted(raw_dir.glob("*.meta.jsonl")): + for line in path.read_text().splitlines(): + line = line.strip() + if not line: + continue + try: + rows.append(json.loads(line)) + except json.JSONDecodeError: + pass + return rows + + +def flatten(rows: list[dict]) -> list[dict]: + out = [] + for r in rows: + f = r.get("features") or {} + st = r.get("cpsat_status") or {} + sd = r.get("cpsat_response_stats") or {} + ap = r.get("cpsat_applied_params") or {} + out.append({ + "problem_sha256": r.get("problem_sha256"), + "applied_params_hash": r.get("applied_params_hash"), + "status": st.get("result"), + "elapsed_ms": st.get("elapsed_ms"), + "num_variables": f.get("num_variables"), + "num_bool": f.get("num_bool"), + "num_int": f.get("num_int"), + "num_constraints": f.get("num_constraints"), + "num_conflicts": sd.get("num_conflicts"), + "num_branches": sd.get("num_branches"), + "num_binary_propagations": sd.get("num_binary_propagations"), + "num_integer_propagations": sd.get("num_integer_propagations"), + "num_restarts": sd.get("num_restarts"), + "deterministic_time": sd.get("deterministic_time"), + "num_workers": ap.get("num_search_workers"), + "pb_path": str(Path(r.get("problem_filename") or "")), + }) + return out + + +# ---------- regression / residuals ---------- + +def fit_residuals(records: list[dict]) -> tuple[np.ndarray, dict]: + """log10(elapsed_ms) ~ a*log10(vars) + b*log10(constraints) + c.""" + keep = [] + for r in records: + v, c, t = r.get("num_variables"), r.get("num_constraints"), r.get("elapsed_ms") + if not v or not c or not t or t <= 0: + continue + keep.append(r) + X = np.array([[math.log10(r["num_variables"]), math.log10(r["num_constraints"]), 1.0] for r in keep]) + y = np.array([math.log10(r["elapsed_ms"]) for r in keep]) + coef, *_ = np.linalg.lstsq(X, y, rcond=None) + a, b, c = coef + pred = X @ coef + resid = y - pred + for r, p, rs in zip(keep, pred, resid): + r["log10_elapsed"] = float(math.log10(r["elapsed_ms"])) + r["log10_pred"] = float(p) + r["residual"] = float(rs) # log10 units; +1.0 = 10x slower than expected + info = { + "a_vars": float(a), + "b_constraints": float(b), + "intercept": float(c), + "n": int(len(keep)), + "r2": float(1.0 - np.var(resid) / np.var(y)), + "rmse": float(np.sqrt(np.mean(resid ** 2))), + } + return np.array(resid), info, keep + + +# ---------- pb features ---------- + +KIND_KEYS = ( + "linear", + "bool_or", + "bool_and", + "at_most_one", + "exactly_one", + "bool_xor", + "all_diff", + "element", + "circuit", + "routes", + "table", + "automaton", + "inverse", + "reservoir", + "interval", + "no_overlap", + "no_overlap_2d", + "cumulative", + "lin_max", + "int_div", + "int_mod", + "int_prod", +) + + +def pb_features(pb_path: Path) -> dict: + m = cp_model_pb2.CpModelProto() + m.ParseFromString(pb_path.read_bytes()) + kinds = Counter() + enforce_count = 0 + linear_coef_max = 0.0 + linear_coef_abs_sum = 0.0 + linear_terms_max = 0 + linear_terms_total = 0 + for c in m.constraints: + kind = c.WhichOneof("constraint") + kinds[kind] += 1 + if c.enforcement_literal: + enforce_count += 1 + if kind == "linear": + coefs = c.linear.coeffs + if coefs: + amax = max(abs(v) for v in coefs) + if amax > linear_coef_max: + linear_coef_max = float(amax) + linear_coef_abs_sum += float(sum(abs(v) for v in coefs)) + tlen = len(coefs) + linear_terms_total += tlen + if tlen > linear_terms_max: + linear_terms_max = tlen + # variable domain stats + dsizes = [] + wide_int_count = 0 + max_domain_max = 0 + min_domain_min = 0 + for v in m.variables: + dom = v.domain + sz = 0 + for i in range(0, len(dom), 2): + sz += dom[i + 1] - dom[i] + 1 + if dom[i + 1] > max_domain_max: + max_domain_max = int(dom[i + 1]) + if dom[i] < min_domain_min: + min_domain_min = int(dom[i]) + dsizes.append(sz) + if sz > 1000: + wide_int_count += 1 + dsizes_arr = np.array(dsizes, dtype=float) if dsizes else np.array([0.0]) + has_obj = m.HasField("objective") or m.HasField("floating_point_objective") + obj_terms = len(m.objective.vars) if m.HasField("objective") else 0 + num_assumptions = len(m.assumptions) + num_search_hint = len(m.search_strategy) + return { + "n_vars": int(len(m.variables)), + "n_cons": int(len(m.constraints)), + "kinds": dict(kinds), + "n_enforce": int(enforce_count), + "linear_coef_max": linear_coef_max, + "linear_coef_abs_sum": linear_coef_abs_sum, + "linear_terms_max": int(linear_terms_max), + "linear_terms_total": int(linear_terms_total), + "domain_size_max": float(dsizes_arr.max()), + "domain_size_median": float(np.median(dsizes_arr)), + "wide_int_count": int(wide_int_count), + "domain_min": int(min_domain_min), + "domain_max": int(max_domain_max), + "has_objective": bool(has_obj), + "objective_terms": int(obj_terms), + "n_assumptions": int(num_assumptions), + "n_search_strategy": int(num_search_hint), + } + + +# ---------- aggregation ---------- + +def summarize_kinds(kinds_list: list[dict]) -> dict[str, dict]: + all_keys = set() + for d in kinds_list: + all_keys.update(d.keys()) + out = {} + for k in sorted(all_keys): + vals = np.array([d.get(k, 0) for d in kinds_list], dtype=float) + out[k] = { + "mean": float(vals.mean()), + "median": float(np.median(vals)), + "max": float(vals.max()), + "share_nonzero": float((vals > 0).mean()), + } + return out + + +def fmt_block(title: str, lines: list[str]) -> str: + return f"\n## {title}\n" + "\n".join(lines) + + +# ---------- main ---------- + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--raw-dir", type=Path, default=DEFAULT_RAW) + ap.add_argument("--out", type=Path, default=DEFAULT_OUT) + ap.add_argument("--top-k", type=int, default=30, help="Number of outliers to deep-dive") + ap.add_argument("--baseline-k", type=int, default=60, help="Inlier sample size for comparison") + args = ap.parse_args() + + if not args.raw_dir.is_dir(): + print(f"ERROR not a directory: {args.raw_dir}", file=sys.stderr) + return 1 + + rows = load_meta(args.raw_dir) + records = flatten(rows) + print(f"loaded {len(records)} instances") + + _resid, info, kept = fit_residuals(records) + print(f"baseline log10 fit: a_vars={info['a_vars']:.3f} b_cons={info['b_constraints']:.3f} " + f"intercept={info['intercept']:.3f} R^2={info['r2']:.3f} rmse={info['rmse']:.3f}") + + # rank by residual (positive = slower than predicted) + kept_sorted = sorted(kept, key=lambda r: -r["residual"]) + outliers = kept_sorted[: args.top_k] + inliers = [r for r in kept_sorted if abs(r["residual"]) <= 0.3][-args.baseline_k:] + if not inliers: + inliers = kept_sorted[-args.baseline_k:] + + print(f"top-{args.top_k} outliers: residual range " + f"{outliers[-1]['residual']:.3f} .. {outliers[0]['residual']:.3f} " + f"(=> {10 ** outliers[-1]['residual']:.1f}x .. {10 ** outliers[0]['residual']:.1f}x slowdown)") + + # decode pb for outliers + baseline + def decode_set(group, label): + out = [] + for i, r in enumerate(group): + pb = args.raw_dir / r["pb_path"] + if not pb.exists(): + continue + try: + feats = pb_features(pb) + except Exception as e: + print(f" WARN failed to decode {pb.name}: {e}", file=sys.stderr) + continue + feats["_residual"] = r["residual"] + feats["_elapsed_ms"] = r["elapsed_ms"] + feats["_num_variables"] = r["num_variables"] + feats["_num_constraints"] = r["num_constraints"] + feats["_status"] = r["status"] + feats["_num_conflicts"] = r["num_conflicts"] + feats["_num_branches"] = r["num_branches"] + feats["_num_binary_propagations"] = r["num_binary_propagations"] + feats["_num_integer_propagations"] = r["num_integer_propagations"] + feats["_num_restarts"] = r["num_restarts"] + feats["_applied_params_hash"] = r["applied_params_hash"] + feats["_sha"] = r["problem_sha256"] + out.append(feats) + if (i + 1) % 10 == 0: + print(f" decoded {label} {i + 1}/{len(group)}") + return out + + print("decoding outlier pb files...") + out_feats = decode_set(outliers, "outliers") + print("decoding baseline pb files...") + base_feats = decode_set(inliers, "baseline") + + # ---- aggregate comparison ---- + def agg_scalar(group, key): + arr = np.array([g[key] for g in group if g.get(key) is not None], dtype=float) + return arr + + scalar_keys = [ + "n_vars", "n_cons", "n_enforce", + "linear_coef_max", "linear_coef_abs_sum", + "linear_terms_max", "linear_terms_total", + "domain_size_max", "domain_size_median", + "wide_int_count", "domain_max", + "objective_terms", "n_assumptions", "n_search_strategy", + "_num_conflicts", "_num_branches", + "_num_binary_propagations", "_num_integer_propagations", + "_num_restarts", + ] + print("\n## Outlier vs baseline scalar comparison (geomean, log-fold)") + table_lines = [f"{'feature':28s} {'outlier_med':>14s} {'base_med':>14s} {'ratio':>8s}"] + for k in scalar_keys: + o = agg_scalar(out_feats, k) + b = agg_scalar(base_feats, k) + if o.size == 0 or b.size == 0: + continue + om = float(np.median(o)) + bm = float(np.median(b)) + ratio = om / bm if bm > 0 else float("inf") if om > 0 else 0.0 + table_lines.append(f"{k:28s} {om:>14,.2f} {bm:>14,.2f} {ratio:>8.2f}") + table = "\n".join(table_lines) + print(table) + + # ---- constraint kinds histograms ---- + out_kinds = summarize_kinds([g["kinds"] for g in out_feats]) + base_kinds = summarize_kinds([g["kinds"] for g in base_feats]) + all_keys = sorted(set(out_kinds) | set(base_kinds)) + kind_lines = [f"{'kind':18s} {'out_mean':>10s} {'base_mean':>10s} {'ratio':>8s} {'out_share':>10s}"] + for k in all_keys: + om = out_kinds.get(k, {}).get("mean", 0.0) + bm = base_kinds.get(k, {}).get("mean", 0.0) + ratio = om / bm if bm > 0 else float("inf") if om > 0 else 0.0 + sh = out_kinds.get(k, {}).get("share_nonzero", 0.0) + kind_lines.append(f"{k:18s} {om:>10,.1f} {bm:>10,.1f} {ratio:>8.2f} {sh:>10.2f}") + kind_table = "\n".join(kind_lines) + print("\n## Constraint-kind histogram (outlier vs baseline)") + print(kind_table) + + # ---- per-outlier detail csv ---- + csv_path = args.out / "outliers_top.csv" + fields = [ + "_sha", "_status", "_applied_params_hash", "_residual", + "_elapsed_ms", "_num_variables", "_num_constraints", + "_num_conflicts", "_num_branches", + "_num_binary_propagations", "_num_integer_propagations", "_num_restarts", + "n_vars", "n_cons", "n_enforce", + "linear_coef_max", "linear_terms_max", "linear_terms_total", + "domain_size_max", "domain_size_median", "wide_int_count", "domain_max", + "has_objective", "objective_terms", "n_assumptions", "n_search_strategy", + ] + [f"kind_{k}" for k in KIND_KEYS] + with csv_path.open("w", newline="") as f: + w = csv.writer(f) + w.writerow(fields) + for g in out_feats: + row = [] + for fld in fields: + if fld.startswith("kind_"): + row.append(g["kinds"].get(fld[5:], 0)) + else: + row.append(g.get(fld, "")) + w.writerow(row) + print(f"\nwrote {csv_path}") + + # ---- residual scatter ---- + plot_dir = args.out / "plots" + plot_dir.mkdir(exist_ok=True) + fig, ax = plt.subplots(figsize=(9, 6)) + rec_arr = np.array([[r["num_variables"], r["num_constraints"], r["elapsed_ms"], r["residual"]] for r in kept]) + sc = ax.scatter(rec_arr[:, 0] * rec_arr[:, 1], rec_arr[:, 2], c=rec_arr[:, 3], cmap="coolwarm", + s=22, edgecolors="black", linewidths=0.3) + ax.set_xscale("log") + ax.set_yscale("log") + ax.set_xlabel("num_variables * num_constraints (log)") + ax.set_ylabel("elapsed_ms (log)") + ax.set_title(f"Runtime residual (log10) on size product\n" + f"a_vars={info['a_vars']:.2f} b_cons={info['b_constraints']:.2f} R²={info['r2']:.2f}") + cb = fig.colorbar(sc, ax=ax) + cb.set_label("residual log10(actual/predicted)") + for r in outliers[:8]: + ax.annotate(r["problem_sha256"][:6], (r["num_variables"] * r["num_constraints"], r["elapsed_ms"]), + fontsize=7, color="darkred", xytext=(4, 2), textcoords="offset points") + fig.tight_layout() + fig.savefig(plot_dir / "07_residual_scatter.png", dpi=120) + plt.close(fig) + + # constraint kind comparison bar chart + if all_keys: + fig, ax = plt.subplots(figsize=(10, 5)) + idx = np.arange(len(all_keys)) + w = 0.42 + out_vals = [out_kinds.get(k, {}).get("mean", 0.0) for k in all_keys] + base_vals = [base_kinds.get(k, {}).get("mean", 0.0) for k in all_keys] + ax.bar(idx - w / 2, out_vals, w, label=f"outliers (n={len(out_feats)})", color="#d62728") + ax.bar(idx + w / 2, base_vals, w, label=f"baseline (n={len(base_feats)})", color="#1f77b4") + ax.set_xticks(idx) + ax.set_xticklabels(all_keys, rotation=25, ha="right") + ax.set_ylabel("mean count per instance") + ax.set_yscale("symlog") + ax.set_title("Constraint-kind composition: outlier vs baseline") + ax.legend() + fig.tight_layout() + fig.savefig(plot_dir / "08_outlier_constraint_kinds.png", dpi=120) + plt.close(fig) + + # ---- write text report ---- + report = [ + "# CP-SAT runtime outlier diagnosis", + f"records: {len(records)}, regression-kept: {info['n']}", + f"log10 baseline: log10(elapsed_ms) = {info['a_vars']:.3f}*log10(vars) " + f"+ {info['b_constraints']:.3f}*log10(cons) + {info['intercept']:.3f}", + f"R^2 = {info['r2']:.3f}, RMSE(log10) = {info['rmse']:.3f}", + f"top-{args.top_k} outliers slowdown range: " + f"{10 ** outliers[-1]['residual']:.1f}x .. {10 ** outliers[0]['residual']:.1f}x", + "", + "## Top outliers (residual = log10(actual/predicted))", + f"{'sha':10s} {'hash':10s} {'status':10s} {'elapsed_ms':>12s} {'vars':>8s} {'cons':>8s} " + f"{'pred_ms':>12s} {'resid':>7s} {'conflicts':>12s} {'branches':>14s}", + ] + for r in outliers: + pred_ms = 10 ** r["log10_pred"] + report.append( + f"{r['problem_sha256'][:8]} {(r['applied_params_hash'] or '')[:8]} " + f"{(r['status'] or '')[:10]:10s} {r['elapsed_ms']:>12,.1f} {r['num_variables']:>8d} " + f"{r['num_constraints']:>8d} {pred_ms:>12,.1f} {r['residual']:>7.2f} " + f"{(r['num_conflicts'] or 0):>12,d} {(r['num_branches'] or 0):>14,d}" + ) + + report += ["", "## Scalar feature comparison: outlier median vs baseline median", table] + report += ["", "## Constraint kinds: outlier vs baseline mean per instance", kind_table] + + # interpretation hints + report.append("\n## Interpretation hints") + hints = [] + for k in scalar_keys: + o = agg_scalar(out_feats, k) + b = agg_scalar(base_feats, k) + if o.size == 0 or b.size == 0: + continue + om, bm = float(np.median(o)), float(np.median(b)) + if bm <= 0 and om <= 0: + continue + ratio = om / bm if bm > 0 else float("inf") + if ratio >= 2.0 or (ratio > 0 and ratio <= 0.5): + hints.append(f" - {k}: outlier median {om:,.1f} vs baseline {bm:,.1f} ({ratio:.2f}x)") + if hints: + report.append("Features where outliers differ substantially (>=2x or <=0.5x):") + report.extend(hints) + else: + report.append("No scalar feature showed a >=2x median shift; the blow-up is concentrated in solver-state stats (conflicts/branches), suggesting structural/search-space hardness rather than raw size.") + + (args.out / "outliers_report.txt").write_text("\n".join(report) + "\n") + print(f"wrote {args.out / 'outliers_report.txt'}") + print(f"wrote {plot_dir / '07_residual_scatter.png'}") + print(f"wrote {plot_dir / '08_outlier_constraint_kinds.png'}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/input/cpsat-bench/Statistics/outliers_report.txt b/input/cpsat-bench/Statistics/outliers_report.txt new file mode 100644 index 0000000000..dc39a4ecc8 --- /dev/null +++ b/input/cpsat-bench/Statistics/outliers_report.txt @@ -0,0 +1,82 @@ +# CP-SAT runtime outlier diagnosis +records: 430, regression-kept: 430 +log10 baseline: log10(elapsed_ms) = -2.949*log10(vars) + 5.262*log10(cons) + -10.116 +R^2 = 0.855, RMSE(log10) = 0.266 +top-30 outliers slowdown range: 2.4x .. 19.8x + +## Top outliers (residual = log10(actual/predicted)) +sha hash status elapsed_ms vars cons pred_ms resid conflicts branches +9c28c175 fadf9341 OPTIMAL 5,307,350.0 20881 236975 267,796.7 1.30 949,858 3,779,328 +ea6187c1 fadf9341 OPTIMAL 4,689,630.0 20881 236975 267,796.7 1.24 1,180,208 4,605,661 +64e85d06 5df8f0e7 OPTIMAL 5,707,370.0 20867 246453 329,832.1 1.24 1,489,558 5,574,793 +5651d412 5df8f0e7 OPTIMAL 4,481,100.0 20867 246453 329,832.1 1.13 891,686 3,512,483 +fe2b12d0 fadf9341 OPTIMAL 3,111,920.0 20867 236494 265,473.2 1.07 632,852 2,956,918 +b14c571a 56ab92f3 OPTIMAL 1,873,900.0 20844 233581 249,521.1 0.88 738,946 2,570,390 +cdc476df 56ab92f3 OPTIMAL 1,549,180.0 20830 233076 247,184.6 0.80 443,078 1,855,860 +5f84583f fadf9341 OPTIMAL 6,436.6 1979 21981 1,027.2 0.80 436 9,745 +073ef8ba 56ab92f3 OPTIMAL 1,496,560.0 20830 233100 247,318.6 0.78 531,653 2,141,669 +7e5aa401 56ab92f3 OPTIMAL 1,482,010.0 20844 233557 249,386.2 0.77 548,234 2,019,729 +96e1d05e 56ab92f3 OPTIMAL 1,443,320.0 20844 233581 249,521.1 0.76 700,829 2,655,203 +484ac3f3 56ab92f3 OPTIMAL 1,380,120.0 20844 233557 249,386.2 0.74 498,838 1,688,437 +26f53ed6 fadf9341 OPTIMAL 856,786.0 17076 192805 163,700.3 0.72 218,233 1,168,305 +083beb02 56ab92f3 OPTIMAL 686,113.0 17058 190773 155,305.1 0.65 210,392 952,603 +bc676605 5df8f0e7 OPTIMAL 837,165.0 17070 199450 195,858.0 0.63 213,359 1,171,620 +9c548616 5df8f0e7 OPTIMAL 1,312,210.0 20853 245972 327,105.4 0.60 261,411 1,407,886 +303a6733 fadf9341 OPTIMAL 3,530.8 1850 20766 929.1 0.58 379 11,971 +d8130c88 5df8f0e7 OPTIMAL 3,748.3 1850 21650 1,157.0 0.51 531 12,139 +e2b2952c 5df8f0e7 OPTIMAL 2,894.6 1739 20421 1,021.0 0.45 229 7,101 +471adab2 5df8f0e7 OPTIMAL 3,311.7 1863 21835 1,185.3 0.45 303 10,282 +202fbcb0 5df8f0e7 OPTIMAL 3,024.1 1674 20236 1,089.0 0.44 310 10,067 +b040ac13 5df8f0e7 OPTIMAL 3,052.7 1766 20923 1,108.7 0.44 228 10,193 +c0a0dc04 fadf9341 OPTIMAL 4,920.2 2199 25921 1,792.5 0.44 712 19,587 +834873ba 5df8f0e7 OPTIMAL 3,081.6 1850 21650 1,157.0 0.43 794 13,010 +a87f850d fadf9341 OPTIMAL 180.5 715 7423 68.3 0.42 560 4,544 +c4fe2cc0 fadf9341 OPTIMAL 4,839.6 2326 26958 1,867.2 0.41 2,116 24,405 +9c6904d7 5df8f0e7 OPTIMAL 3,212.3 1977 22871 1,269.6 0.40 822 11,048 +7b9053fb 5df8f0e7 OPTIMAL 2,916.7 1859 21771 1,174.5 0.40 399 10,761 +c0bbae62 fadf9341 OPTIMAL 400,652.0 17070 192562 162,786.1 0.39 122,197 544,974 +63f1e1c6 5df8f0e7 OPTIMAL 2,893.8 1863 21835 1,185.3 0.39 382 10,557 + +## Scalar feature comparison: outlier median vs baseline median +feature outlier_med base_med ratio +n_vars 79,153.00 22,524.00 3.51 +n_cons 191,667.50 53,456.00 3.59 +n_enforce 156,156.00 42,812.00 3.65 +linear_coef_max 1.00 1.00 1.00 +linear_coef_abs_sum 139,178.00 35,995.00 3.87 +linear_terms_max 161.00 66.00 2.44 +linear_terms_total 139,178.00 35,995.00 3.87 +domain_size_max 2,000,000,001.00 2,000,000,001.00 1.00 +domain_size_median 2.00 2.00 1.00 +wide_int_count 5,499.00 1,941.00 2.83 +domain_max 1,000,000,000.00 1,000,000,000.00 1.00 +objective_terms 0.00 0.00 0.00 +n_assumptions 0.00 0.00 0.00 +n_search_strategy 0.00 0.00 0.00 +_num_conflicts 166,294.50 2,016.00 82.49 +_num_branches 748,788.50 56,588.00 13.23 +_num_binary_propagations 199,726,371.50 3,507,452.00 56.94 +_num_integer_propagations 52,432,900.00 1,511,411.50 34.69 +_num_restarts 668.50 18.00 37.14 + +## Constraint kinds: outlier vs baseline mean per instance +kind out_mean base_mean ratio out_share +at_most_one 421.2 231.8 1.82 1.00 +bool_and 27,732.8 12,744.8 2.18 1.00 +bool_or 42,792.7 18,794.1 2.28 1.00 +linear 59,773.4 22,868.6 2.61 1.00 + +## Interpretation hints +Features where outliers differ substantially (>=2x or <=0.5x): + - n_vars: outlier median 79,153.0 vs baseline 22,524.0 (3.51x) + - n_cons: outlier median 191,667.5 vs baseline 53,456.0 (3.59x) + - n_enforce: outlier median 156,156.0 vs baseline 42,812.0 (3.65x) + - linear_coef_abs_sum: outlier median 139,178.0 vs baseline 35,995.0 (3.87x) + - linear_terms_max: outlier median 161.0 vs baseline 66.0 (2.44x) + - linear_terms_total: outlier median 139,178.0 vs baseline 35,995.0 (3.87x) + - wide_int_count: outlier median 5,499.0 vs baseline 1,941.0 (2.83x) + - _num_conflicts: outlier median 166,294.5 vs baseline 2,016.0 (82.49x) + - _num_branches: outlier median 748,788.5 vs baseline 56,588.0 (13.23x) + - _num_binary_propagations: outlier median 199,726,371.5 vs baseline 3,507,452.0 (56.94x) + - _num_integer_propagations: outlier median 52,432,900.0 vs baseline 1,511,411.5 (34.69x) + - _num_restarts: outlier median 668.5 vs baseline 18.0 (37.14x) diff --git a/input/cpsat-bench/Statistics/outliers_top.csv b/input/cpsat-bench/Statistics/outliers_top.csv new file mode 100644 index 0000000000..256fe5193b --- /dev/null +++ b/input/cpsat-bench/Statistics/outliers_top.csv @@ -0,0 +1,31 @@ +_sha,_status,_applied_params_hash,_residual,_elapsed_ms,_num_variables,_num_constraints,_num_conflicts,_num_branches,_num_binary_propagations,_num_integer_propagations,_num_restarts,n_vars,n_cons,n_enforce,linear_coef_max,linear_terms_max,linear_terms_total,domain_size_max,domain_size_median,wide_int_count,domain_max,has_objective,objective_terms,n_assumptions,n_search_strategy,kind_linear,kind_bool_or,kind_bool_and,kind_at_most_one,kind_exactly_one,kind_bool_xor,kind_all_diff,kind_element,kind_circuit,kind_routes,kind_table,kind_automaton,kind_inverse,kind_reservoir,kind_interval,kind_no_overlap,kind_no_overlap_2d,kind_cumulative,kind_lin_max,kind_int_div,kind_int_mod,kind_int_prod +9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,1.2970725496824338,5307350.0,20881,236975,949858,3779328,1284803830,336295337,3742,97998,236975,194373,1.0,191,172845,2000000001.0,2.0,6913,1000000000,False,0,0,0,109273,77125,49850,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,1.2433334003277663,4689630.0,20881,236975,1180208,4605661,1460251131,383038351,5302,97998,236975,194373,1.0,191,172845,2000000001.0,2.0,6913,1000000000,False,0,0,0,109273,77125,49850,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,1.2381431698374108,5707370.0,20867,246453,1489558,5574793,1928527875,481837838,6126,102050,246453,203246,1.0,191,182197,2000000001.0,2.0,6913,1000000000,False,0,0,0,115431,79440,50855,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,1.133091777448728,4481100.0,20867,246453,891686,3512483,1239961259,304654974,3452,102050,246453,203246,1.0,191,182197,2000000001.0,2.0,6913,1000000000,False,0,0,0,115431,79440,50855,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,1.069007782061628,3111920.0,20867,236494,632852,2956918,774505293,240882484,3149,97811,236494,193920,1.0,191,172720,2000000001.0,2.0,6906,1000000000,False,0,0,0,109162,76936,49669,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.8756390854867613,1873900.0,20844,233581,738946,2570390,1196466883,267712424,3140,96549,233581,190803,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76425,49410,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7970804353527665,1549180.0,20830,233076,443078,1855860,634174655,156622140,2195,96350,233076,190326,1.0,191,170682,2000000001.0,2.0,6883,1000000000,False,0,0,0,106908,76224,49217,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.7969822465157113,6436.58,1979,21981,436,9745,599806,293690,3,9224,21981,17517,1.0,26,15062,2000000001.0,2.0,828,1000000000,False,0,0,0,9343,7511,5023,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7818373624636896,1496560.0,20830,233100,531653,2141669,773533294,191884649,2587,96362,233100,190350,1.0,191,170682,2000000001.0,2.0,6883,1000000000,False,0,0,0,106908,76236,49229,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.773978648305965,1482010.0,20844,233557,548234,2019729,788206057,178268283,2288,96537,233557,190779,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76413,49398,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7622553039424815,1443320.0,20844,233581,700829,2655203,928474398,232999472,3060,96549,233581,190803,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76425,49410,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7430443637073942,1380120.0,20844,233557,498838,1688437,773107760,152021540,1585,96537,233557,190779,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76413,49398,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.7188228191471246,856786,17076,192805,218233,1168305,240841668,68122509,977,79711,192805,157488,1.0,161,139823,2000000001.0,2.0,5505,1000000000,False,0,0,0,88116,63144,40927,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.6452098909063135,686113,17058,190773,210392,952603,271814160,67147700,801,78841,190773,155304,1.0,161,138533,2000000001.0,2.0,5493,1000000000,False,0,0,0,86709,62771,40675,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.6308698262064754,837165,17070,199450,213359,1171620,249450762,71481083,923,82555,199450,163626,1.0,161,146819,2000000001.0,2.0,5505,1000000000,False,0,0,0,92226,64869,41737,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.6033156870934357,1312210.0,20853,245972,261411,1407886,298239744,91900563,1400,101863,245972,202793,1.0,191,182072,2000000001.0,2.0,6906,1000000000,False,0,0,0,115320,79251,50674,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.5798136104655174,3530.81,1850,20766,379,11971,482190,259585,3,8767,20766,16544,1.0,26,14008,2000000001.0,2.0,819,1000000000,False,0,0,0,8617,7156,4891,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.5104993662822994,3748.33,1850,21650,531,12139,533981,281523,3,9151,21650,17372,1.0,26,14772,2000000001.0,2.0,819,1000000000,False,0,0,0,9113,7404,5031,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.45256432545942227,2894.64,1739,20421,229,7101,331230,163477,1,8625,20421,16321,1.0,26,13479,2000000001.0,2.0,666,1000000000,False,0,0,0,8377,7095,4846,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.44623053094988485,3311.66,1863,21835,303,10282,415999,213023,1,9208,21835,17518,1.0,26,14816,2000000001.0,2.0,773,1000000000,False,0,0,0,9198,7475,5059,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.4435643369239455,3024.07,1674,20236,310,10067,340378,170355,3,8547,20236,16105,1.0,26,13143,2000000001.0,2.0,730,1000000000,False,0,0,0,8038,7111,4985,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.43988588482448865,3052.7,1766,20923,228,10193,374340,189319,1,8812,20923,16689,1.0,26,13886,2000000001.0,2.0,725,1000000000,False,0,0,0,8527,7278,5016,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.43851503778542833,4920.17,2199,25921,712,19587,622076,306569,9,10942,25921,20513,1.0,36,16398,2000000001.0,2.0,973,1000000000,False,0,0,0,10033,9211,6545,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.42543640356891776,3081.59,1850,21650,794,13010,566747,290602,6,9151,21650,17372,1.0,26,14772,2000000001.0,2.0,819,1000000000,False,0,0,0,9113,7404,5031,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.4217202793170176,180.457,715,7423,560,4544,30469,43812,5,3182,7423,5763,1.0,11,4723,2000000001.0,2.0,304,1000000000,False,0,0,0,2912,2643,1822,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.41361338316732565,4839.59,2326,26958,2116,24405,946049,442534,12,11385,26958,21437,1.0,36,17561,2000000001.0,2.0,1042,1000000000,False,0,0,0,10767,9444,6614,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.403130605161544,3212.27,1977,22871,822,11048,635610,304646,6,9638,22871,18389,1.0,26,15794,2000000001.0,2.0,826,1000000000,False,0,0,0,9837,7747,5183,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.39503502501284604,2916.72,1859,21771,399,10761,460076,229866,3,9180,21771,17453,1.0,26,14792,2000000001.0,2.0,771,1000000000,False,0,0,0,9180,7449,5039,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.39114990000400063,400652,17070,192562,122197,544974,158611075,37718100,536,79465,192562,157008,1.0,161,139823,2000000001.0,2.0,5505,1000000000,False,0,0,0,88116,63141,40687,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.38764579685835177,2893.75,1863,21835,382,10557,472961,227459,3,9208,21835,17518,1.0,26,14816,2000000001.0,2.0,773,1000000000,False,0,0,0,9198,7475,5059,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/input/cpsat-bench/Statistics/per_instance.csv b/input/cpsat-bench/Statistics/per_instance.csv new file mode 100644 index 0000000000..1ed9ea5aa7 --- /dev/null +++ b/input/cpsat-bench/Statistics/per_instance.csv @@ -0,0 +1,431 @@ +problem_sha256,applied_params_hash,status,elapsed_ms,num_variables,num_bool,num_int,num_constraints,num_workers,num_conflicts,num_branches,deterministic_time +0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,6896.45,4352,2861,1491,51623,8,3843,79884,15.5139 +018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1619.97,2565,1783,782,28940,8,6524,31795,3.34384 +024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2818.52,1977,1377,600,22871,8,466,10294,1.87483 +0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3153.47,4053,2932,1121,44889,8,2310,45318,6.42205 +03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4071.48,2199,1403,796,25969,8,10692,110220,5.38499 +053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1757.49,2736,1938,798,30419,8,752,13177,1.81954 +064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3432.26,2583,1793,790,30380,8,719,18056,3.00165 +06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5832.93,3243,2301,942,36071,8,6222,47499,5.09695 +072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,651.086,1856,1264,592,20575,8,326,9895,0.978946 +073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1496560.0,20830,16429,4401,233100,8,531653,2141669,5148.16 +07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2408.23,2583,1793,790,28808,8,806,17531,1.88466 +0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,76005.7,11130,8496,2634,126364,8,21705,179333,96.2732 +083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,686113,17058,13335,3723,190773,8,210392,952603,1489.62 +0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,19431.4,5306,3673,1633,62598,8,18082,110936,28.5748 +09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2863.91,3239,2301,938,35861,8,973,27904,5.14864 +0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,791.232,1975,1377,598,21682,8,618,9748,1.17229 +0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11540.4,4117,2621,1496,49739,8,3451,61663,14.9515 +0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3376.2,3920,2783,1137,44084,8,1006,39304,6.19883 +0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,21570,5306,3673,1633,59452,8,20491,154670,39.738 +0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,15283.6,5306,3673,1633,62598,8,11744,95041,21.2578 +0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3163.12,2350,1548,802,28441,8,332,15805,2.86989 +0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3179.9,3309,2177,1132,38578,8,592,29758,5.42069 +0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8478.85,5099,3604,1495,58973,8,1828,60444,8.28154 +0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1793.37,1979,1377,602,21981,8,421,9067,1.30256 +0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3133.96,3220,2288,932,36135,8,5755,41690,6.06757 +101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5920.07,4058,2932,1126,47233,8,1675,41046,5.62571 +11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3212.64,2729,1936,793,32083,8,1944,23123,3.16658 +126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,956.451,1766,1167,599,20139,8,688,11031,0.823945 +12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4031.48,4352,2861,1491,51623,8,1735,58712,8.22221 +146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8340.34,5366,3525,1841,67205,8,2182,67141,7.58171 +14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11915,5310,3673,1637,59718,8,9685,111280,22.8773 +14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4358.96,4582,3316,1266,51584,8,2446,59082,8.16986 +168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7334.94,5109,3610,1499,61718,8,1881,53873,7.7169 +16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,639.354,1670,1070,600,19247,8,264,9558,0.780845 +184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,9272.03,5310,3673,1637,59718,8,7031,70527,16.1077 +19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5989.49,5277,3652,1625,58767,8,2626,63032,8.33573 +19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,579.064,1236,794,442,13884,8,305,4852,0.491991 +1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1500.26,2731,1941,790,30201,8,633,15281,2.17348 +1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6436.84,4046,2924,1122,44899,8,1543,44055,6.42034 +1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1075.14,1860,1264,596,20792,8,472,9986,1.00964 +1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4447.05,3226,2288,938,36510,8,2759,36801,6.49673 +1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1852.25,2325,1530,795,26394,8,560,15937,1.41769 +1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2781.61,2325,1530,795,27378,8,430,15591,2.72813 +1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5391.62,3243,2301,942,37775,8,1172,28223,5.21599 +1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,623.536,1856,1264,592,20594,8,302,9945,0.856701 +1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2326.58,2735,1941,794,30473,8,851,12692,1.78377 +1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,12651.7,8580,6402,2178,94129,8,9916,105448,40.5777 +1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7400.86,5354,3525,1829,63693,8,4016,100243,16.5819 +202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3024.07,1674,1070,604,20236,8,310,10067,2.45745 +21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1752.13,2730,1938,792,30076,8,1102,17773,2.87432 +2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,473.166,1325,878,447,14241,8,187,4573,0.369579 +25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,16208.8,5366,3525,1841,64265,8,4652,95995,16.4779 +256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7271.21,5298,3673,1625,59077,8,12081,81515,23.7767 +26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,182.409,715,461,254,7651,8,0,0,0.0310824 +26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,856786,17076,13341,3735,192805,8,218233,1168305,1441.38 +27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,45439.7,8588,6402,2186,97536,8,23149,144434,64.4278 +27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1373.64,1860,1266,594,20658,8,419,10594,1.17965 +2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10447,7837,5854,1983,85434,8,11186,96516,32.4593 +2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4173.09,3243,2301,942,36127,8,843,26130,4.73902 +2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,540.252,1316,869,447,14599,8,183,4384,0.336128 +2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5430.81,3313,2177,1136,38711,8,578,29008,4.12991 +2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1961.23,3094,2149,945,33706,8,4561,34650,2.96945 +2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,89192,10404,7751,2653,121524,8,35393,255576,143.2 +2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6416.71,4058,2932,1126,45101,8,2508,46309,7.0559 +2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1809.76,2713,1924,789,30408,8,712,13423,1.76708 +2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1361.71,1864,1266,598,20886,8,964,13872,1.28691 +2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,47175.5,11135,8504,2631,126459,8,10043,145482,56.8539 +2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4828,3104,2156,948,35170,8,844,31973,4.86196 +2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4467.43,5073,3597,1476,57478,8,2835,59220,8.37719 +2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,695.523,1860,1266,594,20658,8,517,10517,1.0021 +2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11725.9,5079,3597,1482,57732,8,3735,74766,13.7156 +2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3120.77,2350,1548,802,27313,8,418,15636,2.72092 +2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,16990.7,7843,5854,1989,85855,8,7633,97024,30.8048 +2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,10429,5306,3673,1633,59452,8,7701,75544,16.0411 +303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3530.81,1850,1257,593,20766,8,379,11971,1.76994 +31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3386.23,4049,2930,1119,45238,8,4770,51971,7.21038 +321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3472.19,3520,2381,1139,40984,8,3904,96041,7.69355 +327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,694.654,1325,878,447,14805,8,212,4812,0.646128 +3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,14676,8588,6402,2186,94632,8,6765,85872,24.7064 +33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,13176.2,5079,3597,1482,57732,8,6925,81417,15.7646 +34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,715.521,1762,1167,595,19934,8,256,10329,0.84016 +36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3964.82,5073,3597,1476,57478,8,2828,58028,8.34405 +3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,23136.9,7843,5854,1989,88415,8,10910,107959,29.2903 +379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6175.92,5114,3610,1504,58789,8,1634,41974,7.64516 +37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2603.74,2734,1941,793,30392,8,675,16106,1.93163 +38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3772.51,3104,2156,948,35226,8,751,29001,3.78127 +38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,52982,11127,8496,2631,135485,8,12391,168556,65.4763 +3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6438.96,5112,3610,1502,58744,8,4341,60532,8.15447 +395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1394.5,2707,1924,783,30064,8,788,15786,2.14286 +39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3002.76,3239,2301,938,35861,8,973,27904,5.14887 +3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2334.59,3235,2300,935,36199,8,1276,30370,4.11721 +3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8571.61,5109,3610,1499,58459,8,3506,52995,8.33814 +3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,273.786,1236,794,442,13896,8,109,4450,0.275355 +3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6812.85,4589,3316,1273,54218,8,2229,58285,7.44364 +3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,626.761,1856,1264,592,20575,8,326,9895,0.978811 +3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1384.5,2565,1783,782,28938,8,955,19368,2.31893 +3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2204.94,2322,1531,791,26774,8,4661,23327,3.42086 +3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7769.88,4806,3325,1481,56210,8,1852,61786,8.39234 +3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,701.966,1316,869,447,15389,8,0,0,0.141513 +40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3245.66,4040,2924,1116,44649,8,1366,41353,6.65273 +4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2662.56,2322,1531,791,26774,8,362,13873,2.77881 +42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7075.59,4054,2930,1124,45469,8,3684,73635,7.57263 +435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3472.88,3488,2362,1126,40581,8,1390,41486,7.61202 +458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,INFEASIBLE,71202.6,20862,16429,4433,236709,8,9602,121165,66.0884 +45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1761.78,2579,1793,786,28601,8,826,18196,2.0476 +46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,32597.8,11114,8496,2618,124184,8,15039,170009,88.9703 +471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3311.66,1863,1266,597,21835,8,303,10282,2.27321 +47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3264.07,4040,2924,1116,44637,8,1980,44483,6.892 +484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1380120.0,20844,16436,4408,233557,8,498838,1688437,4132.21 +496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3964.92,5104,3610,1494,58090,8,2044,54259,8.29502 +49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4810.32,3526,2381,1145,41425,8,1252,42558,7.70899 +49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8176.08,4589,3316,1273,51858,8,2546,59699,8.33407 +4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,445.985,1317,869,448,14660,8,107,3158,0.297181 +4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4210.68,4107,2621,1486,49290,8,3008,60246,8.15272 +4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2137.43,2571,1783,788,29248,8,904,18832,2.15797 +4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3021.82,3722,2581,1141,42727,8,2499,49481,6.34042 +4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5044,2326,1531,795,28202,8,795,16032,4.34903 +4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4414.12,2326,1531,795,26958,8,364,13035,3.54087 +4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3844.03,2330,1531,799,27198,8,495,12992,2.81166 +4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3107.88,3220,2288,932,36135,8,1375,31948,5.32494 +4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,14327.9,8580,6402,2178,94141,8,11425,111123,46.945 +4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,305.266,1313,869,444,14481,8,111,3720,0.3288 +505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5857.53,5114,3610,1504,58789,8,1724,50485,8.03885 +5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3216.8,3920,2783,1137,44096,8,1153,40430,6.91569 +5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1799.35,2726,1936,790,30292,8,699,15185,2.55558 +5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,9137.48,7837,5854,1983,85434,8,5533,109722,24.3041 +5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4951.53,5094,3604,1490,58639,8,2474,50561,8.24999 +5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2600.23,2729,1936,793,30473,8,686,15497,2.07778 +53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4129.05,5104,3610,1494,58096,8,1937,57423,8.30293 +548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3091.2,3098,2149,949,33949,8,1072,27025,2.68433 +55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4354.72,4053,2932,1121,44877,8,4442,51709,7.15852 +55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5903.16,3158,2012,1146,39594,8,532,30142,6.48306 +561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11165.7,5099,3604,1495,61857,8,3701,72784,13.4906 +5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4481100.0,20867,16436,4431,246453,8,891686,3512483,7757.25 +568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,969.978,1739,1149,590,19373,8,248,7114,0.652094 +57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4231.64,5273,3652,1621,58497,8,2224,71568,7.95616 +57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3337.57,2711,1924,787,31874,8,801,17137,3.11203 +58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12685.6,5076,3230,1846,64588,8,2679,103365,14.722 +597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1079.47,2323,1530,793,26307,8,1269,28923,1.56722 +5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,105.102,713,461,252,7361,8,557,4453,0.0895648 +5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3841.35,5094,3604,1490,58639,8,1311,55094,8.26568 +5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1158.32,1859,1264,595,20738,8,353,9988,0.909669 +5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10133.3,5064,3230,1834,61076,8,4204,96355,23.0398 +5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,19871.1,7843,5854,1989,85727,8,11530,108844,32.3834 +5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6474.67,4812,3325,1487,56624,8,1458,52985,8.2366 +5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7406.27,4358,2861,1497,54463,8,3399,58637,7.80385 +5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,670.551,1670,1070,600,19247,8,264,9558,0.780983 +5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4029.71,2350,1548,802,27265,8,422,16484,2.60462 +5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3438.95,3722,2581,1141,42739,8,1428,46037,7.29287 +5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6061.9,3158,2012,1146,37830,8,6561,61517,7.28667 +5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,32885.9,5076,3230,1846,61648,8,9305,123328,32.1626 +5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6436.58,1979,1377,602,21981,8,436,9745,1.9513 +5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3508.55,3098,2149,949,35981,8,857,24069,3.39139 +6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4085.09,3722,2581,1141,42739,8,5788,70467,7.30942 +612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3910.15,4053,2932,1121,44889,8,1334,41508,6.01053 +62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11005.1,5081,3592,1489,61665,8,2742,65991,14.2197 +62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4069.74,5273,3652,1621,58497,8,2224,71568,7.95576 +638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,518.256,1316,869,447,14603,8,222,4388,0.312387 +6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3194.54,2733,1938,795,31882,8,601,16127,2.75747 +63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2893.75,1863,1266,597,21835,8,382,10557,2.23047 +643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6785.44,3727,2581,1146,43015,8,1010,38777,6.0984 +64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5707370.0,20867,16436,4431,246453,8,1489558,5574793,10405.8 +64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1575.51,1739,1149,590,20421,8,260,7247,1.11017 +664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,60117.3,10407,7751,2656,117505,8,29456,160280,136.939 +66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3208.92,3100,2156,944,35023,8,839,29713,4.43972 +674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3104.21,3220,2288,932,36135,8,5755,41690,6.06734 +67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,112.046,713,461,252,7361,8,557,4453,0.0896132 +67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1796.49,2713,1924,789,30412,8,624,12812,1.73543 +67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,737.151,1240,794,446,14600,8,0,0,0.216815 +683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,6172.22,5073,3597,1476,57490,8,2870,62515,14.731 +6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2019.3,1864,1266,598,20886,8,646,10998,1.23111 +68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5416.5,4091,2956,1135,45445,8,4557,49531,6.7395 +69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1065.54,1860,1264,596,20822,8,365,9195,0.956687 +6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7410.33,4806,3325,1481,58766,8,1826,58107,7.78839 +6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1883.75,2736,1938,798,30419,8,782,13357,2.07542 +6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6126.11,3226,2288,938,36510,8,1106,29478,6.1997 +6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,324.559,1313,869,444,14485,8,373,4195,0.359571 +6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1411.02,2730,1938,792,30064,8,619,15735,2.30004 +6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5580.53,5075,3592,1483,58433,8,3493,67375,15.4415 +6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6042,4046,2924,1122,47161,8,1848,42404,6.50539 +6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3936.7,2330,1531,799,27198,8,483,13168,3.35132 +70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3846.75,3098,2149,949,35981,8,1124,35050,3.48767 +7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3668.23,3150,2012,1138,37492,8,2201,73048,6.85616 +71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1074.74,2323,1530,793,26295,8,341,14652,1.45079 +7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4758.69,2781,1832,949,33969,8,1937,30801,4.63674 +728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,12843.4,5354,3525,1829,63705,8,9041,126376,31.9076 +72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5357.91,5104,3610,1494,58108,8,1981,54661,8.33971 +733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1401.03,1674,1070,604,19452,8,283,8914,1.00189 +734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2078.5,3100,2149,951,34071,8,567,13553,1.50231 +744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3569.97,4087,2956,1131,45114,8,4115,60998,6.88747 +757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,9298.88,5109,3610,1499,58438,8,1320,43497,8.21765 +75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3310.99,3375,2442,933,37535,8,1284,21599,3.05343 +76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3072.18,2193,1403,790,25682,8,299,14001,5.90394 +78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5812.56,5087,3592,1495,59195,8,2816,52241,8.45404 +78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,12361.7,4820,3334,1486,56476,8,8813,120664,14.9513 +7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,14663.3,7843,5854,1989,85855,8,6845,87740,24.6145 +79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3276.46,3100,2156,944,35023,8,709,29850,5.10741 +7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3195.98,2569,1783,786,30546,8,542,18144,3.25983 +7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1216.52,2726,1936,790,30288,8,808,15391,2.11419 +7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3598.47,3488,2362,1126,40569,8,1142,39320,7.16565 +7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2388.08,2729,1936,793,30477,8,623,15347,2.11807 +7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2916.72,1859,1264,595,21771,8,399,10761,2.09439 +7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,154.832,715,461,254,7431,8,31,985,0.0753838 +7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,506.153,1737,1149,588,19236,8,243,5443,0.611709 +7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7474.2,5298,3673,1625,59077,8,9257,85199,24.3461 +7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1482010.0,20844,16436,4408,233557,8,548234,2019729,3843.75 +7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1183.34,1977,1377,600,21823,8,399,9558,0.909728 +7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3097.71,3235,2300,935,36199,8,1276,30370,4.11745 +8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1649.08,2565,1783,782,28926,8,709,19482,2.86391 +80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6437.82,4592,3316,1276,52067,8,2738,52199,8.05118 +80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6225.3,4117,2621,1496,49835,8,2111,75272,7.63856 +821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1855.33,2775,1832,943,32281,8,557,24512,3.10161 +82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4100.31,4049,2930,1119,45237,8,2629,43878,6.32821 +82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,9249.91,5277,3652,1625,58663,8,1749,67067,8.18564 +832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,104633,10404,7751,2653,117200,8,38734,248491,176.807 +834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3081.59,1850,1257,593,21650,8,794,13010,2.23403 +84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5728.96,3224,2288,936,36358,8,927,30205,5.90036 +855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3036.42,2733,1938,795,31882,8,777,15687,3.01651 +859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,795.193,1739,1149,590,19405,8,255,5415,0.635959 +867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6078.24,4825,3334,1491,56887,8,1766,61829,8.15386 +86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,24569.5,11114,8496,2618,124184,8,5451,107151,32.4269 +86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6348.77,3524,2381,1143,41227,8,6997,74326,7.5385 +87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2555.9,3098,2149,949,33949,8,833,22856,2.43486 +87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6350.34,3727,2581,1146,43015,8,1791,41316,6.90988 +89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5541.49,3224,2288,936,36358,8,1466,31284,5.09327 +8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5309.81,5075,3592,1483,58445,8,2382,66426,14.7412 +8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6624.34,4054,2930,1124,45468,8,1748,41177,5.8758 +8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4787.76,3224,2288,936,38028,8,2472,37155,4.98498 +8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3475.49,3220,2288,932,36135,8,1375,31948,5.32517 +8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3044.89,2729,1936,793,32079,8,901,16035,3.18278 +8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3910.28,5094,3604,1490,58627,8,1354,54858,8.30722 +8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4449.32,3104,2156,948,36382,8,1352,35025,4.71866 +8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7342.41,5064,3230,1834,61088,8,4363,91953,15.6115 +8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11819.5,5079,3597,1482,59796,8,3578,76643,13.8424 +8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1669.89,3094,2149,945,33706,8,892,22010,2.7846 +8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1599.16,2730,1938,792,30064,8,1148,16541,2.64948 +8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3057.05,4053,2932,1121,44877,8,2050,42750,6.67817 +8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1979.49,2325,1530,795,26442,8,581,16233,1.67653 +90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1323.68,1847,1257,590,20644,8,3410,21289,1.66283 +90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5772.7,4800,3325,1475,55906,8,5705,120717,14.8884 +915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1537.86,2579,1793,786,28589,8,876,16280,2.10021 +91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5312.01,4440,3147,1293,50667,8,1717,52956,7.43839 +94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2360.01,2585,1793,792,28922,8,912,15157,1.93857 +9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7026.39,4440,3147,1293,50587,8,1692,52454,7.8701 +95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6499.23,3924,2783,1141,45864,8,1678,45114,6.78036 +96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1443320.0,20844,16436,4408,233581,8,700829,2655203,4843.77 +97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3578.34,4434,3147,1287,50329,8,1997,53648,7.28891 +9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4600.21,4050,2924,1126,45133,8,2345,44779,6.52967 +99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,422.549,1240,794,446,14036,8,103,4068,0.26473 +99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,798.026,1975,1377,598,21682,8,377,9553,1.18037 +99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6204.55,5104,3604,1500,59384,8,1650,51769,8.33136 +99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,28200.8,7843,5854,1989,88415,8,13095,128740,35.9572 +9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7909.24,4358,2861,1497,51975,8,969,45703,7.91396 +9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2300.62,3100,2149,951,34071,8,684,14103,1.8593 +9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5307350.0,20881,16450,4431,236975,8,949858,3779328,10022.4 +9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1161.53,1859,1264,595,20727,8,305,10055,0.839053 +9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4022.2,5104,3610,1494,58096,8,1777,58426,8.31302 +9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1312210.0,20853,16429,4424,245972,8,261411,1407886,2214.53 +9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3212.27,1977,1377,600,22871,8,822,11048,2.12357 +9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3098.94,2569,1783,786,29118,8,1617,21084,2.66028 +9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4094.81,4049,2930,1119,45225,8,3832,89975,7.82779 +9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1034.56,1766,1167,599,20107,8,351,10858,0.75633 +9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7404.83,5304,3831,1473,59864,8,1468,61490,14.4768 +9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3171.96,3520,2381,1139,40996,8,1193,38351,6.84478 +9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3351.44,4087,2956,1131,45102,8,1767,38543,6.44192 +9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11228.7,4358,2861,1497,54463,8,5127,73239,13.756 +9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,640.309,1856,1264,592,20564,8,316,9914,0.898999 +a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5754.89,4057,2930,1127,45699,8,1585,40818,6.47583 +a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,850.031,1975,1377,598,21682,8,618,9748,1.17243 +a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6657.63,3224,2288,936,38028,8,7110,91485,6.30523 +a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3956.08,4352,2861,1491,51635,8,670,40595,7.45242 +a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1979.36,2346,1548,798,27043,8,334,15496,2.57625 +a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3366.15,3150,2012,1138,37480,8,1494,43537,7.2959 +a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,316.487,1323,878,445,14094,8,166,4721,0.38152 +a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2377.49,2711,1924,787,30268,8,1266,30734,1.95116 +a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5134.63,3158,2012,1146,37902,8,433,24742,6.26043 +a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11295.1,5366,3525,1841,64385,8,2482,78855,16.0043 +a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6495.42,3924,2783,1141,44292,8,3579,74959,7.06788 +a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10574.9,7837,5854,1983,85434,8,10534,98410,32.0729 +a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1840,1977,1377,600,21823,8,455,9769,1.15662 +a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3986.44,5073,3597,1476,57490,8,2761,59642,8.21734 +a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1500.8,2707,1924,783,30068,8,695,16497,2.08018 +a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,180.457,715,461,254,7423,8,560,4544,0.0901002 +a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3134.13,2711,1924,787,31870,8,740,15627,3.02381 +aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4676.26,2781,1832,949,32565,8,707,25709,3.30281 +ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3487.46,2571,1783,788,29262,8,6635,36704,2.86413 +ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,42433.4,10391,7751,2640,116641,8,35646,377527,153.145 +ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6536.66,3727,2581,1146,45243,8,878,33840,6.79979 +ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2168.04,1851,1257,594,20861,8,414,11107,1.5309 +abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10397.7,5298,3673,1625,59077,8,17088,157373,39.3144 +abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3515.33,4434,3147,1287,50329,8,1781,51076,7.59026 +aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3671.42,4815,3334,1481,56186,8,2414,53301,8.1817 +ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2371.29,1859,1264,595,21741,8,305,9961,1.70667 +ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5988.72,4364,2861,1503,52449,8,1772,55986,8.07535 +ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,590.302,1325,878,447,14217,8,139,4506,0.34056 +aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1317.35,2726,1936,790,30276,8,759,14872,2.31358 +af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,748.329,1975,1377,598,21682,8,377,9553,1.18051 +afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1811.58,2732,1936,796,30680,8,612,14213,2.1616 +afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,309.44,1323,878,445,14106,8,151,4649,0.378169 +afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2133.87,2732,1936,796,30684,8,1314,16008,2.20437 +afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,21205.3,7843,5854,1989,85727,8,11110,111181,31.961 +b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3052.7,1766,1167,599,20923,8,228,10193,2.02794 +b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8842.37,5079,3597,1482,57828,8,2133,60233,12.7949 +b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1873900.0,20844,16436,4408,233581,8,738946,2570390,6668.87 +b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,6300.32,5104,3610,1494,58078,8,3809,110454,15.1082 +b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5483.02,4061,2932,1129,45302,8,4083,46562,6.52935 +b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5984.27,4800,3325,1475,55918,8,7904,99296,16.3801 +b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,959.743,1739,1149,590,19373,8,308,7215,0.627408 +b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,28277.1,8588,6402,2186,94488,8,11791,108949,39.9897 +b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,9668,5304,3831,1473,59852,8,5829,81909,15.8384 +b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6886.08,4058,2932,1126,45101,8,3426,74733,6.61894 +b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1965.09,3094,2149,945,33706,8,4561,34650,2.96967 +b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3431.8,4049,2930,1119,45226,8,4101,48128,7.43628 +b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1001.91,1860,1264,596,20803,8,744,12584,1.03077 +b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4531.41,2326,1531,795,28202,8,2030,22093,5.07546 +b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7481.13,4054,2930,1124,47567,8,6808,70130,7.20177 +b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3654.93,4352,2861,1491,51635,8,1666,60664,8.20979 +ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1315.97,1863,1266,597,20821,8,408,10424,1.05133 +ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3264.35,2569,1783,786,29104,8,884,19554,2.58996 +ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,INFEASIBLE,66907.9,20876,16436,4440,237190,8,9936,121156,69.7478 +bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,12741,5081,3592,1489,58781,8,8190,64546,15.7151 +baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4895.28,4582,3316,1266,51584,8,2446,59082,8.1702 +bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3262.15,2569,1783,786,30560,8,2070,30975,3.92594 +bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1017.39,1847,1257,590,20644,8,1010,13357,1.26922 +bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,INFEASIBLE,68275,20876,16436,4440,237190,8,11901,119272,73.1088 +bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11690.6,5109,3610,1499,58438,8,6207,130018,13.9314 +bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6444.66,3494,2362,1132,40817,8,1164,39616,6.93193 +bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,837165,17070,13335,3735,199450,8,213359,1171620,1353.18 +bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,502.374,1737,1149,588,19236,8,243,5443,0.611565 +bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4816.56,3924,2783,1141,44364,8,1919,42736,6.62824 +bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,10744.1,5076,3230,1846,61768,8,3721,100111,16.4477 +bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7530.89,5298,3673,1625,59077,8,8859,83041,23.9536 +bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1132.06,1860,1266,594,20658,8,419,10594,1.17979 +c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,11003.3,8580,6402,2178,94141,8,9050,97946,32.2612 +c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4920.17,2199,1403,796,25921,8,712,19587,4.70544 +c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,400652,17070,13335,3735,192562,8,122197,544974,817.73 +c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1988.07,1859,1264,595,21752,8,372,10428,1.6284 +c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2431.35,2733,1938,795,30242,8,646,15490,2.17952 +c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,304.492,1313,869,444,14493,8,163,3749,0.333838 +c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2670.68,2733,1938,795,30242,8,590,15794,2.03907 +c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7808.57,5099,3604,1495,61857,8,2283,62251,7.84759 +c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4839.59,2326,1531,795,26958,8,2116,24405,4.23301 +c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,633.046,1856,1264,592,20594,8,302,9945,0.856833 +c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,33804.5,8588,6402,2186,94488,8,18283,134769,56.5736 +c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4313.07,2199,1403,796,27097,8,307,13962,5.09543 +c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3883.39,5094,3604,1490,58627,8,2010,62433,8.22645 +c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7692.09,5099,3604,1495,58973,8,1835,59762,8.13808 +c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1564.42,2707,1924,783,30080,8,951,16490,2.14116 +c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,8928.37,7837,5854,1983,85434,8,6789,90678,24.054 +c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1152.52,1674,1070,604,19420,8,172,8896,0.839951 +ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3101.11,3313,2177,1136,38783,8,493,26836,3.2243 +caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7255.7,4358,2861,1497,51975,8,3095,59900,8.11072 +cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,642.02,1762,1167,595,19934,8,256,10329,0.840026 +ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5546.81,4091,2956,1135,47437,8,2328,42380,6.34357 +cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,987.922,1316,869,447,15385,8,183,4481,0.725161 +cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1549180.0,20830,16429,4401,233076,8,443078,1855860,4027.99 +cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6403.38,4091,2956,1135,45373,8,1734,40697,6.78591 +cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2972.04,3369,2442,927,37121,8,1320,25163,4.09745 +cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2736.12,2711,1924,787,30264,8,931,17958,1.97305 +cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,377.333,1313,869,444,14497,8,1116,25101,0.418748 +cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,636.406,1856,1264,592,20564,8,316,9914,0.898867 +d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1605.55,2346,1548,798,27031,8,335,15513,2.20673 +d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,15126.3,8588,6402,2186,94632,8,6826,86123,24.2877 +d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1772.15,2730,1938,792,30076,8,1612,16281,2.54555 +d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3731.05,4815,3334,1481,56174,8,1819,62821,8.34385 +d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5355.17,3313,2177,1136,40187,8,937,35168,4.77691 +d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,974.173,1847,1257,590,20644,8,1010,13357,1.26936 +d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,241828,17058,13335,3723,190797,8,113751,616288,753.539 +d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7758.26,4820,3334,1486,59032,8,2512,61449,7.84112 +d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5402.52,3732,2581,1151,43342,8,2651,84649,7.43684 +d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2636.93,2781,1832,949,32621,8,591,23984,2.88591 +d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4844.67,3496,2362,1134,41015,8,897,33449,6.95599 +d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6416.26,5104,3604,1500,59384,8,1981,59854,8.47782 +d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1764.03,2731,1941,790,30189,8,4158,57953,2.6842 +d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,688.182,1860,1266,594,20658,8,517,10517,1.00223 +d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3980.14,3372,2442,930,39222,8,1168,27661,4.24827 +d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3748.33,1850,1257,593,21650,8,531,12139,2.30902 +da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4490.47,4107,2621,1486,49278,8,1914,57190,8.23222 +da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11693.6,5310,3831,1479,63086,8,2652,73629,14.342 +daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1287.87,1851,1257,594,20861,8,325,10876,1.2279 +dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3551.33,2734,1941,793,31998,8,803,16588,3.23431 +db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1895.54,2565,1783,782,28952,8,3683,32229,2.78948 +e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4168.07,5104,3610,1494,58108,8,1594,55705,8.38265 +e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3910.49,3372,2442,930,37320,8,1120,26394,3.00747 +e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3140.42,3309,2177,1132,38566,8,5606,75969,5.024 +e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11336.5,5109,3610,1499,61671,8,3325,65832,13.2456 +e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2894.64,1739,1149,590,20421,8,229,7101,1.82151 +e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,16580.1,5310,3831,1479,60202,8,8747,86424,22.3038 +e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6297.97,3494,2362,1132,42717,8,797,35952,6.38374 +e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2054.76,2322,1531,791,26786,8,500,14190,2.89887 +e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,12804.9,5312,3831,1481,60364,8,5457,68944,14.0536 +e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5253.12,3240,2300,940,36452,8,2043,31440,4.28569 +e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4887.83,4057,2930,1127,45640,8,2631,43623,7.24441 +e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6608.39,4054,2930,1124,47566,8,1763,39458,6.43063 +e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1117.04,1859,1264,595,20757,8,286,9923,0.817957 +e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7970.52,5079,3597,1482,59796,8,2467,65020,7.82318 +e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1251.32,2726,1936,790,30280,8,733,15802,2.15822 +e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,916.404,1739,1149,590,19405,8,271,5748,0.718591 +ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4689630.0,20881,16450,4431,236975,8,1180208,4605661,9645.78 +eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2575.79,2193,1403,790,25694,8,255,13536,4.3558 +ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3548.75,3369,2442,927,37121,8,1320,25163,4.09768 +ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4618.5,3732,2581,1151,43342,8,2166,52761,6.90447 +ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,26603,10391,7751,2640,116641,8,16842,255182,88.5344 +ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1608.48,3094,2149,945,33706,8,892,22010,2.78436 +ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3318.12,3722,2581,1141,42727,8,4463,93544,7.18218 +ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,32383.5,8588,6402,2186,97536,8,15627,122298,43.2025 +ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4562.37,4061,2932,1129,45302,8,1402,41147,5.86141 +ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7673.95,5109,3610,1499,61718,8,2756,52996,7.88379 +eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1380.36,1850,1257,593,20766,8,497,11760,1.03943 +ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1974.88,2775,1832,943,32281,8,557,24512,3.10185 +ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1667.51,2322,1531,791,26786,8,494,13933,2.20254 +f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,14595.1,8580,6402,2178,94129,8,13022,121753,48.0783 +f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6340.31,3524,2381,1143,43127,8,876,36477,6.44549 +f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6043.44,4364,2861,1503,52449,8,1677,58474,8.10386 +f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1400.94,1863,1266,597,20821,8,365,10412,0.933528 +f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5490.98,3727,2581,1146,45243,8,1721,44355,6.24261 +f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5229.07,3240,2300,940,38286,8,1162,27920,5.07577 +f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6273.65,4058,2932,1126,47233,8,2166,42479,6.69212 +f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4646.35,3241,2300,941,36541,8,1577,27157,4.01477 +f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11713.1,5277,3652,1625,60763,8,2608,83027,11.1826 +f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1523.17,2707,1924,783,30076,8,677,16212,2.42093 +f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,668.915,1737,1149,588,19236,8,296,6114,0.713344 +fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1364.16,1847,1257,590,20644,8,3410,21289,1.66269 +fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,576.826,1737,1149,588,19236,8,296,6114,0.713486 +fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,522.676,1317,869,448,14656,8,146,3462,0.308244 +fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,436.964,1240,794,446,14012,8,87,4299,0.24253 +fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3111920.0,20867,16443,4424,236494,8,632852,2956918,6244.86 +fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7010.29,4440,3147,1293,52387,8,2009,55718,6.805 +ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8016.85,4117,2621,1496,52091,8,2704,66347,7.69068 +ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5931.36,5079,3597,1482,57828,8,1982,61712,8.19457 diff --git a/input/cpsat-bench/Statistics/plots/01_runtime_hist.png b/input/cpsat-bench/Statistics/plots/01_runtime_hist.png new file mode 100644 index 0000000000000000000000000000000000000000..0ed58cd2fee281fb3c1c71b680a61cb9405cb9f0 GIT binary patch literal 28111 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�CKYQRSyiWqEMGHhiGEfRz3XDuKBCEU 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 T_pCYi)sD$29f?15?&|*nSF7(s literal 0 HcmV?d00001 diff --git a/input/cpsat-bench/Statistics/plots/03_runtime_vs_size_scatter.png b/input/cpsat-bench/Statistics/plots/03_runtime_vs_size_scatter.png new file mode 100644 index 0000000000000000000000000000000000000000..4f062c2dd6275c31a6d8240a8b9bc5841fcb76cc GIT binary patch literal 134188 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 z z*v0p99a1#!9W;lEzPx65c>Z08?vN$7FN7gZVUt>ALr9VEuWcZzU7c^+BDwrI71`26 z%-|f7&Dc2Mi{kibb2ADnj+`OCbkX-Kp>uV@++1xQnqAy5{`!Rz#g%|9?di@!pbz|v zY%?MsM>&%_I$?g@@e%p<%%L%|V@g@so4<-)|4o+}D)dUafv5g&b>NyCxBA?l^RIhM z43e`P-a@l`7&3$55MX84!rQjj$UP95A_9Ik>U8_OQ#!OAkXkTj$19mahfq#t7Xs&P zS8#Svo1sg)2mMz${#ZIG0=SbqRsMYCgz5dq?B{#>`=_PVl@%=mNE~esJ9<62i-oYz zFRn`Z-h`AS#mI43S*pG%8ij;p=*O4@+CuQyFcB?K&YaY~oL;LDp#+q{ zLhWsN(c{>YbE5uefaILxf(shI3!x{VE3f$B;bJWbB_(AKKuZ~#=v%_172UM@OW)n+ zkuB_cI2`CQV195F56U%lVTn2?kHe;{A^c)1gQn@UuD%%6J5#NxKM`0kH$sH|#jSTk z>3?K_6Gbs9N*h~kQ>ym;ms;4ABKd`m+OmNa) z#x^{7=|P^X;N|<=-1aT}w9TAVb6Vo(kQOPc7@c`ypPolSCNlfghV*}DQ$1AwDKLHl zge_opCDB0JP7y;64a+alQ<`uUyHY4pwz2)&SILCd`~9OJ46KHexFUFmwoK?WIe7<# zsdLzh!=E}5K+SF75~r27p<5ZXxYbZcvt&i=_yZScKj1yN8E7&&YQDj+*tbx zP!#q)K&jHxA1s|Mi3Te1x&$HINdNE6⋙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 QC-ed?nOK}JKZlI_AJ`Un0ssI2 literal 0 HcmV?d00001 diff --git a/input/cpsat-bench/Statistics/plots/04_box_by_status.png b/input/cpsat-bench/Statistics/plots/04_box_by_status.png new file mode 100644 index 0000000000000000000000000000000000000000..8888330df19751a195b9eb1c9015621a3df18efa GIT binary patch literal 27562 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 literal 0 HcmV?d00001 diff --git a/input/cpsat-bench/Statistics/plots/05_box_by_hash.png b/input/cpsat-bench/Statistics/plots/05_box_by_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..38d09926b4a91fbb5ffab2783773c3ad417ba0c1 GIT binary patch literal 76659 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

tP164ZSw^ehu>7JQbx_LIVW26M$;4f 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

D^iIJTxcoa*Zt8i`wy+6g8m=NqbF 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 literal 0 HcmV?d00001 diff --git a/input/cpsat-bench/Statistics/plots/06_heatmap_vars_constraints.png b/input/cpsat-bench/Statistics/plots/06_heatmap_vars_constraints.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd11ba16ad1e57f293b2a0aa2f7b108d6222562 GIT binary patch literal 29040 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 h@#&LhHrjEVpN literal 0 HcmV?d00001 diff --git a/input/cpsat-bench/Statistics/plots/07_residual_scatter.png b/input/cpsat-bench/Statistics/plots/07_residual_scatter.png new file mode 100644 index 0000000000000000000000000000000000000000..d135703337607b790930086984bbdd0efb8288b0 GIT binary patch literal 93573 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

C7%V>z@RWy}qJ-r6X+#8&j887@ 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 z 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 YGg?=lw~T!=@gvBcp00i_>zopr0E5dK#Q*>R literal 0 HcmV?d00001 diff --git a/input/cpsat-bench/Statistics/plots/08_outlier_constraint_kinds.png b/input/cpsat-bench/Statistics/plots/08_outlier_constraint_kinds.png new file mode 100644 index 0000000000000000000000000000000000000000..438107b825133647b85b46a543203f80612c8101 GIT binary patch literal 32677 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 i^t%6dRj=5^b;01 Date: Tue, 26 May 2026 14:41:38 +0900 Subject: [PATCH 24/42] cpsat: per-problem param tuning + outlier-only stage3 Add three evolution surfaces per phase (GLOBAL_OVERRIDES, SIZE_BUCKETS, STAGE3_OVERRIDES) with constraint-count buckets and outlier-only stage3 overrides. Stage3 sample now picks from Statistics/outliers_top.csv (top-5 residual, capped at MAX_BASELINE_MS). Evaluator resolves params per problem with backward-compat shim for legacy get_params(). extract_best / prepare_phase chain bucket + stage3 dicts across phases. config.yaml system_message embeds full CpSolverParameters reference (275 fields) so the LLM has authoritative knob names in every call. --- input/_lib/extract_best.py | 57 ++- input/_lib/prepare_phase.py | 112 +++++- input/cpsat-bench/evolve/README.md | 46 ++- input/cpsat-bench/evolve/benchmark_final.py | 58 ++- input/cpsat-bench/evolve/build_samples.py | 144 ++++++- input/cpsat-bench/evolve/config.yaml | 212 +++++++++++ input/cpsat-bench/evolve/final_verify.py | 56 ++- .../evolve/phase1_search/initial_program.py | 76 +++- .../evolve/phase2_presolve/initial_program.py | 86 ++++- .../evolve/phase3_lp_cuts/initial_program.py | 84 ++++- .../evolve/phase4_unified/initial_program.py | 46 ++- .../evolve/prepare_phase_unified.py | 10 +- .../evolve/shared/cpsat_params_reference.md | 353 ++++++++++++++++++ input/cpsat-bench/evolve/shared/evaluator.py | 83 +++- input/cpsat-bench/evolve/shared/outliers.json | 191 ++++++++++ .../evolve/shared/stage1_sample.json | 30 +- .../evolve/shared/stage2_sample.json | 30 +- .../evolve/shared/stage3_sample.json | 32 +- .../evolve/shared/stage4_sample.json | 112 +++--- input/cpsat-bench/problems.jsonl | 344 +++++++++++++++++ 20 files changed, 1974 insertions(+), 188 deletions(-) create mode 100644 input/cpsat-bench/evolve/shared/cpsat_params_reference.md create mode 100644 input/cpsat-bench/evolve/shared/outliers.json diff --git a/input/_lib/extract_best.py b/input/_lib/extract_best.py index 7a79536434..5b324723b1 100644 --- a/input/_lib/extract_best.py +++ b/input/_lib/extract_best.py @@ -104,6 +104,59 @@ def main(root, shared, phase_dirs, argv=None): f"expected dict", file=sys.stderr) sys.exit(1) - out = pathlib.Path(shared) / f"phase{n}_best.json" + shared_dir = pathlib.Path(shared) + root_path = pathlib.Path(root) + + out = shared_dir / f"phase{n}_best.json" out.write_text(json.dumps(overrides, indent=2, sort_keys=True) + "\n") - print(f"wrote {out.relative_to(pathlib.Path(root))} ({len(overrides)} keys)") + print(f"wrote {out.relative_to(root_path)} ({len(overrides)} keys)") + + # Optional extras for size-bucket / stage3 evolution (cpsat-bench). + # Programs that don't expose these helpers stay backward-compatible. + if hasattr(module, "get_phase_size_buckets"): + try: + buckets = module.get_phase_size_buckets() + except Exception as e: + print(f"get_phase_size_buckets() raised: {e}", file=sys.stderr) + sys.exit(1) + if not isinstance(buckets, list): + print(f"get_phase_size_buckets() returned " + f"{type(buckets).__name__}, expected list", file=sys.stderr) + sys.exit(1) + # JSON can't encode inf — write None as the sentinel. + serializable = [] + for entry in buckets: + if not (isinstance(entry, (list, tuple)) and len(entry) == 2): + print(f"bucket entry malformed: {entry!r}", file=sys.stderr) + sys.exit(1) + upper, override = entry + if upper == float("inf"): + upper = None + elif not isinstance(upper, (int, float)): + print(f"bucket upper bound not numeric: {upper!r}", + file=sys.stderr) + sys.exit(1) + if not isinstance(override, dict): + print(f"bucket override not dict: {override!r}", + file=sys.stderr) + sys.exit(1) + serializable.append([upper, override]) + out_b = shared_dir / f"phase{n}_buckets.json" + out_b.write_text(json.dumps(serializable, indent=2, sort_keys=False) + "\n") + nonempty = sum(1 for _, d in serializable if d) + print(f"wrote {out_b.relative_to(root_path)} " + f"({len(serializable)} buckets, {nonempty} non-empty)") + + if hasattr(module, "get_phase_stage3_overrides"): + try: + stage3 = module.get_phase_stage3_overrides() + except Exception as e: + print(f"get_phase_stage3_overrides() raised: {e}", file=sys.stderr) + sys.exit(1) + if not isinstance(stage3, dict): + print(f"get_phase_stage3_overrides() returned " + f"{type(stage3).__name__}, expected dict", file=sys.stderr) + sys.exit(1) + out_s = shared_dir / f"phase{n}_stage3.json" + out_s.write_text(json.dumps(stage3, indent=2, sort_keys=True) + "\n") + print(f"wrote {out_s.relative_to(root_path)} ({len(stage3)} keys)") diff --git a/input/_lib/prepare_phase.py b/input/_lib/prepare_phase.py index 39a08219bf..98a8a23496 100644 --- a/input/_lib/prepare_phase.py +++ b/input/_lib/prepare_phase.py @@ -1,12 +1,21 @@ """ -Materialize a unified phase's initial_program.py with a literal dict -containing the union of prior-phase winners (from shared/phaseN_best.json). +Materialize a unified phase's initial_program.py with the union of prior-phase +winners (from shared/phaseN_best.json + optional phaseN_buckets.json + +phaseN_stage3.json). Per-bench `prepare_phase_unified.py` wrappers call `main(root, shared, prior_phases, unified_file)` after all prior phases have completed (and extract_best.py ran for each). Rewrites only the EVOLVE-BLOCK section of the unified phase's initial_program.py. + +Output format inside EVOLVE-BLOCK (cpsat-bench layout): + GLOBAL_OVERRIDES = {...} # union of phaseN_best.json + SIZE_BUCKETS = [(upper, {...})] # merged per-bucket overrides + STAGE3_OVERRIDES = {...} # union of phaseN_stage3.json + +If a bench doesn't ship the bucket/stage3 files, only GLOBAL_OVERRIDES is +written (legacy single-dict layout) — controlled by `dict_name` parameter. """ import json import pathlib @@ -28,30 +37,114 @@ def _load(shared, n): return json.loads(f.read_text()) +def _maybe_load(shared, name): + f = pathlib.Path(shared) / name + if not f.exists(): + return None + return json.loads(f.read_text()) + + +def _merge_buckets(prior_buckets_list): + """Merge a list of bucket-lists (one per phase) into a single + list[(upper, dict)], ordered by ascending upper (None == inf last). + Phases later in the list win on key conflicts within the same bucket.""" + # Collect all unique upper bounds, preserving inf -> None. + by_upper = {} + order_seen = [] + for blist in prior_buckets_list: + if not blist: + continue + for upper, override in blist: + key = upper # None for inf, numeric otherwise + if key not in by_upper: + by_upper[key] = {} + order_seen.append(key) + by_upper[key].update(override) + + def _sort_key(k): + return float("inf") if k is None else k + + return [[k, by_upper[k]] for k in sorted(by_upper.keys(), key=_sort_key)] + + +def _format_buckets_literal(buckets): + """Render bucket list as Python source. None upper -> float('inf').""" + lines = ["["] + for upper, override in buckets: + upper_src = "float('inf')" if upper is None else repr(upper) + ov_src = pprint.pformat(override, width=100, sort_dicts=True) + lines.append(f" ({upper_src}, {ov_src}),") + lines.append("]") + return "\n".join(lines) + + def main(root, shared, prior_phases, unified_file, dict_name="UNIFIED_OVERRIDES"): """ root — bench evolve dir (pathlib.Path) shared — bench evolve/shared dir (pathlib.Path) prior_phases — list of phase ints to merge (e.g. [1, 2, 3]) unified_file — path to the unified phase's initial_program.py - dict_name — variable name written in the EVOLVE-BLOCK (default UNIFIED_OVERRIDES) + dict_name — variable name for the merged global dict. Default + "UNIFIED_OVERRIDES" (legacy). cpsat-bench unified phase + uses "GLOBAL_OVERRIDES"; pass dict_name="GLOBAL_OVERRIDES" + from the wrapper. """ unified_file = pathlib.Path(unified_file) + merged = {} phase_counts = {} + prior_buckets = [] + merged_stage3 = {} + phase_stage3_counts = {} + for n in prior_phases: d = _load(shared, n) phase_counts[n] = len(d) merged.update(d) + + b = _maybe_load(shared, f"phase{n}_buckets.json") + if b is not None: + prior_buckets.append(b) + + s = _maybe_load(shared, f"phase{n}_stage3.json") + if isinstance(s, dict): + phase_stage3_counts[n] = len(s) + merged_stage3.update(s) + print("merged keys: " + " ".join(f"p{n}={c}" for n, c in phase_counts.items()) + f" union={len(merged)}") + has_extras = bool(prior_buckets) or bool(merged_stage3) + src = unified_file.read_text() - dict_repr = pprint.pformat(merged, width=100, sort_dicts=True) - new_block_body = ( - "# Auto-generated by prepare_phase_unified.py from union of prior phase winners.\n" - f"{dict_name} = {dict_repr}\n" - ) + + if has_extras: + merged_buckets = _merge_buckets(prior_buckets) + nonempty = sum(1 for _, d in merged_buckets if d) + if phase_stage3_counts: + print("stage3 keys: " + + " ".join(f"p{n}={c}" for n, c in phase_stage3_counts.items()) + + f" union={len(merged_stage3)}") + print(f"size buckets: {len(merged_buckets)} entries ({nonempty} non-empty)") + + dict_repr = pprint.pformat(merged, width=100, sort_dicts=True) + buckets_repr = _format_buckets_literal(merged_buckets) + stage3_repr = pprint.pformat(merged_stage3, width=100, sort_dicts=True) + new_block_body = ( + "# Auto-generated by prepare_phase_unified.py from union of prior " + "phase winners.\n" + f"{dict_name} = {dict_repr}\n" + f"SIZE_BUCKETS = {buckets_repr}\n" + f"STAGE3_OVERRIDES = {stage3_repr}\n" + ) + else: + dict_repr = pprint.pformat(merged, width=100, sort_dicts=True) + new_block_body = ( + "# Auto-generated by prepare_phase_unified.py from union of prior " + "phase winners.\n" + f"{dict_name} = {dict_repr}\n" + ) + new_src, n_subs = _EVOLVE_BLOCK_RE.subn( lambda m: m.group(1) + new_block_body + m.group(2), src, @@ -61,5 +154,6 @@ def main(root, shared, prior_phases, unified_file, dict_name="UNIFIED_OVERRIDES" print(f"EVOLVE-BLOCK markers not found in {unified_file}", file=sys.stderr) sys.exit(1) unified_file.write_text(new_src) + suffix = " (+ SIZE_BUCKETS, STAGE3_OVERRIDES)" if has_extras else "" print(f"wrote {unified_file.relative_to(pathlib.Path(root))} " - f"({len(merged)} keys in EVOLVE-BLOCK)") + f"({len(merged)} keys in EVOLVE-BLOCK){suffix}") diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md index 593b24c89a..2b1d2d61bd 100644 --- a/input/cpsat-bench/evolve/README.md +++ b/input/cpsat-bench/evolve/README.md @@ -45,19 +45,40 @@ input/cpsat-bench/ LLM-mutated initial_program.py ↓ evaluator.py: - 1. get_params() → dict + 1. get_params(problem=None, stage=...) → global dict (workers/locked) 2. LOCKED-violation check (random_seed, num_search_workers, timeout_sec) - 3. stage1 (5 problems, runtime Q1+Q2): - per-problem solver run, invalid_param triggers early 0 + 3. stage1 (5 problems, runtime Q1+Q2 cluster centers): + get_params(problem=p, stage="stage1") per problem + invalid_param triggers early 0 score → gate (cascade_thresholds[0]) → stage2 - 4. stage2 (5 problems, runtime Q3+Q4): - same, gate → stage3 - 5. stage3 (5 problems, runtime Q5): - same, gate (cascade_thresholds[2]) → stage4 (chained inside stage3) - 6. stage4 (20 broad-runtime problems): - final metrics + per-problem artifacts (top 20 entries surfaced) + 4. stage2 (5 problems, runtime Q3+Q4 cluster centers): same + 5. stage3 (5 OUTLIER problems from Statistics/outliers_top.csv, + capped @ MAX_BASELINE_MS): + get_params(problem=p, stage="stage3") — STAGE3_OVERRIDES applied + on top of GLOBAL_OVERRIDES + SIZE_BUCKETS match + score → gate (cascade_thresholds[2]) → stage4 (chained inside stage3) + 6. stage4 (20 broad-runtime problems): final metrics + artifacts ``` +### Per-problem param resolution + +Each phase's `initial_program.py` exposes three evolution surfaces inside its +EVOLVE-BLOCK: + +| Surface | Applied when | Purpose | +|---|---|---| +| `GLOBAL_OVERRIDES` | every problem | baseline params for the phase | +| `SIZE_BUCKETS` | `num_constraints` matches the bucket's upper bound | trade off cuts / probing / subsolver mix by problem size (small <50k / mid 50–150k / large ≥150k) | +| `STAGE3_OVERRIDES` | `stage == "stage3"` AND `problem.is_outlier` | tune outlier-specific knobs without regressing normal problems | + +Apply order inside `get_params()`: +`BASELINE → prior_phase_globals → GLOBAL_OVERRIDES → SIZE_BUCKETS match → +STAGE3_OVERRIDES (gated) → PHASE_LOCKED`. + +`is_outlier` is set from `shared/outliers.json`, generated by `build_samples.py` +from `Statistics/outliers_top.csv`. Reference for valid CP-SAT param names: +`shared/cpsat_params_reference.md` (275 fields, grouped by category). + ## Quick start ```bash @@ -134,7 +155,10 @@ combined_score = geomean( (b_obj/v_obj)^COST_W * (b_ms/v_ms) ) ## Locked params -`random_seed=0`, `num_search_workers=8`, `timeout_sec=-1`. +`random_seed=0`, `num_search_workers` (per-phase: 1 in phase1/2, 8 in phase3/4). Modifying any locked key in `get_params()` returns `combined_score=0` plus a -`locked_violated` artifact identifying the offending key. +`locked_violated` artifact identifying the offending key. Per-problem +`get_params(problem, stage)` calls have locked keys and `num_search_workers` +re-pinned defensively by the evaluator after the call returns, so SIZE_BUCKETS +/ STAGE3_OVERRIDES cannot override them even by accident. diff --git a/input/cpsat-bench/evolve/benchmark_final.py b/input/cpsat-bench/evolve/benchmark_final.py index ea2ab53a56..c1e1ee7538 100644 --- a/input/cpsat-bench/evolve/benchmark_final.py +++ b/input/cpsat-bench/evolve/benchmark_final.py @@ -26,6 +26,7 @@ import argparse import csv import importlib.util +import inspect import json import pathlib import statistics @@ -44,12 +45,43 @@ _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" +_OUTLIERS_JSON = _HERE / "shared" / "outliers.json" _DEFAULT_ITERS = 20 _DEFAULT_TIMEOUT_S = 300 _DECISIVE = ("OPTIMAL", "FEASIBLE") +def _load_outlier_shas(): + if not _OUTLIERS_JSON.exists(): + return set() + try: + d = json.loads(_OUTLIERS_JSON.read_text()) + except (json.JSONDecodeError, OSError): + return set() + return set(d.get("outliers") or {}) + + +def _supports_kwargs(fn, *kwargs): + try: + sig = inspect.signature(fn) + except (TypeError, ValueError): + return False + params_ = sig.parameters + if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params_.values()): + return True + return any(name in params_ for name in kwargs) + + +def _resolve_params(fn, problem, stage_name): + kwargs = {} + if _supports_kwargs(fn, "problem"): + kwargs["problem"] = problem + if _supports_kwargs(fn, "stage"): + kwargs["stage"] = stage_name + return fn(**kwargs) if kwargs else fn() + + def _load_program(program_path): spec = importlib.util.spec_from_file_location("program", program_path) module = importlib.util.module_from_spec(spec) @@ -61,15 +93,23 @@ def _load_program(program_path): def _load_problem_index(): + outliers = _load_outlier_shas() idx = {} with open(_PROBLEMS_JSONL) as f: for line in f: d = json.loads(line) - idx[d["problem_sha256"]] = { - "sha": d["problem_sha256"], + sha = d["problem_sha256"] + features = d.get("features") or {} + idx[sha] = { + "sha": sha, "problem_filename": d["problem_filename"], "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), "raw_result": (d.get("cpsat_status") or {}).get("result"), + "num_variables": int(features.get("num_variables") or 0), + "num_constraints": int(features.get("num_constraints") or 0), + "num_bool": int(features.get("num_bool") or 0), + "num_int": int(features.get("num_int") or 0), + "is_outlier": sha in outliers, } return idx @@ -154,7 +194,10 @@ def main(): return 2 program = _load_program(program_path) - variant_params = program.get_params() + # No-arg path resolves the "global" params used for worker/block sizing, + # locked-key validation, and summary diff stats. Per-problem variants + # (SIZE_BUCKETS + STAGE3_OVERRIDES) are resolved inside _worker below. + variant_params = _resolve_params(program.get_params, None, "final") _phase_locked = getattr(program, "PHASE_LOCKED", None) _lock = _phase_locked if isinstance(_phase_locked, dict) else LOCKED violations = {k: variant_params.get(k) for k in _lock @@ -195,9 +238,16 @@ def _worker(idx_meta): slot = i % n_parallel v_core = blocks[slot] b_core = baseline_cores[slot] + # Per-problem param resolution. Locked + worker count re-pinned to + # match `variant_params` so core blocks stay consistent. + per_params = _resolve_params(program.get_params, meta, "final") + for k, v in _lock.items(): + per_params[k] = v + if "num_search_workers" in variant_params: + per_params["num_search_workers"] = variant_params["num_search_workers"] t0 = time.monotonic() baseline_runs = _run_repeat(pb, BASELINE, n_iters, timeout_s, b_core, "baseline") - variant_runs = _run_repeat(pb, variant_params, n_iters, timeout_s, v_core, "variant") + variant_runs = _run_repeat(pb, per_params, n_iters, timeout_s, v_core, "variant") dt = time.monotonic() - t0 return i, meta, baseline_runs, variant_runs, v_core, dt diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index b788df8651..f1f8301562 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -13,15 +13,23 @@ Stages (decisive = OPTIMAL or FEASIBLE; this dataset is all OPTIMAL): Runtime is clustered into N_BUCKETS via 1D k-means (Lloyd's). Clusters - are ordered by ascending centroid (c1=fastest, c5=slowest), then merged: + are ordered by ascending centroid (c1=fastest, c5=slowest), then merged. - stage1 (5) center pick from clusters c1+c2 (fast group) - stage2 (5) center pick from clusters c3+c4 (mid group) - stage3 (5) center pick from cluster c5 (slow group) + stage1 (5) center pick from clusters c1+c2 (fast group) — default-param sanity + stage2 (5) center pick from clusters c3+c4 (mid group) — default-param sanity + stage3 (5) outliers from Statistics/outliers_top.csv — per-problem tune target + (top residual, capped at MAX_BASELINE_MS so a single tune + iteration stays in time budget) stage4 (20) quintile-spread broad sample, dedup vs stage1-3 + +Stage3 sample also writes shared/outliers.json (sha -> {residual, baseline_ms, +n_cons, n_vars}) so the evaluator can mark `is_outlier` on problem records and +phase initial_program.py can branch STAGE3_OVERRIDES on it. """ +import csv import json import pathlib +import sys _HERE = pathlib.Path(__file__).resolve().parent _BENCH = _HERE.parent @@ -31,6 +39,13 @@ _STAGE2 = _HERE / "shared" / "stage2_sample.json" _STAGE3 = _HERE / "shared" / "stage3_sample.json" _STAGE4 = _HERE / "shared" / "stage4_sample.json" +_OUTLIERS_JSON = _HERE / "shared" / "outliers.json" + +# outliers_top.csv lives under cpsat-bench/Statistics/ (or its rename "1/"). +_OUTLIERS_CSV_CANDIDATES = [ + _BENCH / "Statistics" / "outliers_top.csv", + _BENCH / "1" / "outliers_top.csv", +] STAGE1_N = 5 STAGE2_N = 5 @@ -42,7 +57,7 @@ STAGE1_STRATEGY = "center" STAGE2_STRATEGY = "center" -STAGE3_STRATEGY = "center" +STAGE3_STRATEGY = "outliers" # was "center" — now picks outliers_top.csv STAGE4_STRATEGY = "spread" _DECISIVE_RESULTS = {"OPTIMAL", "FEASIBLE"} @@ -98,9 +113,105 @@ def _pick(strategy, sorted_rows, n_pick): return _center_pick(sorted_rows, n_pick) if strategy == "spread": return _quintile_spread(sorted_rows, n_pick, N_BUCKETS) + if strategy == "outliers": + # stage3 uses _pick_outliers() directly; this branch should not fire. + raise ValueError("'outliers' strategy requires _pick_outliers(), not _pick()") raise ValueError(f"unknown sample strategy: {strategy!r}") +def _find_outliers_csv(): + for p in _OUTLIERS_CSV_CANDIDATES: + if p.exists(): + return p + return None + + +def _load_outliers_top(csv_path): + """Read outliers_top.csv -> ordered list of {sha, residual, elapsed_ms, + n_vars, n_cons}, sorted by descending residual (already the file's order).""" + rows = [] + with open(csv_path) as f: + reader = csv.DictReader(f) + for r in reader: + try: + rows.append({ + "sha": r["_sha"], + "residual": float(r.get("_residual") or 0.0), + "elapsed_ms": float(r.get("_elapsed_ms") or 0.0), + "n_vars": int(float(r.get("_num_variables") or 0)), + "n_cons": int(float(r.get("_num_constraints") or 0)), + }) + except (KeyError, ValueError) as e: + print(f"warning: skipping malformed outlier row: {e}", + file=sys.stderr) + continue + rows.sort(key=lambda d: -d["residual"]) + return rows + + +def _pick_outliers(rows_by_sha, csv_path, n_pick, max_baseline_ms): + """Pick top-N residual outliers from outliers_top.csv whose baseline_ms is + ≤ max_baseline_ms (so a single tune iteration fits time budget). + + Falls back to slowest-cluster center pick (legacy stage3 logic) if csv is + missing or yields < n_pick eligible entries.""" + if csv_path is None: + print("warning: outliers_top.csv not found — falling back to " + "slow-cluster center pick for stage3", file=sys.stderr) + return None, [] + + csv_rows = _load_outliers_top(csv_path) + picks = [] + used = set() + diag = [] + for c in csv_rows: + if len(picks) >= n_pick: + break + if c["elapsed_ms"] > max_baseline_ms: + diag.append((c["sha"][:12], c["elapsed_ms"], + "skip: > MAX_BASELINE_MS")) + continue + d = rows_by_sha.get(c["sha"]) + if d is None: + diag.append((c["sha"][:12], c["elapsed_ms"], + "skip: not in problems.jsonl")) + continue + if c["sha"] in used: + continue + picks.append(d) + used.add(c["sha"]) + diag.append((c["sha"][:12], c["elapsed_ms"], + f"pick (residual={c['residual']:.3f}, " + f"n_cons={c['n_cons']})")) + + print(f"outliers stage3: from {csv_path.relative_to(_BENCH.parent)}, " + f"picked {len(picks)}/{n_pick} under MAX_BASELINE_MS={max_baseline_ms}ms") + for sha12, ms, note in diag: + print(f" {sha12} {int(ms):>10}ms {note}") + + return picks, csv_rows + + +def _write_outliers_json(picks, csv_all): + """Write shared/outliers.json: {sha: {residual, elapsed_ms, n_vars, n_cons}} + for every entry in outliers_top.csv (not just the stage3 picks). The + evaluator uses this map to set `is_outlier` on problem records.""" + by_sha = {c["sha"]: { + "residual": c["residual"], + "elapsed_ms": c["elapsed_ms"], + "n_vars": c["n_vars"], + "n_cons": c["n_cons"], + } for c in (csv_all or [])} + stage3_shas = [_id_key(d) for d in picks] + payload = { + "stage3_sample": stage3_shas, + "outliers": by_sha, + } + _OUTLIERS_JSON.write_text(json.dumps(payload, indent=2) + "\n") + print(f"wrote {_OUTLIERS_JSON.relative_to(_BENCH.parent)} " + f"({len(by_sha)} outliers, stage3_sample={len(stage3_shas)})") + + def _center_pick(sorted_rows, n_pick): total = len(sorted_rows) if total == 0 or n_pick <= 0: @@ -255,7 +366,26 @@ def _bucket_range(b): s1 = _pick(STAGE1_STRATEGY, pool_c12, STAGE1_N) s2 = _pick(STAGE2_STRATEGY, pool_c34, STAGE2_N) - s3 = _pick(STAGE3_STRATEGY, pool_c5, STAGE3_N) + + # Stage3: outliers from Statistics/outliers_top.csv (top residual, capped + # at MAX_BASELINE_MS). Fallback to slow-cluster center pick if csv missing + # or yields nothing usable. + rows_by_sha = {_id_key(d): d for d in rows} + outliers_csv = _find_outliers_csv() + s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv, + STAGE3_N, MAX_BASELINE_MS) \ + if outliers_csv else (None, []) + if s3_outliers: + s3 = s3_outliers + stage3_criteria = (f"top-{STAGE3_N} residual outliers from " + f"{outliers_csv.name}, capped @ " + f"{MAX_BASELINE_MS}ms baseline") + else: + s3 = _center_pick(pool_c5, STAGE3_N) + stage3_criteria = ("FALLBACK: decisive runtime cluster c5 " + "(outliers_top.csv unavailable or empty)") + + _write_outliers_json(s3 if s3_outliers else [], csv_all) # Stage4: broad spread across full decisive pool, dedup vs stage1-3. used = {_id_key(d) for d in (s1 + s2 + s3)} @@ -267,7 +397,7 @@ def _bucket_range(b): _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") - _write_sample(_STAGE3, s3, "stage3", "decisive runtime cluster c5 (slow group)") + _write_sample(_STAGE3, s3, "stage3", stage3_criteria) _write_sample(_STAGE4, s4, "stage4", "broad runtime spread, dedup vs stage1-3") for label, picks in (("stage1", s1), ("stage2", s2), diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index 327060f2b4..a902c0f17f 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -124,6 +124,218 @@ prompt: Watch num_conflicts and num_branches — a 2x speedup with same conflict count is hardware noise; a 2x with 10x fewer conflicts is a real find. + Per-problem param resolution (NEW): get_params(problem=None, stage=None). + Three evolution surfaces per phase: + GLOBAL_OVERRIDES — every problem + SIZE_BUCKETS — list[(upper_exclusive_num_constraints, dict)]; + first match wins. small/mid/large = <50k / 50–150k / ≥150k. + STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND + problem["is_outlier"] (residual outliers from + Statistics/outliers_top.csv). Tune aggressive knobs + that help long-tail problems without regressing the + fast/mid groups (those score stage1/2 and reject the + candidate before stage3 ever runs). + + Stage layout in cascade: + stage1 (5) fast cluster centers — must not regress + stage2 (5) mid cluster centers — must not regress + stage3 (5) OUTLIER problems only — STAGE3_OVERRIDES active here + stage4 (20) broad spread — final score + + Outliers (~30 of 430 problems) have ~80x more conflicts, ~13x more branches + vs baseline median (see Statistics/outliers_report.txt). Two clusters: + small (<50k constraints, hard small SAT-like) and large (>=150k, LP-heavy). + Mid bucket has 0 outliers. So SIZE_BUCKETS small/large entries pair well + with STAGE3_OVERRIDES. + + === CP-SAT CpSolverParameters Reference (ortools 9.14.6206) === + Authoritative field list (275 fields). Use ONLY these names in get_params(). + Defaults shown; setattr-compatible via cp_model.CpSolver().parameters. + + parallel/workers: + diversify_lns_params(bool=F), extra_subsolvers(list), + filter_subsolvers(list), ignore_subsolvers(list), + interleave_search(bool=F), lb_relax_num_workers_threshold(int=16), + log_subsolver_statistics(bool=F), num_full_subsolvers(int=0), + num_search_workers(int=0)*LOCKED, num_workers(int=0), + share_binary_clauses(bool=T), share_glue_clauses(bool=F), + share_glue_clauses_dtime(double=1.0), share_level_zero_bounds(bool=T), + share_objective_bounds(bool=T), shared_tree_num_workers(int=0), + subsolvers(list), use_objective_lb_search(bool=F) + + seed/reproducibility: + ignore_names(bool=T), instantiate_all_variables(bool=T), + lns_initial_deterministic_limit(double=0.1), + log_search_progress(bool=F), max_deterministic_time(double=inf), + max_num_deterministic_batches(int=0), + permute_presolve_constraint_order(bool=F), + permute_variable_randomly(bool=F), + presolve_probing_deterministic_time_limit(double=30.0), + probing_deterministic_time_limit(double=1.0), + random_seed(int=1)*LOCKED, + shaving_deterministic_time_in_probing_search(double=0.001), + shaving_search_deterministic_time(double=0.1), + symmetry_detection_deterministic_time_limit(double=1.0) + + timeout/limits: + max_memory_in_mb(int64=10000), max_number_of_conflicts(int64=∞), + max_presolve_iterations(int=3), max_time_in_seconds(double=inf), + stop_after_first_solution(bool=F), stop_after_presolve(bool=F), + stop_after_root_propagation(bool=F) + + search/branching: + boolean_encoding_level(int=1), fix_variables_to_their_hinted_value(bool=F), + hint_conflict_limit(int=10), + initial_polarity(enum=1:{POLARITY_TRUE,POLARITY_FALSE,POLARITY_RANDOM}), + initial_variables_activity(double=0.0), + polarity_exploit_ls_hints(bool=F), polarity_rephase_increment(int=1000), + preferred_variable_order(enum=0:{IN_ORDER,IN_REVERSE_ORDER,IN_RANDOM_ORDER}), + random_polarity_ratio(double=0.0), repair_hint(bool=F), + search_branching(enum=0:{AUTOMATIC_SEARCH,FIXED_SEARCH,PORTFOLIO_SEARCH, + LP_SEARCH,PSEUDO_COST_SEARCH,PORTFOLIO_WITH_QUICK_RESTART_SEARCH, + HINT_SEARCH,PARTIAL_FIXED_SEARCH,RANDOMIZED_SEARCH}), + use_combined_no_overlap(bool=F), use_disjunctive_constraint_in_cumulative(bool=T), + use_dual_scheduling_heuristics(bool=T), use_erwa_heuristic(bool=F), + use_extended_probing(bool=T), use_implied_bounds(bool=T), + use_lns(bool=T), use_lns_only(bool=F), + use_objective_shaving_search(bool=F), use_phase_saving(bool=T), + use_strong_propagation_in_disjunctive(bool=F) + + conflict/restart: + binary_minimization_algorithm(enum=1:{NO_BINARY_MINIMIZATION, + BINARY_MINIMIZATION_FIRST, + BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION, + BINARY_MINIMIZATION_WITH_REACHABILITY,EXPERIMENTAL_BINARY_MINIMIZATION}), + blocking_restart_multiplier(double=1.4), blocking_restart_window_size(int=5000), + default_restart_algorithms(str='LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART'), + feasibility_jump_restart_factor(int=1), glucose_decay_increment(double=0.01), + glucose_decay_increment_period(int=5000), glucose_max_decay(double=0.95), + max_variable_activity_value(double=1e+100), + minimization_algorithm(enum=2:{NONE,SIMPLE,RECURSIVE,EXPERIMENTAL}), + restart_algorithms(list:{NO_RESTART,LUBY_RESTART, + DL_MOVING_AVERAGE_RESTART,LBD_MOVING_AVERAGE_RESTART,FIXED_RESTART}), + restart_dl_average_ratio(double=1.0), restart_lbd_average_ratio(double=1.0), + restart_period(int=50), restart_running_window_size(int=50), + subsumption_during_conflict_analysis(bool=T), use_blocking_restart(bool=F), + variable_activity_decay(double=0.8) + + clause db: + clause_cleanup_lbd_bound(int=5), + clause_cleanup_ordering(enum=0:{CLAUSE_ACTIVITY,CLAUSE_LBD}), + clause_cleanup_period(int=10000), + clause_cleanup_protection(enum=0:{PROTECTION_NONE,PROTECTION_ALWAYS,PROTECTION_LBD}), + clause_cleanup_ratio(double=0.5), clause_cleanup_target(int=0), + pb_cleanup_increment(int=200), pb_cleanup_ratio(double=0.5) + + presolve: + convert_intervals(bool=T), cp_model_presolve(bool=T), + cp_model_probing_level(int=2), + encode_complex_linear_constraint_with_integer(bool=F), + expand_alldiff_constraints(bool=F), expand_reservoir_constraints(bool=T), + expand_reservoir_using_circuit(bool=F), + find_big_linear_overlap(bool=T), infer_all_diffs(bool=T), + max_pairs_pairwise_reasoning_in_no_overlap_2d(int=1250), + max_size_to_create_precedence_literals_in_disjunctive(int=60), + merge_at_most_one_work_limit(double=1e8), + merge_no_overlap_work_limit(double=1e12), + mip_presolve_level(int=2), presolve_blocked_clause(bool=T), + presolve_bva_threshold(int=1), presolve_bve_clause_weight(int=3), + presolve_bve_threshold(int=500), + presolve_extract_integer_enforcement(bool=F), + presolve_inclusion_work_limit(int64=1e8), + presolve_substitution_level(int=1), presolve_use_bva(bool=T), + remove_fixed_variables_early(bool=T), symmetry_level(int=2), + disable_constraint_expansion(bool=F) + + LP/cuts: + add_cg_cuts(bool=T), add_clique_cuts(bool=T), add_lin_max_cuts(bool=T), + add_lp_constraints_lazily(bool=T), add_mir_cuts(bool=T), + add_objective_cut(bool=F), add_rlt_cuts(bool=T), add_zero_half_cuts(bool=T), + cut_active_count_decay(double=0.8), cut_cleanup_target(int=1000), + cut_level(int=1), cut_max_active_count_value(double=1e10), + exploit_all_lp_solution(bool=T), exploit_all_precedences(bool=F), + exploit_integer_lp_solution(bool=T), feasibility_jump_linearization_level(int=2), + linearization_level(int=1), lp_dual_tolerance(double=1e-7), + lp_primal_tolerance(double=1e-7), max_all_diff_cut_size(int=64), + max_consecutive_inactive_count(int=100), max_cut_rounds_at_level_zero(int=1), + max_integer_rounding_scaling(int=600), max_num_cuts(int=10000), + new_constraints_batch_size(int=50), only_add_cuts_at_level_zero(bool=F), + use_energetic_reasoning_in_no_overlap_2d(bool=F), + use_optimization_hints(bool=T), use_overload_checker_in_cumulative(bool=F), + use_pb_resolution(bool=F), use_timetabling_in_no_overlap_2d(bool=F) + + MIP bridge: + mip_automatically_scale_variables(bool=T), mip_check_precision(double=1e-4), + mip_compute_true_objective_bound(bool=T), mip_drop_tolerance(double=1e-16), + mip_max_activity_exponent(int=53), mip_max_bound(double=1e7), + mip_max_valid_magnitude(double=1e20), mip_scale_large_domain(bool=F), + mip_treat_high_magnitude_bounds_as_infinity(bool=F), + mip_var_scaling(double=1.0), mip_wanted_precision(double=1e-6) + + LNS: + lns_initial_difficulty(double=0.5) + + feasibility jump/pump: + feasibility_jump_batch_dtime(double=0.1), feasibility_jump_decay(double=0.95), + feasibility_jump_enable_restarts(bool=T), + feasibility_jump_max_expanded_constraint_size(int=500), + feasibility_jump_var_perburbation_range_ratio(double=0.2), + feasibility_jump_var_randomization_probability(double=0.05), + use_feasibility_jump(bool=T), use_feasibility_pump(bool=T), + violation_ls_compound_move_probability(double=0.5), + violation_ls_perturbation_period(int=100) + + optimization: + auto_detect_greater_than_at_least_one_of(bool=T), + binary_search_num_conflicts(int=-1), exploit_best_solution(bool=F), + exploit_relaxation_solution(bool=F), + minimize_reduction_during_pb_resolution(bool=F), + optimize_with_core(bool=F), optimize_with_lb_tree_search(bool=F), + optimize_with_max_hs(bool=F), use_absl_random(bool=F), + use_precedences_in_disjunctive_constraint(bool=T) + + other (notable): + absolute_gap_limit(double=1e-4), at_most_one_max_expansion_size(int=3), + clause_activity_decay(double=0.999), core_minimization_level(int=2), + count_assumption_levels_in_lbd(bool=T), cover_optimization(bool=T), + cp_model_use_sat_presolve(bool=T), detect_linearized_product(bool=F), + detect_table_with_cost(bool=F), encode_cumulative_as_reservoir(bool=F), + exploit_objective(bool=T), fill_additional_solutions_in_response(bool=F), + filter_sat_postsolve_clauses(bool=F), find_multiple_cores(bool=T), + inprocessing_dtime_ratio(double=0.2), inprocessing_minimization_dtime(double=1.0), + inprocessing_probing_dtime(double=1.0), interleave_batch_size(int=0), + linear_split_size(int=100), max_alldiff_domain_size(int=256), + max_domain_size_when_encoding_eq_neq_constraints(int=16), + max_lin_max_size_for_expansion(int=0), + max_sat_assumption_order(enum=0:{DEFAULT_ASSUMPTION_ORDER, + ORDER_ASSUMPTION_BY_DEPTH,ORDER_ASSUMPTION_BY_WEIGHT}), + max_sat_stratification(enum=1:{STRATIFICATION_NONE, + STRATIFICATION_DESCENT,STRATIFICATION_ASCENT}), + min_orthogonality_for_lp_constraints(double=0.05), + minimize_shared_clauses(bool=T), new_linear_propagation(bool=T), + num_conflicts_before_strategy_changes(int=0), num_violation_ls(int=0), + polish_lp_solution(bool=F), probing_num_combinations_limit(int=20000), + propagation_loop_detection_factor(double=10.0), + pseudo_cost_reliability_threshold(int64=100), + random_branches_ratio(double=0.0), randomize_search(bool=F), + relative_gap_limit(double=0.0), root_lp_iterations(int=2000), + save_lp_basis_in_lb_tree_search(bool=F), + search_random_variable_pool_size(int64=0), + shaving_search_threshold(int64=64), solution_pool_size(int=3), + strategy_change_increase_ratio(double=0.0), table_compression_level(int=2), + use_exact_lp_reason(bool=T), use_lb_relax_lns(bool=T), + use_linear3_for_no_overlap_2d_precedences(bool=T), use_ls_only(bool=F), + use_optional_variables(bool=F), use_probing_search(bool=F), + use_rins_lns(bool=T), use_sat_inprocessing(bool=T), + use_shared_tree_search(bool=F), use_symmetry_in_lp(bool=F), + variables_shaving_level(int=-1) + + Subsolver name strings (for extra_subsolvers/ignore_subsolvers/subsolvers): + "default_lp", "no_lp", "max_lp", "core", "quick_restart", + "reduced_costs", "lb_tree_search", "probing_search", + "objective_lb_search", "objective_shaving_search_no_lp", + "pseudo_costs", "fixed", "feasibility_pump", "feasibility_jump" + database: population_size: 50 archive_size: 20 diff --git a/input/cpsat-bench/evolve/final_verify.py b/input/cpsat-bench/evolve/final_verify.py index 4c6d93d03b..055b557b33 100644 --- a/input/cpsat-bench/evolve/final_verify.py +++ b/input/cpsat-bench/evolve/final_verify.py @@ -28,6 +28,7 @@ pinned via OPENEVOLVE_CORE_RANGE or 1..N). """ import importlib.util +import inspect import json import pathlib import sys @@ -46,11 +47,42 @@ _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" _FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" +_OUTLIERS_JSON = _HERE / "shared" / "outliers.json" TIMEOUT_S = 300 _DECISIVE = ("OPTIMAL", "FEASIBLE") +def _load_outlier_shas(): + if not _OUTLIERS_JSON.exists(): + return set() + try: + d = json.loads(_OUTLIERS_JSON.read_text()) + except (json.JSONDecodeError, OSError): + return set() + return set(d.get("outliers") or {}) + + +def _supports_kwargs(fn, *kwargs): + try: + sig = inspect.signature(fn) + except (TypeError, ValueError): + return False + params_ = sig.parameters + if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params_.values()): + return True + return any(name in params_ for name in kwargs) + + +def _resolve_params(fn, problem, stage_name): + kwargs = {} + if _supports_kwargs(fn, "problem"): + kwargs["problem"] = problem + if _supports_kwargs(fn, "stage"): + kwargs["stage"] = stage_name + return fn(**kwargs) if kwargs else fn() + + def _load_program(program_path): spec = importlib.util.spec_from_file_location("program", program_path) module = importlib.util.module_from_spec(spec) @@ -62,15 +94,23 @@ def _load_program(program_path): def _load_problem_index(): + outliers = _load_outlier_shas() idx = {} with open(_PROBLEMS_JSONL) as f: for line in f: d = json.loads(line) - idx[d["problem_sha256"]] = { - "sha": d["problem_sha256"], + sha = d["problem_sha256"] + features = d.get("features") or {} + idx[sha] = { + "sha": sha, "problem_filename": d["problem_filename"], "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), "raw_result": (d.get("cpsat_status") or {}).get("result"), + "num_variables": int(features.get("num_variables") or 0), + "num_constraints": int(features.get("num_constraints") or 0), + "num_bool": int(features.get("num_bool") or 0), + "num_int": int(features.get("num_int") or 0), + "is_outlier": sha in outliers, } return idx @@ -107,7 +147,9 @@ def main(): return 2 program = _load_program(program_path) - variant_params = program.get_params() + # final_verify treats stage as "final"; per-problem resolution still + # applies SIZE_BUCKETS but skips STAGE3_OVERRIDES (which is stage3-gated). + variant_params = _resolve_params(program.get_params, None, "final") # Use the program's PHASE_LOCKED if it exposes one (later phases typically # lock num_search_workers higher than baseline); fall back to global LOCKED. _phase_locked = getattr(program, "PHASE_LOCKED", None) @@ -148,8 +190,14 @@ def _measure(idx_meta): slot = i % n_parallel if n_parallel > 0 else 0 v_core = blocks[slot] if n_parallel > 0 else None b_core = baseline_cores[slot] if n_parallel > 0 else None + # Per-problem param resolution. PHASE_LOCKED keys re-pinned defensively. + per_params = _resolve_params(program.get_params, meta, "final") + for k, v in _lock.items(): + per_params[k] = v + if "num_search_workers" in variant_params: + per_params["num_search_workers"] = variant_params["num_search_workers"] b = run_cpsat(pb, BASELINE, TIMEOUT_S, cpu_core=b_core) - v = run_cpsat(pb, variant_params, TIMEOUT_S, cpu_core=v_core) + v = run_cpsat(pb, per_params, TIMEOUT_S, cpu_core=v_core) return i, meta, b, v tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] diff --git a/input/cpsat-bench/evolve/phase1_search/initial_program.py b/input/cpsat-bench/evolve/phase1_search/initial_program.py index 5d2d578566..b529beef5e 100644 --- a/input/cpsat-bench/evolve/phase1_search/initial_program.py +++ b/input/cpsat-bench/evolve/phase1_search/initial_program.py @@ -1,17 +1,31 @@ """ Phase 1: tune CP-SAT search / subsolver knobs. -Targeted namespace (LLM may add/remove/modify keys in the EVOLVE-BLOCK): +Reference: shared/cpsat_params_reference.md + (full proto field listing — consult before adding keys; invalid names + surface as `invalid_param` and zero the score.) + +Three evolution surfaces live in this file's EVOLVE-BLOCK: + GLOBAL_OVERRIDES — applied to every problem + SIZE_BUCKETS — applied conditionally on `num_constraints` + (small / medium / large; first match wins). + The dataset spans ~7k–246k constraints; thresholds + below split it ~evenly. Adjust freely. + STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND the problem + is in the outlier set (Statistics/outliers_top.csv). + Tune knobs that help long-tail / hard outliers + without regressing fast/mid problems. + +Targeted namespace for phase 1 (search/subsolvers): extra_subsolvers, ignore_subsolvers, interleave_search, - use_feasibility_jump, use_feasibility_pump + use_feasibility_jump, use_feasibility_pump, search_branching, + preferred_variable_order, repair_hint, diversify_lns_params. -Other params stay at BASELINE. -This phase pins num_search_workers=1 (single-worker search) so other knobs -are evaluated without multi-thread / multi-subsolver noise. Phase 3 raises -the worker count to explore subsolver-mix effects. +Other params stay at BASELINE. This phase pins num_search_workers=1 so other +knobs are evaluated without multi-thread / multi-subsolver noise. Phase 3 +raises the worker count to explore subsolver-mix effects. -Do NOT modify locked keys (see PHASE_LOCKED below + baseline_params.LOCKED): - random_seed, num_search_workers +Do NOT modify locked keys (random_seed, num_search_workers). Invalid solver keys cause evaluator to return 0 and surface the offending key. """ import pathlib @@ -30,23 +44,59 @@ # EVOLVE-BLOCK-START -SEARCH_OVERRIDES = { +GLOBAL_OVERRIDES = { "extra_subsolvers": ["default_lp", "no_lp"], "ignore_subsolvers": ["max_lp"], "interleave_search": True, "use_feasibility_jump": False, "use_feasibility_pump": False, } + +# (max_num_constraints_exclusive, override_dict). First match wins; the final +# entry must use float("inf") as the sentinel for "no upper bound". +SIZE_BUCKETS = [ + (50_000, {}), # small problems — keep GLOBAL_OVERRIDES intact + (150_000, {}), # medium + (float("inf"), {}), # large +] + +# Applied ONLY when stage == "stage3" AND problem["is_outlier"] is True. +# Outliers are pre-identified in Statistics/outliers_top.csv (residual log10 +# slowdown vs the runtime ~ vars^a * cons^b regression). Their search budget +# is dominated by conflict learning + LP iter; use this dict to add aggressive +# settings that would hurt simple problems but pay off on hard ones. +STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def get_params(): +def _bucket_override(num_constraints): + for upper, override in SIZE_BUCKETS: + if num_constraints < upper: + return override + return {} + + +def get_params(problem=None, stage=None): p = dict(BASELINE) - p.update(SEARCH_OVERRIDES) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(STAGE3_OVERRIDES) p.update(PHASE_LOCKED) # re-enforce phase lock last return p def get_phase_overrides(): - """Used by extract_best.py — returns ONLY this phase's evolved dict.""" - return dict(SEARCH_OVERRIDES) + """Used by extract_best.py — returns ONLY this phase's evolved GLOBAL dict. + SIZE_BUCKETS / STAGE3_OVERRIDES are extracted via the helpers below.""" + return dict(GLOBAL_OVERRIDES) + + +def get_phase_size_buckets(): + """Returns list[(upper_exclusive, override_dict)] for chaining to next phase.""" + return [(u, dict(d)) for u, d in SIZE_BUCKETS] + + +def get_phase_stage3_overrides(): + return dict(STAGE3_OVERRIDES) diff --git a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py index bd63601882..db91b4e2ef 100644 --- a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py +++ b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py @@ -1,14 +1,29 @@ """ Phase 2: tune CP-SAT presolve / probing knobs. +Reference: shared/cpsat_params_reference.md (presolve section, lines ~132-162; +LP/cuts section may also be relevant for probing-LP interactions.) + +Three evolution surfaces in this file's EVOLVE-BLOCK: + GLOBAL_OVERRIDES — applied to every problem + SIZE_BUCKETS — applied conditionally on `num_constraints` + (large problems often want LIGHTER presolve to avoid + spending budget on substitution work that doesn't pay + off; small problems can afford full probing.) + STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND outlier. + Outliers have heavy presolve-time / search-time + imbalance — extra knobs here let you trade presolve + depth vs search depth without hurting normal cases. + Targeted namespace: cp_model_probing_level, cp_model_presolve, symmetry_level, - presolve_use_bva, presolve_bve_threshold -(LLM may explore other presolve_* / probing_* keys.) + presolve_use_bva, presolve_bve_threshold, presolve_substitution_level, + max_presolve_iterations, presolve_probing_deterministic_time_limit, + find_big_linear_overlap, infer_all_diffs, mip_presolve_level. -Inherits phase1 winners (loaded from shared/phase1_best.json if present). -Like phase1, num_search_workers stays at 1 — presolve effects must be measured -without multi-worker search masking them. +Inherits phase1 winners from shared/phase1_*.json. Like phase1, workers stays +at 1 — presolve effects must be measured without multi-worker search masking +them. Phase 3 raises workers. Do NOT modify locked keys (random_seed, num_search_workers). """ @@ -28,30 +43,79 @@ } -def _load_prev(name): +def _load_prev_dict(name): p = _SHARED / name if p.exists(): return json.loads(p.read_text()) return {} -_PHASE1 = _load_prev("phase1_best.json") +def _load_prev_buckets(name): + """Returns list[(upper, override_dict)] or None if file missing. + + File schema: [[upper_or_null, override_dict], ...] (JSON cannot encode inf, + so the writer stores null for the float('inf') sentinel).""" + p = _SHARED / name + if not p.exists(): + return None + raw = json.loads(p.read_text()) + out = [] + for upper, override in raw: + out.append((float("inf") if upper is None else upper, override)) + return out + + +_PHASE1 = _load_prev_dict("phase1_best.json") +_PHASE1_BUCKETS = _load_prev_buckets("phase1_buckets.json") +_PHASE1_STAGE3 = _load_prev_dict("phase1_stage3.json") # EVOLVE-BLOCK-START -PRESOLVE_OVERRIDES = { +GLOBAL_OVERRIDES = { "cp_model_probing_level": 1, } + +SIZE_BUCKETS = [ + (50_000, {}), + (150_000, {}), + (float("inf"), {}), +] + +STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def get_params(): +def _merge_bucket(num_constraints): + """Merge phase1 bucket + phase2 bucket. Phase2 wins on conflicts.""" + out = {} + for buckets in (_PHASE1_BUCKETS or [], SIZE_BUCKETS): + for upper, override in buckets: + if num_constraints < upper: + out.update(override) + break + return out + + +def get_params(problem=None, stage=None): p = dict(BASELINE) p.update(_PHASE1) - p.update(PRESOLVE_OVERRIDES) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_merge_bucket(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(_PHASE1_STAGE3) + p.update(STAGE3_OVERRIDES) p.update(PHASE_LOCKED) # phase1 may have stored workers; re-pin to 1 return p def get_phase_overrides(): - return dict(PRESOLVE_OVERRIDES) + return dict(GLOBAL_OVERRIDES) + + +def get_phase_size_buckets(): + return [(u, dict(d)) for u, d in SIZE_BUCKETS] + + +def get_phase_stage3_overrides(): + return dict(STAGE3_OVERRIDES) diff --git a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py index b83c2c2bb5..b14ed1f539 100644 --- a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py +++ b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py @@ -1,21 +1,37 @@ """ Phase 3: tune CP-SAT LP / cuts / MIP-bridge AND subsolver-mix knobs. +Reference: shared/cpsat_params_reference.md (sections "LP/cuts" lines +~164-198, "MIP bridge" ~200-214, "parallel/workers" ~10-32.) + Worker count is RAISED to PHASE3_WORKERS (default 8) for this phase: many subsolvers (max_lp, no_lp, core, quick_restart, reduced_costs, lb_tree_search, probing_search, …) only activate when num_search_workers is large enough. Phase 3's job is to find the best subsolver combination + LP/cuts tuning that works at parallel-search scale. +Three evolution surfaces (see EVOLVE-BLOCK): + GLOBAL_OVERRIDES — applied to every problem + SIZE_BUCKETS — applied conditionally on `num_constraints`. + LARGE problems (≥150k constraints) often suffer from + LP iteration explosion; smaller max_num_cuts, lower + cut_level, dropping `max_lp` from subsolvers can pay + off here. SMALL problems can afford richer LP work. + STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND outlier. + Outliers spend ~30x more LP iterations than baseline + median (see Statistics/outliers_report.txt). Use this + to ship outlier-only LP/cut tuning. + Targeted namespace: max_num_cuts, cut_level, linearization_level, mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance, - extra_subsolvers, ignore_subsolvers, diversify_lns_params, repair_hint -(LLM may explore other *_cuts toggles and subsolver list contents.) + extra_subsolvers, ignore_subsolvers, diversify_lns_params, repair_hint, + add_*_cuts toggles, root_lp_iterations, exploit_*_lp_solution. -Inherits phase1+phase2 winners, but num_search_workers is re-pinned to -PHASE3_WORKERS at the end of get_params() — phases 1/2 ran at workers=1 so -their wins still need to be re-validated at workers=PHASE3_WORKERS here. +Inherits phase1+phase2 winners (+ their size_buckets / stage3_overrides if +present). num_search_workers is re-pinned to PHASE3_WORKERS at the end of +get_params() — phases 1/2 ran at workers=1 so their wins still need to be +re-validated at workers=PHASE3_WORKERS here. Do NOT modify locked keys (random_seed, num_search_workers). """ @@ -37,19 +53,31 @@ } -def _load_prev(name): +def _load_prev_dict(name): p = _SHARED / name if p.exists(): return json.loads(p.read_text()) return {} -_PHASE1 = _load_prev("phase1_best.json") -_PHASE2 = _load_prev("phase2_best.json") +def _load_prev_buckets(name): + p = _SHARED / name + if not p.exists(): + return None + raw = json.loads(p.read_text()) + return [(float("inf") if u is None else u, override) for u, override in raw] + + +_PHASE1 = _load_prev_dict("phase1_best.json") +_PHASE2 = _load_prev_dict("phase2_best.json") +_PHASE1_BUCKETS = _load_prev_buckets("phase1_buckets.json") +_PHASE2_BUCKETS = _load_prev_buckets("phase2_buckets.json") +_PHASE1_STAGE3 = _load_prev_dict("phase1_stage3.json") +_PHASE2_STAGE3 = _load_prev_dict("phase2_stage3.json") # EVOLVE-BLOCK-START -LP_CUTS_OVERRIDES = { +GLOBAL_OVERRIDES = { "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 1e+07, @@ -57,17 +85,49 @@ def _load_prev(name): "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07, } + +SIZE_BUCKETS = [ + (50_000, {}), + (150_000, {}), + (float("inf"), {}), +] + +STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def get_params(): +def _merge_bucket(num_constraints): + out = {} + for buckets in (_PHASE1_BUCKETS or [], _PHASE2_BUCKETS or [], SIZE_BUCKETS): + for upper, override in buckets: + if num_constraints < upper: + out.update(override) + break + return out + + +def get_params(problem=None, stage=None): p = dict(BASELINE) p.update(_PHASE1) p.update(_PHASE2) - p.update(LP_CUTS_OVERRIDES) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_merge_bucket(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(_PHASE1_STAGE3) + p.update(_PHASE2_STAGE3) + p.update(STAGE3_OVERRIDES) p.update(PHASE_LOCKED) # pin workers=PHASE3_WORKERS for this phase return p def get_phase_overrides(): - return dict(LP_CUTS_OVERRIDES) + return dict(GLOBAL_OVERRIDES) + + +def get_phase_size_buckets(): + return [(u, dict(d)) for u, d in SIZE_BUCKETS] + + +def get_phase_stage3_overrides(): + return dict(STAGE3_OVERRIDES) diff --git a/input/cpsat-bench/evolve/phase4_unified/initial_program.py b/input/cpsat-bench/evolve/phase4_unified/initial_program.py index 2323f85179..34bfd99c65 100644 --- a/input/cpsat-bench/evolve/phase4_unified/initial_program.py +++ b/input/cpsat-bench/evolve/phase4_unified/initial_program.py @@ -1,9 +1,16 @@ """ Phase 4: unified refinement. -EVOLVE-BLOCK below is auto-materialized by prepare_phase_unified.py from -the union of phase{1,2,3}_best.json winners. LLM may then tune all keys -jointly. +Reference: shared/cpsat_params_reference.md (any section may be tuned here.) + +EVOLVE-BLOCK below is auto-materialized by prepare_phase_unified.py from the +union of phase{1,2,3}_best.json winners (GLOBAL_OVERRIDES), plus the merged +SIZE_BUCKETS and STAGE3_OVERRIDES from those phases. LLM may then tune all +three surfaces jointly: + + GLOBAL_OVERRIDES — every-problem params + SIZE_BUCKETS — per-constraint-count overrides + STAGE3_OVERRIDES — outlier-only overrides (stage3 cascade) num_search_workers stays at PHASE4_WORKERS (= phase3 setting) so unified tuning happens at the same parallel-search scale as phase3. @@ -28,16 +35,41 @@ # EVOLVE-BLOCK-START -UNIFIED_OVERRIDES = {} +GLOBAL_OVERRIDES = {} +SIZE_BUCKETS = [ + (50_000, {}), + (150_000, {}), + (float("inf"), {}), +] +STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def get_params(): +def _bucket_override(num_constraints): + for upper, override in SIZE_BUCKETS: + if num_constraints < upper: + return override + return {} + + +def get_params(problem=None, stage=None): p = dict(BASELINE) - p.update(UNIFIED_OVERRIDES) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(STAGE3_OVERRIDES) p.update(PHASE_LOCKED) return p def get_phase_overrides(): - return dict(UNIFIED_OVERRIDES) + return dict(GLOBAL_OVERRIDES) + + +def get_phase_size_buckets(): + return [(u, dict(d)) for u, d in SIZE_BUCKETS] + + +def get_phase_stage3_overrides(): + return dict(STAGE3_OVERRIDES) diff --git a/input/cpsat-bench/evolve/prepare_phase_unified.py b/input/cpsat-bench/evolve/prepare_phase_unified.py index 9a09e32b0a..a6ae80f94f 100644 --- a/input/cpsat-bench/evolve/prepare_phase_unified.py +++ b/input/cpsat-bench/evolve/prepare_phase_unified.py @@ -1,6 +1,7 @@ """ Thin wrapper: calls _lib.prepare_phase.main with cpsat-bench phase config. -Materializes phase4_unified/initial_program.py from phase{1,2,3}_best.json. +Materializes phase4_unified/initial_program.py from phase{1,2,3}_best.json +plus phase{1,2,3}_buckets.json / phase{1,2,3}_stage3.json when present. """ import pathlib import sys @@ -18,4 +19,9 @@ PRIOR_PHASES = [1, 2, 3] if __name__ == "__main__": - main(_HERE, _SHARED, PRIOR_PHASES, _UNIFIED_FILE) + # cpsat-bench unified phase exposes GLOBAL_OVERRIDES (not the legacy + # UNIFIED_OVERRIDES) so prepare_phase writes that name. SIZE_BUCKETS and + # STAGE3_OVERRIDES are appended when prior phases produced bucket/stage3 + # extracts. + main(_HERE, _SHARED, PRIOR_PHASES, _UNIFIED_FILE, + dict_name="GLOBAL_OVERRIDES") diff --git a/input/cpsat-bench/evolve/shared/cpsat_params_reference.md b/input/cpsat-bench/evolve/shared/cpsat_params_reference.md new file mode 100644 index 0000000000..66b8373964 --- /dev/null +++ b/input/cpsat-bench/evolve/shared/cpsat_params_reference.md @@ -0,0 +1,353 @@ +# CpSolverParameters Reference (ortools 9.14.6206) + +Total fields: **275**. Auto-categorized by name pattern; some fields +appear under a best-fit bucket. Always verify with the upstream proto: + +`ortools/sat/sat_parameters.proto`. Setting any field on `cp_model.CpSolver().parameters` +via `setattr(s.parameters, name, value)` works for all of these. + + +## parallel/workers (19) + +| name | type | default | enum / notes | +|---|---|---|---| +| `diversify_lns_params` | bool | False | | +| `extra_subsolvers` | list | | | +| `filter_subsolvers` | list | | | +| `ignore_subsolvers` | list | | | +| `interleave_search` | bool | False | | +| `lb_relax_num_workers_threshold` | int32 | 16 | | +| `log_subsolver_statistics` | bool | False | | +| `num_full_subsolvers` | int32 | 0 | | +| `num_search_workers` | int32 | 0 | | +| `num_workers` | int32 | 0 | | +| `share_binary_clauses` | bool | True | | +| `share_glue_clauses` | bool | False | | +| `share_glue_clauses_dtime` | double | 1.0 | | +| `share_level_zero_bounds` | bool | True | | +| `share_objective_bounds` | bool | True | | +| `shared_tree_num_workers` | int32 | 0 | | +| `subsolver_params` | list | | | +| `subsolvers` | list | | | +| `use_objective_lb_search` | bool | False | | + +## seed/reproducibility (18) + +| name | type | default | enum / notes | +|---|---|---|---| +| `ignore_names` | bool | True | | +| `instantiate_all_variables` | bool | True | | +| `lns_initial_deterministic_limit` | double | 0.1 | | +| `log_prefix` | string | '' | | +| `log_search_progress` | bool | False | | +| `log_to_response` | bool | False | | +| `log_to_stdout` | bool | True | | +| `max_deterministic_time` | double | inf | | +| `max_num_deterministic_batches` | int32 | 0 | | +| `name` | string | '' | | +| `permute_presolve_constraint_order` | bool | False | | +| `permute_variable_randomly` | bool | False | | +| `presolve_probing_deterministic_time_limit` | double | 30.0 | | +| `probing_deterministic_time_limit` | double | 1.0 | | +| `random_seed` | int32 | 1 | | +| `shaving_deterministic_time_in_probing_search` | double | 0.001 | | +| `shaving_search_deterministic_time` | double | 0.1 | | +| `symmetry_detection_deterministic_time_limit` | double | 1.0 | | + +## timeout/limits (7) + +| name | type | default | enum / notes | +|---|---|---|---| +| `max_memory_in_mb` | int64 | 10000 | | +| `max_number_of_conflicts` | int64 | 9223372036854775807 | | +| `max_presolve_iterations` | int32 | 3 | | +| `max_time_in_seconds` | double | inf | | +| `stop_after_first_solution` | bool | False | | +| `stop_after_presolve` | bool | False | | +| `stop_after_root_propagation` | bool | False | | + +## search/branching (22) + +| name | type | default | enum / notes | +|---|---|---|---| +| `boolean_encoding_level` | int32 | 1 | | +| `fix_variables_to_their_hinted_value` | bool | False | | +| `hint_conflict_limit` | int32 | 10 | | +| `initial_polarity` | enum | 1 | {POLARITY_TRUE, POLARITY_FALSE, POLARITY_RANDOM} | +| `initial_variables_activity` | double | 0.0 | | +| `polarity_exploit_ls_hints` | bool | False | | +| `polarity_rephase_increment` | int32 | 1000 | | +| `preferred_variable_order` | enum | 0 | {IN_ORDER, IN_REVERSE_ORDER, IN_RANDOM_ORDER} | +| `random_polarity_ratio` | double | 0.0 | | +| `repair_hint` | bool | False | | +| `search_branching` | enum | 0 | {AUTOMATIC_SEARCH, FIXED_SEARCH, PORTFOLIO_SEARCH, LP_SEARCH, PSEUDO_COST_SEARCH, PORTFOLIO_WITH_QUICK_RESTART_SEARCH, HINT_SEARCH, PARTIAL_FIXED_SEARCH, RANDOMIZED_SEARCH} | +| `use_combined_no_overlap` | bool | False | | +| `use_disjunctive_constraint_in_cumulative` | bool | True | | +| `use_dual_scheduling_heuristics` | bool | True | | +| `use_erwa_heuristic` | bool | False | | +| `use_extended_probing` | bool | True | | +| `use_implied_bounds` | bool | True | | +| `use_lns` | bool | True | | +| `use_lns_only` | bool | False | | +| `use_objective_shaving_search` | bool | False | | +| `use_phase_saving` | bool | True | | +| `use_strong_propagation_in_disjunctive` | bool | False | | + +## conflict/restart (18) + +| name | type | default | enum / notes | +|---|---|---|---| +| `binary_minimization_algorithm` | enum | 1 | {NO_BINARY_MINIMIZATION, BINARY_MINIMIZATION_FIRST, BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION, BINARY_MINIMIZATION_WITH_REACHABILITY, EXPERIMENTAL_BINARY_MINIMIZATION} | +| `blocking_restart_multiplier` | double | 1.4 | | +| `blocking_restart_window_size` | int32 | 5000 | | +| `default_restart_algorithms` | string | 'LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART' | | +| `feasibility_jump_restart_factor` | int32 | 1 | | +| `glucose_decay_increment` | double | 0.01 | | +| `glucose_decay_increment_period` | int32 | 5000 | | +| `glucose_max_decay` | double | 0.95 | | +| `max_variable_activity_value` | double | 1e+100 | | +| `minimization_algorithm` | enum | 2 | {NONE, SIMPLE, RECURSIVE, EXPERIMENTAL} | +| `restart_algorithms` | list | | {NO_RESTART, LUBY_RESTART, DL_MOVING_AVERAGE_RESTART, LBD_MOVING_AVERAGE_RESTART, FIXED_RESTART} | +| `restart_dl_average_ratio` | double | 1.0 | | +| `restart_lbd_average_ratio` | double | 1.0 | | +| `restart_period` | int32 | 50 | | +| `restart_running_window_size` | int32 | 50 | | +| `subsumption_during_conflict_analysis` | bool | True | | +| `use_blocking_restart` | bool | False | | +| `variable_activity_decay` | double | 0.8 | | + +## clause db (8) + +| name | type | default | enum / notes | +|---|---|---|---| +| `clause_cleanup_lbd_bound` | int32 | 5 | | +| `clause_cleanup_ordering` | enum | 0 | {CLAUSE_ACTIVITY, CLAUSE_LBD} | +| `clause_cleanup_period` | int32 | 10000 | | +| `clause_cleanup_protection` | enum | 0 | {PROTECTION_NONE, PROTECTION_ALWAYS, PROTECTION_LBD} | +| `clause_cleanup_ratio` | double | 0.5 | | +| `clause_cleanup_target` | int32 | 0 | | +| `pb_cleanup_increment` | int32 | 200 | | +| `pb_cleanup_ratio` | double | 0.5 | | + +## presolve (27) + +| name | type | default | enum / notes | +|---|---|---|---| +| `convert_intervals` | bool | True | | +| `cp_model_presolve` | bool | True | | +| `cp_model_probing_level` | int32 | 2 | | +| `debug_crash_if_presolve_breaks_hint` | bool | False | | +| `debug_max_num_presolve_operations` | int32 | 0 | | +| `disable_constraint_expansion` | bool | False | | +| `encode_complex_linear_constraint_with_integer` | bool | False | | +| `expand_alldiff_constraints` | bool | False | | +| `expand_reservoir_constraints` | bool | True | | +| `expand_reservoir_using_circuit` | bool | False | | +| `find_big_linear_overlap` | bool | True | | +| `infer_all_diffs` | bool | True | | +| `max_pairs_pairwise_reasoning_in_no_overlap_2d` | int32 | 1250 | | +| `max_size_to_create_precedence_literals_in_disjunctive` | int32 | 60 | | +| `merge_at_most_one_work_limit` | double | 100000000.0 | | +| `merge_no_overlap_work_limit` | double | 1000000000000.0 | | +| `mip_presolve_level` | int32 | 2 | | +| `presolve_blocked_clause` | bool | True | | +| `presolve_bva_threshold` | int32 | 1 | | +| `presolve_bve_clause_weight` | int32 | 3 | | +| `presolve_bve_threshold` | int32 | 500 | | +| `presolve_extract_integer_enforcement` | bool | False | | +| `presolve_inclusion_work_limit` | int64 | 100000000 | | +| `presolve_substitution_level` | int32 | 1 | | +| `presolve_use_bva` | bool | True | | +| `remove_fixed_variables_early` | bool | True | | +| `symmetry_level` | int32 | 2 | | + +## LP/cuts (31) + +| name | type | default | enum / notes | +|---|---|---|---| +| `add_cg_cuts` | bool | True | | +| `add_clique_cuts` | bool | True | | +| `add_lin_max_cuts` | bool | True | | +| `add_lp_constraints_lazily` | bool | True | | +| `add_mir_cuts` | bool | True | | +| `add_objective_cut` | bool | False | | +| `add_rlt_cuts` | bool | True | | +| `add_zero_half_cuts` | bool | True | | +| `cut_active_count_decay` | double | 0.8 | | +| `cut_cleanup_target` | int32 | 1000 | | +| `cut_level` | int32 | 1 | | +| `cut_max_active_count_value` | double | 10000000000.0 | | +| `exploit_all_lp_solution` | bool | True | | +| `exploit_all_precedences` | bool | False | | +| `exploit_integer_lp_solution` | bool | True | | +| `feasibility_jump_linearization_level` | int32 | 2 | | +| `linearization_level` | int32 | 1 | | +| `lp_dual_tolerance` | double | 1e-07 | | +| `lp_primal_tolerance` | double | 1e-07 | | +| `max_all_diff_cut_size` | int32 | 64 | | +| `max_consecutive_inactive_count` | int32 | 100 | | +| `max_cut_rounds_at_level_zero` | int32 | 1 | | +| `max_integer_rounding_scaling` | int32 | 600 | | +| `max_num_cuts` | int32 | 10000 | | +| `new_constraints_batch_size` | int32 | 50 | | +| `only_add_cuts_at_level_zero` | bool | False | | +| `use_energetic_reasoning_in_no_overlap_2d` | bool | False | | +| `use_optimization_hints` | bool | True | | +| `use_overload_checker_in_cumulative` | bool | False | | +| `use_pb_resolution` | bool | False | | +| `use_timetabling_in_no_overlap_2d` | bool | False | | + +## MIP bridge (11) + +| name | type | default | enum / notes | +|---|---|---|---| +| `mip_automatically_scale_variables` | bool | True | | +| `mip_check_precision` | double | 0.0001 | | +| `mip_compute_true_objective_bound` | bool | True | | +| `mip_drop_tolerance` | double | 1e-16 | | +| `mip_max_activity_exponent` | int32 | 53 | | +| `mip_max_bound` | double | 10000000.0 | | +| `mip_max_valid_magnitude` | double | 1e+20 | | +| `mip_scale_large_domain` | bool | False | | +| `mip_treat_high_magnitude_bounds_as_infinity` | bool | False | | +| `mip_var_scaling` | double | 1.0 | | +| `mip_wanted_precision` | double | 1e-06 | | + +## LNS (1) + +| name | type | default | enum / notes | +|---|---|---|---| +| `lns_initial_difficulty` | double | 0.5 | | + +## feasibility jump/pump (10) + +| name | type | default | enum / notes | +|---|---|---|---| +| `feasibility_jump_batch_dtime` | double | 0.1 | | +| `feasibility_jump_decay` | double | 0.95 | | +| `feasibility_jump_enable_restarts` | bool | True | | +| `feasibility_jump_max_expanded_constraint_size` | int32 | 500 | | +| `feasibility_jump_var_perburbation_range_ratio` | double | 0.2 | | +| `feasibility_jump_var_randomization_probability` | double | 0.05 | | +| `use_feasibility_jump` | bool | True | | +| `use_feasibility_pump` | bool | True | | +| `violation_ls_compound_move_probability` | double | 0.5 | | +| `violation_ls_perturbation_period` | int32 | 100 | | + +## optimization (10) + +| name | type | default | enum / notes | +|---|---|---|---| +| `auto_detect_greater_than_at_least_one_of` | bool | True | | +| `binary_search_num_conflicts` | int32 | -1 | | +| `exploit_best_solution` | bool | False | | +| `exploit_relaxation_solution` | bool | False | | +| `minimize_reduction_during_pb_resolution` | bool | False | | +| `optimize_with_core` | bool | False | | +| `optimize_with_lb_tree_search` | bool | False | | +| `optimize_with_max_hs` | bool | False | | +| `use_absl_random` | bool | False | | +| `use_precedences_in_disjunctive_constraint` | bool | True | | + +## debug/output (3) + +| name | type | default | enum / notes | +|---|---|---|---| +| `debug_crash_on_bad_hint` | bool | False | | +| `debug_postsolve_with_full_solver` | bool | False | | +| `fp_rounding` | enum | 2 | {NEAREST_INTEGER, LOCK_BASED, ACTIVE_LOCK_BASED, PROPAGATION_ASSISTED} | + +## other/uncategorized (90) + +| name | type | default | enum / notes | +|---|---|---|---| +| `absolute_gap_limit` | double | 0.0001 | | +| `also_bump_variables_in_conflict_reasons` | bool | False | | +| `at_most_one_max_expansion_size` | int32 | 3 | | +| `catch_sigint_signal` | bool | True | | +| `clause_activity_decay` | double | 0.999 | | +| `core_minimization_level` | int32 | 2 | | +| `count_assumption_levels_in_lbd` | bool | True | | +| `cover_optimization` | bool | True | | +| `cp_model_use_sat_presolve` | bool | True | | +| `detect_linearized_product` | bool | False | | +| `detect_table_with_cost` | bool | False | | +| `encode_cumulative_as_reservoir` | bool | False | | +| `enumerate_all_solutions` | bool | False | | +| `exploit_objective` | bool | True | | +| `fill_additional_solutions_in_response` | bool | False | | +| `fill_tightened_domains_in_response` | bool | False | | +| `filter_sat_postsolve_clauses` | bool | False | | +| `find_multiple_cores` | bool | True | | +| `inprocessing_dtime_ratio` | double | 0.2 | | +| `inprocessing_minimization_dtime` | double | 1.0 | | +| `inprocessing_minimization_use_all_orderings` | bool | False | | +| `inprocessing_minimization_use_conflict_analysis` | bool | True | | +| `inprocessing_probing_dtime` | double | 1.0 | | +| `interleave_batch_size` | int32 | 0 | | +| `keep_all_feasible_solutions_in_presolve` | bool | False | | +| `keep_symmetry_in_presolve` | bool | False | | +| `linear_split_size` | int32 | 100 | | +| `max_alldiff_domain_size` | int32 | 256 | | +| `max_clause_activity_value` | double | 1e+20 | | +| `max_domain_size_when_encoding_eq_neq_constraints` | int32 | 16 | | +| `max_lin_max_size_for_expansion` | int32 | 0 | | +| `max_num_intervals_for_timetable_edge_finding` | int32 | 100 | | +| `max_sat_assumption_order` | enum | 0 | {DEFAULT_ASSUMPTION_ORDER, ORDER_ASSUMPTION_BY_DEPTH, ORDER_ASSUMPTION_BY_WEIGHT} | +| `max_sat_reverse_assumption_order` | bool | False | | +| `max_sat_stratification` | enum | 1 | {STRATIFICATION_NONE, STRATIFICATION_DESCENT, STRATIFICATION_ASCENT} | +| `maximum_regions_to_split_in_disconnected_no_overlap_2d` | int32 | 0 | | +| `min_orthogonality_for_lp_constraints` | double | 0.05 | | +| `minimize_shared_clauses` | bool | True | | +| `new_linear_propagation` | bool | True | | +| `no_overlap_2d_boolean_relations_limit` | int32 | 10 | | +| `num_conflicts_before_strategy_changes` | int32 | 0 | | +| `num_violation_ls` | int32 | 0 | | +| `only_solve_ip` | bool | False | | +| `polish_lp_solution` | bool | False | | +| `probing_num_combinations_limit` | int32 | 20000 | | +| `propagation_loop_detection_factor` | double | 10.0 | | +| `pseudo_cost_reliability_threshold` | int64 | 100 | | +| `push_all_tasks_toward_start` | bool | False | | +| `random_branches_ratio` | double | 0.0 | | +| `randomize_search` | bool | False | | +| `relative_gap_limit` | double | 0.0 | | +| `root_lp_iterations` | int32 | 2000 | | +| `routing_cut_dp_effort` | double | 10000000.0 | | +| `routing_cut_max_infeasible_path_length` | int32 | 6 | | +| `routing_cut_subset_size_for_binary_relation_bound` | int32 | 0 | | +| `routing_cut_subset_size_for_exact_binary_relation_bound` | int32 | 8 | | +| `routing_cut_subset_size_for_shortest_paths_bound` | int32 | 8 | | +| `routing_cut_subset_size_for_tight_binary_relation_bound` | int32 | 0 | | +| `save_lp_basis_in_lb_tree_search` | bool | False | | +| `search_random_variable_pool_size` | int64 | 0 | | +| `shared_tree_balance_tolerance` | int32 | 1 | | +| `shared_tree_max_nodes_per_worker` | int32 | 10000 | | +| `shared_tree_open_leaves_per_worker` | double | 2.0 | | +| `shared_tree_split_strategy` | enum | 0 | {SPLIT_STRATEGY_AUTO, SPLIT_STRATEGY_DISCREPANCY, SPLIT_STRATEGY_OBJECTIVE_LB, SPLIT_STRATEGY_BALANCED_TREE, SPLIT_STRATEGY_FIRST_PROPOSAL} | +| `shared_tree_worker_enable_phase_sharing` | bool | True | | +| `shared_tree_worker_enable_trail_sharing` | bool | True | | +| `shared_tree_worker_min_restarts_per_subtree` | int32 | 1 | | +| `shaving_search_threshold` | int64 | 64 | | +| `solution_pool_size` | int32 | 3 | | +| `strategy_change_increase_ratio` | double | 0.0 | | +| `table_compression_level` | int32 | 2 | | +| `use_all_different_for_circuit` | bool | False | | +| `use_area_energetic_reasoning_in_no_overlap_2d` | bool | False | | +| `use_conservative_scale_overload_checker` | bool | False | | +| `use_dynamic_precedence_in_cumulative` | bool | False | | +| `use_dynamic_precedence_in_disjunctive` | bool | False | | +| `use_exact_lp_reason` | bool | True | | +| `use_hard_precedences_in_cumulative` | bool | False | | +| `use_lb_relax_lns` | bool | True | | +| `use_linear3_for_no_overlap_2d_precedences` | bool | True | | +| `use_ls_only` | bool | False | | +| `use_optional_variables` | bool | False | | +| `use_probing_search` | bool | False | | +| `use_rins_lns` | bool | True | | +| `use_sat_inprocessing` | bool | True | | +| `use_shared_tree_search` | bool | False | | +| `use_symmetry_in_lp` | bool | False | | +| `use_timetable_edge_finding_in_cumulative` | bool | False | | +| `use_try_edge_reasoning_in_no_overlap_2d` | bool | False | | +| `variables_shaving_level` | int32 | -1 | | diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index bb60554f46..86fa6d6908 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -6,12 +6,26 @@ Per-problem timeout = max(MIN_TIMEOUT_S, ceil(baseline_ms * TIMEOUT_FACTOR / 1000)). Locked params (see baseline_params.LOCKED) must not deviate — violation => combined_score=0. +Per-problem param resolution: + If the program defines `get_params(problem=None, stage=None)`, the evaluator + calls it once per problem with the problem dict (carries num_constraints, + num_variables, is_outlier) and the active stage name ("stage1"…"stage4"). + This lets phases ship SIZE_BUCKETS (constraint-count conditional overrides) + and STAGE3_OVERRIDES (outlier-only tuning) inside their EVOLVE-BLOCK. + Programs that still expose `get_params()` (no args) keep working — the + evaluator falls back to a single global call and applies it uniformly. + +Worker count / PHASE_LOCKED must stay identical across all problems within +a phase. The evaluator reads them once via the no-arg path; per-problem +get_params() calls must NOT change locked keys or num_search_workers. + Environment overrides: OPENEVOLVE_MAX_PROBLEMS cap stage problem count OPENEVOLVE_PARALLEL_SOLVERS concurrent solver subprocesses (default 1) OPENEVOLVE_PYTHON_BIN python for worker subprocess """ import importlib.util +import inspect import json import math import os @@ -41,8 +55,21 @@ _STAGE2_SAMPLE = _HERE / "stage2_sample.json" _STAGE3_SAMPLE = _HERE / "stage3_sample.json" _STAGE4_SAMPLE = _HERE / "stage4_sample.json" +_OUTLIERS_JSON = _HERE / "outliers.json" _LOCAL_BASELINE = _HERE / "local_baseline.json" + +def _load_outlier_shas(): + """Return set of SHAs flagged by outliers_top.csv (via build_samples.py + writing shared/outliers.json). Empty if file missing.""" + if not _OUTLIERS_JSON.exists(): + return set() + try: + d = json.loads(_OUTLIERS_JSON.read_text()) + except (json.JSONDecodeError, OSError): + return set() + return set(d.get("outliers") or {}) + _PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") _KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", "wall_time", "user_time") @@ -87,6 +114,7 @@ def _load_problems(workers=1): local = {} if _LOCAL_BASELINE.exists(): local = json.loads(_LOCAL_BASELINE.read_text()) + outlier_shas = _load_outlier_shas() rows = [] with open(_PROBLEMS_JSONL) as f: for line in f: @@ -96,6 +124,7 @@ def _load_problems(workers=1): baseline_result = (d.get("cpsat_status") or {}).get("result") baseline_stats = d.get("cpsat_response_stats") or {} baseline_objective = (d.get("cpsat_status") or {}).get("objective_value") + features = d.get("features") or {} lo = _pick_local_baseline(local.get(sha), workers) if lo and lo.get("matches_raw"): baseline_ms = lo["elapsed_ms"] @@ -109,6 +138,11 @@ def _load_problems(workers=1): "baseline_result": baseline_result, "baseline_stats": baseline_stats, "baseline_objective": baseline_objective, + "num_variables": int(features.get("num_variables") or 0), + "num_constraints": int(features.get("num_constraints") or 0), + "num_bool": int(features.get("num_bool") or 0), + "num_int": int(features.get("num_int") or 0), + "is_outlier": sha in outlier_shas, }) return rows @@ -154,6 +188,33 @@ def _err_result(metrics_extra, artifacts): return EvaluationResult(metrics=metrics, artifacts=artifacts) +def _supports_kwargs(fn, *kwargs): + """Return True if `fn` accepts any of the named kwargs (problem/stage).""" + try: + sig = inspect.signature(fn) + except (TypeError, ValueError): + return False + params_ = sig.parameters + if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params_.values()): + return True + return any(name in params_ for name in kwargs) + + +def _resolve_params(program_get_params, problem, stage_name): + """Call program.get_params(problem=..., stage=...) when supported, else + fall back to get_params() (legacy single-dict per phase). Returns dict.""" + kwargs = {} + if _supports_kwargs(program_get_params, "problem"): + kwargs["problem"] = problem + if _supports_kwargs(program_get_params, "stage"): + kwargs["stage"] = stage_name + p = program_get_params(**kwargs) if kwargs else program_get_params() + if not isinstance(p, dict): + raise TypeError( + f"get_params() returned {type(p).__name__}, expected dict") + return p + + def _evaluate(program_path, problems, stage_name): try: program = _load_program(program_path) @@ -171,10 +232,11 @@ def _evaluate(program_path, problems, stage_name): "stage": stage_name}, ) + # Resolve "global" params (no problem context) once — used for worker + # count, core-block allocation, and PHASE_LOCKED enforcement. Per-problem + # variation only affects non-locked knobs (see _solve below). try: - params = program.get_params() - if not isinstance(params, dict): - raise TypeError(f"get_params() returned {type(params).__name__}, expected dict") + params = _resolve_params(program.get_params, None, stage_name) except Exception as e: return _err_result( {"error": f"get_params() raised: {e}"}, @@ -233,9 +295,22 @@ def _solve(idx_p): idx, p = idx_p input_path = _RAW_DIR / p["input_file"] timeout_s = max(MIN_TIMEOUT_S, math.ceil(p["baseline_ms"] * TIMEOUT_FACTOR / 1000)) + # Per-problem param resolution. Locked keys + num_search_workers MUST + # match the global `params` resolved earlier — re-pin defensively. + try: + per_params = _resolve_params(program.get_params, p, stage_name) + except Exception as e: + return idx, p, {"result": "ERROR", "elapsed_ms": 0, + "invalid_param": f"get_params(problem,stage) raised: {e}"}, \ + None, timeout_s + for k, v in locked.items(): + per_params[k] = v + if "num_search_workers" in params: + per_params["num_search_workers"] = params["num_search_workers"] core = _core_pool.get() try: - r = run_cpsat(input_path, params, timeout_s, python_bin=_PYTHON_BIN, cpu_core=core) + r = run_cpsat(input_path, per_params, timeout_s, + python_bin=_PYTHON_BIN, cpu_core=core) finally: _core_pool.put(core) return idx, p, r, core, timeout_s diff --git a/input/cpsat-bench/evolve/shared/outliers.json b/input/cpsat-bench/evolve/shared/outliers.json new file mode 100644 index 0000000000..18a77fc3cb --- /dev/null +++ b/input/cpsat-bench/evolve/shared/outliers.json @@ -0,0 +1,191 @@ +{ + "stage3_sample": [ + "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", + "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", + "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", + "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", + "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce" + ], + "outliers": { + "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e": { + "residual": 1.2970725496824338, + "elapsed_ms": 5307350.0, + "n_vars": 20881, + "n_cons": 236975 + }, + "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06": { + "residual": 1.2433334003277663, + "elapsed_ms": 4689630.0, + "n_vars": 20881, + "n_cons": 236975 + }, + "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2": { + "residual": 1.2381431698374108, + "elapsed_ms": 5707370.0, + "n_vars": 20867, + "n_cons": 246453 + }, + "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c": { + "residual": 1.133091777448728, + "elapsed_ms": 4481100.0, + "n_vars": 20867, + "n_cons": 246453 + }, + "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e": { + "residual": 1.069007782061628, + "elapsed_ms": 3111920.0, + "n_vars": 20867, + "n_cons": 236494 + }, + "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23": { + "residual": 0.8756390854867613, + "elapsed_ms": 1873900.0, + "n_vars": 20844, + "n_cons": 233581 + }, + "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0": { + "residual": 0.7970804353527665, + "elapsed_ms": 1549180.0, + "n_vars": 20830, + "n_cons": 233076 + }, + "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746": { + "residual": 0.7969822465157113, + "elapsed_ms": 6436.58, + "n_vars": 1979, + "n_cons": 21981 + }, + "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151": { + "residual": 0.7818373624636896, + "elapsed_ms": 1496560.0, + "n_vars": 20830, + "n_cons": 233100 + }, + "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de": { + "residual": 0.773978648305965, + "elapsed_ms": 1482010.0, + "n_vars": 20844, + "n_cons": 233557 + }, + "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91": { + "residual": 0.7622553039424815, + "elapsed_ms": 1443320.0, + "n_vars": 20844, + "n_cons": 233581 + }, + "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955": { + "residual": 0.7430443637073942, + "elapsed_ms": 1380120.0, + "n_vars": 20844, + "n_cons": 233557 + }, + "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0": { + "residual": 0.7188228191471246, + "elapsed_ms": 856786.0, + "n_vars": 17076, + "n_cons": 192805 + }, + "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf": { + "residual": 0.6452098909063135, + "elapsed_ms": 686113.0, + "n_vars": 17058, + "n_cons": 190773 + }, + "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4": { + "residual": 0.6308698262064754, + "elapsed_ms": 837165.0, + "n_vars": 17070, + "n_cons": 199450 + }, + "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd": { + "residual": 0.6033156870934357, + "elapsed_ms": 1312210.0, + "n_vars": 20853, + "n_cons": 245972 + }, + "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a": { + "residual": 0.5798136104655174, + "elapsed_ms": 3530.81, + "n_vars": 1850, + "n_cons": 20766 + }, + "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d": { + "residual": 0.5104993662822994, + "elapsed_ms": 3748.33, + "n_vars": 1850, + "n_cons": 21650 + }, + "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda": { + "residual": 0.45256432545942227, + "elapsed_ms": 2894.64, + "n_vars": 1739, + "n_cons": 20421 + }, + "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce": { + "residual": 0.44623053094988485, + "elapsed_ms": 3311.66, + "n_vars": 1863, + "n_cons": 21835 + }, + "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0": { + "residual": 0.4435643369239455, + "elapsed_ms": 3024.07, + "n_vars": 1674, + "n_cons": 20236 + }, + "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6": { + "residual": 0.43988588482448865, + "elapsed_ms": 3052.7, + "n_vars": 1766, + "n_cons": 20923 + }, + "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728": { + "residual": 0.43851503778542833, + "elapsed_ms": 4920.17, + "n_vars": 2199, + "n_cons": 25921 + }, + "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5": { + "residual": 0.42543640356891776, + "elapsed_ms": 3081.59, + "n_vars": 1850, + "n_cons": 21650 + }, + "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9": { + "residual": 0.4217202793170176, + "elapsed_ms": 180.457, + "n_vars": 715, + "n_cons": 7423 + }, + "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5": { + "residual": 0.41361338316732565, + "elapsed_ms": 4839.59, + "n_vars": 2326, + "n_cons": 26958 + }, + "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4": { + "residual": 0.403130605161544, + "elapsed_ms": 3212.27, + "n_vars": 1977, + "n_cons": 22871 + }, + "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646": { + "residual": 0.39503502501284604, + "elapsed_ms": 2916.72, + "n_vars": 1859, + "n_cons": 21771 + }, + "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c": { + "residual": 0.39114990000400063, + "elapsed_ms": 400652.0, + "n_vars": 17070, + "n_cons": 192562 + }, + "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d": { + "residual": 0.38764579685835177, + "elapsed_ms": 2893.75, + "n_vars": 1863, + "n_cons": 21835 + } + } +} diff --git a/input/cpsat-bench/evolve/shared/stage1_sample.json b/input/cpsat-bench/evolve/shared/stage1_sample.json index 1ae95ce24a..5a4185a1f9 100644 --- a/input/cpsat-bench/evolve/shared/stage1_sample.json +++ b/input/cpsat-bench/evolve/shared/stage1_sample.json @@ -2,37 +2,37 @@ "selection": "5 decisive runtime clusters c1+c2 (fast group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ - "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", - "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", - "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15", - "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", - "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac" + "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", + "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", + "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", + "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", + "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3" ], "summary": [ { - "sha": "bb9eb5259a99", + "sha": "90e1185ded53", "baseline_result": "OPTIMAL", - "baseline_ms": 1017.39 + "baseline_ms": 1323.68 }, { - "sha": "71b18e5d4bd0", + "sha": "2c283b1f086e", "baseline_result": "OPTIMAL", - "baseline_ms": 1074.74 + "baseline_ms": 1361.71 }, { - "sha": "e848603289cc", + "sha": "fa619c63ddf9", "baseline_result": "OPTIMAL", - "baseline_ms": 1251.32 + "baseline_ms": 1364.16 }, { - "sha": "aec821f70ed6", + "sha": "27a639ae4f3c", "baseline_result": "OPTIMAL", - "baseline_ms": 1317.35 + "baseline_ms": 1373.64 }, { - "sha": "fa619c63ddf9", + "sha": "eef410430ef1", "baseline_result": "OPTIMAL", - "baseline_ms": 1364.16 + "baseline_ms": 1380.36 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage2_sample.json b/input/cpsat-bench/evolve/shared/stage2_sample.json index 80ea8e73c8..8630eff9fd 100644 --- a/input/cpsat-bench/evolve/shared/stage2_sample.json +++ b/input/cpsat-bench/evolve/shared/stage2_sample.json @@ -2,37 +2,37 @@ "selection": "5 decisive runtime clusters c3+c4 (mid group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ - "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e", - "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", - "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13", - "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2", - "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6" + "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5", + "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", + "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", + "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b", + "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57" ], "summary": [ { - "sha": "b6027761fc92", + "sha": "aa6fca326d55", "baseline_result": "OPTIMAL", - "baseline_ms": 3431.8 + "baseline_ms": 4676.26 }, { - "sha": "321b859ee1b2", + "sha": "7228b93c395d", "baseline_result": "OPTIMAL", - "baseline_ms": 3472.19 + "baseline_ms": 4758.69 }, { - "sha": "97c67ce44962", + "sha": "8b1db26428e4", "baseline_result": "OPTIMAL", - "baseline_ms": 3578.34 + "baseline_ms": 4787.76 }, { - "sha": "7b4c2358a5ad", + "sha": "49e2fc3d508c", "baseline_result": "OPTIMAL", - "baseline_ms": 3598.47 + "baseline_ms": 4810.32 }, { - "sha": "d0cb084bf73c", + "sha": "bd4be90c6f16", "baseline_result": "OPTIMAL", - "baseline_ms": 3731.05 + "baseline_ms": 4816.56 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage3_sample.json b/input/cpsat-bench/evolve/shared/stage3_sample.json index 96f6563ed4..899e3a731f 100644 --- a/input/cpsat-bench/evolve/shared/stage3_sample.json +++ b/input/cpsat-bench/evolve/shared/stage3_sample.json @@ -1,38 +1,38 @@ { - "selection": "5 decisive runtime cluster c5 (slow group)", + "selection": "5 top-5 residual outliers from outliers_top.csv, capped @ 120000ms baseline", "source": "cpsat-bench/problems.jsonl", "sha256": [ - "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54", - "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661", - "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", - "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9", - "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3" + "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", + "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", + "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", + "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", + "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce" ], "summary": [ { - "sha": "1f71e23e551c", + "sha": "5f84583fd6d8", "baseline_result": "OPTIMAL", - "baseline_ms": 7400.86 + "baseline_ms": 6436.58 }, { - "sha": "7d5ef007c158", + "sha": "303a6733c9ec", "baseline_result": "OPTIMAL", - "baseline_ms": 7474.2 + "baseline_ms": 3530.81 }, { - "sha": "bef168aea12e", + "sha": "d8130c88625b", "baseline_result": "OPTIMAL", - "baseline_ms": 7530.89 + "baseline_ms": 3748.33 }, { - "sha": "5216fc2158f9", + "sha": "e2b2952cbec1", "baseline_result": "OPTIMAL", - "baseline_ms": 9137.48 + "baseline_ms": 2894.64 }, { - "sha": "b43c4de7b334", + "sha": "471adab20a30", "baseline_result": "OPTIMAL", - "baseline_ms": 9668 + "baseline_ms": 3311.66 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage4_sample.json b/input/cpsat-bench/evolve/shared/stage4_sample.json index 2693731abd..9a7c1ecada 100644 --- a/input/cpsat-bench/evolve/shared/stage4_sample.json +++ b/input/cpsat-bench/evolve/shared/stage4_sample.json @@ -3,25 +3,25 @@ "source": "cpsat-bench/problems.jsonl", "sha256": [ "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", - "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57", "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", - "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2", - "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17", - "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1", - "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e", - "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469", - "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf", - "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0", - "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", - "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", - "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", - "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", - "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", - "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", - "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", - "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", - "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", - "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8" + "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea", + "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0", + "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c", + "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", + "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6", + "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", + "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", + "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", + "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba", + "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", + "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5", + "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", + "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6", + "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", + "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", + "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c", + "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", + "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94" ], "summary": [ { @@ -30,99 +30,99 @@ "baseline_ms": 105.102 }, { - "sha": "bcaed7c25140", + "sha": "3e2b36379a29", "baseline_result": "OPTIMAL", - "baseline_ms": 502.374 + "baseline_ms": 626.761 }, { - "sha": "3e2b36379a29", + "sha": "d28acbdfd6c0", "baseline_result": "OPTIMAL", - "baseline_ms": 626.761 + "baseline_ms": 974.173 }, { - "sha": "f9e4e9cdb244", + "sha": "1a1c06a66af7", "baseline_result": "OPTIMAL", - "baseline_ms": 668.915 + "baseline_ms": 1500.26 }, { - "sha": "2d527c244103", + "sha": "a4dbf4239260", "baseline_result": "OPTIMAL", - "baseline_ms": 695.523 + "baseline_ms": 1500.8 }, { - "sha": "395b9abdb720", + "sha": "6c64b95d90a6", "baseline_result": "OPTIMAL", - "baseline_ms": 1394.5 + "baseline_ms": 1883.75 }, { - "sha": "8f41589af605", + "sha": "87106998551e", "baseline_result": "OPTIMAL", - "baseline_ms": 1599.16 + "baseline_ms": 2555.9 }, { - "sha": "8073c7c85295", + "sha": "9c801bcf5dc6", "baseline_result": "OPTIMAL", - "baseline_ms": 1649.08 + "baseline_ms": 3098.94 }, { - "sha": "d7df934f3b3b", + "sha": "ca043f0850c1", "baseline_result": "OPTIMAL", - "baseline_ms": 1764.03 + "baseline_ms": 3101.11 }, { - "sha": "3b522f278d59", + "sha": "9f330e3d7528", "baseline_result": "OPTIMAL", - "baseline_ms": 2334.59 + "baseline_ms": 3351.44 }, { - "sha": "cf629228e69a", + "sha": "4dc032eadf8f", "baseline_result": "OPTIMAL", - "baseline_ms": 2972.04 + "baseline_ms": 3844.03 }, { - "sha": "674b484eb726", + "sha": "c640cc60784b", "baseline_result": "OPTIMAL", - "baseline_ms": 3104.21 + "baseline_ms": 4313.07 }, { - "sha": "4e4bc1ad622d", + "sha": "55194630a32d", "baseline_result": "OPTIMAL", - "baseline_ms": 3107.88 + "baseline_ms": 4354.72 }, { - "sha": "ed8349c414d6", + "sha": "d1b2c9992efd", "baseline_result": "OPTIMAL", - "baseline_ms": 3318.12 + "baseline_ms": 5355.17 }, { - "sha": "c6a6b2aab48a", + "sha": "f38c4b16a010", "baseline_result": "OPTIMAL", - "baseline_ms": 3883.39 + "baseline_ms": 6043.44 }, { - "sha": "12e68b0b5089", + "sha": "e5c9e667fbee", "baseline_result": "OPTIMAL", - "baseline_ms": 4031.48 + "baseline_ms": 6608.39 }, { - "sha": "62c6e2f56638", + "sha": "8a3a0575a6af", "baseline_result": "OPTIMAL", - "baseline_ms": 4069.74 + "baseline_ms": 6624.34 }, { - "sha": "14ea5ccece18", + "sha": "9b68c85c1a11", "baseline_result": "OPTIMAL", - "baseline_ms": 4358.96 + "baseline_ms": 7909.24 }, { - "sha": "90e16615aa98", + "sha": "e272c0e4899b", "baseline_result": "OPTIMAL", - "baseline_ms": 5772.7 + "baseline_ms": 11336.5 }, { - "sha": "a49d307cfcf3", + "sha": "5b8c61f99d31", "baseline_result": "OPTIMAL", - "baseline_ms": 10574.9 + "baseline_ms": 19871.1 } ] } diff --git a/input/cpsat-bench/problems.jsonl b/input/cpsat-bench/problems.jsonl index eed6fdf39e..75241c1345 100644 --- a/input/cpsat-bench/problems.jsonl +++ b/input/cpsat-bench/problems.jsonl @@ -1,86 +1,430 @@ {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6896.45}, "cpsat_response_stats": {"num_booleans": 7248, "num_conflicts": 3843, "num_branches": 79884, "num_binary_propagations": 4096494, "num_integer_propagations": 1709363, "num_restarts": 36, "wall_time": 6.89489, "user_time": 6.89489, "deterministic_time": 15.5139}, "solution_info": "default_lp", "problem_sha256": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28940}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1619.97}, "cpsat_response_stats": {"num_booleans": 8350, "num_conflicts": 6524, "num_branches": 31795, "num_binary_propagations": 2645824, "num_integer_propagations": 763975, "num_restarts": 15, "wall_time": 1.61877, "user_time": 1.61877, "deterministic_time": 3.34384}, "solution_info": "quick_restart", "problem_sha256": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2818.52}, "cpsat_response_stats": {"num_booleans": 1727, "num_integers": 459, "num_fixed_booleans": 48, "num_conflicts": 466, "num_branches": 10294, "num_binary_propagations": 525933, "num_integer_propagations": 262064, "num_restarts": 3, "num_lp_iterations": 2899, "wall_time": 2.80801, "user_time": 2.80801, "deterministic_time": 1.87483, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44889}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3153.47}, "cpsat_response_stats": {"num_booleans": 5751, "num_conflicts": 2310, "num_branches": 45318, "num_binary_propagations": 3184762, "num_integer_propagations": 1315336, "num_restarts": 18, "wall_time": 3.15121, "user_time": 3.15121, "deterministic_time": 6.42205}, "solution_info": "default_lp", "problem_sha256": "0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 25969, "constraint_breakdown": {"at_most_one": 132, "linear": 10033, "bool_or": 9259, "bool_and": 6545}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4071.48}, "cpsat_response_stats": {"num_booleans": 12567, "num_integers": 608, "num_fixed_booleans": 617, "num_conflicts": 10692, "num_branches": 110220, "num_binary_propagations": 7594700, "num_integer_propagations": 1122186, "num_restarts": 11, "num_lp_iterations": 14324, "wall_time": 4.06633, "user_time": 4.06633, "deterministic_time": 5.38499, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1938, "num_int": 798, "num_constraints": 30419, "constraint_breakdown": {"at_most_one": 135, "linear": 12847, "bool_or": 10433, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1757.49}, "cpsat_response_stats": {"num_booleans": 2436, "num_integers": 595, "num_fixed_booleans": 180, "num_conflicts": 752, "num_branches": 13177, "num_binary_propagations": 987148, "num_integer_propagations": 426363, "num_restarts": 3, "num_lp_iterations": 1088, "wall_time": 1.75482, "user_time": 1.75482, "deterministic_time": 1.81954, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3432.26}, "cpsat_response_stats": {"num_booleans": 2747, "num_integers": 612, "num_fixed_booleans": 181, "num_conflicts": 719, "num_branches": 18056, "num_binary_propagations": 875543, "num_integer_propagations": 428219, "num_restarts": 6, "num_lp_iterations": 1660, "wall_time": 3.41793, "user_time": 3.41793, "deterministic_time": 3.00165, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 36071, "constraint_breakdown": {"at_most_one": 160, "linear": 15128, "bool_or": 12416, "bool_and": 8367}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5832.93}, "cpsat_response_stats": {"num_booleans": 8266, "num_integers": 809, "num_fixed_booleans": 87, "num_conflicts": 6222, "num_branches": 47499, "num_binary_propagations": 5594544, "num_integer_propagations": 1780300, "num_restarts": 17, "num_lp_iterations": 66900, "wall_time": 5.81353, "user_time": 5.81353, "deterministic_time": 5.09695, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 651.086}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.650087, "user_time": 0.650087, "deterministic_time": 0.978946}, "solution_info": "fs_random_no_lp", "problem_sha256": "072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233100}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1496560.0}, "cpsat_response_stats": {"num_booleans": 42651, "num_conflicts": 531653, "num_branches": 2141669, "num_binary_propagations": 773533294, "num_integer_propagations": 191884649, "num_restarts": 2587, "wall_time": 1496.55, "user_time": 1496.55, "deterministic_time": 5148.16}, "solution_info": "no_lp", "problem_sha256": "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 28808, "constraint_breakdown": {"at_most_one": 134, "linear": 11903, "bool_or": 9974, "bool_and": 6797}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2408.23}, "cpsat_response_stats": {"num_booleans": 2719, "num_integers": 605, "num_fixed_booleans": 75, "num_conflicts": 806, "num_branches": 17531, "num_binary_propagations": 909181, "num_integer_propagations": 679402, "num_restarts": 6, "num_lp_iterations": 3471, "wall_time": 2.40006, "user_time": 2.40006, "deterministic_time": 1.88466, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11130, "num_bool": 8496, "num_int": 2634, "num_constraints": 126364, "constraint_breakdown": {"at_most_one": 432, "linear": 56647, "bool_or": 42016, "bool_and": 27269}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 76005.7}, "cpsat_response_stats": {"num_booleans": 16576, "num_integers": 2651, "num_fixed_booleans": 495, "num_conflicts": 21705, "num_branches": 179333, "num_binary_propagations": 23578327, "num_integer_propagations": 7572508, "num_restarts": 113, "num_lp_iterations": 501473, "wall_time": 75.9787, "user_time": 75.9787, "deterministic_time": 96.2732, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190773}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 686113}, "cpsat_response_stats": {"num_booleans": 27870, "num_conflicts": 210392, "num_branches": 952603, "num_binary_propagations": 271814160, "num_integer_propagations": 67147700, "num_restarts": 801, "wall_time": 686.1, "user_time": 686.1, "deterministic_time": 1489.62}, "solution_info": "no_lp", "problem_sha256": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19431.4}, "cpsat_response_stats": {"num_booleans": 8196, "num_integers": 1518, "num_fixed_booleans": 231, "num_conflicts": 18082, "num_branches": 110936, "num_binary_propagations": 11280933, "num_integer_propagations": 3570767, "num_restarts": 104, "num_lp_iterations": 161443, "wall_time": 19.4175, "user_time": 19.4175, "deterministic_time": 28.5748, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2863.91}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 2.86213, "user_time": 2.86213, "deterministic_time": 5.14864}, "solution_info": "fs_random", "problem_sha256": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 791.232}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.790182, "user_time": 0.790182, "deterministic_time": 1.17229}, "solution_info": "default_lp", "problem_sha256": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 49739, "constraint_breakdown": {"at_most_one": 244, "linear": 19145, "bool_or": 17709, "bool_and": 12641}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11540.4}, "cpsat_response_stats": {"num_booleans": 7062, "num_integers": 1315, "num_fixed_booleans": 185, "num_conflicts": 3451, "num_branches": 61663, "num_binary_propagations": 2813582, "num_integer_propagations": 1217187, "num_restarts": 33, "num_lp_iterations": 40536, "wall_time": 11.5217, "user_time": 11.5217, "deterministic_time": 14.9515, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44084}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3376.2}, "cpsat_response_stats": {"num_booleans": 5401, "num_conflicts": 1006, "num_branches": 39304, "num_binary_propagations": 2518627, "num_integer_propagations": 1057719, "num_restarts": 6, "wall_time": 3.37445, "user_time": 3.37445, "deterministic_time": 6.19883}, "solution_info": "fs_random_no_lp", "problem_sha256": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 59452, "constraint_breakdown": {"at_most_one": 272, "linear": 23341, "bool_or": 21239, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21570}, "cpsat_response_stats": {"num_booleans": 11039, "num_integers": 1504, "num_fixed_booleans": 252, "num_conflicts": 20491, "num_branches": 154670, "num_binary_propagations": 12593386, "num_integer_propagations": 3617678, "num_restarts": 90, "num_lp_iterations": 154840, "wall_time": 21.5461, "user_time": 21.5461, "deterministic_time": 39.738, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15283.6}, "cpsat_response_stats": {"num_booleans": 8160, "num_integers": 1518, "num_fixed_booleans": 226, "num_conflicts": 11744, "num_branches": 95041, "num_binary_propagations": 7939396, "num_integer_propagations": 2897633, "num_restarts": 83, "num_lp_iterations": 117062, "wall_time": 15.2729, "user_time": 15.2729, "deterministic_time": 21.2578, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3163.12}, "cpsat_response_stats": {"num_booleans": 2931, "num_integers": 643, "num_fixed_booleans": 71, "num_conflicts": 332, "num_branches": 15805, "num_binary_propagations": 642350, "num_integer_propagations": 304238, "num_restarts": 1, "num_lp_iterations": 409, "wall_time": 3.15026, "user_time": 3.15026, "deterministic_time": 2.86989, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38578}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3179.9}, "cpsat_response_stats": {"num_booleans": 4916, "num_conflicts": 592, "num_branches": 29758, "num_binary_propagations": 1578412, "num_integer_propagations": 621035, "num_restarts": 3, "wall_time": 3.17831, "user_time": 3.17831, "deterministic_time": 5.42069}, "solution_info": "quick_restart_no_lp", "problem_sha256": "0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 58973, "constraint_breakdown": {"at_most_one": 248, "linear": 24942, "bool_or": 20080, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8478.85}, "cpsat_response_stats": {"num_booleans": 7117, "num_integers": 1349, "num_fixed_booleans": 132, "num_conflicts": 1828, "num_branches": 60444, "num_binary_propagations": 3510582, "num_integer_propagations": 1538526, "num_restarts": 15, "num_lp_iterations": 21820, "wall_time": 8.46657, "user_time": 8.46657, "deterministic_time": 8.28154, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1979, "num_bool": 1377, "num_int": 602, "num_constraints": 21981, "constraint_breakdown": {"at_most_one": 104, "linear": 9343, "bool_or": 7511, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1793.37}, "cpsat_response_stats": {"num_booleans": 1593, "num_integers": 453, "num_fixed_booleans": 121, "num_conflicts": 421, "num_branches": 9067, "num_binary_propagations": 586905, "num_integer_propagations": 292198, "num_restarts": 1, "num_lp_iterations": 190, "wall_time": 1.78942, "user_time": 1.78942, "deterministic_time": 1.30256, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3133.96}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.13191, "user_time": 3.13191, "deterministic_time": 6.06757}, "solution_info": "no_lp", "problem_sha256": "0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5920.07}, "cpsat_response_stats": {"num_booleans": 5441, "num_integers": 1044, "num_fixed_booleans": 102, "num_conflicts": 1675, "num_branches": 41046, "num_binary_propagations": 2579043, "num_integer_propagations": 1139512, "num_restarts": 12, "num_lp_iterations": 13190, "wall_time": 5.91196, "user_time": 5.91196, "deterministic_time": 5.62571, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3212.64}, "cpsat_response_stats": {"num_booleans": 3481, "num_integers": 602, "num_fixed_booleans": 522, "num_conflicts": 1944, "num_branches": 23123, "num_binary_propagations": 1420607, "num_integer_propagations": 648288, "num_restarts": 12, "num_lp_iterations": 6399, "wall_time": 3.20744, "user_time": 3.20744, "deterministic_time": 3.16658, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20139, "constraint_breakdown": {"at_most_one": 102, "linear": 8055, "bool_or": 7086, "bool_and": 4896}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 956.451}, "cpsat_response_stats": {"num_booleans": 2166, "num_integers": 464, "num_fixed_booleans": 54, "num_conflicts": 688, "num_branches": 11031, "num_binary_propagations": 465277, "num_integer_propagations": 224108, "num_restarts": 3, "num_lp_iterations": 482, "wall_time": 0.955391, "user_time": 0.955391, "deterministic_time": 0.823945, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4031.48}, "cpsat_response_stats": {"num_booleans": 6866, "num_conflicts": 1735, "num_branches": 58712, "num_binary_propagations": 3011929, "num_integer_propagations": 1300720, "num_restarts": 18, "wall_time": 4.02854, "user_time": 4.02854, "deterministic_time": 8.22221}, "solution_info": "default_lp", "problem_sha256": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8340.34}, "cpsat_response_stats": {"num_booleans": 9405, "num_integers": 1669, "num_fixed_booleans": 179, "num_conflicts": 2182, "num_branches": 67141, "num_binary_propagations": 3574228, "num_integer_propagations": 1430787, "num_restarts": 23, "num_lp_iterations": 21380, "wall_time": 8.30876, "user_time": 8.30876, "deterministic_time": 7.58171, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3673, "num_int": 1637, "num_constraints": 59718, "constraint_breakdown": {"at_most_one": 272, "linear": 23478, "bool_or": 21368, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11915}, "cpsat_response_stats": {"num_booleans": 8095, "num_integers": 1471, "num_fixed_booleans": 439, "num_conflicts": 9685, "num_branches": 111280, "num_binary_propagations": 9147090, "num_integer_propagations": 2667994, "num_restarts": 42, "num_lp_iterations": 79742, "wall_time": 11.9049, "user_time": 11.9049, "deterministic_time": 22.8773, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4358.96}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.35558, "user_time": 4.35558, "deterministic_time": 8.16986}, "solution_info": "default_lp", "problem_sha256": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7334.94}, "cpsat_response_stats": {"num_booleans": 6745, "num_integers": 1368, "num_fixed_booleans": 201, "num_conflicts": 1881, "num_branches": 53873, "num_binary_propagations": 3462648, "num_integer_propagations": 1510233, "num_restarts": 15, "num_lp_iterations": 20061, "wall_time": 7.32372, "user_time": 7.32372, "deterministic_time": 7.7169, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 639.354}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.638422, "user_time": 0.638422, "deterministic_time": 0.780845}, "solution_info": "quick_restart", "problem_sha256": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3673, "num_int": 1637, "num_constraints": 59718, "constraint_breakdown": {"at_most_one": 272, "linear": 23478, "bool_or": 21368, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9272.03}, "cpsat_response_stats": {"num_booleans": 7774, "num_integers": 1471, "num_fixed_booleans": 211, "num_conflicts": 7031, "num_branches": 70527, "num_binary_propagations": 6676084, "num_integer_propagations": 2258527, "num_restarts": 53, "num_lp_iterations": 64838, "wall_time": 9.26111, "user_time": 9.26111, "deterministic_time": 16.1077, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 58767, "constraint_breakdown": {"at_most_one": 268, "linear": 22846, "bool_or": 21176, "bool_and": 14477}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5989.49}, "cpsat_response_stats": {"num_booleans": 7782, "num_integers": 1464, "num_fixed_booleans": 161, "num_conflicts": 2626, "num_branches": 63032, "num_binary_propagations": 4132197, "num_integer_propagations": 1570857, "num_restarts": 27, "num_lp_iterations": 20588, "wall_time": 5.97863, "user_time": 5.97863, "deterministic_time": 8.33573, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13884}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 579.064}, "cpsat_response_stats": {"num_booleans": 963, "num_conflicts": 305, "num_branches": 4852, "num_binary_propagations": 160496, "num_integer_propagations": 89574, "num_restarts": 3, "wall_time": 0.578214, "user_time": 0.578215, "deterministic_time": 0.491991}, "solution_info": "fs_random_no_lp", "problem_sha256": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30201}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.26}, "cpsat_response_stats": {"num_booleans": 2358, "num_conflicts": 633, "num_branches": 15281, "num_binary_propagations": 1057808, "num_integer_propagations": 472948, "num_restarts": 3, "wall_time": 1.49864, "user_time": 1.49864, "deterministic_time": 2.17348}, "solution_info": "default_lp", "problem_sha256": "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 44899, "constraint_breakdown": {"at_most_one": 190, "linear": 19169, "bool_or": 15297, "bool_and": 10243}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6436.84}, "cpsat_response_stats": {"num_booleans": 5016, "num_integers": 1027, "num_fixed_booleans": 99, "num_conflicts": 1543, "num_branches": 44055, "num_binary_propagations": 2670142, "num_integer_propagations": 1196938, "num_restarts": 15, "num_lp_iterations": 15119, "wall_time": 6.42809, "user_time": 6.42809, "deterministic_time": 6.42034, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20792, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7200, "bool_and": 4869}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1075.14}, "cpsat_response_stats": {"num_booleans": 1666, "num_integers": 451, "num_fixed_booleans": 70, "num_conflicts": 472, "num_branches": 9986, "num_binary_propagations": 560383, "num_integer_propagations": 242649, "num_restarts": 1, "num_lp_iterations": 302, "wall_time": 1.07338, "user_time": 1.07338, "deterministic_time": 1.00964, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2288, "num_int": 938, "num_constraints": 36510, "constraint_breakdown": {"at_most_one": 159, "linear": 15668, "bool_or": 12396, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4447.05}, "cpsat_response_stats": {"num_booleans": 5190, "num_integers": 867, "num_fixed_booleans": 283, "num_conflicts": 2759, "num_branches": 36801, "num_binary_propagations": 2623629, "num_integer_propagations": 1037903, "num_restarts": 18, "num_lp_iterations": 17048, "wall_time": 4.44073, "user_time": 4.44073, "deterministic_time": 6.49673, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 26394, "constraint_breakdown": {"at_most_one": 132, "linear": 10245, "bool_or": 9415, "bool_and": 6602}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1852.25}, "cpsat_response_stats": {"num_booleans": 2596, "num_integers": 625, "num_fixed_booleans": 69, "num_conflicts": 560, "num_branches": 15937, "num_binary_propagations": 630686, "num_integer_propagations": 310208, "num_restarts": 6, "num_lp_iterations": 2039, "wall_time": 1.84973, "user_time": 1.84973, "deterministic_time": 1.41769, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2781.61}, "cpsat_response_stats": {"num_booleans": 2641, "num_integers": 628, "num_fixed_booleans": 69, "num_conflicts": 430, "num_branches": 15591, "num_binary_propagations": 597982, "num_integer_propagations": 291988, "num_restarts": 3, "num_lp_iterations": 1062, "wall_time": 2.77268, "user_time": 2.77268, "deterministic_time": 2.72813, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5391.62}, "cpsat_response_stats": {"num_booleans": 4083, "num_integers": 815, "num_fixed_booleans": 234, "num_conflicts": 1172, "num_branches": 28223, "num_binary_propagations": 1652774, "num_integer_propagations": 783554, "num_restarts": 9, "num_lp_iterations": 6294, "wall_time": 5.38428, "user_time": 5.38428, "deterministic_time": 5.21599, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 623.536}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.622872, "user_time": 0.622872, "deterministic_time": 0.856701}, "solution_info": "quick_restart", "problem_sha256": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1941, "num_int": 794, "num_constraints": 30473, "constraint_breakdown": {"at_most_one": 135, "linear": 13009, "bool_or": 10391, "bool_and": 6938}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2326.58}, "cpsat_response_stats": {"num_booleans": 2376, "num_integers": 572, "num_fixed_booleans": 223, "num_conflicts": 851, "num_branches": 12692, "num_binary_propagations": 929982, "num_integer_propagations": 417911, "num_restarts": 3, "num_lp_iterations": 391, "wall_time": 2.32007, "user_time": 2.32007, "deterministic_time": 1.78377, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12651.7}, "cpsat_response_stats": {"num_booleans": 12809, "num_conflicts": 9916, "num_branches": 105448, "num_binary_propagations": 11407742, "num_integer_propagations": 3523778, "num_restarts": 84, "wall_time": 12.649, "user_time": 12.649, "deterministic_time": 40.5777}, "solution_info": "no_lp", "problem_sha256": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63693}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7400.86}, "cpsat_response_stats": {"num_booleans": 9777, "num_conflicts": 4016, "num_branches": 100243, "num_binary_propagations": 5080514, "num_integer_propagations": 2059675, "num_restarts": 42, "wall_time": 7.39644, "user_time": 7.39644, "deterministic_time": 16.5819}, "solution_info": "default_lp", "problem_sha256": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3024.07}, "cpsat_response_stats": {"num_booleans": 1829, "num_integers": 483, "num_fixed_booleans": 51, "num_conflicts": 310, "num_branches": 10067, "num_binary_propagations": 340378, "num_integer_propagations": 170355, "num_restarts": 3, "num_lp_iterations": 1145, "wall_time": 3.0205, "user_time": 3.0205, "deterministic_time": 2.45745, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1752.13}, "cpsat_response_stats": {"num_booleans": 2753, "num_conflicts": 1102, "num_branches": 17773, "num_binary_propagations": 1416000, "num_integer_propagations": 603617, "num_restarts": 6, "wall_time": 1.75121, "user_time": 1.75121, "deterministic_time": 2.87432}, "solution_info": "no_lp", "problem_sha256": "21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14241, "constraint_breakdown": {"at_most_one": 77, "linear": 5527, "bool_or": 5130, "bool_and": 3507}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 473.166}, "cpsat_response_stats": {"num_booleans": 727, "num_integers": 277, "num_fixed_booleans": 21, "num_conflicts": 187, "num_branches": 4573, "num_binary_propagations": 169968, "num_integer_propagations": 99003, "num_restarts": 1, "num_lp_iterations": 186, "wall_time": 0.472282, "user_time": 0.472282, "deterministic_time": 0.369579, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 64265, "constraint_breakdown": {"at_most_one": 300, "linear": 25295, "bool_or": 22675, "bool_and": 15995}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16208.8}, "cpsat_response_stats": {"num_booleans": 9740, "num_integers": 1651, "num_fixed_booleans": 216, "num_conflicts": 4652, "num_branches": 95995, "num_binary_propagations": 4649474, "num_integer_propagations": 1955784, "num_restarts": 51, "num_lp_iterations": 58617, "wall_time": 16.1847, "user_time": 16.1847, "deterministic_time": 16.4779, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7271.21}, "cpsat_response_stats": {"num_booleans": 7912, "num_conflicts": 12081, "num_branches": 81515, "num_binary_propagations": 10554667, "num_integer_propagations": 2782477, "num_restarts": 68, "wall_time": 7.26872, "user_time": 7.26872, "deterministic_time": 23.7767}, "solution_info": "default_lp", "problem_sha256": "256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 182.409}, "cpsat_response_stats": {"num_booleans": 250, "num_integers": 113, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 3, "wall_time": 0.181745, "user_time": 0.181745, "deterministic_time": 0.0310824, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:7'487} gen{mvs:2'655 evals:0} comp{mvs:441 btracks:1'107} #w_updates:12 #perturb:0)", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17076, "num_bool": 13341, "num_int": 3735, "num_constraints": 192805, "constraint_breakdown": {"at_most_one": 618, "linear": 88116, "bool_or": 63144, "bool_and": 40927}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 856786}, "cpsat_response_stats": {"num_booleans": 27997, "num_integers": 3968, "num_fixed_booleans": 1018, "num_conflicts": 218233, "num_branches": 1168305, "num_binary_propagations": 240841668, "num_integer_propagations": 68122509, "num_restarts": 977, "num_lp_iterations": 5407038, "wall_time": 856.747, "user_time": 856.747, "deterministic_time": 1441.38, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 45439.7}, "cpsat_response_stats": {"num_booleans": 12995, "num_integers": 2191, "num_fixed_booleans": 379, "num_conflicts": 23149, "num_branches": 144434, "num_binary_propagations": 19032195, "num_integer_propagations": 5538798, "num_restarts": 150, "num_lp_iterations": 321431, "wall_time": 45.425, "user_time": 45.425, "deterministic_time": 64.4278, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1373.64}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.37189, "user_time": 1.3719, "deterministic_time": 1.17965}, "solution_info": "quick_restart_no_lp", "problem_sha256": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10447}, "cpsat_response_stats": {"num_booleans": 11808, "num_conflicts": 11186, "num_branches": 96516, "num_binary_propagations": 12404481, "num_integer_propagations": 3348409, "num_restarts": 83, "wall_time": 10.4429, "user_time": 10.4429, "deterministic_time": 32.4593}, "solution_info": "default_lp", "problem_sha256": "2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 36127, "constraint_breakdown": {"at_most_one": 160, "linear": 15128, "bool_or": 12472, "bool_and": 8367}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4173.09}, "cpsat_response_stats": {"num_booleans": 3837, "num_integers": 804, "num_fixed_booleans": 86, "num_conflicts": 843, "num_branches": 26130, "num_binary_propagations": 1751422, "num_integer_propagations": 728032, "num_restarts": 6, "num_lp_iterations": 3040, "wall_time": 4.16589, "user_time": 4.16589, "deterministic_time": 4.73902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 14599, "constraint_breakdown": {"at_most_one": 77, "linear": 5899, "bool_or": 5089, "bool_and": 3534}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 540.252}, "cpsat_response_stats": {"num_booleans": 783, "num_integers": 267, "num_fixed_booleans": 19, "num_conflicts": 183, "num_branches": 4384, "num_binary_propagations": 159359, "num_integer_propagations": 96585, "num_restarts": 2, "num_lp_iterations": 247, "wall_time": 0.539297, "user_time": 0.539297, "deterministic_time": 0.336128, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 38711, "constraint_breakdown": {"at_most_one": 187, "linear": 15273, "bool_or": 13654, "bool_and": 9597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5430.81}, "cpsat_response_stats": {"num_booleans": 4908, "num_integers": 960, "num_fixed_booleans": 105, "num_conflicts": 578, "num_branches": 29008, "num_binary_propagations": 1363971, "num_integer_propagations": 577078, "num_restarts": 3, "num_lp_iterations": 1732, "wall_time": 5.41112, "user_time": 5.41112, "deterministic_time": 4.12991, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1961.23}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.95933, "user_time": 1.95933, "deterministic_time": 2.96945}, "solution_info": "quick_restart", "problem_sha256": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 89192}, "cpsat_response_stats": {"num_booleans": 18223, "num_integers": 2724, "num_fixed_booleans": 1307, "num_conflicts": 35393, "num_branches": 255576, "num_binary_propagations": 29779298, "num_integer_propagations": 10453585, "num_restarts": 231, "num_lp_iterations": 606851, "wall_time": 89.1756, "user_time": 89.1756, "deterministic_time": 143.2, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 45101, "constraint_breakdown": {"at_most_one": 190, "linear": 19234, "bool_or": 15379, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6416.71}, "cpsat_response_stats": {"num_booleans": 5732, "num_integers": 1034, "num_fixed_booleans": 114, "num_conflicts": 2508, "num_branches": 46309, "num_binary_propagations": 2967035, "num_integer_propagations": 1304214, "num_restarts": 18, "num_lp_iterations": 23874, "wall_time": 6.40749, "user_time": 6.40749, "deterministic_time": 7.0559, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1924, "num_int": 789, "num_constraints": 30408, "constraint_breakdown": {"at_most_one": 134, "linear": 13055, "bool_or": 10315, "bool_and": 6904}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1809.76}, "cpsat_response_stats": {"num_booleans": 2470, "num_integers": 593, "num_fixed_booleans": 159, "num_conflicts": 712, "num_branches": 13423, "num_binary_propagations": 1019108, "num_integer_propagations": 453081, "num_restarts": 6, "num_lp_iterations": 1724, "wall_time": 1.80827, "user_time": 1.80827, "deterministic_time": 1.76708, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1266, "num_int": 598, "num_constraints": 20886, "constraint_breakdown": {"at_most_one": 103, "linear": 8638, "bool_or": 7236, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1361.71}, "cpsat_response_stats": {"num_booleans": 2250, "num_integers": 457, "num_fixed_booleans": 50, "num_conflicts": 964, "num_branches": 13872, "num_binary_propagations": 639294, "num_integer_propagations": 297959, "num_restarts": 6, "num_lp_iterations": 1167, "wall_time": 1.3595, "user_time": 1.3595, "deterministic_time": 1.28691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11135, "num_bool": 8504, "num_int": 2631, "num_constraints": 126459, "constraint_breakdown": {"at_most_one": 432, "linear": 56388, "bool_or": 42090, "bool_and": 27549}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 47175.5}, "cpsat_response_stats": {"num_booleans": 16286, "num_integers": 2685, "num_fixed_booleans": 441, "num_conflicts": 10043, "num_branches": 145482, "num_binary_propagations": 11077181, "num_integer_propagations": 4714876, "num_restarts": 92, "num_lp_iterations": 246909, "wall_time": 47.1481, "user_time": 47.1481, "deterministic_time": 56.8539, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 35170, "constraint_breakdown": {"at_most_one": 163, "linear": 14720, "bool_or": 12063, "bool_and": 8224}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4828}, "cpsat_response_stats": {"num_booleans": 4397, "num_integers": 896, "num_fixed_booleans": 90, "num_conflicts": 844, "num_branches": 31973, "num_binary_propagations": 1603643, "num_integer_propagations": 734322, "num_restarts": 6, "num_lp_iterations": 6211, "wall_time": 4.81064, "user_time": 4.81064, "deterministic_time": 4.86196, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4467.43}, "cpsat_response_stats": {"num_booleans": 7413, "num_conflicts": 2835, "num_branches": 59220, "num_binary_propagations": 4276450, "num_integer_propagations": 1634222, "num_restarts": 24, "wall_time": 4.46411, "user_time": 4.46411, "deterministic_time": 8.37719}, "solution_info": "no_lp", "problem_sha256": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 695.523}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.694453, "user_time": 0.694453, "deterministic_time": 1.0021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57732, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19786, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11725.9}, "cpsat_response_stats": {"num_booleans": 7526, "num_integers": 1370, "num_fixed_booleans": 172, "num_conflicts": 3735, "num_branches": 74766, "num_binary_propagations": 4375683, "num_integer_propagations": 1834090, "num_restarts": 42, "num_lp_iterations": 41424, "wall_time": 11.703, "user_time": 11.703, "deterministic_time": 13.7156, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 27313, "constraint_breakdown": {"at_most_one": 133, "linear": 10798, "bool_or": 9649, "bool_and": 6733}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3120.77}, "cpsat_response_stats": {"num_booleans": 2803, "num_integers": 620, "num_fixed_booleans": 75, "num_conflicts": 418, "num_branches": 15636, "num_binary_propagations": 769615, "num_integer_propagations": 333030, "num_restarts": 3, "num_lp_iterations": 1399, "wall_time": 3.10924, "user_time": 3.10924, "deterministic_time": 2.72092, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85855, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29431, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16990.7}, "cpsat_response_stats": {"num_booleans": 11817, "num_integers": 1986, "num_fixed_booleans": 429, "num_conflicts": 7633, "num_branches": 97024, "num_binary_propagations": 10115695, "num_integer_propagations": 3020403, "num_restarts": 63, "num_lp_iterations": 106149, "wall_time": 16.973, "user_time": 16.973, "deterministic_time": 30.8048, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 59452, "constraint_breakdown": {"at_most_one": 272, "linear": 23341, "bool_or": 21239, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10429}, "cpsat_response_stats": {"num_booleans": 7893, "num_integers": 1504, "num_fixed_booleans": 191, "num_conflicts": 7701, "num_branches": 75544, "num_binary_propagations": 5947415, "num_integer_propagations": 2090143, "num_restarts": 56, "num_lp_iterations": 68244, "wall_time": 10.4153, "user_time": 10.4153, "deterministic_time": 16.0411, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 20766, "constraint_breakdown": {"at_most_one": 102, "linear": 8617, "bool_or": 7156, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3530.81}, "cpsat_response_stats": {"num_booleans": 2018, "num_integers": 512, "num_fixed_booleans": 55, "num_conflicts": 379, "num_branches": 11971, "num_binary_propagations": 482190, "num_integer_propagations": 259585, "num_restarts": 3, "num_lp_iterations": 772, "wall_time": 3.52585, "user_time": 3.52585, "deterministic_time": 1.76994, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3386.23}, "cpsat_response_stats": {"num_booleans": 7082, "num_conflicts": 4770, "num_branches": 51971, "num_binary_propagations": 4503565, "num_integer_propagations": 1661144, "num_restarts": 36, "wall_time": 3.38319, "user_time": 3.38319, "deterministic_time": 7.21038}, "solution_info": "no_lp", "problem_sha256": "31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40984}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.19}, "cpsat_response_stats": {"num_booleans": 7093, "num_conflicts": 3904, "num_branches": 96041, "num_binary_propagations": 2928204, "num_integer_propagations": 1313715, "num_restarts": 21, "wall_time": 3.47075, "user_time": 3.47075, "deterministic_time": 7.69355}, "solution_info": "no_lp", "problem_sha256": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 694.654}, "cpsat_response_stats": {"num_booleans": 762, "num_integers": 282, "num_fixed_booleans": 21, "num_conflicts": 212, "num_branches": 4812, "num_binary_propagations": 147017, "num_integer_propagations": 92550, "num_restarts": 2, "num_lp_iterations": 414, "wall_time": 0.69344, "user_time": 0.69344, "deterministic_time": 0.646128, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94632, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32476, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14676}, "cpsat_response_stats": {"num_booleans": 12645, "num_integers": 2142, "num_fixed_booleans": 305, "num_conflicts": 6765, "num_branches": 85872, "num_binary_propagations": 9033254, "num_integer_propagations": 2823657, "num_restarts": 63, "num_lp_iterations": 92546, "wall_time": 14.6573, "user_time": 14.6573, "deterministic_time": 24.7064, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57732, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19786, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13176.2}, "cpsat_response_stats": {"num_booleans": 7615, "num_integers": 1370, "num_fixed_booleans": 179, "num_conflicts": 6925, "num_branches": 81417, "num_binary_propagations": 6086825, "num_integer_propagations": 2306779, "num_restarts": 63, "num_lp_iterations": 73727, "wall_time": 13.1504, "user_time": 13.1504, "deterministic_time": 15.7646, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 715.521}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.714553, "user_time": 0.714553, "deterministic_time": 0.84016}, "solution_info": "quick_restart", "problem_sha256": "34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.82}, "cpsat_response_stats": {"num_booleans": 7705, "num_conflicts": 2828, "num_branches": 58028, "num_binary_propagations": 4226539, "num_integer_propagations": 1608385, "num_restarts": 25, "wall_time": 3.95941, "user_time": 3.95941, "deterministic_time": 8.34405}, "solution_info": "default_lp", "problem_sha256": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 23136.9}, "cpsat_response_stats": {"num_booleans": 11959, "num_integers": 2027, "num_fixed_booleans": 333, "num_conflicts": 10910, "num_branches": 107959, "num_binary_propagations": 11267600, "num_integer_propagations": 3603890, "num_restarts": 84, "num_lp_iterations": 143133, "wall_time": 23.1215, "user_time": 23.1215, "deterministic_time": 29.2903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5114, "num_bool": 3610, "num_int": 1504, "num_constraints": 58789, "constraint_breakdown": {"at_most_one": 249, "linear": 24537, "bool_or": 20253, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6175.92}, "cpsat_response_stats": {"num_booleans": 6510, "num_integers": 1335, "num_fixed_booleans": 921, "num_conflicts": 1634, "num_branches": 41974, "num_binary_propagations": 2995751, "num_integer_propagations": 1324442, "num_restarts": 6, "num_lp_iterations": 6852, "wall_time": 6.16383, "user_time": 6.16383, "deterministic_time": 7.64516, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 30392, "constraint_breakdown": {"at_most_one": 135, "linear": 12981, "bool_or": 10338, "bool_and": 6938}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2603.74}, "cpsat_response_stats": {"num_booleans": 2392, "num_integers": 587, "num_fixed_booleans": 78, "num_conflicts": 675, "num_branches": 16106, "num_binary_propagations": 968719, "num_integer_propagations": 464028, "num_restarts": 3, "num_lp_iterations": 1207, "wall_time": 2.59804, "user_time": 2.59804, "deterministic_time": 1.93163, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 35226, "constraint_breakdown": {"at_most_one": 163, "linear": 14720, "bool_or": 12119, "bool_and": 8224}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3772.51}, "cpsat_response_stats": {"num_booleans": 4310, "num_integers": 876, "num_fixed_booleans": 91, "num_conflicts": 751, "num_branches": 29001, "num_binary_propagations": 1669805, "num_integer_propagations": 696164, "num_restarts": 3, "num_lp_iterations": 3447, "wall_time": 3.75625, "user_time": 3.75625, "deterministic_time": 3.78127, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 52982}, "cpsat_response_stats": {"num_booleans": 16910, "num_integers": 2703, "num_fixed_booleans": 477, "num_conflicts": 12391, "num_branches": 168556, "num_binary_propagations": 13248294, "num_integer_propagations": 5599580, "num_restarts": 104, "num_lp_iterations": 361981, "wall_time": 52.9598, "user_time": 52.9598, "deterministic_time": 65.4763, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5112, "num_bool": 3610, "num_int": 1502, "num_constraints": 58744, "constraint_breakdown": {"at_most_one": 249, "linear": 24518, "bool_or": 20237, "bool_and": 13740}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6438.96}, "cpsat_response_stats": {"num_booleans": 8225, "num_integers": 1266, "num_fixed_booleans": 684, "num_conflicts": 4341, "num_branches": 60532, "num_binary_propagations": 4507663, "num_integer_propagations": 1686026, "num_restarts": 14, "num_lp_iterations": 31539, "wall_time": 6.42848, "user_time": 6.42848, "deterministic_time": 8.15447, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1394.5}, "cpsat_response_stats": {"num_booleans": 2857, "num_conflicts": 788, "num_branches": 15786, "num_binary_propagations": 1064689, "num_integer_propagations": 514092, "num_restarts": 3, "wall_time": 1.39259, "user_time": 1.39259, "deterministic_time": 2.14286}, "solution_info": "fs_random", "problem_sha256": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3002.76}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 3.00097, "user_time": 3.00097, "deterministic_time": 5.14887}, "solution_info": "fs_random", "problem_sha256": "39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2334.59}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 2.33214, "user_time": 2.33214, "deterministic_time": 4.11721}, "solution_info": "fs_random", "problem_sha256": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58459, "constraint_breakdown": {"at_most_one": 249, "linear": 24359, "bool_or": 20111, "bool_and": 13740}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8571.61}, "cpsat_response_stats": {"num_booleans": 6077, "num_integers": 1289, "num_fixed_booleans": 129, "num_conflicts": 3506, "num_branches": 52995, "num_binary_propagations": 4127819, "num_integer_propagations": 1574952, "num_restarts": 32, "num_lp_iterations": 40215, "wall_time": 8.54673, "user_time": 8.54673, "deterministic_time": 8.33814, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13896}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 273.786}, "cpsat_response_stats": {"num_booleans": 817, "num_conflicts": 109, "num_branches": 4450, "num_binary_propagations": 137291, "num_integer_propagations": 78951, "num_restarts": 1, "wall_time": 0.273041, "user_time": 0.273041, "deterministic_time": 0.275355}, "solution_info": "fs_random_no_lp", "problem_sha256": "3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6812.85}, "cpsat_response_stats": {"num_booleans": 7246, "num_integers": 1255, "num_fixed_booleans": 130, "num_conflicts": 2229, "num_branches": 58285, "num_binary_propagations": 3586396, "num_integer_propagations": 1506778, "num_restarts": 15, "num_lp_iterations": 25910, "wall_time": 6.80267, "user_time": 6.80267, "deterministic_time": 7.44364, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 626.761}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.625687, "user_time": 0.625687, "deterministic_time": 0.978811}, "solution_info": "fs_random_no_lp", "problem_sha256": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28938}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1384.5}, "cpsat_response_stats": {"num_booleans": 3097, "num_conflicts": 955, "num_branches": 19368, "num_binary_propagations": 1183859, "num_integer_propagations": 557299, "num_restarts": 6, "wall_time": 1.38357, "user_time": 1.38357, "deterministic_time": 2.31893}, "solution_info": "quick_restart", "problem_sha256": "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2204.94}, "cpsat_response_stats": {"num_booleans": 6449, "num_conflicts": 4661, "num_branches": 23327, "num_binary_propagations": 1646864, "num_integer_propagations": 452047, "num_restarts": 6, "wall_time": 2.20345, "user_time": 2.20345, "deterministic_time": 3.42086}, "solution_info": "no_lp", "problem_sha256": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 56210, "constraint_breakdown": {"at_most_one": 245, "linear": 23417, "bool_or": 19268, "bool_and": 13280}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7769.88}, "cpsat_response_stats": {"num_booleans": 7002, "num_integers": 1414, "num_fixed_booleans": 146, "num_conflicts": 1852, "num_branches": 61786, "num_binary_propagations": 3330355, "num_integer_propagations": 1546631, "num_restarts": 18, "num_lp_iterations": 33978, "wall_time": 7.74577, "user_time": 7.74577, "deterministic_time": 8.39234, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 701.966}, "cpsat_response_stats": {"num_booleans": 773, "num_integers": 277, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 30, "wall_time": 0.701014, "user_time": 0.701014, "deterministic_time": 0.141513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:41'741} gen{mvs:15'090 evals:0} comp{mvs:2'718 btracks:6'186} #w_updates:35 #perturb:0)", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44649}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3245.66}, "cpsat_response_stats": {"num_booleans": 5081, "num_conflicts": 1366, "num_branches": 41353, "num_binary_propagations": 2818429, "num_integer_propagations": 1322307, "num_restarts": 12, "wall_time": 3.24271, "user_time": 3.24271, "deterministic_time": 6.65273}, "solution_info": "default_lp", "problem_sha256": "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2662.56}, "cpsat_response_stats": {"num_booleans": 2399, "num_conflicts": 362, "num_branches": 13873, "num_binary_propagations": 692748, "num_integer_propagations": 337883, "num_restarts": 3, "wall_time": 2.66105, "user_time": 2.66105, "deterministic_time": 2.77881}, "solution_info": "default_lp", "problem_sha256": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 45469, "constraint_breakdown": {"at_most_one": 190, "linear": 19687, "bool_or": 15337, "bool_and": 10255}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7075.59}, "cpsat_response_stats": {"num_booleans": 6518, "num_integers": 1045, "num_fixed_booleans": 274, "num_conflicts": 3684, "num_branches": 73635, "num_binary_propagations": 3594311, "num_integer_propagations": 1645562, "num_restarts": 27, "num_lp_iterations": 37263, "wall_time": 7.05641, "user_time": 7.05641, "deterministic_time": 7.57263, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.88}, "cpsat_response_stats": {"num_booleans": 4922, "num_conflicts": 1390, "num_branches": 41486, "num_binary_propagations": 2188776, "num_integer_propagations": 966189, "num_restarts": 15, "wall_time": 3.46984, "user_time": 3.46984, "deterministic_time": 7.61202}, "solution_info": "default_lp", "problem_sha256": "435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20862, "num_bool": 16429, "num_int": 4433, "num_constraints": 236709, "constraint_breakdown": {"at_most_one": 727, "linear": 109833, "bool_or": 76916, "bool_and": 49233}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 71202.6}, "cpsat_response_stats": {"num_booleans": 30765, "num_integers": 4494, "num_fixed_booleans": 1111, "num_conflicts": 9602, "num_branches": 121165, "num_binary_propagations": 14858758, "num_integer_propagations": 3997339, "num_restarts": 47, "num_lp_iterations": 234049, "wall_time": 71.1951, "user_time": 71.1951, "deterministic_time": 66.0884, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28601}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1761.78}, "cpsat_response_stats": {"num_booleans": 2791, "num_conflicts": 826, "num_branches": 18196, "num_binary_propagations": 1045314, "num_integer_propagations": 528080, "num_restarts": 6, "wall_time": 1.7604, "user_time": 1.7604, "deterministic_time": 2.0476}, "solution_info": "quick_restart_no_lp", "problem_sha256": "45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32597.8}, "cpsat_response_stats": {"num_booleans": 16498, "num_conflicts": 15039, "num_branches": 170009, "num_binary_propagations": 16208600, "num_integer_propagations": 6206571, "num_restarts": 135, "wall_time": 32.5913, "user_time": 32.5913, "deterministic_time": 88.9703}, "solution_info": "no_lp", "problem_sha256": "46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3311.66}, "cpsat_response_stats": {"num_booleans": 1785, "num_integers": 466, "num_fixed_booleans": 50, "num_conflicts": 303, "num_branches": 10282, "num_binary_propagations": 415999, "num_integer_propagations": 213023, "num_restarts": 1, "num_lp_iterations": 239, "wall_time": 3.30706, "user_time": 3.30706, "deterministic_time": 2.27321, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44637}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.07}, "cpsat_response_stats": {"num_booleans": 5408, "num_conflicts": 1980, "num_branches": 44483, "num_binary_propagations": 3150386, "num_integer_propagations": 1307464, "num_restarts": 18, "wall_time": 3.26093, "user_time": 3.26093, "deterministic_time": 6.892}, "solution_info": "fs_random_no_lp", "problem_sha256": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380120.0}, "cpsat_response_stats": {"num_booleans": 36217, "num_conflicts": 498838, "num_branches": 1688437, "num_binary_propagations": 773107760, "num_integer_propagations": 152021540, "num_restarts": 1585, "wall_time": 1380.11, "user_time": 1380.11, "deterministic_time": 4132.21}, "solution_info": "no_lp", "problem_sha256": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58090}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.92}, "cpsat_response_stats": {"num_booleans": 6194, "num_conflicts": 2044, "num_branches": 54259, "num_binary_propagations": 3721113, "num_integer_propagations": 1528990, "num_restarts": 18, "wall_time": 3.96189, "user_time": 3.96189, "deterministic_time": 8.29502}, "solution_info": "default_lp", "problem_sha256": "496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3526, "num_bool": 2381, "num_int": 1145, "num_constraints": 41425, "constraint_breakdown": {"at_most_one": 189, "linear": 16915, "bool_or": 14381, "bool_and": 9940}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4810.32}, "cpsat_response_stats": {"num_booleans": 5240, "num_integers": 1037, "num_fixed_booleans": 473, "num_conflicts": 1252, "num_branches": 42558, "num_binary_propagations": 1957383, "num_integer_propagations": 851535, "num_restarts": 6, "num_lp_iterations": 6661, "wall_time": 4.79915, "user_time": 4.79915, "deterministic_time": 7.70899, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 51858, "constraint_breakdown": {"at_most_one": 215, "linear": 22392, "bool_or": 17514, "bool_and": 11737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8176.08}, "cpsat_response_stats": {"num_booleans": 7165, "num_integers": 1243, "num_fixed_booleans": 126, "num_conflicts": 2546, "num_branches": 59699, "num_binary_propagations": 3665901, "num_integer_propagations": 1576243, "num_restarts": 18, "num_lp_iterations": 29063, "wall_time": 8.16516, "user_time": 8.16516, "deterministic_time": 8.33407, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 869, "num_int": 448, "num_constraints": 14660, "constraint_breakdown": {"at_most_one": 77, "linear": 5927, "bool_or": 5120, "bool_and": 3536}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 445.985}, "cpsat_response_stats": {"num_booleans": 708, "num_integers": 266, "num_fixed_booleans": 22, "num_conflicts": 107, "num_branches": 3158, "num_binary_propagations": 156670, "num_integer_propagations": 93672, "num_restarts": 1, "num_lp_iterations": 89, "wall_time": 0.444766, "user_time": 0.444766, "deterministic_time": 0.297181, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49290}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4210.68}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 3008, "num_branches": 60246, "num_binary_propagations": 2979437, "num_integer_propagations": 1260538, "num_restarts": 35, "wall_time": 4.20596, "user_time": 4.20596, "deterministic_time": 8.15272}, "solution_info": "default_lp", "problem_sha256": "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1783, "num_int": 788, "num_constraints": 29248, "constraint_breakdown": {"at_most_one": 133, "linear": 12340, "bool_or": 9996, "bool_and": 6779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2137.43}, "cpsat_response_stats": {"num_booleans": 2925, "num_integers": 661, "num_fixed_booleans": 75, "num_conflicts": 904, "num_branches": 18832, "num_binary_propagations": 1124029, "num_integer_propagations": 521434, "num_restarts": 6, "num_lp_iterations": 3247, "wall_time": 2.12997, "user_time": 2.12997, "deterministic_time": 2.15797, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3021.82}, "cpsat_response_stats": {"num_booleans": 5387, "num_conflicts": 2499, "num_branches": 49481, "num_binary_propagations": 2735742, "num_integer_propagations": 1191031, "num_restarts": 18, "wall_time": 3.01883, "user_time": 3.01883, "deterministic_time": 6.34042}, "solution_info": "default_lp", "problem_sha256": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5044}, "cpsat_response_stats": {"num_booleans": 2833, "num_integers": 612, "num_fixed_booleans": 67, "num_conflicts": 795, "num_branches": 16032, "num_binary_propagations": 673817, "num_integer_propagations": 340109, "num_restarts": 6, "num_lp_iterations": 2493, "wall_time": 5.03826, "user_time": 5.03826, "deterministic_time": 4.34903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 26958, "constraint_breakdown": {"at_most_one": 133, "linear": 10767, "bool_or": 9444, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4414.12}, "cpsat_response_stats": {"num_booleans": 2430, "num_integers": 604, "num_fixed_booleans": 68, "num_conflicts": 364, "num_branches": 13035, "num_binary_propagations": 552071, "num_integer_propagations": 293727, "num_restarts": 3, "num_lp_iterations": 731, "wall_time": 4.40803, "user_time": 4.40803, "deterministic_time": 3.54087, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2330, "num_bool": 1531, "num_int": 799, "num_constraints": 27198, "constraint_breakdown": {"at_most_one": 133, "linear": 10929, "bool_or": 9522, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3844.03}, "cpsat_response_stats": {"num_booleans": 2512, "num_integers": 596, "num_fixed_booleans": 235, "num_conflicts": 495, "num_branches": 12992, "num_binary_propagations": 761431, "num_integer_propagations": 374563, "num_restarts": 3, "num_lp_iterations": 763, "wall_time": 3.83919, "user_time": 3.83919, "deterministic_time": 2.81166, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3107.88}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.10583, "user_time": 3.10583, "deterministic_time": 5.32494}, "solution_info": "quick_restart", "problem_sha256": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94141}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14327.9}, "cpsat_response_stats": {"num_booleans": 13002, "num_conflicts": 11425, "num_branches": 111123, "num_binary_propagations": 12596212, "num_integer_propagations": 3817156, "num_restarts": 90, "wall_time": 14.3225, "user_time": 14.3225, "deterministic_time": 46.945}, "solution_info": "no_lp", "problem_sha256": "4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14481}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 305.266}, "cpsat_response_stats": {"num_booleans": 735, "num_conflicts": 111, "num_branches": 3720, "num_binary_propagations": 160418, "num_integer_propagations": 101919, "num_restarts": 1, "wall_time": 0.304553, "user_time": 0.304553, "deterministic_time": 0.3288}, "solution_info": "quick_restart_no_lp", "problem_sha256": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5114, "num_bool": 3610, "num_int": 1504, "num_constraints": 58789, "constraint_breakdown": {"at_most_one": 249, "linear": 24537, "bool_or": 20253, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5857.53}, "cpsat_response_stats": {"num_booleans": 6432, "num_integers": 1327, "num_fixed_booleans": 749, "num_conflicts": 1724, "num_branches": 50485, "num_binary_propagations": 3154978, "num_integer_propagations": 1415945, "num_restarts": 9, "num_lp_iterations": 13484, "wall_time": 5.84763, "user_time": 5.84763, "deterministic_time": 8.03885, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3216.8}, "cpsat_response_stats": {"num_booleans": 5393, "num_conflicts": 1153, "num_branches": 40430, "num_binary_propagations": 2599295, "num_integer_propagations": 1084690, "num_restarts": 9, "wall_time": 3.21505, "user_time": 3.21505, "deterministic_time": 6.91569}, "solution_info": "default_lp", "problem_sha256": "5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30292}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1799.35}, "cpsat_response_stats": {"num_booleans": 2442, "num_conflicts": 699, "num_branches": 15185, "num_binary_propagations": 1221574, "num_integer_propagations": 758606, "num_restarts": 3, "wall_time": 1.79839, "user_time": 1.79839, "deterministic_time": 2.55558}, "solution_info": "quick_restart", "problem_sha256": "5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9137.48}, "cpsat_response_stats": {"num_booleans": 11965, "num_conflicts": 5533, "num_branches": 109722, "num_binary_propagations": 8413908, "num_integer_propagations": 2896401, "num_restarts": 51, "wall_time": 9.13361, "user_time": 9.13361, "deterministic_time": 24.3041}, "solution_info": "default_lp", "problem_sha256": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58639}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4951.53}, "cpsat_response_stats": {"num_booleans": 6939, "num_conflicts": 2474, "num_branches": 50561, "num_binary_propagations": 4551626, "num_integer_propagations": 1858271, "num_restarts": 20, "wall_time": 4.94701, "user_time": 4.94701, "deterministic_time": 8.24999}, "solution_info": "no_lp", "problem_sha256": "5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 30473, "constraint_breakdown": {"at_most_one": 135, "linear": 13057, "bool_or": 10322, "bool_and": 6959}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2600.23}, "cpsat_response_stats": {"num_booleans": 2466, "num_integers": 598, "num_fixed_booleans": 72, "num_conflicts": 686, "num_branches": 15497, "num_binary_propagations": 1012111, "num_integer_propagations": 497333, "num_restarts": 3, "num_lp_iterations": 1975, "wall_time": 2.58577, "user_time": 2.58577, "deterministic_time": 2.07778, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4129.05}, "cpsat_response_stats": {"num_booleans": 6510, "num_conflicts": 1937, "num_branches": 57423, "num_binary_propagations": 3988739, "num_integer_propagations": 1733389, "num_restarts": 15, "wall_time": 4.1255, "user_time": 4.1255, "deterministic_time": 8.30293}, "solution_info": "default_lp", "problem_sha256": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 33949, "constraint_breakdown": {"at_most_one": 161, "linear": 13438, "bool_or": 12092, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3091.2}, "cpsat_response_stats": {"num_booleans": 3468, "num_integers": 733, "num_fixed_booleans": 419, "num_conflicts": 1072, "num_branches": 27025, "num_binary_propagations": 1289785, "num_integer_propagations": 557187, "num_restarts": 6, "num_lp_iterations": 6202, "wall_time": 3.08385, "user_time": 3.08385, "deterministic_time": 2.68433, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4354.72}, "cpsat_response_stats": {"num_booleans": 6457, "num_conflicts": 4442, "num_branches": 51709, "num_binary_propagations": 4135504, "num_integer_propagations": 1615413, "num_restarts": 36, "wall_time": 4.3525, "user_time": 4.3525, "deterministic_time": 7.15852}, "solution_info": "fs_random_no_lp", "problem_sha256": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5903.16}, "cpsat_response_stats": {"num_booleans": 4616, "num_integers": 983, "num_fixed_booleans": 108, "num_conflicts": 532, "num_branches": 30142, "num_binary_propagations": 1181170, "num_integer_propagations": 513120, "num_restarts": 3, "num_lp_iterations": 3391, "wall_time": 5.88481, "user_time": 5.88481, "deterministic_time": 6.48306, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11165.7}, "cpsat_response_stats": {"num_booleans": 7759, "num_integers": 1359, "num_fixed_booleans": 345, "num_conflicts": 3701, "num_branches": 72784, "num_binary_propagations": 4400308, "num_integer_propagations": 1840205, "num_restarts": 27, "num_lp_iterations": 48721, "wall_time": 11.1528, "user_time": 11.1528, "deterministic_time": 13.4906, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4481100.0}, "cpsat_response_stats": {"num_booleans": 39595, "num_integers": 4937, "num_fixed_booleans": 1515, "num_conflicts": 891686, "num_branches": 3512483, "num_binary_propagations": 1239961259, "num_integer_propagations": 304654974, "num_restarts": 3452, "num_lp_iterations": 27799834, "wall_time": 4481.03, "user_time": 4481.03, "deterministic_time": 7757.25, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19373, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6807, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 969.978}, "cpsat_response_stats": {"num_booleans": 1423, "num_integers": 368, "num_fixed_booleans": 55, "num_conflicts": 248, "num_branches": 7114, "num_binary_propagations": 321268, "num_integer_propagations": 160419, "num_restarts": 1, "num_lp_iterations": 111, "wall_time": 0.968558, "user_time": 0.968559, "deterministic_time": 0.652094, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4231.64}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.22822, "user_time": 4.22822, "deterministic_time": 7.95616}, "solution_info": "quick_restart_no_lp", "problem_sha256": "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3337.57}, "cpsat_response_stats": {"num_booleans": 2916, "num_integers": 649, "num_fixed_booleans": 168, "num_conflicts": 801, "num_branches": 17137, "num_binary_propagations": 949189, "num_integer_propagations": 461149, "num_restarts": 3, "num_lp_iterations": 1998, "wall_time": 3.33172, "user_time": 3.33172, "deterministic_time": 3.11203, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12685.6}, "cpsat_response_stats": {"num_booleans": 9184, "num_integers": 1680, "num_fixed_booleans": 213, "num_conflicts": 2679, "num_branches": 103365, "num_binary_propagations": 3888429, "num_integer_propagations": 1823211, "num_restarts": 30, "num_lp_iterations": 51432, "wall_time": 12.6691, "user_time": 12.6691, "deterministic_time": 14.722, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26307}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1079.47}, "cpsat_response_stats": {"num_booleans": 3237, "num_conflicts": 1269, "num_branches": 28923, "num_binary_propagations": 854241, "num_integer_propagations": 399720, "num_restarts": 9, "wall_time": 1.07836, "user_time": 1.07836, "deterministic_time": 1.56722}, "solution_info": "quick_restart", "problem_sha256": "597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 105.102}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.104788, "user_time": 0.104788, "deterministic_time": 0.0895648}, "solution_info": "no_lp", "problem_sha256": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58639}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3841.35}, "cpsat_response_stats": {"num_booleans": 7038, "num_conflicts": 1311, "num_branches": 55094, "num_binary_propagations": 3742715, "num_integer_propagations": 1575336, "num_restarts": 9, "wall_time": 3.83622, "user_time": 3.83622, "deterministic_time": 8.26568}, "solution_info": "default_lp", "problem_sha256": "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20738, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7166, "bool_and": 4877}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1158.32}, "cpsat_response_stats": {"num_booleans": 1746, "num_integers": 459, "num_fixed_booleans": 49, "num_conflicts": 353, "num_branches": 9988, "num_binary_propagations": 449533, "num_integer_propagations": 230653, "num_restarts": 3, "num_lp_iterations": 615, "wall_time": 1.15683, "user_time": 1.15683, "deterministic_time": 0.909669, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10133.3}, "cpsat_response_stats": {"num_booleans": 9430, "num_conflicts": 4204, "num_branches": 96355, "num_binary_propagations": 4602227, "num_integer_propagations": 1948703, "num_restarts": 48, "wall_time": 10.13, "user_time": 10.13, "deterministic_time": 23.0398}, "solution_info": "default_lp", "problem_sha256": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85727, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29303, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19871.1}, "cpsat_response_stats": {"num_booleans": 11813, "num_integers": 2018, "num_fixed_booleans": 298, "num_conflicts": 11530, "num_branches": 108844, "num_binary_propagations": 11531709, "num_integer_propagations": 3723841, "num_restarts": 90, "num_lp_iterations": 155261, "wall_time": 19.8573, "user_time": 19.8573, "deterministic_time": 32.3834, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4812, "num_bool": 3325, "num_int": 1487, "num_constraints": 56624, "constraint_breakdown": {"at_most_one": 245, "linear": 23685, "bool_or": 19414, "bool_and": 13280}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6474.67}, "cpsat_response_stats": {"num_booleans": 6764, "num_integers": 1392, "num_fixed_booleans": 139, "num_conflicts": 1458, "num_branches": 52985, "num_binary_propagations": 3474698, "num_integer_propagations": 1512590, "num_restarts": 12, "num_lp_iterations": 16950, "wall_time": 6.46598, "user_time": 6.46598, "deterministic_time": 8.2366, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7406.27}, "cpsat_response_stats": {"num_booleans": 7068, "num_integers": 1389, "num_fixed_booleans": 141, "num_conflicts": 3399, "num_branches": 58637, "num_binary_propagations": 3228394, "num_integer_propagations": 1400632, "num_restarts": 38, "num_lp_iterations": 38934, "wall_time": 7.3957, "user_time": 7.3957, "deterministic_time": 7.80385, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 670.551}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.669336, "user_time": 0.669336, "deterministic_time": 0.780983}, "solution_info": "quick_restart", "problem_sha256": "5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 27265, "constraint_breakdown": {"at_most_one": 133, "linear": 10798, "bool_or": 9601, "bool_and": 6733}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4029.71}, "cpsat_response_stats": {"num_booleans": 2868, "num_integers": 637, "num_fixed_booleans": 71, "num_conflicts": 422, "num_branches": 16484, "num_binary_propagations": 682321, "num_integer_propagations": 323261, "num_restarts": 3, "num_lp_iterations": 1465, "wall_time": 4.01685, "user_time": 4.01685, "deterministic_time": 2.60462, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42739}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3438.95}, "cpsat_response_stats": {"num_booleans": 4945, "num_conflicts": 1428, "num_branches": 46037, "num_binary_propagations": 2327466, "num_integer_propagations": 994210, "num_restarts": 12, "wall_time": 3.43749, "user_time": 3.43749, "deterministic_time": 7.29287}, "solution_info": "no_lp", "problem_sha256": "5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 37830, "constraint_breakdown": {"at_most_one": 188, "linear": 14589, "bool_or": 13460, "bool_and": 9593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6061.9}, "cpsat_response_stats": {"num_booleans": 9967, "num_integers": 971, "num_fixed_booleans": 118, "num_conflicts": 6561, "num_branches": 61517, "num_binary_propagations": 2573608, "num_integer_propagations": 985029, "num_restarts": 18, "num_lp_iterations": 23377, "wall_time": 6.0531, "user_time": 6.0531, "deterministic_time": 7.28667, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 61648, "constraint_breakdown": {"at_most_one": 300, "linear": 23701, "bool_or": 21958, "bool_and": 15689}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32885.9}, "cpsat_response_stats": {"num_booleans": 10138, "num_integers": 1662, "num_fixed_booleans": 274, "num_conflicts": 9305, "num_branches": 123328, "num_binary_propagations": 6487781, "num_integer_propagations": 2913619, "num_restarts": 81, "num_lp_iterations": 121430, "wall_time": 32.8604, "user_time": 32.8604, "deterministic_time": 32.1626, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1979, "num_bool": 1377, "num_int": 602, "num_constraints": 21981, "constraint_breakdown": {"at_most_one": 104, "linear": 9343, "bool_or": 7511, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6436.58}, "cpsat_response_stats": {"num_booleans": 1643, "num_integers": 453, "num_fixed_booleans": 47, "num_conflicts": 436, "num_branches": 9745, "num_binary_propagations": 599806, "num_integer_propagations": 293690, "num_restarts": 3, "num_lp_iterations": 813, "wall_time": 6.4326, "user_time": 6.4326, "deterministic_time": 1.9513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3508.55}, "cpsat_response_stats": {"num_booleans": 3365, "num_integers": 747, "num_fixed_booleans": 110, "num_conflicts": 857, "num_branches": 24069, "num_binary_propagations": 1267210, "num_integer_propagations": 535985, "num_restarts": 6, "num_lp_iterations": 4136, "wall_time": 3.50208, "user_time": 3.50208, "deterministic_time": 3.39139, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42739}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4085.09}, "cpsat_response_stats": {"num_booleans": 8905, "num_conflicts": 5788, "num_branches": 70467, "num_binary_propagations": 2857668, "num_integer_propagations": 1282433, "num_restarts": 19, "wall_time": 4.08368, "user_time": 4.08368, "deterministic_time": 7.30942}, "solution_info": "no_lp", "problem_sha256": "6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44889}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.15}, "cpsat_response_stats": {"num_booleans": 5018, "num_conflicts": 1334, "num_branches": 41508, "num_binary_propagations": 2778278, "num_integer_propagations": 1247988, "num_restarts": 12, "wall_time": 3.90672, "user_time": 3.90672, "deterministic_time": 6.01053}, "solution_info": "fs_random_no_lp", "problem_sha256": "612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11005.1}, "cpsat_response_stats": {"num_booleans": 7401, "num_integers": 1416, "num_fixed_booleans": 179, "num_conflicts": 2742, "num_branches": 65991, "num_binary_propagations": 3957020, "num_integer_propagations": 1731493, "num_restarts": 27, "num_lp_iterations": 44635, "wall_time": 10.9931, "user_time": 10.9931, "deterministic_time": 14.2197, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4069.74}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.06692, "user_time": 4.06692, "deterministic_time": 7.95576}, "solution_info": "quick_restart_no_lp", "problem_sha256": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 14603, "constraint_breakdown": {"at_most_one": 77, "linear": 5899, "bool_or": 5091, "bool_and": 3536}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 518.256}, "cpsat_response_stats": {"num_booleans": 840, "num_integers": 272, "num_fixed_booleans": 29, "num_conflicts": 222, "num_branches": 4388, "num_binary_propagations": 159373, "num_integer_propagations": 100047, "num_restarts": 3, "num_lp_iterations": 2862, "wall_time": 0.517281, "user_time": 0.517281, "deterministic_time": 0.312387, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3194.54}, "cpsat_response_stats": {"num_booleans": 2521, "num_integers": 610, "num_fixed_booleans": 87, "num_conflicts": 601, "num_branches": 16127, "num_binary_propagations": 914696, "num_integer_propagations": 449479, "num_restarts": 3, "num_lp_iterations": 2098, "wall_time": 3.18728, "user_time": 3.18728, "deterministic_time": 2.75747, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2893.75}, "cpsat_response_stats": {"num_booleans": 1933, "num_integers": 474, "num_fixed_booleans": 55, "num_conflicts": 382, "num_branches": 10557, "num_binary_propagations": 472961, "num_integer_propagations": 227459, "num_restarts": 3, "num_lp_iterations": 448, "wall_time": 2.8891, "user_time": 2.8891, "deterministic_time": 2.23047, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 43015, "constraint_breakdown": {"at_most_one": 191, "linear": 17867, "bool_or": 14791, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6785.44}, "cpsat_response_stats": {"num_booleans": 4671, "num_integers": 982, "num_fixed_booleans": 99, "num_conflicts": 1010, "num_branches": 38777, "num_binary_propagations": 1872465, "num_integer_propagations": 875450, "num_restarts": 9, "num_lp_iterations": 10049, "wall_time": 6.77757, "user_time": 6.77757, "deterministic_time": 6.0984, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5707370.0}, "cpsat_response_stats": {"num_booleans": 35693, "num_integers": 4939, "num_fixed_booleans": 1395, "num_conflicts": 1489558, "num_branches": 5574793, "num_binary_propagations": 1928527875, "num_integer_propagations": 481837838, "num_restarts": 6126, "num_lp_iterations": 36365330, "wall_time": 5707.34, "user_time": 5707.34, "deterministic_time": 10405.8, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1575.51}, "cpsat_response_stats": {"num_booleans": 1339, "num_integers": 355, "num_fixed_booleans": 47, "num_conflicts": 260, "num_branches": 7247, "num_binary_propagations": 311429, "num_integer_propagations": 153672, "num_restarts": 1, "num_lp_iterations": 255, "wall_time": 1.57354, "user_time": 1.57354, "deterministic_time": 1.11017, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10407, "num_bool": 7751, "num_int": 2656, "num_constraints": 117505, "constraint_breakdown": {"at_most_one": 443, "linear": 51483, "bool_or": 39529, "bool_and": 26050}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 60117.3}, "cpsat_response_stats": {"num_booleans": 17513, "num_integers": 2660, "num_fixed_booleans": 1282, "num_conflicts": 29456, "num_branches": 160280, "num_binary_propagations": 36041087, "num_integer_propagations": 8892996, "num_restarts": 156, "num_lp_iterations": 499299, "wall_time": 60.0958, "user_time": 60.0958, "deterministic_time": 136.939, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3208.92}, "cpsat_response_stats": {"num_booleans": 4386, "num_conflicts": 839, "num_branches": 29713, "num_binary_propagations": 1732122, "num_integer_propagations": 738116, "num_restarts": 6, "wall_time": 3.20745, "user_time": 3.20745, "deterministic_time": 4.43972}, "solution_info": "quick_restart_no_lp", "problem_sha256": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3104.21}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.1019, "user_time": 3.1019, "deterministic_time": 6.06734}, "solution_info": "no_lp", "problem_sha256": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 112.046}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.111736, "user_time": 0.111736, "deterministic_time": 0.0896132}, "solution_info": "no_lp", "problem_sha256": "67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1924, "num_int": 789, "num_constraints": 30412, "constraint_breakdown": {"at_most_one": 134, "linear": 13055, "bool_or": 10317, "bool_and": 6906}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1796.49}, "cpsat_response_stats": {"num_booleans": 2440, "num_integers": 594, "num_fixed_booleans": 395, "num_conflicts": 624, "num_branches": 12812, "num_binary_propagations": 924129, "num_integer_propagations": 413763, "num_restarts": 3, "num_lp_iterations": 816, "wall_time": 1.79398, "user_time": 1.79398, "deterministic_time": 1.73543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 737.151}, "cpsat_response_stats": {"num_booleans": 828, "num_integers": 286, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 22, "wall_time": 0.736233, "user_time": 0.736233, "deterministic_time": 0.216815, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:180'910} gen{mvs:67'347 evals:0} comp{mvs:15'573 btracks:25'887} #w_updates:123 #perturb:0)", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57490}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6172.22}, "cpsat_response_stats": {"num_booleans": 7518, "num_conflicts": 2870, "num_branches": 62515, "num_binary_propagations": 4397768, "num_integer_propagations": 1679969, "num_restarts": 30, "wall_time": 6.17024, "user_time": 6.17024, "deterministic_time": 14.731}, "solution_info": "no_lp", "problem_sha256": "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1266, "num_int": 598, "num_constraints": 20886, "constraint_breakdown": {"at_most_one": 103, "linear": 8638, "bool_or": 7236, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2019.3}, "cpsat_response_stats": {"num_booleans": 1921, "num_integers": 465, "num_fixed_booleans": 55, "num_conflicts": 646, "num_branches": 10998, "num_binary_propagations": 629233, "num_integer_propagations": 296497, "num_restarts": 6, "num_lp_iterations": 1123, "wall_time": 2.01433, "user_time": 2.01433, "deterministic_time": 1.23111, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 45445, "constraint_breakdown": {"at_most_one": 191, "linear": 19313, "bool_or": 15589, "bool_and": 10352}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5416.5}, "cpsat_response_stats": {"num_booleans": 6427, "num_integers": 969, "num_fixed_booleans": 567, "num_conflicts": 4557, "num_branches": 49531, "num_binary_propagations": 3998309, "num_integer_propagations": 1334326, "num_restarts": 15, "num_lp_iterations": 23291, "wall_time": 5.40716, "user_time": 5.40716, "deterministic_time": 6.7395, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20822, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7210, "bool_and": 4889}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1065.54}, "cpsat_response_stats": {"num_booleans": 1734, "num_integers": 457, "num_fixed_booleans": 58, "num_conflicts": 365, "num_branches": 9195, "num_binary_propagations": 513160, "num_integer_propagations": 216686, "num_restarts": 1, "num_lp_iterations": 188, "wall_time": 1.06445, "user_time": 1.06445, "deterministic_time": 0.956687, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7410.33}, "cpsat_response_stats": {"num_booleans": 7016, "num_integers": 1426, "num_fixed_booleans": 136, "num_conflicts": 1826, "num_branches": 58107, "num_binary_propagations": 3257086, "num_integer_propagations": 1501456, "num_restarts": 18, "num_lp_iterations": 30413, "wall_time": 7.39812, "user_time": 7.39812, "deterministic_time": 7.78839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1938, "num_int": 798, "num_constraints": 30419, "constraint_breakdown": {"at_most_one": 135, "linear": 12847, "bool_or": 10433, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1883.75}, "cpsat_response_stats": {"num_booleans": 2541, "num_integers": 597, "num_fixed_booleans": 294, "num_conflicts": 782, "num_branches": 13357, "num_binary_propagations": 1061834, "num_integer_propagations": 470531, "num_restarts": 3, "num_lp_iterations": 801, "wall_time": 1.87956, "user_time": 1.87956, "deterministic_time": 2.07542, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2288, "num_int": 938, "num_constraints": 36510, "constraint_breakdown": {"at_most_one": 159, "linear": 15668, "bool_or": 12396, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6126.11}, "cpsat_response_stats": {"num_booleans": 4096, "num_integers": 869, "num_fixed_booleans": 220, "num_conflicts": 1106, "num_branches": 29478, "num_binary_propagations": 1809516, "num_integer_propagations": 831685, "num_restarts": 6, "num_lp_iterations": 5263, "wall_time": 6.10785, "user_time": 6.10785, "deterministic_time": 6.1997, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14485}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 324.559}, "cpsat_response_stats": {"num_booleans": 926, "num_conflicts": 373, "num_branches": 4195, "num_binary_propagations": 242989, "num_integer_propagations": 131278, "num_restarts": 3, "wall_time": 0.32408, "user_time": 0.32408, "deterministic_time": 0.359571}, "solution_info": "fs_random", "problem_sha256": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1411.02}, "cpsat_response_stats": {"num_booleans": 2466, "num_conflicts": 619, "num_branches": 15735, "num_binary_propagations": 1018146, "num_integer_propagations": 475354, "num_restarts": 3, "wall_time": 1.40969, "user_time": 1.40969, "deterministic_time": 2.30004}, "solution_info": "quick_restart", "problem_sha256": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58433}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5580.53}, "cpsat_response_stats": {"num_booleans": 7290, "num_conflicts": 3493, "num_branches": 67375, "num_binary_propagations": 4697867, "num_integer_propagations": 1882543, "num_restarts": 36, "wall_time": 5.57758, "user_time": 5.57758, "deterministic_time": 15.4415}, "solution_info": "default_lp", "problem_sha256": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6042}, "cpsat_response_stats": {"num_booleans": 5505, "num_integers": 1038, "num_fixed_booleans": 101, "num_conflicts": 1848, "num_branches": 42404, "num_binary_propagations": 2745280, "num_integer_propagations": 1193247, "num_restarts": 15, "num_lp_iterations": 14157, "wall_time": 6.03281, "user_time": 6.03281, "deterministic_time": 6.50539, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2330, "num_bool": 1531, "num_int": 799, "num_constraints": 27198, "constraint_breakdown": {"at_most_one": 133, "linear": 10929, "bool_or": 9522, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3936.7}, "cpsat_response_stats": {"num_booleans": 2480, "num_integers": 596, "num_fixed_booleans": 207, "num_conflicts": 483, "num_branches": 13168, "num_binary_propagations": 742136, "num_integer_propagations": 376936, "num_restarts": 3, "num_lp_iterations": 675, "wall_time": 3.93138, "user_time": 3.93138, "deterministic_time": 3.35132, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3846.75}, "cpsat_response_stats": {"num_booleans": 3619, "num_integers": 740, "num_fixed_booleans": 115, "num_conflicts": 1124, "num_branches": 35050, "num_binary_propagations": 1339139, "num_integer_propagations": 598705, "num_restarts": 7, "num_lp_iterations": 4417, "wall_time": 3.83978, "user_time": 3.83978, "deterministic_time": 3.48767, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37492}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3668.23}, "cpsat_response_stats": {"num_booleans": 9961, "num_conflicts": 2201, "num_branches": 73048, "num_binary_propagations": 1755454, "num_integer_propagations": 864123, "num_restarts": 10, "wall_time": 3.66583, "user_time": 3.66583, "deterministic_time": 6.85616}, "solution_info": "fs_random", "problem_sha256": "7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26295}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1074.74}, "cpsat_response_stats": {"num_booleans": 2583, "num_conflicts": 341, "num_branches": 14652, "num_binary_propagations": 660181, "num_integer_propagations": 302109, "num_restarts": 1, "wall_time": 1.07394, "user_time": 1.07394, "deterministic_time": 1.45079}, "solution_info": "quick_restart_no_lp", "problem_sha256": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4758.69}, "cpsat_response_stats": {"num_booleans": 4741, "num_integers": 827, "num_fixed_booleans": 402, "num_conflicts": 1937, "num_branches": 30801, "num_binary_propagations": 1457588, "num_integer_propagations": 597220, "num_restarts": 18, "num_lp_iterations": 10778, "wall_time": 4.7526, "user_time": 4.7526, "deterministic_time": 4.63674, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63705}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12843.4}, "cpsat_response_stats": {"num_booleans": 10200, "num_conflicts": 9041, "num_branches": 126376, "num_binary_propagations": 7531566, "num_integer_propagations": 3004563, "num_restarts": 87, "wall_time": 12.8393, "user_time": 12.8393, "deterministic_time": 31.9076}, "solution_info": "default_lp", "problem_sha256": "728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58108}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5357.91}, "cpsat_response_stats": {"num_booleans": 6783, "num_conflicts": 1981, "num_branches": 54661, "num_binary_propagations": 3817197, "num_integer_propagations": 1609507, "num_restarts": 15, "wall_time": 5.35437, "user_time": 5.35437, "deterministic_time": 8.33971}, "solution_info": "default_lp", "problem_sha256": "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 19452, "constraint_breakdown": {"at_most_one": 102, "linear": 7566, "bool_or": 6919, "bool_and": 4865}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1401.03}, "cpsat_response_stats": {"num_booleans": 1711, "num_integers": 465, "num_fixed_booleans": 52, "num_conflicts": 283, "num_branches": 8914, "num_binary_propagations": 366012, "num_integer_propagations": 174210, "num_restarts": 2, "num_lp_iterations": 576, "wall_time": 1.39951, "user_time": 1.39951, "deterministic_time": 1.00189, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2149, "num_int": 951, "num_constraints": 34071, "constraint_breakdown": {"at_most_one": 161, "linear": 13494, "bool_or": 12158, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2078.5}, "cpsat_response_stats": {"num_booleans": 3144, "num_integers": 729, "num_fixed_booleans": 1715, "num_conflicts": 567, "num_branches": 13553, "num_binary_propagations": 643522, "num_integer_propagations": 282680, "num_restarts": 2, "num_lp_iterations": 319, "wall_time": 2.07576, "user_time": 2.07576, "deterministic_time": 1.50231, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45114}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3569.97}, "cpsat_response_stats": {"num_booleans": 5941, "num_conflicts": 4115, "num_branches": 60998, "num_binary_propagations": 3973699, "num_integer_propagations": 1344114, "num_restarts": 14, "wall_time": 3.56776, "user_time": 3.56776, "deterministic_time": 6.88747}, "solution_info": "fs_random_no_lp", "problem_sha256": "744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58438, "constraint_breakdown": {"at_most_one": 249, "linear": 24322, "bool_or": 20117, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9298.88}, "cpsat_response_stats": {"num_booleans": 6587, "num_integers": 1358, "num_fixed_booleans": 378, "num_conflicts": 1320, "num_branches": 43497, "num_binary_propagations": 3062944, "num_integer_propagations": 1348134, "num_restarts": 6, "num_lp_iterations": 10342, "wall_time": 9.27655, "user_time": 9.27655, "deterministic_time": 8.21765, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3375, "num_bool": 2442, "num_int": 933, "num_constraints": 37535, "constraint_breakdown": {"at_most_one": 160, "linear": 16353, "bool_or": 12654, "bool_and": 8368}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3310.99}, "cpsat_response_stats": {"num_booleans": 4038, "num_integers": 788, "num_fixed_booleans": 847, "num_conflicts": 1284, "num_branches": 21599, "num_binary_propagations": 1791487, "num_integer_propagations": 708600, "num_restarts": 6, "num_lp_iterations": 2213, "wall_time": 3.30278, "user_time": 3.30278, "deterministic_time": 3.05343, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3072.18}, "cpsat_response_stats": {"num_booleans": 2588, "num_conflicts": 299, "num_branches": 14001, "num_binary_propagations": 574297, "num_integer_propagations": 257383, "num_restarts": 1, "wall_time": 3.07056, "user_time": 3.07056, "deterministic_time": 5.90394}, "solution_info": "default_lp", "problem_sha256": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5087, "num_bool": 3592, "num_int": 1495, "num_constraints": 59195, "constraint_breakdown": {"at_most_one": 247, "linear": 25132, "bool_or": 20160, "bool_and": 13656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5812.56}, "cpsat_response_stats": {"num_booleans": 6819, "num_integers": 1377, "num_fixed_booleans": 135, "num_conflicts": 2816, "num_branches": 52241, "num_binary_propagations": 4238756, "num_integer_propagations": 1690774, "num_restarts": 29, "num_lp_iterations": 29628, "wall_time": 5.79991, "user_time": 5.79991, "deterministic_time": 8.45404, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 56476, "constraint_breakdown": {"at_most_one": 245, "linear": 23503, "bool_or": 19367, "bool_and": 13361}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12361.7}, "cpsat_response_stats": {"num_booleans": 13818, "num_integers": 1483, "num_fixed_booleans": 559, "num_conflicts": 8813, "num_branches": 120664, "num_binary_propagations": 5323157, "num_integer_propagations": 2133573, "num_restarts": 22, "num_lp_iterations": 76146, "wall_time": 12.3501, "user_time": 12.3501, "deterministic_time": 14.9513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85855, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29431, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14663.3}, "cpsat_response_stats": {"num_booleans": 11657, "num_integers": 1986, "num_fixed_booleans": 272, "num_conflicts": 6845, "num_branches": 87740, "num_binary_propagations": 9268770, "num_integer_propagations": 2778536, "num_restarts": 53, "num_lp_iterations": 86691, "wall_time": 14.6475, "user_time": 14.6475, "deterministic_time": 24.6145, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3276.46}, "cpsat_response_stats": {"num_booleans": 4387, "num_conflicts": 709, "num_branches": 29850, "num_binary_propagations": 1662157, "num_integer_propagations": 718337, "num_restarts": 3, "wall_time": 3.27493, "user_time": 3.27493, "deterministic_time": 5.10741}, "solution_info": "fs_random_no_lp", "problem_sha256": "79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3195.98}, "cpsat_response_stats": {"num_booleans": 2904, "num_integers": 678, "num_fixed_booleans": 67, "num_conflicts": 542, "num_branches": 18144, "num_binary_propagations": 904311, "num_integer_propagations": 459113, "num_restarts": 3, "num_lp_iterations": 1217, "wall_time": 3.19074, "user_time": 3.19074, "deterministic_time": 3.25983, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30288}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1216.52}, "cpsat_response_stats": {"num_booleans": 2497, "num_conflicts": 808, "num_branches": 15391, "num_binary_propagations": 1242902, "num_integer_propagations": 595451, "num_restarts": 6, "wall_time": 1.21526, "user_time": 1.21526, "deterministic_time": 2.11419}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40569}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3598.47}, "cpsat_response_stats": {"num_booleans": 4997, "num_conflicts": 1142, "num_branches": 39320, "num_binary_propagations": 2036636, "num_integer_propagations": 913071, "num_restarts": 12, "wall_time": 3.59562, "user_time": 3.59562, "deterministic_time": 7.16565}, "solution_info": "default_lp", "problem_sha256": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 30477, "constraint_breakdown": {"at_most_one": 135, "linear": 13057, "bool_or": 10324, "bool_and": 6961}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2388.08}, "cpsat_response_stats": {"num_booleans": 2439, "num_integers": 596, "num_fixed_booleans": 62, "num_conflicts": 623, "num_branches": 15347, "num_binary_propagations": 962837, "num_integer_propagations": 491010, "num_restarts": 3, "num_lp_iterations": 1970, "wall_time": 2.38291, "user_time": 2.38291, "deterministic_time": 2.11807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2916.72}, "cpsat_response_stats": {"num_booleans": 1835, "num_integers": 475, "num_fixed_booleans": 55, "num_conflicts": 399, "num_branches": 10761, "num_binary_propagations": 460076, "num_integer_propagations": 229866, "num_restarts": 3, "num_lp_iterations": 1229, "wall_time": 2.90661, "user_time": 2.90661, "deterministic_time": 2.09439, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7431, "constraint_breakdown": {"at_most_one": 46, "linear": 2912, "bool_or": 2651, "bool_and": 1822}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 154.832}, "cpsat_response_stats": {"num_booleans": 191, "num_integers": 96, "num_fixed_booleans": 4, "num_conflicts": 31, "num_branches": 985, "num_binary_propagations": 21606, "num_integer_propagations": 20710, "num_restarts": 0, "num_lp_iterations": 34, "wall_time": 0.154282, "user_time": 0.154282, "deterministic_time": 0.0753838, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 506.153}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.505452, "user_time": 0.505452, "deterministic_time": 0.611709}, "solution_info": "no_lp", "problem_sha256": "7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7474.2}, "cpsat_response_stats": {"num_booleans": 8033, "num_conflicts": 9257, "num_branches": 85199, "num_binary_propagations": 8183195, "num_integer_propagations": 2521393, "num_restarts": 51, "wall_time": 7.46993, "user_time": 7.46993, "deterministic_time": 24.3461}, "solution_info": "default_lp", "problem_sha256": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1482010.0}, "cpsat_response_stats": {"num_booleans": 34600, "num_conflicts": 548234, "num_branches": 2019729, "num_binary_propagations": 788206057, "num_integer_propagations": 178268283, "num_restarts": 2288, "wall_time": 1481.99, "user_time": 1481.99, "deterministic_time": 3843.75}, "solution_info": "no_lp", "problem_sha256": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 21823, "constraint_breakdown": {"at_most_one": 104, "linear": 9237, "bool_or": 7459, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1183.34}, "cpsat_response_stats": {"num_booleans": 1625, "num_integers": 455, "num_fixed_booleans": 89, "num_conflicts": 399, "num_branches": 9558, "num_binary_propagations": 515644, "num_integer_propagations": 256466, "num_restarts": 1, "num_lp_iterations": 241, "wall_time": 1.18204, "user_time": 1.18204, "deterministic_time": 0.909728, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3097.71}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 3.09511, "user_time": 3.09511, "deterministic_time": 4.11745}, "solution_info": "fs_random", "problem_sha256": "7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28926}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1649.08}, "cpsat_response_stats": {"num_booleans": 2898, "num_conflicts": 709, "num_branches": 19482, "num_binary_propagations": 1103156, "num_integer_propagations": 526968, "num_restarts": 6, "wall_time": 1.64755, "user_time": 1.64755, "deterministic_time": 2.86391}, "solution_info": "quick_restart", "problem_sha256": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4592, "num_bool": 3316, "num_int": 1276, "num_constraints": 52067, "constraint_breakdown": {"at_most_one": 215, "linear": 22501, "bool_or": 17614, "bool_and": 11737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6437.82}, "cpsat_response_stats": {"num_booleans": 6852, "num_integers": 1232, "num_fixed_booleans": 368, "num_conflicts": 2738, "num_branches": 52199, "num_binary_propagations": 4246025, "num_integer_propagations": 1609300, "num_restarts": 21, "num_lp_iterations": 30847, "wall_time": 6.42759, "user_time": 6.42759, "deterministic_time": 8.05118, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 49835, "constraint_breakdown": {"at_most_one": 244, "linear": 19145, "bool_or": 17805, "bool_and": 12641}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6225.3}, "cpsat_response_stats": {"num_booleans": 6938, "num_integers": 1279, "num_fixed_booleans": 159, "num_conflicts": 2111, "num_branches": 75272, "num_binary_propagations": 2746576, "num_integer_propagations": 1209416, "num_restarts": 21, "num_lp_iterations": 21873, "wall_time": 6.21532, "user_time": 6.21532, "deterministic_time": 7.63856, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1855.33}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.85347, "user_time": 1.85347, "deterministic_time": 3.10161}, "solution_info": "fs_random", "problem_sha256": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45237}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4100.31}, "cpsat_response_stats": {"num_booleans": 5614, "num_conflicts": 2629, "num_branches": 43878, "num_binary_propagations": 3107642, "num_integer_propagations": 1276684, "num_restarts": 18, "wall_time": 4.09662, "user_time": 4.09662, "deterministic_time": 6.32821}, "solution_info": "quick_restart_no_lp", "problem_sha256": "82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 58663, "constraint_breakdown": {"at_most_one": 268, "linear": 22846, "bool_or": 21072, "bool_and": 14477}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9249.91}, "cpsat_response_stats": {"num_booleans": 7982, "num_integers": 1480, "num_fixed_booleans": 161, "num_conflicts": 1749, "num_branches": 67067, "num_binary_propagations": 3442272, "num_integer_propagations": 1400295, "num_restarts": 15, "num_lp_iterations": 11689, "wall_time": 9.22528, "user_time": 9.22528, "deterministic_time": 8.18564, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 117200, "constraint_breakdown": {"at_most_one": 443, "linear": 51374, "bool_or": 39333, "bool_and": 26050}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 104633}, "cpsat_response_stats": {"num_booleans": 17979, "num_integers": 2703, "num_fixed_booleans": 1346, "num_conflicts": 38734, "num_branches": 248491, "num_binary_propagations": 34160293, "num_integer_propagations": 10893253, "num_restarts": 225, "num_lp_iterations": 628428, "wall_time": 104.612, "user_time": 104.612, "deterministic_time": 176.807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3081.59}, "cpsat_response_stats": {"num_booleans": 2383, "num_integers": 517, "num_fixed_booleans": 358, "num_conflicts": 794, "num_branches": 13010, "num_binary_propagations": 566747, "num_integer_propagations": 290602, "num_restarts": 6, "num_lp_iterations": 1756, "wall_time": 3.07796, "user_time": 3.07796, "deterministic_time": 2.23403, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 36358, "constraint_breakdown": {"at_most_one": 159, "linear": 15587, "bool_or": 12325, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5728.96}, "cpsat_response_stats": {"num_booleans": 4059, "num_integers": 877, "num_fixed_booleans": 87, "num_conflicts": 927, "num_branches": 30205, "num_binary_propagations": 1577642, "num_integer_propagations": 750624, "num_restarts": 6, "num_lp_iterations": 5532, "wall_time": 5.72142, "user_time": 5.72142, "deterministic_time": 5.90036, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3036.42}, "cpsat_response_stats": {"num_booleans": 2765, "num_integers": 613, "num_fixed_booleans": 275, "num_conflicts": 777, "num_branches": 15687, "num_binary_propagations": 1055990, "num_integer_propagations": 491170, "num_restarts": 3, "num_lp_iterations": 878, "wall_time": 3.02261, "user_time": 3.02261, "deterministic_time": 3.01651, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19405, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6839, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 795.193}, "cpsat_response_stats": {"num_booleans": 1181, "num_integers": 337, "num_fixed_booleans": 80, "num_conflicts": 255, "num_branches": 5415, "num_binary_propagations": 344260, "num_integer_propagations": 171635, "num_restarts": 1, "num_lp_iterations": 80, "wall_time": 0.794125, "user_time": 0.794125, "deterministic_time": 0.635959, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4825, "num_bool": 3334, "num_int": 1491, "num_constraints": 56887, "constraint_breakdown": {"at_most_one": 245, "linear": 23768, "bool_or": 19513, "bool_and": 13361}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6078.24}, "cpsat_response_stats": {"num_booleans": 7179, "num_integers": 1455, "num_fixed_booleans": 144, "num_conflicts": 1766, "num_branches": 61829, "num_binary_propagations": 3743112, "num_integer_propagations": 1622499, "num_restarts": 15, "num_lp_iterations": 26764, "wall_time": 6.0688, "user_time": 6.0688, "deterministic_time": 8.15386, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24569.5}, "cpsat_response_stats": {"num_booleans": 16136, "num_conflicts": 5451, "num_branches": 107151, "num_binary_propagations": 8128189, "num_integer_propagations": 3495511, "num_restarts": 60, "wall_time": 24.5589, "user_time": 24.5589, "deterministic_time": 32.4269}, "solution_info": "no_lp", "problem_sha256": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 41227, "constraint_breakdown": {"at_most_one": 189, "linear": 16809, "bool_or": 14289, "bool_and": 9940}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6348.77}, "cpsat_response_stats": {"num_booleans": 10296, "num_integers": 1057, "num_fixed_booleans": 106, "num_conflicts": 6997, "num_branches": 74326, "num_binary_propagations": 3215053, "num_integer_propagations": 1250139, "num_restarts": 16, "num_lp_iterations": 28121, "wall_time": 6.33789, "user_time": 6.33789, "deterministic_time": 7.5385, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 33949, "constraint_breakdown": {"at_most_one": 161, "linear": 13438, "bool_or": 12092, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2555.9}, "cpsat_response_stats": {"num_booleans": 3292, "num_integers": 740, "num_fixed_booleans": 95, "num_conflicts": 833, "num_branches": 22856, "num_binary_propagations": 1205185, "num_integer_propagations": 512011, "num_restarts": 6, "num_lp_iterations": 3772, "wall_time": 2.54866, "user_time": 2.54866, "deterministic_time": 2.43486, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 43015, "constraint_breakdown": {"at_most_one": 191, "linear": 17867, "bool_or": 14791, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6350.34}, "cpsat_response_stats": {"num_booleans": 4881, "num_integers": 981, "num_fixed_booleans": 100, "num_conflicts": 1791, "num_branches": 41316, "num_binary_propagations": 2194552, "num_integer_propagations": 986201, "num_restarts": 18, "num_lp_iterations": 20347, "wall_time": 6.34223, "user_time": 6.34223, "deterministic_time": 6.90988, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 36358, "constraint_breakdown": {"at_most_one": 159, "linear": 15587, "bool_or": 12325, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5541.49}, "cpsat_response_stats": {"num_booleans": 4333, "num_integers": 877, "num_fixed_booleans": 398, "num_conflicts": 1466, "num_branches": 31284, "num_binary_propagations": 1713238, "num_integer_propagations": 794110, "num_restarts": 12, "num_lp_iterations": 8142, "wall_time": 5.53055, "user_time": 5.53055, "deterministic_time": 5.09327, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58445}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5309.81}, "cpsat_response_stats": {"num_booleans": 7078, "num_conflicts": 2382, "num_branches": 66426, "num_binary_propagations": 4170088, "num_integer_propagations": 1774282, "num_restarts": 24, "wall_time": 5.30629, "user_time": 5.30629, "deterministic_time": 14.7412}, "solution_info": "default_lp", "problem_sha256": "8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 45468, "constraint_breakdown": {"at_most_one": 190, "linear": 19689, "bool_or": 15336, "bool_and": 10253}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6624.34}, "cpsat_response_stats": {"num_booleans": 5017, "num_integers": 991, "num_fixed_booleans": 274, "num_conflicts": 1748, "num_branches": 41177, "num_binary_propagations": 2422576, "num_integer_propagations": 1078468, "num_restarts": 15, "num_lp_iterations": 14173, "wall_time": 6.60476, "user_time": 6.60476, "deterministic_time": 5.8758, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4787.76}, "cpsat_response_stats": {"num_booleans": 4806, "num_integers": 884, "num_fixed_booleans": 553, "num_conflicts": 2472, "num_branches": 37155, "num_binary_propagations": 2101498, "num_integer_propagations": 932280, "num_restarts": 21, "num_lp_iterations": 22176, "wall_time": 4.78069, "user_time": 4.78069, "deterministic_time": 4.98498, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3475.49}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.4733, "user_time": 3.4733, "deterministic_time": 5.32517}, "solution_info": "quick_restart", "problem_sha256": "8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3044.89}, "cpsat_response_stats": {"num_booleans": 2664, "num_integers": 604, "num_fixed_booleans": 100, "num_conflicts": 901, "num_branches": 16035, "num_binary_propagations": 1095250, "num_integer_propagations": 523822, "num_restarts": 6, "num_lp_iterations": 2463, "wall_time": 3.03932, "user_time": 3.03932, "deterministic_time": 3.18278, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.28}, "cpsat_response_stats": {"num_booleans": 7036, "num_conflicts": 1354, "num_branches": 54858, "num_binary_propagations": 3740107, "num_integer_propagations": 1548593, "num_restarts": 9, "wall_time": 3.90812, "user_time": 3.90812, "deterministic_time": 8.30722}, "solution_info": "default_lp", "problem_sha256": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4449.32}, "cpsat_response_stats": {"num_booleans": 4588, "num_integers": 902, "num_fixed_booleans": 190, "num_conflicts": 1352, "num_branches": 35025, "num_binary_propagations": 1834430, "num_integer_propagations": 811448, "num_restarts": 12, "num_lp_iterations": 12919, "wall_time": 4.4298, "user_time": 4.4298, "deterministic_time": 4.71866, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61088}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7342.41}, "cpsat_response_stats": {"num_booleans": 9164, "num_conflicts": 4363, "num_branches": 91953, "num_binary_propagations": 4615233, "num_integer_propagations": 1945100, "num_restarts": 46, "wall_time": 7.33968, "user_time": 7.33968, "deterministic_time": 15.6115}, "solution_info": "default_lp", "problem_sha256": "8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11819.5}, "cpsat_response_stats": {"num_booleans": 7647, "num_integers": 1379, "num_fixed_booleans": 175, "num_conflicts": 3578, "num_branches": 76643, "num_binary_propagations": 4456087, "num_integer_propagations": 1857859, "num_restarts": 39, "num_lp_iterations": 42485, "wall_time": 11.8103, "user_time": 11.8103, "deterministic_time": 13.8424, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1669.89}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.66796, "user_time": 1.66796, "deterministic_time": 2.7846}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1599.16}, "cpsat_response_stats": {"num_booleans": 2920, "num_conflicts": 1148, "num_branches": 16541, "num_binary_propagations": 1396951, "num_integer_propagations": 623580, "num_restarts": 6, "wall_time": 1.59803, "user_time": 1.59803, "deterministic_time": 2.64948}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3057.05}, "cpsat_response_stats": {"num_booleans": 5699, "num_conflicts": 2050, "num_branches": 42750, "num_binary_propagations": 2908907, "num_integer_propagations": 1220861, "num_restarts": 15, "wall_time": 3.05479, "user_time": 3.05479, "deterministic_time": 6.67817}, "solution_info": "no_lp", "problem_sha256": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 26442, "constraint_breakdown": {"at_most_one": 132, "linear": 10245, "bool_or": 9463, "bool_and": 6602}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1979.49}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 619, "num_fixed_booleans": 71, "num_conflicts": 581, "num_branches": 16233, "num_binary_propagations": 742046, "num_integer_propagations": 340833, "num_restarts": 6, "num_lp_iterations": 1823, "wall_time": 1.97431, "user_time": 1.97431, "deterministic_time": 1.67653, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1323.68}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.32278, "user_time": 1.32278, "deterministic_time": 1.66283}, "solution_info": "no_lp", "problem_sha256": "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55906}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5772.7}, "cpsat_response_stats": {"num_booleans": 9063, "num_conflicts": 5705, "num_branches": 120717, "num_binary_propagations": 5958705, "num_integer_propagations": 2454017, "num_restarts": 20, "wall_time": 5.76998, "user_time": 5.76998, "deterministic_time": 14.8884}, "solution_info": "default_lp", "problem_sha256": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28589}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1537.86}, "cpsat_response_stats": {"num_booleans": 2822, "num_conflicts": 876, "num_branches": 16280, "num_binary_propagations": 1065365, "num_integer_propagations": 496556, "num_restarts": 6, "wall_time": 1.53626, "user_time": 1.53626, "deterministic_time": 2.10021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 50667, "constraint_breakdown": {"at_most_one": 219, "linear": 21417, "bool_or": 17337, "bool_and": 11694}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5312.01}, "cpsat_response_stats": {"num_booleans": 6575, "num_integers": 1236, "num_fixed_booleans": 125, "num_conflicts": 1717, "num_branches": 52956, "num_binary_propagations": 3365844, "num_integer_propagations": 1323177, "num_restarts": 15, "num_lp_iterations": 14066, "wall_time": 5.30172, "user_time": 5.30172, "deterministic_time": 7.43839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2585, "num_bool": 1793, "num_int": 792, "num_constraints": 28922, "constraint_breakdown": {"at_most_one": 134, "linear": 11959, "bool_or": 10032, "bool_and": 6797}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2360.01}, "cpsat_response_stats": {"num_booleans": 2656, "num_integers": 598, "num_fixed_booleans": 234, "num_conflicts": 912, "num_branches": 15157, "num_binary_propagations": 1117887, "num_integer_propagations": 502968, "num_restarts": 6, "num_lp_iterations": 2208, "wall_time": 2.35414, "user_time": 2.35414, "deterministic_time": 1.93857, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 50587, "constraint_breakdown": {"at_most_one": 219, "linear": 21417, "bool_or": 17257, "bool_and": 11694}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7026.39}, "cpsat_response_stats": {"num_booleans": 6689, "num_integers": 1266, "num_fixed_booleans": 125, "num_conflicts": 1692, "num_branches": 52454, "num_binary_propagations": 3074984, "num_integer_propagations": 1307530, "num_restarts": 15, "num_lp_iterations": 16061, "wall_time": 7.01643, "user_time": 7.01643, "deterministic_time": 7.8701, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6499.23}, "cpsat_response_stats": {"num_booleans": 5506, "num_integers": 1069, "num_fixed_booleans": 105, "num_conflicts": 1678, "num_branches": 45114, "num_binary_propagations": 2613355, "num_integer_propagations": 1129347, "num_restarts": 15, "num_lp_iterations": 17573, "wall_time": 6.49021, "user_time": 6.49021, "deterministic_time": 6.78036, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1443320.0}, "cpsat_response_stats": {"num_booleans": 34630, "num_conflicts": 700829, "num_branches": 2655203, "num_binary_propagations": 928474398, "num_integer_propagations": 232999472, "num_restarts": 3060, "wall_time": 1443.29, "user_time": 1443.29, "deterministic_time": 4843.77}, "solution_info": "no_lp", "problem_sha256": "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3578.34}, "cpsat_response_stats": {"num_booleans": 7045, "num_conflicts": 1997, "num_branches": 53648, "num_binary_propagations": 3688139, "num_integer_propagations": 1484517, "num_restarts": 15, "wall_time": 3.57481, "user_time": 3.57481, "deterministic_time": 7.28891}, "solution_info": "fs_random", "problem_sha256": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4050, "num_bool": 2924, "num_int": 1126, "num_constraints": 45133, "constraint_breakdown": {"at_most_one": 190, "linear": 19306, "bool_or": 15394, "bool_and": 10243}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4600.21}, "cpsat_response_stats": {"num_booleans": 5653, "num_integers": 1013, "num_fixed_booleans": 345, "num_conflicts": 2345, "num_branches": 44779, "num_binary_propagations": 3030363, "num_integer_propagations": 1253155, "num_restarts": 18, "num_lp_iterations": 17911, "wall_time": 4.59152, "user_time": 4.59152, "deterministic_time": 6.52967, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14036, "constraint_breakdown": {"at_most_one": 76, "linear": 5477, "bool_or": 4986, "bool_and": 3497}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 422.549}, "cpsat_response_stats": {"num_booleans": 790, "num_integers": 272, "num_fixed_booleans": 21, "num_conflicts": 103, "num_branches": 4068, "num_binary_propagations": 134433, "num_integer_propagations": 78659, "num_restarts": 1, "num_lp_iterations": 100, "wall_time": 0.421683, "user_time": 0.421683, "deterministic_time": 0.26473, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 798.026}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.797012, "user_time": 0.797012, "deterministic_time": 1.18037}, "solution_info": "default_lp", "problem_sha256": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3604, "num_int": 1500, "num_constraints": 59384, "constraint_breakdown": {"at_most_one": 248, "linear": 25207, "bool_or": 20226, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6204.55}, "cpsat_response_stats": {"num_booleans": 6973, "num_integers": 1335, "num_fixed_booleans": 162, "num_conflicts": 1650, "num_branches": 51769, "num_binary_propagations": 3907426, "num_integer_propagations": 1592141, "num_restarts": 12, "num_lp_iterations": 16465, "wall_time": 6.19391, "user_time": 6.19392, "deterministic_time": 8.33136, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28200.8}, "cpsat_response_stats": {"num_booleans": 12120, "num_integers": 2027, "num_fixed_booleans": 325, "num_conflicts": 13095, "num_branches": 128740, "num_binary_propagations": 12954255, "num_integer_propagations": 4000757, "num_restarts": 90, "num_lp_iterations": 171859, "wall_time": 28.1855, "user_time": 28.1855, "deterministic_time": 35.9572, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 51975, "constraint_breakdown": {"at_most_one": 245, "linear": 20574, "bool_or": 18265, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7909.24}, "cpsat_response_stats": {"num_booleans": 6688, "num_integers": 1377, "num_fixed_booleans": 141, "num_conflicts": 969, "num_branches": 45703, "num_binary_propagations": 2324155, "num_integer_propagations": 1016253, "num_restarts": 6, "num_lp_iterations": 7802, "wall_time": 7.89952, "user_time": 7.89952, "deterministic_time": 7.91396, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2149, "num_int": 951, "num_constraints": 34071, "constraint_breakdown": {"at_most_one": 161, "linear": 13494, "bool_or": 12158, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2300.62}, "cpsat_response_stats": {"num_booleans": 3168, "num_integers": 721, "num_fixed_booleans": 1695, "num_conflicts": 684, "num_branches": 14103, "num_binary_propagations": 883450, "num_integer_propagations": 373726, "num_restarts": 2, "num_lp_iterations": 336, "wall_time": 2.29595, "user_time": 2.29595, "deterministic_time": 1.8593, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20881, "num_bool": 16450, "num_int": 4431, "num_constraints": 236975, "constraint_breakdown": {"at_most_one": 727, "linear": 109273, "bool_or": 77125, "bool_and": 49850}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5307350.0}, "cpsat_response_stats": {"num_booleans": 40448, "num_integers": 4906, "num_fixed_booleans": 3570, "num_conflicts": 949858, "num_branches": 3779328, "num_binary_propagations": 1284803830, "num_integer_propagations": 336295337, "num_restarts": 3742, "num_lp_iterations": 30023094, "wall_time": 5307.27, "user_time": 5307.27, "deterministic_time": 10022.4, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20727, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7163, "bool_and": 4869}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1161.53}, "cpsat_response_stats": {"num_booleans": 1732, "num_integers": 464, "num_fixed_booleans": 50, "num_conflicts": 305, "num_branches": 10055, "num_binary_propagations": 416195, "num_integer_propagations": 218999, "num_restarts": 1, "num_lp_iterations": 263, "wall_time": 1.15922, "user_time": 1.15922, "deterministic_time": 0.839053, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4022.2}, "cpsat_response_stats": {"num_booleans": 6836, "num_conflicts": 1777, "num_branches": 58426, "num_binary_propagations": 3669621, "num_integer_propagations": 1600687, "num_restarts": 12, "wall_time": 4.01901, "user_time": 4.01901, "deterministic_time": 8.31302}, "solution_info": "default_lp", "problem_sha256": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1312210.0}, "cpsat_response_stats": {"num_booleans": 35686, "num_integers": 4911, "num_fixed_booleans": 1451, "num_conflicts": 261411, "num_branches": 1407886, "num_binary_propagations": 298239744, "num_integer_propagations": 91900563, "num_restarts": 1400, "num_lp_iterations": 9043153, "wall_time": 1312.16, "user_time": 1312.16, "deterministic_time": 2214.53, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3212.27}, "cpsat_response_stats": {"num_booleans": 1975, "num_integers": 459, "num_fixed_booleans": 274, "num_conflicts": 822, "num_branches": 11048, "num_binary_propagations": 635610, "num_integer_propagations": 304646, "num_restarts": 6, "num_lp_iterations": 1750, "wall_time": 3.20233, "user_time": 3.20233, "deterministic_time": 2.12357, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 29118, "constraint_breakdown": {"at_most_one": 133, "linear": 12261, "bool_or": 9937, "bool_and": 6787}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3098.94}, "cpsat_response_stats": {"num_booleans": 3430, "num_integers": 664, "num_fixed_booleans": 385, "num_conflicts": 1617, "num_branches": 21084, "num_binary_propagations": 1186499, "num_integer_propagations": 545842, "num_restarts": 12, "num_lp_iterations": 8225, "wall_time": 3.09349, "user_time": 3.09349, "deterministic_time": 2.66028, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45225}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4094.81}, "cpsat_response_stats": {"num_booleans": 6659, "num_conflicts": 3832, "num_branches": 89975, "num_binary_propagations": 3557350, "num_integer_propagations": 1497311, "num_restarts": 20, "wall_time": 4.09307, "user_time": 4.09307, "deterministic_time": 7.82779}, "solution_info": "default_lp", "problem_sha256": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20107, "constraint_breakdown": {"at_most_one": 102, "linear": 8055, "bool_or": 7054, "bool_and": 4896}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1034.56}, "cpsat_response_stats": {"num_booleans": 1812, "num_integers": 472, "num_fixed_booleans": 52, "num_conflicts": 351, "num_branches": 10858, "num_binary_propagations": 391284, "num_integer_propagations": 198421, "num_restarts": 3, "num_lp_iterations": 915, "wall_time": 1.03334, "user_time": 1.03334, "deterministic_time": 0.75633, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59864}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7404.83}, "cpsat_response_stats": {"num_booleans": 7765, "num_conflicts": 1468, "num_branches": 61490, "num_binary_propagations": 4217427, "num_integer_propagations": 2866648, "num_restarts": 9, "wall_time": 7.40171, "user_time": 7.40171, "deterministic_time": 14.4768}, "solution_info": "no_lp", "problem_sha256": "9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40996}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3171.96}, "cpsat_response_stats": {"num_booleans": 4956, "num_conflicts": 1193, "num_branches": 38351, "num_binary_propagations": 2029739, "num_integer_propagations": 875626, "num_restarts": 12, "wall_time": 3.17017, "user_time": 3.17017, "deterministic_time": 6.84478}, "solution_info": "default_lp", "problem_sha256": "9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45102}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3351.44}, "cpsat_response_stats": {"num_booleans": 5237, "num_conflicts": 1767, "num_branches": 38543, "num_binary_propagations": 2848460, "num_integer_propagations": 1099648, "num_restarts": 15, "wall_time": 3.34942, "user_time": 3.34942, "deterministic_time": 6.44192}, "solution_info": "fs_random_no_lp", "problem_sha256": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11228.7}, "cpsat_response_stats": {"num_booleans": 7277, "num_integers": 1389, "num_fixed_booleans": 174, "num_conflicts": 5127, "num_branches": 73239, "num_binary_propagations": 3900079, "num_integer_propagations": 1706894, "num_restarts": 42, "num_lp_iterations": 60497, "wall_time": 11.2067, "user_time": 11.2067, "deterministic_time": 13.756, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 640.309}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.639225, "user_time": 0.639225, "deterministic_time": 0.898999}, "solution_info": "fs_random_no_lp", "problem_sha256": "9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2930, "num_int": 1127, "num_constraints": 45699, "constraint_breakdown": {"at_most_one": 190, "linear": 19823, "bool_or": 15433, "bool_and": 10253}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5754.89}, "cpsat_response_stats": {"num_booleans": 4993, "num_integers": 985, "num_fixed_booleans": 168, "num_conflicts": 1585, "num_branches": 40818, "num_binary_propagations": 2603332, "num_integer_propagations": 1108853, "num_restarts": 12, "num_lp_iterations": 12824, "wall_time": 5.74327, "user_time": 5.74327, "deterministic_time": 6.47583, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 850.031}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.848366, "user_time": 0.848366, "deterministic_time": 1.17243}, "solution_info": "default_lp", "problem_sha256": "a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6657.63}, "cpsat_response_stats": {"num_booleans": 8761, "num_integers": 884, "num_fixed_booleans": 953, "num_conflicts": 7110, "num_branches": 91485, "num_binary_propagations": 4004667, "num_integer_propagations": 1658789, "num_restarts": 23, "num_lp_iterations": 42490, "wall_time": 6.63749, "user_time": 6.63749, "deterministic_time": 6.30523, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51635}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3956.08}, "cpsat_response_stats": {"num_booleans": 6640, "num_conflicts": 670, "num_branches": 40595, "num_binary_propagations": 2397835, "num_integer_propagations": 987564, "num_restarts": 1, "wall_time": 3.95297, "user_time": 3.95297, "deterministic_time": 7.45242}, "solution_info": "default_lp", "problem_sha256": "a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27043}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1979.36}, "cpsat_response_stats": {"num_booleans": 2862, "num_conflicts": 334, "num_branches": 15496, "num_binary_propagations": 758699, "num_integer_propagations": 328631, "num_restarts": 1, "wall_time": 1.97852, "user_time": 1.97852, "deterministic_time": 2.57625}, "solution_info": "quick_restart", "problem_sha256": "a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37480}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3366.15}, "cpsat_response_stats": {"num_booleans": 4923, "num_conflicts": 1494, "num_branches": 43537, "num_binary_propagations": 1671019, "num_integer_propagations": 736622, "num_restarts": 15, "wall_time": 3.36304, "user_time": 3.36304, "deterministic_time": 7.2959}, "solution_info": "default_lp", "problem_sha256": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14094}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 316.487}, "cpsat_response_stats": {"num_booleans": 729, "num_conflicts": 166, "num_branches": 4721, "num_binary_propagations": 180169, "num_integer_propagations": 107470, "num_restarts": 1, "wall_time": 0.31602, "user_time": 0.31602, "deterministic_time": 0.38152}, "solution_info": "no_lp", "problem_sha256": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 30268, "constraint_breakdown": {"at_most_one": 134, "linear": 12974, "bool_or": 10254, "bool_and": 6906}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2377.49}, "cpsat_response_stats": {"num_booleans": 3016, "num_integers": 642, "num_fixed_booleans": 175, "num_conflicts": 1266, "num_branches": 30734, "num_binary_propagations": 1099367, "num_integer_propagations": 539843, "num_restarts": 9, "num_lp_iterations": 5805, "wall_time": 2.37055, "user_time": 2.37055, "deterministic_time": 1.95116, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 37902, "constraint_breakdown": {"at_most_one": 188, "linear": 14589, "bool_or": 13532, "bool_and": 9593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5134.63}, "cpsat_response_stats": {"num_booleans": 4379, "num_integers": 944, "num_fixed_booleans": 110, "num_conflicts": 433, "num_branches": 24742, "num_binary_propagations": 1181414, "num_integer_propagations": 490104, "num_restarts": 1, "num_lp_iterations": 478, "wall_time": 5.12805, "user_time": 5.12805, "deterministic_time": 6.26043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 64385, "constraint_breakdown": {"at_most_one": 300, "linear": 25295, "bool_or": 22795, "bool_and": 15995}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11295.1}, "cpsat_response_stats": {"num_booleans": 9287, "num_integers": 1607, "num_fixed_booleans": 207, "num_conflicts": 2482, "num_branches": 78855, "num_binary_propagations": 4198089, "num_integer_propagations": 1668937, "num_restarts": 27, "num_lp_iterations": 31366, "wall_time": 11.2832, "user_time": 11.2832, "deterministic_time": 16.0043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 44292, "constraint_breakdown": {"at_most_one": 194, "linear": 18817, "bool_or": 15092, "bool_and": 10189}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6495.42}, "cpsat_response_stats": {"num_booleans": 6452, "num_integers": 1063, "num_fixed_booleans": 111, "num_conflicts": 3579, "num_branches": 74959, "num_binary_propagations": 3314715, "num_integer_propagations": 1406554, "num_restarts": 24, "num_lp_iterations": 31568, "wall_time": 6.47618, "user_time": 6.47618, "deterministic_time": 7.06788, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10574.9}, "cpsat_response_stats": {"num_booleans": 11806, "num_conflicts": 10534, "num_branches": 98410, "num_binary_propagations": 12226499, "num_integer_propagations": 3370514, "num_restarts": 89, "wall_time": 10.5706, "user_time": 10.5706, "deterministic_time": 32.0729}, "solution_info": "no_lp", "problem_sha256": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 21823, "constraint_breakdown": {"at_most_one": 104, "linear": 9237, "bool_or": 7459, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1840}, "cpsat_response_stats": {"num_booleans": 1689, "num_integers": 455, "num_fixed_booleans": 88, "num_conflicts": 455, "num_branches": 9769, "num_binary_propagations": 518959, "num_integer_propagations": 281275, "num_restarts": 3, "num_lp_iterations": 841, "wall_time": 1.83483, "user_time": 1.83483, "deterministic_time": 1.15662, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57490}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3986.44}, "cpsat_response_stats": {"num_booleans": 7410, "num_conflicts": 2761, "num_branches": 59642, "num_binary_propagations": 4319666, "num_integer_propagations": 1632537, "num_restarts": 27, "wall_time": 3.98372, "user_time": 3.98372, "deterministic_time": 8.21734}, "solution_info": "no_lp", "problem_sha256": "a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30068}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.8}, "cpsat_response_stats": {"num_booleans": 2716, "num_conflicts": 695, "num_branches": 16497, "num_binary_propagations": 1028303, "num_integer_propagations": 482835, "num_restarts": 3, "wall_time": 1.499, "user_time": 1.499, "deterministic_time": 2.08018}, "solution_info": "quick_restart", "problem_sha256": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7423, "constraint_breakdown": {"at_most_one": 46, "linear": 2912, "bool_or": 2643, "bool_and": 1822}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 180.457}, "cpsat_response_stats": {"num_booleans": 751, "num_integers": 110, "num_fixed_booleans": 4, "num_conflicts": 560, "num_branches": 4544, "num_binary_propagations": 30469, "num_integer_propagations": 43812, "num_restarts": 5, "num_lp_iterations": 57, "wall_time": 0.179734, "user_time": 0.179734, "deterministic_time": 0.0901002, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3134.13}, "cpsat_response_stats": {"num_booleans": 2883, "num_integers": 644, "num_fixed_booleans": 307, "num_conflicts": 740, "num_branches": 15627, "num_binary_propagations": 943261, "num_integer_propagations": 454806, "num_restarts": 3, "num_lp_iterations": 839, "wall_time": 3.12816, "user_time": 3.12816, "deterministic_time": 3.02381, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 32565, "constraint_breakdown": {"at_most_one": 158, "linear": 12926, "bool_or": 11459, "bool_and": 8022}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4676.26}, "cpsat_response_stats": {"num_booleans": 4069, "num_integers": 818, "num_fixed_booleans": 90, "num_conflicts": 707, "num_branches": 25709, "num_binary_propagations": 1130167, "num_integer_propagations": 473745, "num_restarts": 6, "num_lp_iterations": 3244, "wall_time": 4.66535, "user_time": 4.66535, "deterministic_time": 3.30281, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1783, "num_int": 788, "num_constraints": 29262, "constraint_breakdown": {"at_most_one": 133, "linear": 12342, "bool_or": 10000, "bool_and": 6787}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3487.46}, "cpsat_response_stats": {"num_booleans": 8428, "num_integers": 648, "num_fixed_booleans": 792, "num_conflicts": 6635, "num_branches": 36704, "num_binary_propagations": 2278556, "num_integer_propagations": 1043110, "num_restarts": 15, "num_lp_iterations": 42244, "wall_time": 3.48091, "user_time": 3.48091, "deterministic_time": 2.86413, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 42433.4}, "cpsat_response_stats": {"num_booleans": 19564, "num_conflicts": 35646, "num_branches": 377527, "num_binary_propagations": 37641950, "num_integer_propagations": 11577509, "num_restarts": 177, "wall_time": 42.4278, "user_time": 42.4278, "deterministic_time": 153.145}, "solution_info": "default_lp", "problem_sha256": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6536.66}, "cpsat_response_stats": {"num_booleans": 4771, "num_integers": 991, "num_fixed_booleans": 99, "num_conflicts": 878, "num_branches": 33840, "num_binary_propagations": 1763246, "num_integer_propagations": 830767, "num_restarts": 6, "num_lp_iterations": 6376, "wall_time": 6.52683, "user_time": 6.52683, "deterministic_time": 6.79979, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1257, "num_int": 594, "num_constraints": 20861, "constraint_breakdown": {"at_most_one": 102, "linear": 8670, "bool_or": 7198, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2168.04}, "cpsat_response_stats": {"num_booleans": 1927, "num_integers": 505, "num_fixed_booleans": 56, "num_conflicts": 414, "num_branches": 11107, "num_binary_propagations": 572703, "num_integer_propagations": 276488, "num_restarts": 3, "num_lp_iterations": 863, "wall_time": 2.16398, "user_time": 2.16398, "deterministic_time": 1.5309, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10397.7}, "cpsat_response_stats": {"num_booleans": 8580, "num_conflicts": 17088, "num_branches": 157373, "num_binary_propagations": 14357683, "num_integer_propagations": 3735788, "num_restarts": 68, "wall_time": 10.3921, "user_time": 10.3921, "deterministic_time": 39.3144}, "solution_info": "default_lp", "problem_sha256": "abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3515.33}, "cpsat_response_stats": {"num_booleans": 6694, "num_conflicts": 1781, "num_branches": 51076, "num_binary_propagations": 3418829, "num_integer_propagations": 1375027, "num_restarts": 18, "wall_time": 3.51264, "user_time": 3.51264, "deterministic_time": 7.59026}, "solution_info": "no_lp", "problem_sha256": "abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56186}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3671.42}, "cpsat_response_stats": {"num_booleans": 7238, "num_conflicts": 2414, "num_branches": 53301, "num_binary_propagations": 3805728, "num_integer_propagations": 1572777, "num_restarts": 21, "wall_time": 3.66675, "user_time": 3.66675, "deterministic_time": 8.1817}, "solution_info": "default_lp", "problem_sha256": "aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2371.29}, "cpsat_response_stats": {"num_booleans": 1774, "num_integers": 469, "num_fixed_booleans": 50, "num_conflicts": 305, "num_branches": 9961, "num_binary_propagations": 411625, "num_integer_propagations": 212322, "num_restarts": 1, "num_lp_iterations": 210, "wall_time": 2.36965, "user_time": 2.36965, "deterministic_time": 1.70667, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4364, "num_bool": 2861, "num_int": 1503, "num_constraints": 52449, "constraint_breakdown": {"at_most_one": 245, "linear": 20892, "bool_or": 18421, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5988.72}, "cpsat_response_stats": {"num_booleans": 6712, "num_integers": 1343, "num_fixed_booleans": 145, "num_conflicts": 1772, "num_branches": 55986, "num_binary_propagations": 3018315, "num_integer_propagations": 1289058, "num_restarts": 18, "num_lp_iterations": 19470, "wall_time": 5.97814, "user_time": 5.97814, "deterministic_time": 8.07535, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14217, "constraint_breakdown": {"at_most_one": 77, "linear": 5527, "bool_or": 5106, "bool_and": 3507}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 590.302}, "cpsat_response_stats": {"num_booleans": 736, "num_integers": 279, "num_fixed_booleans": 21, "num_conflicts": 139, "num_branches": 4506, "num_binary_propagations": 133595, "num_integer_propagations": 87344, "num_restarts": 1, "num_lp_iterations": 123, "wall_time": 0.588404, "user_time": 0.588404, "deterministic_time": 0.34056, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30276}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1317.35}, "cpsat_response_stats": {"num_booleans": 2458, "num_conflicts": 759, "num_branches": 14872, "num_binary_propagations": 1199762, "num_integer_propagations": 545210, "num_restarts": 6, "wall_time": 1.31604, "user_time": 1.31604, "deterministic_time": 2.31358}, "solution_info": "quick_restart_no_lp", "problem_sha256": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 748.329}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.747364, "user_time": 0.747364, "deterministic_time": 1.18051}, "solution_info": "default_lp", "problem_sha256": "af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2732, "num_bool": 1936, "num_int": 796, "num_constraints": 30680, "constraint_breakdown": {"at_most_one": 135, "linear": 13191, "bool_or": 10395, "bool_and": 6959}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1811.58}, "cpsat_response_stats": {"num_booleans": 2408, "num_integers": 595, "num_fixed_booleans": 74, "num_conflicts": 612, "num_branches": 14213, "num_binary_propagations": 1171481, "num_integer_propagations": 537873, "num_restarts": 3, "num_lp_iterations": 1653, "wall_time": 1.81014, "user_time": 1.81014, "deterministic_time": 2.1616, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14106}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 309.44}, "cpsat_response_stats": {"num_booleans": 738, "num_conflicts": 151, "num_branches": 4649, "num_binary_propagations": 175520, "num_integer_propagations": 104166, "num_restarts": 1, "wall_time": 0.308961, "user_time": 0.308961, "deterministic_time": 0.378169}, "solution_info": "quick_restart", "problem_sha256": "afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2732, "num_bool": 1936, "num_int": 796, "num_constraints": 30684, "constraint_breakdown": {"at_most_one": 135, "linear": 13191, "bool_or": 10397, "bool_and": 6961}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2133.87}, "cpsat_response_stats": {"num_booleans": 2959, "num_integers": 589, "num_fixed_booleans": 598, "num_conflicts": 1314, "num_branches": 16008, "num_binary_propagations": 1276645, "num_integer_propagations": 558093, "num_restarts": 6, "num_lp_iterations": 2880, "wall_time": 2.12827, "user_time": 2.12827, "deterministic_time": 2.20437, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85727, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29303, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21205.3}, "cpsat_response_stats": {"num_booleans": 11808, "num_integers": 2018, "num_fixed_booleans": 273, "num_conflicts": 11110, "num_branches": 111181, "num_binary_propagations": 11559087, "num_integer_propagations": 3778702, "num_restarts": 76, "num_lp_iterations": 148419, "wall_time": 21.1917, "user_time": 21.1917, "deterministic_time": 31.961, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3052.7}, "cpsat_response_stats": {"num_booleans": 1864, "num_integers": 478, "num_fixed_booleans": 52, "num_conflicts": 228, "num_branches": 10193, "num_binary_propagations": 374340, "num_integer_propagations": 189319, "num_restarts": 1, "num_lp_iterations": 140, "wall_time": 3.04893, "user_time": 3.04893, "deterministic_time": 2.02794, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57828, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19882, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8842.37}, "cpsat_response_stats": {"num_booleans": 7418, "num_integers": 1343, "num_fixed_booleans": 165, "num_conflicts": 2133, "num_branches": 60233, "num_binary_propagations": 4073305, "num_integer_propagations": 1572270, "num_restarts": 18, "num_lp_iterations": 20991, "wall_time": 8.83197, "user_time": 8.83197, "deterministic_time": 12.7949, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1873900.0}, "cpsat_response_stats": {"num_booleans": 43967, "num_conflicts": 738946, "num_branches": 2570390, "num_binary_propagations": 1196466883, "num_integer_propagations": 267712424, "num_restarts": 3140, "wall_time": 1873.89, "user_time": 1873.89, "deterministic_time": 6668.87}, "solution_info": "no_lp", "problem_sha256": "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58078}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6300.32}, "cpsat_response_stats": {"num_booleans": 7014, "num_conflicts": 3809, "num_branches": 110454, "num_binary_propagations": 4798262, "num_integer_propagations": 1954964, "num_restarts": 24, "wall_time": 6.29768, "user_time": 6.29768, "deterministic_time": 15.1082}, "solution_info": "no_lp", "problem_sha256": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2932, "num_int": 1129, "num_constraints": 45302, "constraint_breakdown": {"at_most_one": 190, "linear": 19343, "bool_or": 15471, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5483.02}, "cpsat_response_stats": {"num_booleans": 6120, "num_integers": 1029, "num_fixed_booleans": 742, "num_conflicts": 4083, "num_branches": 46562, "num_binary_propagations": 3750876, "num_integer_propagations": 1480530, "num_restarts": 26, "num_lp_iterations": 35807, "wall_time": 5.4747, "user_time": 5.4747, "deterministic_time": 6.52935, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55918}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5984.27}, "cpsat_response_stats": {"num_booleans": 13274, "num_conflicts": 7904, "num_branches": 99296, "num_binary_propagations": 5335791, "num_integer_propagations": 2035699, "num_restarts": 18, "wall_time": 5.97987, "user_time": 5.97987, "deterministic_time": 16.3801}, "solution_info": "default_lp", "problem_sha256": "b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19373, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6807, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 959.743}, "cpsat_response_stats": {"num_booleans": 1298, "num_integers": 352, "num_fixed_booleans": 47, "num_conflicts": 308, "num_branches": 7215, "num_binary_propagations": 306966, "num_integer_propagations": 153283, "num_restarts": 3, "num_lp_iterations": 437, "wall_time": 0.958029, "user_time": 0.958029, "deterministic_time": 0.627408, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94488, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32332, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28277.1}, "cpsat_response_stats": {"num_booleans": 12813, "num_integers": 2179, "num_fixed_booleans": 311, "num_conflicts": 11791, "num_branches": 108949, "num_binary_propagations": 11919328, "num_integer_propagations": 3896499, "num_restarts": 90, "num_lp_iterations": 170447, "wall_time": 28.2424, "user_time": 28.2424, "deterministic_time": 39.9897, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59852}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9668}, "cpsat_response_stats": {"num_booleans": 7723, "num_conflicts": 5829, "num_branches": 81909, "num_binary_propagations": 7449164, "num_integer_propagations": 2502230, "num_restarts": 42, "wall_time": 9.66487, "user_time": 9.66487, "deterministic_time": 15.8384}, "solution_info": "no_lp", "problem_sha256": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 45101, "constraint_breakdown": {"at_most_one": 190, "linear": 19234, "bool_or": 15379, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6886.08}, "cpsat_response_stats": {"num_booleans": 6544, "num_integers": 1035, "num_fixed_booleans": 541, "num_conflicts": 3426, "num_branches": 74733, "num_binary_propagations": 3275361, "num_integer_propagations": 1409720, "num_restarts": 24, "num_lp_iterations": 33163, "wall_time": 6.86679, "user_time": 6.86679, "deterministic_time": 6.61894, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1965.09}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.96308, "user_time": 1.96308, "deterministic_time": 2.96967}, "solution_info": "quick_restart", "problem_sha256": "b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45226}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3431.8}, "cpsat_response_stats": {"num_booleans": 6506, "num_conflicts": 4101, "num_branches": 48128, "num_binary_propagations": 4289863, "num_integer_propagations": 1697744, "num_restarts": 34, "wall_time": 3.42854, "user_time": 3.42854, "deterministic_time": 7.43628}, "solution_info": "no_lp", "problem_sha256": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20803, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7203, "bool_and": 4877}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1001.91}, "cpsat_response_stats": {"num_booleans": 1972, "num_integers": 452, "num_fixed_booleans": 67, "num_conflicts": 744, "num_branches": 12584, "num_binary_propagations": 560188, "num_integer_propagations": 258687, "num_restarts": 6, "num_lp_iterations": 1232, "wall_time": 1.00038, "user_time": 1.00038, "deterministic_time": 1.03077, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4531.41}, "cpsat_response_stats": {"num_booleans": 3847, "num_integers": 612, "num_fixed_booleans": 266, "num_conflicts": 2030, "num_branches": 22093, "num_binary_propagations": 897755, "num_integer_propagations": 426584, "num_restarts": 9, "num_lp_iterations": 5930, "wall_time": 4.52606, "user_time": 4.52606, "deterministic_time": 5.07546, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7481.13}, "cpsat_response_stats": {"num_booleans": 9162, "num_integers": 1054, "num_fixed_booleans": 755, "num_conflicts": 6808, "num_branches": 70130, "num_binary_propagations": 4118517, "num_integer_propagations": 1702992, "num_restarts": 28, "num_lp_iterations": 52062, "wall_time": 7.45933, "user_time": 7.45933, "deterministic_time": 7.20177, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51635}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3654.93}, "cpsat_response_stats": {"num_booleans": 6844, "num_conflicts": 1666, "num_branches": 60664, "num_binary_propagations": 2946849, "num_integer_propagations": 1286403, "num_restarts": 18, "wall_time": 3.65272, "user_time": 3.65272, "deterministic_time": 8.20979}, "solution_info": "default_lp", "problem_sha256": "b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 20821, "constraint_breakdown": {"at_most_one": 103, "linear": 8610, "bool_or": 7199, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1315.97}, "cpsat_response_stats": {"num_booleans": 1755, "num_integers": 461, "num_fixed_booleans": 50, "num_conflicts": 408, "num_branches": 10424, "num_binary_propagations": 431442, "num_integer_propagations": 222712, "num_restarts": 3, "num_lp_iterations": 1065, "wall_time": 1.31434, "user_time": 1.31434, "deterministic_time": 1.05133, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 29104, "constraint_breakdown": {"at_most_one": 133, "linear": 12259, "bool_or": 9933, "bool_and": 6779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.35}, "cpsat_response_stats": {"num_booleans": 3023, "num_integers": 671, "num_fixed_booleans": 71, "num_conflicts": 884, "num_branches": 19554, "num_binary_propagations": 991570, "num_integer_propagations": 485349, "num_restarts": 6, "num_lp_iterations": 4484, "wall_time": 3.25003, "user_time": 3.25003, "deterministic_time": 2.58996, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20876, "num_bool": 16436, "num_int": 4440, "num_constraints": 237190, "constraint_breakdown": {"at_most_one": 727, "linear": 109944, "bool_or": 77105, "bool_and": 49414}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 66907.9}, "cpsat_response_stats": {"num_booleans": 30996, "num_integers": 4526, "num_fixed_booleans": 12664, "num_conflicts": 9936, "num_branches": 121156, "num_binary_propagations": 16011530, "num_integer_propagations": 4343120, "num_restarts": 85, "num_lp_iterations": 252850, "wall_time": 66.9021, "user_time": 66.9021, "deterministic_time": 69.7478, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 58781, "constraint_breakdown": {"at_most_one": 247, "linear": 24864, "bool_or": 20014, "bool_and": 13656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12741}, "cpsat_response_stats": {"num_booleans": 6904, "num_integers": 1404, "num_fixed_booleans": 170, "num_conflicts": 8190, "num_branches": 64546, "num_binary_propagations": 6838973, "num_integer_propagations": 2293937, "num_restarts": 35, "num_lp_iterations": 87756, "wall_time": 12.7249, "user_time": 12.7249, "deterministic_time": 15.7151, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4895.28}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.89302, "user_time": 4.89302, "deterministic_time": 8.1702}, "solution_info": "default_lp", "problem_sha256": "baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3262.15}, "cpsat_response_stats": {"num_booleans": 4115, "num_integers": 671, "num_fixed_booleans": 410, "num_conflicts": 2070, "num_branches": 30975, "num_binary_propagations": 1379319, "num_integer_propagations": 709063, "num_restarts": 9, "num_lp_iterations": 8027, "wall_time": 3.25716, "user_time": 3.25716, "deterministic_time": 3.92594, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1017.39}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 1.01615, "user_time": 1.01615, "deterministic_time": 1.26922}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20876, "num_bool": 16436, "num_int": 4440, "num_constraints": 237190, "constraint_breakdown": {"at_most_one": 727, "linear": 109944, "bool_or": 77105, "bool_and": 49414}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 68275}, "cpsat_response_stats": {"num_booleans": 30976, "num_integers": 4526, "num_fixed_booleans": 1308, "num_conflicts": 11901, "num_branches": 119272, "num_binary_propagations": 18423214, "num_integer_propagations": 4473261, "num_restarts": 77, "num_lp_iterations": 244841, "wall_time": 68.2518, "user_time": 68.2518, "deterministic_time": 73.1088, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58438, "constraint_breakdown": {"at_most_one": 249, "linear": 24322, "bool_or": 20117, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11690.6}, "cpsat_response_stats": {"num_booleans": 10367, "num_integers": 1353, "num_fixed_booleans": 806, "num_conflicts": 6207, "num_branches": 130018, "num_binary_propagations": 4330955, "num_integer_propagations": 2030155, "num_restarts": 22, "num_lp_iterations": 85997, "wall_time": 11.6768, "user_time": 11.6768, "deterministic_time": 13.9314, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 40817, "constraint_breakdown": {"at_most_one": 188, "linear": 16672, "bool_or": 14138, "bool_and": 9819}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6444.66}, "cpsat_response_stats": {"num_booleans": 4947, "num_integers": 1041, "num_fixed_booleans": 106, "num_conflicts": 1164, "num_branches": 39616, "num_binary_propagations": 1826019, "num_integer_propagations": 869336, "num_restarts": 12, "num_lp_iterations": 14826, "wall_time": 6.43579, "user_time": 6.43579, "deterministic_time": 6.93193, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 837165}, "cpsat_response_stats": {"num_booleans": 31402, "num_integers": 3986, "num_fixed_booleans": 1018, "num_conflicts": 213359, "num_branches": 1171620, "num_binary_propagations": 249450762, "num_integer_propagations": 71481083, "num_restarts": 923, "num_lp_iterations": 5188093, "wall_time": 837.131, "user_time": 837.131, "deterministic_time": 1353.18, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 502.374}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.50176, "user_time": 0.50176, "deterministic_time": 0.611565}, "solution_info": "no_lp", "problem_sha256": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 44364, "constraint_breakdown": {"at_most_one": 194, "linear": 18817, "bool_or": 15164, "bool_and": 10189}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4816.56}, "cpsat_response_stats": {"num_booleans": 5507, "num_integers": 1041, "num_fixed_booleans": 117, "num_conflicts": 1919, "num_branches": 42736, "num_binary_propagations": 2911740, "num_integer_propagations": 1164657, "num_restarts": 18, "num_lp_iterations": 17728, "wall_time": 4.80768, "user_time": 4.80768, "deterministic_time": 6.62824, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 61768, "constraint_breakdown": {"at_most_one": 300, "linear": 23701, "bool_or": 22078, "bool_and": 15689}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10744.1}, "cpsat_response_stats": {"num_booleans": 9509, "num_integers": 1615, "num_fixed_booleans": 360, "num_conflicts": 3721, "num_branches": 100111, "num_binary_propagations": 4602773, "num_integer_propagations": 2056450, "num_restarts": 39, "num_lp_iterations": 53719, "wall_time": 10.7341, "user_time": 10.7341, "deterministic_time": 16.4477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7530.89}, "cpsat_response_stats": {"num_booleans": 8076, "num_conflicts": 8859, "num_branches": 83041, "num_binary_propagations": 8202624, "num_integer_propagations": 2570750, "num_restarts": 72, "wall_time": 7.52507, "user_time": 7.52507, "deterministic_time": 23.9536}, "solution_info": "default_lp", "problem_sha256": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1132.06}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.1309, "user_time": 1.1309, "deterministic_time": 1.17979}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94141}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11003.3}, "cpsat_response_stats": {"num_booleans": 12814, "num_conflicts": 9050, "num_branches": 97946, "num_binary_propagations": 10764050, "num_integer_propagations": 3395144, "num_restarts": 84, "wall_time": 10.9938, "user_time": 10.9938, "deterministic_time": 32.2612}, "solution_info": "no_lp", "problem_sha256": "c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 25921, "constraint_breakdown": {"at_most_one": 132, "linear": 10033, "bool_or": 9211, "bool_and": 6545}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4920.17}, "cpsat_response_stats": {"num_booleans": 2695, "num_integers": 626, "num_fixed_booleans": 72, "num_conflicts": 712, "num_branches": 19587, "num_binary_propagations": 622076, "num_integer_propagations": 306569, "num_restarts": 9, "num_lp_iterations": 4847, "wall_time": 4.91391, "user_time": 4.91391, "deterministic_time": 4.70544, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 192562, "constraint_breakdown": {"at_most_one": 618, "linear": 88116, "bool_or": 63141, "bool_and": 40687}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 400652}, "cpsat_response_stats": {"num_booleans": 27751, "num_integers": 3879, "num_fixed_booleans": 1165, "num_conflicts": 122197, "num_branches": 544974, "num_binary_propagations": 158611075, "num_integer_propagations": 37718100, "num_restarts": 536, "num_lp_iterations": 2897820, "wall_time": 400.603, "user_time": 400.603, "deterministic_time": 817.73, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1988.07}, "cpsat_response_stats": {"num_booleans": 1808, "num_integers": 464, "num_fixed_booleans": 49, "num_conflicts": 372, "num_branches": 10428, "num_binary_propagations": 444664, "num_integer_propagations": 225857, "num_restarts": 3, "num_lp_iterations": 674, "wall_time": 1.98639, "user_time": 1.98639, "deterministic_time": 1.6284, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 30242, "constraint_breakdown": {"at_most_one": 135, "linear": 12738, "bool_or": 10365, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2431.35}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 607, "num_fixed_booleans": 124, "num_conflicts": 646, "num_branches": 15490, "num_binary_propagations": 1032948, "num_integer_propagations": 491411, "num_restarts": 3, "num_lp_iterations": 1411, "wall_time": 2.42503, "user_time": 2.42503, "deterministic_time": 2.17952, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14493}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 304.492}, "cpsat_response_stats": {"num_booleans": 778, "num_conflicts": 163, "num_branches": 3749, "num_binary_propagations": 173312, "num_integer_propagations": 109162, "num_restarts": 2, "wall_time": 0.303737, "user_time": 0.303737, "deterministic_time": 0.333838}, "solution_info": "no_lp", "problem_sha256": "c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 30242, "constraint_breakdown": {"at_most_one": 135, "linear": 12738, "bool_or": 10365, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2670.68}, "cpsat_response_stats": {"num_booleans": 2462, "num_integers": 604, "num_fixed_booleans": 97, "num_conflicts": 590, "num_branches": 15794, "num_binary_propagations": 901930, "num_integer_propagations": 446933, "num_restarts": 3, "num_lp_iterations": 2116, "wall_time": 2.6649, "user_time": 2.6649, "deterministic_time": 2.03907, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7808.57}, "cpsat_response_stats": {"num_booleans": 7170, "num_integers": 1359, "num_fixed_booleans": 132, "num_conflicts": 2283, "num_branches": 62251, "num_binary_propagations": 3836555, "num_integer_propagations": 1664772, "num_restarts": 21, "num_lp_iterations": 35137, "wall_time": 7.79511, "user_time": 7.79511, "deterministic_time": 7.84759, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 26958, "constraint_breakdown": {"at_most_one": 133, "linear": 10767, "bool_or": 9444, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4839.59}, "cpsat_response_stats": {"num_booleans": 3872, "num_integers": 604, "num_fixed_booleans": 70, "num_conflicts": 2116, "num_branches": 24405, "num_binary_propagations": 946049, "num_integer_propagations": 442534, "num_restarts": 12, "num_lp_iterations": 7805, "wall_time": 4.83433, "user_time": 4.83433, "deterministic_time": 4.23301, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 633.046}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.632124, "user_time": 0.632124, "deterministic_time": 0.856833}, "solution_info": "quick_restart", "problem_sha256": "c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94488, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32332, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 33804.5}, "cpsat_response_stats": {"num_booleans": 12820, "num_integers": 2179, "num_fixed_booleans": 395, "num_conflicts": 18283, "num_branches": 134769, "num_binary_propagations": 15652475, "num_integer_propagations": 4876607, "num_restarts": 148, "num_lp_iterations": 273044, "wall_time": 33.7654, "user_time": 33.7654, "deterministic_time": 56.5736, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4313.07}, "cpsat_response_stats": {"num_booleans": 2654, "num_integers": 635, "num_fixed_booleans": 71, "num_conflicts": 307, "num_branches": 13962, "num_binary_propagations": 503793, "num_integer_propagations": 235016, "num_restarts": 1, "num_lp_iterations": 331, "wall_time": 4.30818, "user_time": 4.30818, "deterministic_time": 5.09543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3883.39}, "cpsat_response_stats": {"num_booleans": 6935, "num_conflicts": 2010, "num_branches": 62433, "num_binary_propagations": 4382597, "num_integer_propagations": 1811844, "num_restarts": 11, "wall_time": 3.88067, "user_time": 3.88067, "deterministic_time": 8.22645}, "solution_info": "default_lp", "problem_sha256": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 58973, "constraint_breakdown": {"at_most_one": 248, "linear": 24942, "bool_or": 20080, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7692.09}, "cpsat_response_stats": {"num_booleans": 7101, "num_integers": 1349, "num_fixed_booleans": 133, "num_conflicts": 1835, "num_branches": 59762, "num_binary_propagations": 3583419, "num_integer_propagations": 1578380, "num_restarts": 18, "num_lp_iterations": 27605, "wall_time": 7.67323, "user_time": 7.67323, "deterministic_time": 8.13808, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30080}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1564.42}, "cpsat_response_stats": {"num_booleans": 2897, "num_conflicts": 951, "num_branches": 16490, "num_binary_propagations": 1114735, "num_integer_propagations": 498581, "num_restarts": 6, "wall_time": 1.56281, "user_time": 1.56281, "deterministic_time": 2.14116}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8928.37}, "cpsat_response_stats": {"num_booleans": 11804, "num_conflicts": 6789, "num_branches": 90678, "num_binary_propagations": 8798320, "num_integer_propagations": 2842544, "num_restarts": 62, "wall_time": 8.92585, "user_time": 8.92585, "deterministic_time": 24.054}, "solution_info": "no_lp", "problem_sha256": "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 19420, "constraint_breakdown": {"at_most_one": 102, "linear": 7566, "bool_or": 6887, "bool_and": 4865}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1152.52}, "cpsat_response_stats": {"num_booleans": 1752, "num_integers": 477, "num_fixed_booleans": 51, "num_conflicts": 172, "num_branches": 8896, "num_binary_propagations": 289873, "num_integer_propagations": 148478, "num_restarts": 1, "num_lp_iterations": 109, "wall_time": 1.1514, "user_time": 1.1514, "deterministic_time": 0.839951, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 38783, "constraint_breakdown": {"at_most_one": 187, "linear": 15273, "bool_or": 13726, "bool_and": 9597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3101.11}, "cpsat_response_stats": {"num_booleans": 4839, "num_integers": 945, "num_fixed_booleans": 105, "num_conflicts": 493, "num_branches": 26836, "num_binary_propagations": 1542282, "num_integer_propagations": 605582, "num_restarts": 1, "num_lp_iterations": 236, "wall_time": 3.09275, "user_time": 3.09275, "deterministic_time": 3.2243, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 51975, "constraint_breakdown": {"at_most_one": 245, "linear": 20574, "bool_or": 18265, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7255.7}, "cpsat_response_stats": {"num_booleans": 6930, "num_integers": 1377, "num_fixed_booleans": 141, "num_conflicts": 3095, "num_branches": 59900, "num_binary_propagations": 3097998, "num_integer_propagations": 1391457, "num_restarts": 39, "num_lp_iterations": 40671, "wall_time": 7.23324, "user_time": 7.23324, "deterministic_time": 8.11072, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 642.02}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.641393, "user_time": 0.641393, "deterministic_time": 0.840026}, "solution_info": "quick_restart", "problem_sha256": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5546.81}, "cpsat_response_stats": {"num_booleans": 5000, "num_integers": 981, "num_fixed_booleans": 106, "num_conflicts": 2328, "num_branches": 42380, "num_binary_propagations": 2790494, "num_integer_propagations": 1121502, "num_restarts": 21, "num_lp_iterations": 24654, "wall_time": 5.53653, "user_time": 5.53653, "deterministic_time": 6.34357, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 987.922}, "cpsat_response_stats": {"num_booleans": 847, "num_integers": 272, "num_fixed_booleans": 20, "num_conflicts": 183, "num_branches": 4481, "num_binary_propagations": 165495, "num_integer_propagations": 99082, "num_restarts": 2, "num_lp_iterations": 193, "wall_time": 0.986715, "user_time": 0.986715, "deterministic_time": 0.725161, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1549180.0}, "cpsat_response_stats": {"num_booleans": 39882, "num_conflicts": 443078, "num_branches": 1855860, "num_binary_propagations": 634174655, "num_integer_propagations": 156622140, "num_restarts": 2195, "wall_time": 1549.16, "user_time": 1549.16, "deterministic_time": 4027.99}, "solution_info": "no_lp", "problem_sha256": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 45373, "constraint_breakdown": {"at_most_one": 191, "linear": 19313, "bool_or": 15517, "bool_and": 10352}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6403.38}, "cpsat_response_stats": {"num_booleans": 5233, "num_integers": 975, "num_fixed_booleans": 121, "num_conflicts": 1734, "num_branches": 40697, "num_binary_propagations": 2391730, "num_integer_propagations": 1008786, "num_restarts": 15, "num_lp_iterations": 12581, "wall_time": 6.39427, "user_time": 6.39427, "deterministic_time": 6.78591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2972.04}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 2.97016, "user_time": 2.97016, "deterministic_time": 4.09745}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 30264, "constraint_breakdown": {"at_most_one": 134, "linear": 12974, "bool_or": 10252, "bool_and": 6904}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2736.12}, "cpsat_response_stats": {"num_booleans": 2925, "num_integers": 637, "num_fixed_booleans": 151, "num_conflicts": 931, "num_branches": 17958, "num_binary_propagations": 994439, "num_integer_propagations": 478092, "num_restarts": 6, "num_lp_iterations": 2989, "wall_time": 2.72245, "user_time": 2.72245, "deterministic_time": 1.97305, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 377.333}, "cpsat_response_stats": {"num_booleans": 1670, "num_conflicts": 1116, "num_branches": 25101, "num_binary_propagations": 323929, "num_integer_propagations": 229686, "num_restarts": 7, "wall_time": 0.376849, "user_time": 0.376849, "deterministic_time": 0.418748}, "solution_info": "quick_restart", "problem_sha256": "cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 636.406}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.635351, "user_time": 0.635351, "deterministic_time": 0.898867}, "solution_info": "fs_random_no_lp", "problem_sha256": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27031}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1605.55}, "cpsat_response_stats": {"num_booleans": 2865, "num_conflicts": 335, "num_branches": 15513, "num_binary_propagations": 749975, "num_integer_propagations": 323890, "num_restarts": 1, "wall_time": 1.60437, "user_time": 1.60437, "deterministic_time": 2.20673}, "solution_info": "default_lp", "problem_sha256": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94632, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32476, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15126.3}, "cpsat_response_stats": {"num_booleans": 12644, "num_integers": 2142, "num_fixed_booleans": 313, "num_conflicts": 6826, "num_branches": 86123, "num_binary_propagations": 9199914, "num_integer_propagations": 2828603, "num_restarts": 65, "num_lp_iterations": 90847, "wall_time": 15.1091, "user_time": 15.1091, "deterministic_time": 24.2877, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1772.15}, "cpsat_response_stats": {"num_booleans": 3453, "num_conflicts": 1612, "num_branches": 16281, "num_binary_propagations": 1266631, "num_integer_propagations": 516584, "num_restarts": 6, "wall_time": 1.77084, "user_time": 1.77084, "deterministic_time": 2.54555}, "solution_info": "fs_random_no_lp", "problem_sha256": "d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56174}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3731.05}, "cpsat_response_stats": {"num_booleans": 7219, "num_conflicts": 1819, "num_branches": 62821, "num_binary_propagations": 3659457, "num_integer_propagations": 1596306, "num_restarts": 18, "wall_time": 3.72777, "user_time": 3.72777, "deterministic_time": 8.34385}, "solution_info": "default_lp", "problem_sha256": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5355.17}, "cpsat_response_stats": {"num_booleans": 5016, "num_integers": 966, "num_fixed_booleans": 105, "num_conflicts": 937, "num_branches": 35168, "num_binary_propagations": 1589397, "num_integer_propagations": 679253, "num_restarts": 9, "num_lp_iterations": 8295, "wall_time": 5.34862, "user_time": 5.34862, "deterministic_time": 4.77691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 974.173}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 0.973139, "user_time": 0.973139, "deterministic_time": 1.26936}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190797}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 241828}, "cpsat_response_stats": {"num_booleans": 27886, "num_conflicts": 113751, "num_branches": 616288, "num_binary_propagations": 138429930, "num_integer_propagations": 38199499, "num_restarts": 521, "wall_time": 241.815, "user_time": 241.815, "deterministic_time": 753.539}, "solution_info": "no_lp", "problem_sha256": "d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7758.26}, "cpsat_response_stats": {"num_booleans": 7414, "num_integers": 1493, "num_fixed_booleans": 142, "num_conflicts": 2512, "num_branches": 61449, "num_binary_propagations": 3643632, "num_integer_propagations": 1558160, "num_restarts": 15, "num_lp_iterations": 28859, "wall_time": 7.74627, "user_time": 7.74627, "deterministic_time": 7.84112, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3732, "num_bool": 2581, "num_int": 1151, "num_constraints": 43342, "constraint_breakdown": {"at_most_one": 191, "linear": 18082, "bool_or": 14903, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5402.52}, "cpsat_response_stats": {"num_booleans": 5481, "num_integers": 964, "num_fixed_booleans": 431, "num_conflicts": 2651, "num_branches": 84649, "num_binary_propagations": 2911236, "num_integer_propagations": 1366860, "num_restarts": 19, "num_lp_iterations": 25977, "wall_time": 5.39512, "user_time": 5.39512, "deterministic_time": 7.43684, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 32621, "constraint_breakdown": {"at_most_one": 158, "linear": 12926, "bool_or": 11515, "bool_and": 8022}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2636.93}, "cpsat_response_stats": {"num_booleans": 3965, "num_integers": 799, "num_fixed_booleans": 90, "num_conflicts": 591, "num_branches": 23984, "num_binary_propagations": 1217090, "num_integer_propagations": 476440, "num_restarts": 3, "num_lp_iterations": 1768, "wall_time": 2.63001, "user_time": 2.63001, "deterministic_time": 2.88591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3496, "num_bool": 2362, "num_int": 1134, "num_constraints": 41015, "constraint_breakdown": {"at_most_one": 188, "linear": 16778, "bool_or": 14230, "bool_and": 9819}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4844.67}, "cpsat_response_stats": {"num_booleans": 4808, "num_integers": 1020, "num_fixed_booleans": 111, "num_conflicts": 897, "num_branches": 33449, "num_binary_propagations": 1909258, "num_integer_propagations": 839189, "num_restarts": 6, "num_lp_iterations": 4405, "wall_time": 4.83731, "user_time": 4.83731, "deterministic_time": 6.95599, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3604, "num_int": 1500, "num_constraints": 59384, "constraint_breakdown": {"at_most_one": 248, "linear": 25207, "bool_or": 20226, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6416.26}, "cpsat_response_stats": {"num_booleans": 7200, "num_integers": 1335, "num_fixed_booleans": 134, "num_conflicts": 1981, "num_branches": 59854, "num_binary_propagations": 4169992, "num_integer_propagations": 1744375, "num_restarts": 15, "num_lp_iterations": 27046, "wall_time": 6.40549, "user_time": 6.40549, "deterministic_time": 8.47782, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1764.03}, "cpsat_response_stats": {"num_booleans": 5046, "num_conflicts": 4158, "num_branches": 57953, "num_binary_propagations": 2732212, "num_integer_propagations": 1222426, "num_restarts": 21, "wall_time": 1.76245, "user_time": 1.76245, "deterministic_time": 2.6842}, "solution_info": "default_lp", "problem_sha256": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 688.182}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.687169, "user_time": 0.687169, "deterministic_time": 1.00223}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3980.14}, "cpsat_response_stats": {"num_booleans": 4163, "num_integers": 837, "num_fixed_booleans": 533, "num_conflicts": 1168, "num_branches": 27661, "num_binary_propagations": 1704118, "num_integer_propagations": 750339, "num_restarts": 6, "num_lp_iterations": 3846, "wall_time": 3.97132, "user_time": 3.97132, "deterministic_time": 4.24827, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3748.33}, "cpsat_response_stats": {"num_booleans": 2188, "num_integers": 517, "num_fixed_booleans": 55, "num_conflicts": 531, "num_branches": 12139, "num_binary_propagations": 533981, "num_integer_propagations": 281523, "num_restarts": 3, "num_lp_iterations": 849, "wall_time": 3.74356, "user_time": 3.74356, "deterministic_time": 2.30902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49278}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4490.47}, "cpsat_response_stats": {"num_booleans": 6764, "num_conflicts": 1914, "num_branches": 57190, "num_binary_propagations": 2673983, "num_integer_propagations": 1138916, "num_restarts": 21, "wall_time": 4.48732, "user_time": 4.48732, "deterministic_time": 8.23222}, "solution_info": "default_lp", "problem_sha256": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11693.6}, "cpsat_response_stats": {"num_booleans": 8101, "num_integers": 1418, "num_fixed_booleans": 208, "num_conflicts": 2652, "num_branches": 73629, "num_binary_propagations": 4497541, "num_integer_propagations": 1845745, "num_restarts": 24, "num_lp_iterations": 33473, "wall_time": 11.6816, "user_time": 11.6816, "deterministic_time": 14.342, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1257, "num_int": 594, "num_constraints": 20861, "constraint_breakdown": {"at_most_one": 102, "linear": 8670, "bool_or": 7198, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1287.87}, "cpsat_response_stats": {"num_booleans": 1884, "num_integers": 505, "num_fixed_booleans": 56, "num_conflicts": 325, "num_branches": 10876, "num_binary_propagations": 545066, "num_integer_propagations": 267248, "num_restarts": 1, "num_lp_iterations": 282, "wall_time": 1.28643, "user_time": 1.28643, "deterministic_time": 1.2279, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3551.33}, "cpsat_response_stats": {"num_booleans": 2471, "num_integers": 592, "num_fixed_booleans": 77, "num_conflicts": 803, "num_branches": 16588, "num_binary_propagations": 971423, "num_integer_propagations": 461010, "num_restarts": 6, "num_lp_iterations": 1893, "wall_time": 3.5441, "user_time": 3.5441, "deterministic_time": 3.23431, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28952}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1895.54}, "cpsat_response_stats": {"num_booleans": 4897, "num_conflicts": 3683, "num_branches": 32229, "num_binary_propagations": 2195853, "num_integer_propagations": 880604, "num_restarts": 21, "wall_time": 1.89449, "user_time": 1.89449, "deterministic_time": 2.78948}, "solution_info": "fs_random", "problem_sha256": "db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58108}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4168.07}, "cpsat_response_stats": {"num_booleans": 6777, "num_conflicts": 1594, "num_branches": 55705, "num_binary_propagations": 3686234, "num_integer_propagations": 1580012, "num_restarts": 9, "wall_time": 4.16523, "user_time": 4.16523, "deterministic_time": 8.38265}, "solution_info": "default_lp", "problem_sha256": "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 37320, "constraint_breakdown": {"at_most_one": 160, "linear": 16219, "bool_or": 12573, "bool_and": 8368}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.49}, "cpsat_response_stats": {"num_booleans": 3993, "num_integers": 831, "num_fixed_booleans": 853, "num_conflicts": 1120, "num_branches": 26394, "num_binary_propagations": 1678885, "num_integer_propagations": 742913, "num_restarts": 6, "num_lp_iterations": 4426, "wall_time": 3.88588, "user_time": 3.88588, "deterministic_time": 3.00747, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38566}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3140.42}, "cpsat_response_stats": {"num_booleans": 8026, "num_conflicts": 5606, "num_branches": 75969, "num_binary_propagations": 3038054, "num_integer_propagations": 1261262, "num_restarts": 25, "wall_time": 3.13839, "user_time": 3.13839, "deterministic_time": 5.024}, "solution_info": "fs_random_no_lp", "problem_sha256": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11336.5}, "cpsat_response_stats": {"num_booleans": 6811, "num_integers": 1298, "num_fixed_booleans": 397, "num_conflicts": 3325, "num_branches": 65832, "num_binary_propagations": 3913696, "num_integer_propagations": 1654533, "num_restarts": 27, "num_lp_iterations": 43175, "wall_time": 11.3117, "user_time": 11.3117, "deterministic_time": 13.2456, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2894.64}, "cpsat_response_stats": {"num_booleans": 1468, "num_integers": 371, "num_fixed_booleans": 55, "num_conflicts": 229, "num_branches": 7101, "num_binary_propagations": 331230, "num_integer_propagations": 163477, "num_restarts": 1, "num_lp_iterations": 77, "wall_time": 2.89066, "user_time": 2.89066, "deterministic_time": 1.82151, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 60202, "constraint_breakdown": {"at_most_one": 247, "linear": 25809, "bool_or": 20421, "bool_and": 13725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16580.1}, "cpsat_response_stats": {"num_booleans": 7803, "num_integers": 1408, "num_fixed_booleans": 234, "num_conflicts": 8747, "num_branches": 86424, "num_binary_propagations": 8099187, "num_integer_propagations": 2652010, "num_restarts": 36, "num_lp_iterations": 82379, "wall_time": 16.554, "user_time": 16.554, "deterministic_time": 22.3038, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6297.97}, "cpsat_response_stats": {"num_booleans": 5076, "num_integers": 1051, "num_fixed_booleans": 106, "num_conflicts": 797, "num_branches": 35952, "num_binary_propagations": 1651104, "num_integer_propagations": 765565, "num_restarts": 6, "num_lp_iterations": 7463, "wall_time": 6.2898, "user_time": 6.2898, "deterministic_time": 6.38374, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26786}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2054.76}, "cpsat_response_stats": {"num_booleans": 2552, "num_conflicts": 500, "num_branches": 14190, "num_binary_propagations": 723215, "num_integer_propagations": 366790, "num_restarts": 3, "wall_time": 2.05358, "user_time": 2.05358, "deterministic_time": 2.89887}, "solution_info": "no_lp", "problem_sha256": "e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5312, "num_bool": 3831, "num_int": 1481, "num_constraints": 60364, "constraint_breakdown": {"at_most_one": 247, "linear": 25865, "bool_or": 20527, "bool_and": 13725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12804.9}, "cpsat_response_stats": {"num_booleans": 7875, "num_integers": 1389, "num_fixed_booleans": 272, "num_conflicts": 5457, "num_branches": 68944, "num_binary_propagations": 7187925, "num_integer_propagations": 2304961, "num_restarts": 39, "num_lp_iterations": 55387, "wall_time": 12.7942, "user_time": 12.7942, "deterministic_time": 14.0536, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 36452, "constraint_breakdown": {"at_most_one": 160, "linear": 15539, "bool_or": 12406, "bool_and": 8347}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5253.12}, "cpsat_response_stats": {"num_booleans": 4689, "num_integers": 820, "num_fixed_booleans": 809, "num_conflicts": 2043, "num_branches": 31440, "num_binary_propagations": 1976347, "num_integer_propagations": 869683, "num_restarts": 15, "num_lp_iterations": 10982, "wall_time": 5.24519, "user_time": 5.24519, "deterministic_time": 4.28569, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2930, "num_int": 1127, "num_constraints": 45640, "constraint_breakdown": {"at_most_one": 190, "linear": 19771, "bool_or": 15424, "bool_and": 10255}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4887.83}, "cpsat_response_stats": {"num_booleans": 5461, "num_integers": 1037, "num_fixed_booleans": 261, "num_conflicts": 2631, "num_branches": 43623, "num_binary_propagations": 3593297, "num_integer_propagations": 1504747, "num_restarts": 21, "num_lp_iterations": 25469, "wall_time": 4.87833, "user_time": 4.87833, "deterministic_time": 7.24441, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6608.39}, "cpsat_response_stats": {"num_booleans": 5213, "num_integers": 1000, "num_fixed_booleans": 261, "num_conflicts": 1763, "num_branches": 39458, "num_binary_propagations": 2473271, "num_integer_propagations": 1097405, "num_restarts": 12, "num_lp_iterations": 12709, "wall_time": 6.58629, "user_time": 6.58629, "deterministic_time": 6.43063, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20757, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7173, "bool_and": 4889}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1117.04}, "cpsat_response_stats": {"num_booleans": 1786, "num_integers": 470, "num_fixed_booleans": 55, "num_conflicts": 286, "num_branches": 9923, "num_binary_propagations": 413494, "num_integer_propagations": 212629, "num_restarts": 1, "num_lp_iterations": 349, "wall_time": 1.11495, "user_time": 1.11495, "deterministic_time": 0.817957, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7970.52}, "cpsat_response_stats": {"num_booleans": 7654, "num_integers": 1379, "num_fixed_booleans": 141, "num_conflicts": 2467, "num_branches": 65020, "num_binary_propagations": 3819270, "num_integer_propagations": 1583355, "num_restarts": 24, "num_lp_iterations": 23832, "wall_time": 7.95906, "user_time": 7.95906, "deterministic_time": 7.82318, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30280}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1251.32}, "cpsat_response_stats": {"num_booleans": 2445, "num_conflicts": 733, "num_branches": 15802, "num_binary_propagations": 1169334, "num_integer_propagations": 540081, "num_restarts": 3, "wall_time": 1.25004, "user_time": 1.25004, "deterministic_time": 2.15822}, "solution_info": "fs_random_no_lp", "problem_sha256": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19405, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6839, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 916.404}, "cpsat_response_stats": {"num_booleans": 1324, "num_integers": 357, "num_fixed_booleans": 140, "num_conflicts": 271, "num_branches": 5748, "num_binary_propagations": 382393, "num_integer_propagations": 187153, "num_restarts": 1, "num_lp_iterations": 83, "wall_time": 0.914853, "user_time": 0.914853, "deterministic_time": 0.718591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20881, "num_bool": 16450, "num_int": 4431, "num_constraints": 236975, "constraint_breakdown": {"at_most_one": 727, "linear": 109273, "bool_or": 77125, "bool_and": 49850}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4689630.0}, "cpsat_response_stats": {"num_booleans": 34725, "num_integers": 4908, "num_fixed_booleans": 1393, "num_conflicts": 1180208, "num_branches": 4605661, "num_binary_propagations": 1460251131, "num_integer_propagations": 383038351, "num_restarts": 5302, "num_lp_iterations": 30955690, "wall_time": 4689.57, "user_time": 4689.57, "deterministic_time": 9645.78, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25694}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2575.79}, "cpsat_response_stats": {"num_booleans": 2564, "num_conflicts": 255, "num_branches": 13536, "num_binary_propagations": 561351, "num_integer_propagations": 250659, "num_restarts": 1, "wall_time": 2.57446, "user_time": 2.57446, "deterministic_time": 4.3558}, "solution_info": "no_lp", "problem_sha256": "eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3548.75}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 3.54466, "user_time": 3.54466, "deterministic_time": 4.09768}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3732, "num_bool": 2581, "num_int": 1151, "num_constraints": 43342, "constraint_breakdown": {"at_most_one": 191, "linear": 18082, "bool_or": 14903, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4618.5}, "cpsat_response_stats": {"num_booleans": 5348, "num_integers": 963, "num_fixed_booleans": 265, "num_conflicts": 2166, "num_branches": 52761, "num_binary_propagations": 2657527, "num_integer_propagations": 1132849, "num_restarts": 12, "num_lp_iterations": 16354, "wall_time": 4.61026, "user_time": 4.61026, "deterministic_time": 6.90447, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 26603}, "cpsat_response_stats": {"num_booleans": 17967, "num_conflicts": 16842, "num_branches": 255182, "num_binary_propagations": 20803592, "num_integer_propagations": 7225733, "num_restarts": 135, "wall_time": 26.5969, "user_time": 26.5969, "deterministic_time": 88.5344}, "solution_info": "no_lp", "problem_sha256": "ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1608.48}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.6071, "user_time": 1.6071, "deterministic_time": 2.78436}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3318.12}, "cpsat_response_stats": {"num_booleans": 6711, "num_conflicts": 4463, "num_branches": 93544, "num_binary_propagations": 3540206, "num_integer_propagations": 1562033, "num_restarts": 23, "wall_time": 3.31652, "user_time": 3.31652, "deterministic_time": 7.18218}, "solution_info": "no_lp", "problem_sha256": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32383.5}, "cpsat_response_stats": {"num_booleans": 12990, "num_integers": 2191, "num_fixed_booleans": 372, "num_conflicts": 15627, "num_branches": 122298, "num_binary_propagations": 14503936, "num_integer_propagations": 4444588, "num_restarts": 119, "num_lp_iterations": 236073, "wall_time": 32.3443, "user_time": 32.3443, "deterministic_time": 43.2025, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2932, "num_int": 1129, "num_constraints": 45302, "constraint_breakdown": {"at_most_one": 190, "linear": 19343, "bool_or": 15471, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4562.37}, "cpsat_response_stats": {"num_booleans": 5335, "num_integers": 1028, "num_fixed_booleans": 430, "num_conflicts": 1402, "num_branches": 41147, "num_binary_propagations": 2712240, "num_integer_propagations": 1153498, "num_restarts": 6, "num_lp_iterations": 7069, "wall_time": 4.55341, "user_time": 4.55341, "deterministic_time": 5.86141, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7673.95}, "cpsat_response_stats": {"num_booleans": 6697, "num_integers": 1363, "num_fixed_booleans": 215, "num_conflicts": 2756, "num_branches": 52996, "num_binary_propagations": 3652200, "num_integer_propagations": 1638316, "num_restarts": 24, "num_lp_iterations": 33119, "wall_time": 7.66122, "user_time": 7.66122, "deterministic_time": 7.88379, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 20766, "constraint_breakdown": {"at_most_one": 102, "linear": 8617, "bool_or": 7156, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380.36}, "cpsat_response_stats": {"num_booleans": 2097, "num_integers": 512, "num_fixed_booleans": 179, "num_conflicts": 497, "num_branches": 11760, "num_binary_propagations": 498136, "num_integer_propagations": 264208, "num_restarts": 3, "num_lp_iterations": 587, "wall_time": 1.37914, "user_time": 1.37914, "deterministic_time": 1.03943, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1974.88}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.97328, "user_time": 1.97328, "deterministic_time": 3.10185}, "solution_info": "fs_random", "problem_sha256": "ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26786}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1667.51}, "cpsat_response_stats": {"num_booleans": 2535, "num_conflicts": 494, "num_branches": 13933, "num_binary_propagations": 686997, "num_integer_propagations": 347568, "num_restarts": 3, "wall_time": 1.66624, "user_time": 1.66624, "deterministic_time": 2.20254}, "solution_info": "no_lp", "problem_sha256": "ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14595.1}, "cpsat_response_stats": {"num_booleans": 12990, "num_conflicts": 13022, "num_branches": 121753, "num_binary_propagations": 13939962, "num_integer_propagations": 4100782, "num_restarts": 111, "wall_time": 14.5923, "user_time": 14.5923, "deterministic_time": 48.0783}, "solution_info": "no_lp", "problem_sha256": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6340.31}, "cpsat_response_stats": {"num_booleans": 5025, "num_integers": 1064, "num_fixed_booleans": 106, "num_conflicts": 876, "num_branches": 36477, "num_binary_propagations": 1730348, "num_integer_propagations": 804974, "num_restarts": 6, "num_lp_iterations": 8274, "wall_time": 6.3299, "user_time": 6.3299, "deterministic_time": 6.44549, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4364, "num_bool": 2861, "num_int": 1503, "num_constraints": 52449, "constraint_breakdown": {"at_most_one": 245, "linear": 20892, "bool_or": 18421, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6043.44}, "cpsat_response_stats": {"num_booleans": 6743, "num_integers": 1343, "num_fixed_booleans": 144, "num_conflicts": 1677, "num_branches": 58474, "num_binary_propagations": 3019970, "num_integer_propagations": 1323561, "num_restarts": 15, "num_lp_iterations": 20265, "wall_time": 6.03092, "user_time": 6.03092, "deterministic_time": 8.10386, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 20821, "constraint_breakdown": {"at_most_one": 103, "linear": 8610, "bool_or": 7199, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1400.94}, "cpsat_response_stats": {"num_booleans": 1872, "num_integers": 469, "num_fixed_booleans": 56, "num_conflicts": 365, "num_branches": 10412, "num_binary_propagations": 451144, "num_integer_propagations": 229653, "num_restarts": 3, "num_lp_iterations": 640, "wall_time": 1.39892, "user_time": 1.39892, "deterministic_time": 0.933528, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5490.98}, "cpsat_response_stats": {"num_booleans": 5186, "num_integers": 992, "num_fixed_booleans": 103, "num_conflicts": 1721, "num_branches": 44355, "num_binary_propagations": 2145324, "num_integer_propagations": 1003383, "num_restarts": 15, "num_lp_iterations": 15050, "wall_time": 5.48341, "user_time": 5.48341, "deterministic_time": 6.24261, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5229.07}, "cpsat_response_stats": {"num_booleans": 4204, "num_integers": 828, "num_fixed_booleans": 313, "num_conflicts": 1162, "num_branches": 27920, "num_binary_propagations": 1625001, "num_integer_propagations": 724805, "num_restarts": 6, "num_lp_iterations": 3118, "wall_time": 5.22275, "user_time": 5.22275, "deterministic_time": 5.07577, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6273.65}, "cpsat_response_stats": {"num_booleans": 5621, "num_integers": 1043, "num_fixed_booleans": 439, "num_conflicts": 2166, "num_branches": 42479, "num_binary_propagations": 2764356, "num_integer_propagations": 1191564, "num_restarts": 18, "num_lp_iterations": 16008, "wall_time": 6.26157, "user_time": 6.26157, "deterministic_time": 6.69212, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3241, "num_bool": 2300, "num_int": 941, "num_constraints": 36541, "constraint_breakdown": {"at_most_one": 160, "linear": 15567, "bool_or": 12467, "bool_and": 8347}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4646.35}, "cpsat_response_stats": {"num_booleans": 4223, "num_integers": 803, "num_fixed_booleans": 546, "num_conflicts": 1577, "num_branches": 27157, "num_binary_propagations": 1978606, "num_integer_propagations": 801923, "num_restarts": 9, "num_lp_iterations": 4865, "wall_time": 4.62909, "user_time": 4.62909, "deterministic_time": 4.01477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11713.1}, "cpsat_response_stats": {"num_booleans": 8110, "num_integers": 1486, "num_fixed_booleans": 205, "num_conflicts": 2608, "num_branches": 83027, "num_binary_propagations": 4012854, "num_integer_propagations": 1638791, "num_restarts": 27, "num_lp_iterations": 26027, "wall_time": 11.7034, "user_time": 11.7034, "deterministic_time": 11.1826, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1523.17}, "cpsat_response_stats": {"num_booleans": 2764, "num_conflicts": 677, "num_branches": 16212, "num_binary_propagations": 1076830, "num_integer_propagations": 508034, "num_restarts": 3, "wall_time": 1.52199, "user_time": 1.52199, "deterministic_time": 2.42093}, "solution_info": "fs_random_no_lp", "problem_sha256": "f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 668.915}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.667998, "user_time": 0.667998, "deterministic_time": 0.713344}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1364.16}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.36307, "user_time": 1.36307, "deterministic_time": 1.66269}, "solution_info": "no_lp", "problem_sha256": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 576.826}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.576211, "user_time": 0.576211, "deterministic_time": 0.713486}, "solution_info": "quick_restart_no_lp", "problem_sha256": "fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 869, "num_int": 448, "num_constraints": 14656, "constraint_breakdown": {"at_most_one": 77, "linear": 5927, "bool_or": 5118, "bool_and": 3534}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 522.676}, "cpsat_response_stats": {"num_booleans": 715, "num_integers": 263, "num_fixed_booleans": 19, "num_conflicts": 146, "num_branches": 3462, "num_binary_propagations": 156717, "num_integer_propagations": 94762, "num_restarts": 1, "num_lp_iterations": 122, "wall_time": 0.521792, "user_time": 0.521792, "deterministic_time": 0.308244, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14012, "constraint_breakdown": {"at_most_one": 76, "linear": 5477, "bool_or": 4962, "bool_and": 3497}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 436.964}, "cpsat_response_stats": {"num_booleans": 819, "num_integers": 280, "num_fixed_booleans": 21, "num_conflicts": 87, "num_branches": 4299, "num_binary_propagations": 109974, "num_integer_propagations": 68570, "num_restarts": 1, "num_lp_iterations": 66, "wall_time": 0.436121, "user_time": 0.436121, "deterministic_time": 0.24253, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16443, "num_int": 4424, "num_constraints": 236494, "constraint_breakdown": {"at_most_one": 727, "linear": 109162, "bool_or": 76936, "bool_and": 49669}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3111920.0}, "cpsat_response_stats": {"num_booleans": 38318, "num_integers": 4881, "num_fixed_booleans": 1701, "num_conflicts": 632852, "num_branches": 2956918, "num_binary_propagations": 774505293, "num_integer_propagations": 240882484, "num_restarts": 3149, "num_lp_iterations": 20666296, "wall_time": 3111.86, "user_time": 3111.86, "deterministic_time": 6244.86, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7010.29}, "cpsat_response_stats": {"num_booleans": 6983, "num_integers": 1275, "num_fixed_booleans": 293, "num_conflicts": 2009, "num_branches": 55718, "num_binary_propagations": 3177086, "num_integer_propagations": 1343137, "num_restarts": 18, "num_lp_iterations": 18369, "wall_time": 6.98713, "user_time": 6.98713, "deterministic_time": 6.805, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8016.85}, "cpsat_response_stats": {"num_booleans": 6990, "num_integers": 1330, "num_fixed_booleans": 144, "num_conflicts": 2704, "num_branches": 66347, "num_binary_propagations": 2807103, "num_integer_propagations": 1221085, "num_restarts": 33, "num_lp_iterations": 32976, "wall_time": 7.99287, "user_time": 7.99287, "deterministic_time": 7.69068, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57828, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19882, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5931.36}, "cpsat_response_stats": {"num_booleans": 7307, "num_integers": 1343, "num_fixed_booleans": 142, "num_conflicts": 1982, "num_branches": 61712, "num_binary_propagations": 4035943, "num_integer_propagations": 1584674, "num_restarts": 18, "num_lp_iterations": 20439, "wall_time": 5.9214, "user_time": 5.9214, "deterministic_time": 8.19457, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14.cpsat.pb"} From 1c8b7cf338524d843509d82b88eac0decb41d53a Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 26 May 2026 14:43:44 +0900 Subject: [PATCH 25/42] update default params --- input/cpsat-bench/evolve/build_samples.py | 10 +++++----- input/cpsat-bench/evolve/config.yaml | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index f1f8301562..d3d4e84eb5 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -47,16 +47,16 @@ _BENCH / "1" / "outliers_top.csv", ] -STAGE1_N = 5 -STAGE2_N = 5 +STAGE1_N = 10 +STAGE2_N = 10 STAGE3_N = 5 STAGE4_N = 20 N_BUCKETS = 5 MAX_BASELINE_MS = 120_000 # cap — exclude > 2 min monsters from sample pool -OUTLIER_IQR_K = 3.0 +OUTLIER_IQR_K = float('inf') -STAGE1_STRATEGY = "center" -STAGE2_STRATEGY = "center" +STAGE1_STRATEGY = "spread" +STAGE2_STRATEGY = "spread" STAGE3_STRATEGY = "outliers" # was "center" — now picks outliers_top.csv STAGE4_STRATEGY = "spread" diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index a902c0f17f..05864093df 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -8,11 +8,11 @@ bench: phases: - dir: phase1_search - iters: 60 + iters: 40 - dir: phase2_presolve - iters: 100 + iters: 40 - dir: phase3_lp_cuts - iters: 80 + iters: 40 - dir: phase4_unified iters: 40 unified_prepare_script: prepare_phase_unified.py @@ -34,7 +34,7 @@ bench: # - Env OPENEVOLVE_PARALLEL_SOLVERS overrides this value. parallel_solvers: 8 -max_iterations: 60 +max_iterations: 40 checkpoint_interval: 10 log_level: "INFO" random_seed: 42 From e51f4abd6b44e78b2c7f1973c64ccff4bc3909da Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 26 May 2026 15:11:55 +0900 Subject: [PATCH 26/42] tune stage3 sampling --- input/cpsat-bench/evolve/README.md | 17 +- input/cpsat-bench/evolve/build_samples.py | 160 +++++++++++++----- input/cpsat-bench/evolve/config.yaml | 12 +- input/cpsat-bench/evolve/rebaseline_local.py | 73 +++++--- input/cpsat-bench/evolve/shared/evaluator.py | 16 ++ input/cpsat-bench/evolve/shared/outliers.json | 6 +- .../evolve/shared/stage1_sample.json | 34 +++- .../evolve/shared/stage2_sample.json | 34 +++- .../evolve/shared/stage3_sample.json | 20 +-- .../evolve/shared/stage4_sample.json | 106 ++++++------ 10 files changed, 336 insertions(+), 142 deletions(-) diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md index 2b1d2d61bd..a073368229 100644 --- a/input/cpsat-bench/evolve/README.md +++ b/input/cpsat-bench/evolve/README.md @@ -47,19 +47,28 @@ LLM-mutated initial_program.py evaluator.py: 1. get_params(problem=None, stage=...) → global dict (workers/locked) 2. LOCKED-violation check (random_seed, num_search_workers, timeout_sec) - 3. stage1 (5 problems, runtime Q1+Q2 cluster centers): + 3. stage1 (10 problems, runtime Q1+Q2 cluster centers): get_params(problem=p, stage="stage1") per problem invalid_param triggers early 0 score → gate (cascade_thresholds[0]) → stage2 - 4. stage2 (5 problems, runtime Q3+Q4 cluster centers): same - 5. stage3 (5 OUTLIER problems from Statistics/outliers_top.csv, - capped @ MAX_BASELINE_MS): + 4. stage2 (10 problems, runtime Q3+Q4 cluster centers): same + 5. stage3 (5 OUTLIER problems, stratified small/mid/large @ cap=1.5M ms, + phase3/4 only — phase1/2 skips stage3 and goes direct to stage4): get_params(problem=p, stage="stage3") — STAGE3_OVERRIDES applied on top of GLOBAL_OVERRIDES + SIZE_BUCKETS match score → gate (cascade_thresholds[2]) → stage4 (chained inside stage3) 6. stage4 (20 broad-runtime problems): final metrics + artifacts ``` +### Why phase1/2 skip stage3 + +Stage3 holds outlier problems whose recorded baseline came from W=8 runs +(median ~25min). Running them at W=1 (phase1/2 PHASE_LOCKED) takes ~10× +longer with no useful signal — phase1/2 tune knobs (presolve, single-worker +search) that the outliers don't really exercise. `evaluate_stage3` checks +`_peek_workers(program_path)` and, when W=1, returns stage4 metrics +directly with a `stage3_policy=skipped` artifact note. + ### Per-problem param resolution Each phase's `initial_program.py` exposes three evolution surfaces inside its diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index d3d4e84eb5..bb57786c6e 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -18,8 +18,9 @@ stage1 (5) center pick from clusters c1+c2 (fast group) — default-param sanity stage2 (5) center pick from clusters c3+c4 (mid group) — default-param sanity stage3 (5) outliers from Statistics/outliers_top.csv — per-problem tune target - (top residual, capped at MAX_BASELINE_MS so a single tune - iteration stays in time budget) + (top residual, capped at STAGE3_MAX_BASELINE_MS — higher than + MAX_BASELINE_MS so genuinely slow outliers enter the tune set; + still bounded so a single evolve iteration finishes) stage4 (20) quintile-spread broad sample, dedup vs stage1-3 Stage3 sample also writes shared/outliers.json (sha -> {residual, baseline_ms, @@ -52,11 +53,30 @@ STAGE3_N = 5 STAGE4_N = 20 N_BUCKETS = 5 -MAX_BASELINE_MS = 120_000 # cap — exclude > 2 min monsters from sample pool -OUTLIER_IQR_K = float('inf') - -STAGE1_STRATEGY = "spread" -STAGE2_STRATEGY = "spread" +# Global cap for stage1/2/4 sample pool. Anything slower than 2 min skews +# the quintile clustering. +MAX_BASELINE_MS = 120_000 +# Stage3 (outlier-only) gets a higher cap so genuinely slow outliers can +# enter the tune set. 25 min ≈ what one stage3 problem can chew through +# under W=8 (raw-data times are W=8-equivalent). Variant timeout = +# baseline_ms * 1.3 in evaluator. +STAGE3_MAX_BASELINE_MS = 1_500_000 +# Stratified stage3 pick — outliers cluster in two size regimes (small +# SAT-like and large LP-heavy). Picking only by residual order biases to +# small ones (they pass the cap easier). Bands: +# small : elapsed_ms < 10_000 (≤10s, vars≈1700-2000) +# mid : 10_000 ≤ ms < 500_000 (10s-500s, vars≈17000) +# large : 500_000 ≤ ms ≤ STAGE3_MAX (500s-1500s, vars≈20000) +# Within each band pick top-N by residual. +STAGE3_SMALL_MS = 10_000 +STAGE3_MID_MS = 500_000 +STAGE3_PICK_SMALL = 2 +STAGE3_PICK_MID = 2 +STAGE3_PICK_LARGE = 1 +OUTLIER_IQR_K = 3.0 + +STAGE1_STRATEGY = "center" +STAGE2_STRATEGY = "center" STAGE3_STRATEGY = "outliers" # was "center" — now picks outliers_top.csv STAGE4_STRATEGY = "spread" @@ -149,45 +169,96 @@ def _load_outliers_top(csv_path): return rows -def _pick_outliers(rows_by_sha, csv_path, n_pick, max_baseline_ms): - """Pick top-N residual outliers from outliers_top.csv whose baseline_ms is - ≤ max_baseline_ms (so a single tune iteration fits time budget). +def _pick_outliers(rows_by_sha, csv_path): + """Stratified outlier pick: bucket csv rows by elapsed_ms into + small/mid/large, then within each bucket pick top-N by residual. + + Returns (picks, csv_rows). picks is in [small..., mid..., large...] order. + csv_rows is the full csv (for outliers.json metadata). - Falls back to slowest-cluster center pick (legacy stage3 logic) if csv is - missing or yields < n_pick eligible entries.""" + Falls back to (None, []) if csv missing — caller uses legacy slow-cluster + center pick then.""" if csv_path is None: print("warning: outliers_top.csv not found — falling back to " "slow-cluster center pick for stage3", file=sys.stderr) return None, [] csv_rows = _load_outliers_top(csv_path) - picks = [] - used = set() - diag = [] + + def _band(ms): + if ms <= 0 or ms > STAGE3_MAX_BASELINE_MS: + return None + if ms < STAGE3_SMALL_MS: + return "small" + if ms < STAGE3_MID_MS: + return "mid" + return "large" + + by_band = {"small": [], "mid": [], "large": []} for c in csv_rows: - if len(picks) >= n_pick: - break - if c["elapsed_ms"] > max_baseline_ms: - diag.append((c["sha"][:12], c["elapsed_ms"], - "skip: > MAX_BASELINE_MS")) + if c["sha"] not in rows_by_sha: continue - d = rows_by_sha.get(c["sha"]) - if d is None: - diag.append((c["sha"][:12], c["elapsed_ms"], - "skip: not in problems.jsonl")) + band = _band(c["elapsed_ms"]) + if band is None: continue - if c["sha"] in used: - continue - picks.append(d) - used.add(c["sha"]) - diag.append((c["sha"][:12], c["elapsed_ms"], - f"pick (residual={c['residual']:.3f}, " - f"n_cons={c['n_cons']})")) + by_band[band].append(c) + # csv_rows already sorted by descending residual → by_band lists inherit. + + band_targets = { + "small": STAGE3_PICK_SMALL, + "mid": STAGE3_PICK_MID, + "large": STAGE3_PICK_LARGE, + } + picks = [] + used = set() + diag = [] + for band in ("small", "mid", "large"): + target = band_targets[band] + taken = 0 + for c in by_band[band]: + if taken >= target: + break + if c["sha"] in used: + continue + d = rows_by_sha[c["sha"]] + picks.append(d) + used.add(c["sha"]) + taken += 1 + diag.append((band, c["sha"][:12], c["elapsed_ms"], + f"pick (residual={c['residual']:.3f}, " + f"n_cons={c['n_cons']})")) + # Backfill: if a band can't fill its quota, try next band's pool. + for c in by_band[band][taken:]: + diag.append((band, c["sha"][:12], c["elapsed_ms"], + f"available (residual={c['residual']:.3f})")) + + # If any band underfilled, top off from remaining bands by residual. + n_target_total = sum(band_targets.values()) + if len(picks) < n_target_total: + leftover = [c for band in ("large", "mid", "small") + for c in by_band[band] if c["sha"] not in used] + leftover.sort(key=lambda c: -c["residual"]) + for c in leftover: + if len(picks) >= n_target_total: + break + d = rows_by_sha[c["sha"]] + picks.append(d) + used.add(c["sha"]) + diag.append(("backfill", c["sha"][:12], c["elapsed_ms"], + f"backfill (residual={c['residual']:.3f})")) + + n_small = sum(1 for b, *_ in diag if b == "small" and "pick" in _[-1]) + n_mid = sum(1 for b, *_ in diag if b == "mid" and "pick" in _[-1]) + n_large = sum(1 for b, *_ in diag if b == "large" and "pick" in _[-1]) print(f"outliers stage3: from {csv_path.relative_to(_BENCH.parent)}, " - f"picked {len(picks)}/{n_pick} under MAX_BASELINE_MS={max_baseline_ms}ms") - for sha12, ms, note in diag: - print(f" {sha12} {int(ms):>10}ms {note}") + f"stratified pick (cap={STAGE3_MAX_BASELINE_MS}ms) " + f"→ {len(picks)} total " + f"[small={n_small}/{STAGE3_PICK_SMALL} " + f"mid={n_mid}/{STAGE3_PICK_MID} " + f"large={n_large}/{STAGE3_PICK_LARGE}]") + for band, sha12, ms, note in diag: + print(f" [{band:<8}] {sha12} {int(ms):>10}ms {note}") return picks, csv_rows @@ -367,19 +438,24 @@ def _bucket_range(b): s1 = _pick(STAGE1_STRATEGY, pool_c12, STAGE1_N) s2 = _pick(STAGE2_STRATEGY, pool_c34, STAGE2_N) - # Stage3: outliers from Statistics/outliers_top.csv (top residual, capped - # at MAX_BASELINE_MS). Fallback to slow-cluster center pick if csv missing - # or yields nothing usable. + # Stage3: stratified outlier pick from Statistics/outliers_top.csv + # (small/mid/large by elapsed_ms, top-residual within each band). cap = + # STAGE3_MAX_BASELINE_MS (higher than stage1/2/4's MAX_BASELINE_MS so + # genuinely slow outliers enter the tune set). Fallback to slow-cluster + # center pick if csv missing. rows_by_sha = {_id_key(d): d for d in rows} outliers_csv = _find_outliers_csv() - s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv, - STAGE3_N, MAX_BASELINE_MS) \ + s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv) \ if outliers_csv else (None, []) if s3_outliers: s3 = s3_outliers - stage3_criteria = (f"top-{STAGE3_N} residual outliers from " - f"{outliers_csv.name}, capped @ " - f"{MAX_BASELINE_MS}ms baseline") + stage3_criteria = (f"stratified outliers from {outliers_csv.name} " + f"(small≤{STAGE3_SMALL_MS}ms / " + f"mid<{STAGE3_MID_MS}ms / " + f"large≤{STAGE3_MAX_BASELINE_MS}ms; " + f"top-residual within band; " + f"target {STAGE3_PICK_SMALL}+{STAGE3_PICK_MID}+" + f"{STAGE3_PICK_LARGE})") else: s3 = _center_pick(pool_c5, STAGE3_N) stage3_criteria = ("FALLBACK: decisive runtime cluster c5 " diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index 05864093df..c5bfd7651a 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -137,9 +137,15 @@ prompt: candidate before stage3 ever runs). Stage layout in cascade: - stage1 (5) fast cluster centers — must not regress - stage2 (5) mid cluster centers — must not regress - stage3 (5) OUTLIER problems only — STAGE3_OVERRIDES active here + stage1 (10) fast cluster centers — must not regress + stage2 (10) mid cluster centers — must not regress + stage3 (5) OUTLIER problems only — STAGE3_OVERRIDES active here. + Stratified small/mid/large + from outliers_top.csv, + cap=1.5M ms baseline. + PHASE1/2 (W=1) SKIP THIS + stage and go direct to stage4. + PHASE3/4 (W=8) run it. stage4 (20) broad spread — final score Outliers (~30 of 430 problems) have ~80x more conflicts, ~13x more branches diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py index 68d0542458..bb486c1826 100644 --- a/input/cpsat-bench/evolve/rebaseline_local.py +++ b/input/cpsat-bench/evolve/rebaseline_local.py @@ -15,6 +15,13 @@ Auto-discovery: walks sibling phase*_*/initial_program.py and unions every PHASE_LOCKED["num_search_workers"]. Override with --workers 1,8 if needed. +STAGE3 OUTLIER POLICY (2026-05 revision): + Stage3 holds outlier problems with W=8-equivalent baselines from raw-data, + some > 1500s. Measuring those at W=1 would either timeout or take ~10× + longer with no value (evaluator skips stage3 for W=1 phases anyway — see + evaluate_stage3). To save rebaseline wall-clock, this script EXCLUDES stage3 + shas from the W=1 task list and measures stage3 only at W>=2. + Output schema (shared/local_baseline.json): { "": { @@ -83,19 +90,23 @@ def _load_problem_index(): return idx -def _load_target_shas(): +def _load_target_shas(include_stage3=True): + """Union of stage sample SHAs (dedup, ordered by first appearance). + include_stage3=False → drop stage3 sample (used for W=1 task list).""" if not _STAGE1_SAMPLE.exists(): print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", file=sys.stderr) sys.exit(2) - ids = [] - seen = set() - for sample_path, label in ( + samples = [ (_STAGE1_SAMPLE, "stage1"), (_STAGE2_SAMPLE, "stage2"), - (_STAGE3_SAMPLE, "stage3"), (_STAGE4_SAMPLE, "stage4"), - ): + ] + if include_stage3: + samples.insert(2, (_STAGE3_SAMPLE, "stage3")) + ids = [] + seen = set() + for sample_path, label in samples: if not sample_path.exists(): print(f"WARN: {sample_path.name} missing — skipping {label}", file=sys.stderr) continue @@ -213,34 +224,46 @@ def main(): worker_counts = _discover_phase_workers() print(f"[rebaseline] worker counts (auto-discovered): {worker_counts}") - shas = _load_target_shas() + # Build BOTH task lists: full (W>=2) and stage3-excluded (W=1). idx = _load_problem_index() - tasks = [] - for i, sha in enumerate(shas): - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) - return 2 - path = _RAW_DIR / meta["problem_filename"] - if not path.exists(): - print(f"ERROR: input not found: {path}", file=sys.stderr) - return 2 - tasks.append((i, meta, path)) + def _build_tasks(shas): + out = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} not in problems.jsonl", + file=sys.stderr) + sys.exit(2) + path = _RAW_DIR / meta["problem_filename"] + if not path.exists(): + print(f"ERROR: input not found: {path}", file=sys.stderr) + sys.exit(2) + out.append((i, meta, path)) + return out + + shas_full = _load_target_shas(include_stage3=True) + shas_no_stage3 = _load_target_shas(include_stage3=False) + tasks_full = _build_tasks(shas_full) + tasks_no_stage3 = _build_tasks(shas_no_stage3) + n_stage3_only = len(shas_full) - len(shas_no_stage3) cores = core_range() if cores is None: cores = list(range(1, parallel_solvers(default=1) + 1)) - print(f"rebaselining union of stage{{1,2,3,4}}_sample.json: " - f"{len(tasks)} problems × {len(worker_counts)} worker counts") + print(f"rebaselining stage{{1,2,3,4}}_sample.json: " + f"{len(tasks_full)} problems total, {n_stage3_only} stage3-only") + print(f" W=1 skips stage3 ({len(tasks_no_stage3)} problems)") + print(f" W>=2 measures all ({len(tasks_full)} problems)") + print(f" worker counts: {worker_counts}") print(f" per-problem timeout = {REBASELINE_TIMEOUT_S}s (never cut short), " f"core pool = {cores}") print() # results[sha]["by_workers"][str(w)] = {...} results = {} - for meta in (m for _, m, _ in tasks): + for meta in (m for _, m, _ in tasks_full): results[meta["sha"]] = { "raw_result": meta["raw_result"], "raw_elapsed_ms": meta["raw_ms"], @@ -250,6 +273,9 @@ def main(): t_start = time.monotonic() mismatch_total = 0 for w in worker_counts: + tasks = tasks_no_stage3 if w == 1 else tasks_full + print(f"[W={w}] {len(tasks)} problems " + f"({'stage3 skipped' if w == 1 else 'all stages'})", flush=True) completed = _measure_at_workers(tasks, w, cores) for i, meta, res, block in completed: got_result = res.get("result", "Unknown") @@ -288,10 +314,11 @@ def main(): elapsed = time.monotonic() - t_start _OUT.write_text(json.dumps(results, indent=2) + "\n") + n_runs = sum(len(r["by_workers"]) for r in results.values()) print() print(f"wrote {_OUT.relative_to(_BENCH_DIR.parent)} " - f"({len(results)} entries × {len(worker_counts)} W = " - f"{len(results) * len(worker_counts)} runs, {mismatch_total} mismatches)") + f"({len(results)} entries, {n_runs} (sha,W) runs, " + f"{mismatch_total} mismatches)") print(f"total time: {elapsed:.1f}s") if mismatch_total: print(f"WARNING: {mismatch_total} (problem, W) pairs had result mismatch — " diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 86fa6d6908..4e173a5de1 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -489,7 +489,23 @@ def evaluate_stage2(program_path): def evaluate_stage3(program_path): # openevolve cascade hardcodes 3 stages, so user-stage4 (broad runtime # sample) is chained inside stage3 via the runtime cascade_threshold gate. + # + # Phase1/2 (W=1) policy: SKIP stage3 entirely. Stage3 holds outlier + # problems whose baseline is W=8-equivalent (raw-data was recorded with + # workers=8); running them at W=1 takes ≥10× longer with no signal — + # phase1/2 tune knobs that are irrelevant at W=1 anyway (subsolver mix, + # cuts). For W=1 phases, skip stage3 and go straight to stage4 as the + # final cascade step. w = _peek_workers(program_path) + if w == 1: + problems4 = _filter_stage4(_load_problems(w)) + r4 = _evaluate(program_path, problems4, "stage4") + if isinstance(r4, EvaluationResult): + r4.artifacts["stage3_policy"] = ( + "skipped: phase has num_search_workers=1 — outlier stage3 " + "is W=8-only (see evaluator.evaluate_stage3 docstring)") + return r4 + problems3 = _filter_stage3(_load_problems(w)) r3 = _evaluate(program_path, problems3, "stage3") if not isinstance(r3, EvaluationResult): diff --git a/input/cpsat-bench/evolve/shared/outliers.json b/input/cpsat-bench/evolve/shared/outliers.json index 18a77fc3cb..045c251cd3 100644 --- a/input/cpsat-bench/evolve/shared/outliers.json +++ b/input/cpsat-bench/evolve/shared/outliers.json @@ -2,9 +2,9 @@ "stage3_sample": [ "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", - "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", - "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", - "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce" + "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", + "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", + "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de" ], "outliers": { "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e": { diff --git a/input/cpsat-bench/evolve/shared/stage1_sample.json b/input/cpsat-bench/evolve/shared/stage1_sample.json index 5a4185a1f9..7e5e126141 100644 --- a/input/cpsat-bench/evolve/shared/stage1_sample.json +++ b/input/cpsat-bench/evolve/shared/stage1_sample.json @@ -1,14 +1,34 @@ { - "selection": "5 decisive runtime clusters c1+c2 (fast group)", + "selection": "10 decisive runtime clusters c1+c2 (fast group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ + "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78", + "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0", + "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", - "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3" + "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3", + "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0", + "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1" ], "summary": [ + { + "sha": "daa215241452", + "baseline_result": "OPTIMAL", + "baseline_ms": 1287.87 + }, + { + "sha": "ba0b9ea5e8f2", + "baseline_result": "OPTIMAL", + "baseline_ms": 1315.97 + }, + { + "sha": "aec821f70ed6", + "baseline_result": "OPTIMAL", + "baseline_ms": 1317.35 + }, { "sha": "90e1185ded53", "baseline_result": "OPTIMAL", @@ -33,6 +53,16 @@ "sha": "eef410430ef1", "baseline_result": "OPTIMAL", "baseline_ms": 1380.36 + }, + { + "sha": "3e69d6f5b785", + "baseline_result": "OPTIMAL", + "baseline_ms": 1384.5 + }, + { + "sha": "395b9abdb720", + "baseline_result": "OPTIMAL", + "baseline_ms": 1394.5 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage2_sample.json b/input/cpsat-bench/evolve/shared/stage2_sample.json index 8630eff9fd..d3b23029ff 100644 --- a/input/cpsat-bench/evolve/shared/stage2_sample.json +++ b/input/cpsat-bench/evolve/shared/stage2_sample.json @@ -1,14 +1,34 @@ { - "selection": "5 decisive runtime clusters c3+c4 (mid group)", + "selection": "10 decisive runtime clusters c3+c4 (mid group)", "source": "cpsat-bench/problems.jsonl", "sha256": [ + "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702", + "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5", + "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf", "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5", "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b", - "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57" + "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57", + "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264", + "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5" ], "summary": [ + { + "sha": "9801d683d790", + "baseline_result": "OPTIMAL", + "baseline_ms": 4600.21 + }, + { + "sha": "ec4b042c8f9a", + "baseline_result": "OPTIMAL", + "baseline_ms": 4618.5 + }, + { + "sha": "f78fe695ba9e", + "baseline_result": "OPTIMAL", + "baseline_ms": 4646.35 + }, { "sha": "aa6fca326d55", "baseline_result": "OPTIMAL", @@ -33,6 +53,16 @@ "sha": "bd4be90c6f16", "baseline_result": "OPTIMAL", "baseline_ms": 4816.56 + }, + { + "sha": "2cf09323b635", + "baseline_result": "OPTIMAL", + "baseline_ms": 4828 + }, + { + "sha": "c4fe2cc04ae7", + "baseline_result": "OPTIMAL", + "baseline_ms": 4839.59 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage3_sample.json b/input/cpsat-bench/evolve/shared/stage3_sample.json index 899e3a731f..0a59eb19ae 100644 --- a/input/cpsat-bench/evolve/shared/stage3_sample.json +++ b/input/cpsat-bench/evolve/shared/stage3_sample.json @@ -1,12 +1,12 @@ { - "selection": "5 top-5 residual outliers from outliers_top.csv, capped @ 120000ms baseline", + "selection": "5 stratified outliers from outliers_top.csv (small\u226410000ms / mid<500000ms / large\u22641500000ms; top-residual within band; target 2+2+1)", "source": "cpsat-bench/problems.jsonl", "sha256": [ "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", - "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", - "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", - "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce" + "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", + "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", + "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de" ], "summary": [ { @@ -20,19 +20,19 @@ "baseline_ms": 3530.81 }, { - "sha": "d8130c88625b", + "sha": "c0bbae62f14d", "baseline_result": "OPTIMAL", - "baseline_ms": 3748.33 + "baseline_ms": 400652 }, { - "sha": "e2b2952cbec1", + "sha": "073ef8ba3455", "baseline_result": "OPTIMAL", - "baseline_ms": 2894.64 + "baseline_ms": 1496560.0 }, { - "sha": "471adab20a30", + "sha": "7e5aa4016ad6", "baseline_result": "OPTIMAL", - "baseline_ms": 3311.66 + "baseline_ms": 1482010.0 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage4_sample.json b/input/cpsat-bench/evolve/shared/stage4_sample.json index 9a7c1ecada..74c934e73c 100644 --- a/input/cpsat-bench/evolve/shared/stage4_sample.json +++ b/input/cpsat-bench/evolve/shared/stage4_sample.json @@ -3,24 +3,24 @@ "source": "cpsat-bench/problems.jsonl", "sha256": [ "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", - "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", - "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea", - "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0", - "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c", - "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", - "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6", - "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", + "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d", + "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7", + "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", + "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec", + "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", + "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71", "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", - "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", - "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba", - "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", - "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5", - "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", - "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6", - "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", - "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", - "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c", - "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", + "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", + "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", + "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", + "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661", + "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6", + "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", + "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0", + "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", + "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5", + "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", + "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067", "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94" ], "summary": [ @@ -30,94 +30,94 @@ "baseline_ms": 105.102 }, { - "sha": "3e2b36379a29", + "sha": "1da421e66009", "baseline_result": "OPTIMAL", - "baseline_ms": 626.761 + "baseline_ms": 623.536 }, { - "sha": "d28acbdfd6c0", + "sha": "568cb19ecec5", "baseline_result": "OPTIMAL", - "baseline_ms": 974.173 + "baseline_ms": 969.978 }, { - "sha": "1a1c06a66af7", + "sha": "915f8918d0b3", "baseline_result": "OPTIMAL", - "baseline_ms": 1500.26 + "baseline_ms": 1537.86 }, { - "sha": "a4dbf4239260", + "sha": "c867ab591447", "baseline_result": "OPTIMAL", - "baseline_ms": 1500.8 + "baseline_ms": 1564.42 }, { - "sha": "6c64b95d90a6", + "sha": "2abe830de840", "baseline_result": "OPTIMAL", - "baseline_ms": 1883.75 + "baseline_ms": 1961.23 }, { - "sha": "87106998551e", + "sha": "37f84b16de74", "baseline_result": "OPTIMAL", - "baseline_ms": 2555.9 + "baseline_ms": 2603.74 }, { - "sha": "9c801bcf5dc6", + "sha": "ca043f0850c1", "baseline_result": "OPTIMAL", - "baseline_ms": 3098.94 + "baseline_ms": 3101.11 }, { - "sha": "ca043f0850c1", + "sha": "674b484eb726", "baseline_result": "OPTIMAL", - "baseline_ms": 3101.11 + "baseline_ms": 3104.21 }, { - "sha": "9f330e3d7528", + "sha": "57b759f315f0", "baseline_result": "OPTIMAL", - "baseline_ms": 3351.44 + "baseline_ms": 3337.57 }, { - "sha": "4dc032eadf8f", + "sha": "5978abbd9b38", "baseline_result": "OPTIMAL", - "baseline_ms": 3844.03 + "baseline_ms": 3841.35 }, { - "sha": "c640cc60784b", + "sha": "4b5c183b2938", "baseline_result": "OPTIMAL", - "baseline_ms": 4313.07 + "baseline_ms": 4210.68 }, { - "sha": "55194630a32d", + "sha": "57b21c3f6c8f", "baseline_result": "OPTIMAL", - "baseline_ms": 4354.72 + "baseline_ms": 4231.64 }, { - "sha": "d1b2c9992efd", + "sha": "1cbb4fb20584", "baseline_result": "OPTIMAL", - "baseline_ms": 5355.17 + "baseline_ms": 5391.62 }, { - "sha": "f38c4b16a010", + "sha": "6c7a1a5ce294", "baseline_result": "OPTIMAL", - "baseline_ms": 6043.44 + "baseline_ms": 6126.11 }, { - "sha": "e5c9e667fbee", + "sha": "a0cd1b349e85", "baseline_result": "OPTIMAL", - "baseline_ms": 6608.39 + "baseline_ms": 6657.63 }, { - "sha": "8a3a0575a6af", + "sha": "643f0a85b4d3", "baseline_result": "OPTIMAL", - "baseline_ms": 6624.34 + "baseline_ms": 6785.44 }, { - "sha": "9b68c85c1a11", + "sha": "e70a9ef2b4f8", "baseline_result": "OPTIMAL", - "baseline_ms": 7909.24 + "baseline_ms": 7970.52 }, { - "sha": "e272c0e4899b", + "sha": "0a65b64b80dc", "baseline_result": "OPTIMAL", - "baseline_ms": 11336.5 + "baseline_ms": 11540.4 }, { "sha": "5b8c61f99d31", From 739fcc844eb641afbc24b25d8f73d6d2a69c899a Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 26 May 2026 17:12:45 +0900 Subject: [PATCH 27/42] tune score logic --- input/cpsat-bench/evolve/README.md | 16 +++- input/cpsat-bench/evolve/benchmark_final.py | 71 +++++++++++++---- input/cpsat-bench/evolve/config.yaml | 14 +++- input/cpsat-bench/evolve/final_verify.py | 22 +++++- .../evolve/shared/_cpsat_solve_worker.py | 12 +++ input/cpsat-bench/evolve/shared/evaluator.py | 8 +- input/cpsat-bench/evolve/shared/score.py | 79 ++++++++++++++++--- 7 files changed, 184 insertions(+), 38 deletions(-) diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md index a073368229..478c5a5e4a 100644 --- a/input/cpsat-bench/evolve/README.md +++ b/input/cpsat-bench/evolve/README.md @@ -149,16 +149,28 @@ The runner already pins each worker subprocess with `taskset -c `. ## Score formula (cost mode) ``` -combined_score = geomean( (b_obj/v_obj)^COST_W * (b_ms/v_ms) ) +combined_score = geomean( (b_obj/v_obj)^COST_W * time_ratio ) * solved_rate^2 * efficiency^STATS_WEIGHT + +time_ratio = baseline_dtime / variant_dtime (primary) + = baseline_ms / variant_ms (fallback when dtime missing) ``` +- **Deterministic_time** (CP-SAT's hardware-independent work measure) is the + primary time metric. Wall-clock varies with CPU load / NUMA / thermal + state — using dtime removes that noise from the score so genuine knob + improvements are visible. `geomean_speedup` in the metrics dict is the + dtime ratio; `geomean_wall_speedup` is reported alongside as a + diagnostic. Override with `OPENEVOLVE_TIME_METRIC=wall` if needed. +- Fallback to wall when either side lacks `deterministic_time` in `stats` + (e.g. older local_baseline.json from before this change — rerun + `rebaseline_local.py` to refresh). - All 85 baselines are OPTIMAL, so if the variant also reaches OPTIMAL, the cost ratio collapses to 1.0 and score reduces to geomean(time speedup). - Variants that bail to FEASIBLE-but-worse-objective are penalized via the cost ratio; variants that bail to UNKNOWN/INFEASIBLE contribute 1e-6 to - the geomean (~60× penalty across stage1's 5 problems). + the geomean (~60× penalty across stage1's 10 problems). - Efficiency factor multiplies based on `num_conflicts` (weight 2.0) and `num_branches` (weight 1.5) ratios vs baseline. diff --git a/input/cpsat-bench/evolve/benchmark_final.py b/input/cpsat-bench/evolve/benchmark_final.py index c1e1ee7538..dfadb990f5 100644 --- a/input/cpsat-bench/evolve/benchmark_final.py +++ b/input/cpsat-bench/evolve/benchmark_final.py @@ -136,11 +136,14 @@ def _resolve_sample(idx): def _aggregate(runs): - """runs = list of dicts {elapsed_ms, result, objective?, timeout, ...}. + """runs = list of dicts {elapsed_ms, result, objective?, timeout, stats?}. Returns aggregate stats over only the decisive runs (others as 'failed'). - """ + Tracks both wall (elapsed_ms) and deterministic_time aggregates.""" decisive = [r for r in runs if r["result"] in _DECISIVE] ms_list = [r["elapsed_ms"] for r in decisive] + dt_list = [(r.get("stats") or {}).get("deterministic_time") + for r in decisive] + dt_list = [d for d in dt_list if d is not None and d > 0] obj_list = [r["objective"] for r in decisive if r.get("objective") is not None] agg = { @@ -156,6 +159,13 @@ def _aggregate(runs): agg["stddev_ms"] = statistics.stdev(ms_list) if len(ms_list) > 1 else 0.0 else: agg.update({"mean_ms": 0, "median_ms": 0, "min_ms": 0, "max_ms": 0, "stddev_ms": 0.0}) + if dt_list: + agg["mean_dt"] = statistics.mean(dt_list) + agg["median_dt"] = statistics.median(dt_list) + agg["stddev_dt"] = statistics.stdev(dt_list) if len(dt_list) > 1 else 0.0 + agg["n_dt"] = len(dt_list) + else: + agg.update({"mean_dt": 0, "median_dt": 0, "stddev_dt": 0.0, "n_dt": 0}) if obj_list: agg["mean_obj"] = statistics.mean(obj_list) agg["min_obj"] = min(obj_list) @@ -175,6 +185,7 @@ def _run_repeat(problem_path, params, n, timeout_s, core, tag): "timeout": bool(r.get("timeout")), "invalid_param": r.get("invalid_param"), "error": r.get("error"), + "stats": r.get("stats") or {}, }) return runs @@ -260,11 +271,13 @@ def _worker(idx_meta): i, meta, b_runs, v_runs, core, dt = completed[-1] b_agg = _aggregate(b_runs) v_agg = _aggregate(v_runs) - sp = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 + sp_w = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 + sp_d = (b_agg["mean_dt"] / max(v_agg["mean_dt"], 1)) if v_agg["mean_dt"] else 0 + sp_main = sp_d if sp_d else sp_w print(f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} core={core} " f"base_mean={b_agg['mean_ms']:>7.0f}ms (n_ok={b_agg['n_decisive']}/{n_iters}) " f"variant_mean={v_agg['mean_ms']:>7.0f}ms (n_ok={v_agg['n_decisive']}/{n_iters}) " - f"speedup={sp:.2f}x (took {dt:.1f}s)", + f"speedup={sp_main:.2f}x[{'dt' if sp_d else 'wall'}] wall={sp_w:.2f}x (took {dt:.1f}s)", flush=True) else: with ThreadPoolExecutor(max_workers=n_parallel) as ex: @@ -312,8 +325,10 @@ def _worker(idx_meta): for _, meta, b_runs, v_runs, _, _ in completed: b_agg = _aggregate(b_runs) v_agg = _aggregate(v_runs) - mean_sp = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 - med_sp = (b_agg["median_ms"] / max(v_agg["median_ms"], 1)) if v_agg["median_ms"] else 0 + mean_sp_w = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 + med_sp_w = (b_agg["median_ms"] / max(v_agg["median_ms"], 1)) if v_agg["median_ms"] else 0 + mean_sp_d = (b_agg["mean_dt"] / max(v_agg["mean_dt"], 1)) if v_agg["mean_dt"] else 0 + med_sp_d = (b_agg["median_dt"] / max(v_agg["median_dt"], 1)) if v_agg["median_dt"] else 0 summary_rows.append({ "sha": meta["sha"], "n_iters": n_iters, @@ -323,14 +338,22 @@ def _worker(idx_meta): "baseline_min_ms": round(b_agg["min_ms"], 1), "baseline_max_ms": round(b_agg["max_ms"], 1), "baseline_stddev_ms": round(b_agg["stddev_ms"], 1), + "baseline_mean_dt": round(b_agg["mean_dt"], 3), + "baseline_median_dt": round(b_agg["median_dt"], 3), + "baseline_n_dt": b_agg["n_dt"], "variant_n_decisive": v_agg["n_decisive"], "variant_mean_ms": round(v_agg["mean_ms"], 1), "variant_median_ms": round(v_agg["median_ms"], 1), "variant_min_ms": round(v_agg["min_ms"], 1), "variant_max_ms": round(v_agg["max_ms"], 1), "variant_stddev_ms": round(v_agg["stddev_ms"], 1), - "mean_speedup": round(mean_sp, 3), - "median_speedup": round(med_sp, 3), + "variant_mean_dt": round(v_agg["mean_dt"], 3), + "variant_median_dt": round(v_agg["median_dt"], 3), + "variant_n_dt": v_agg["n_dt"], + "mean_speedup": round(mean_sp_w, 3), # wall (legacy) + "median_speedup": round(med_sp_w, 3), # wall (legacy) + "mean_dt_speedup": round(mean_sp_d, 3), # deterministic (primary) + "median_dt_speedup": round(med_sp_d, 3), }) with open(summary_csv, "w", newline="") as f: @@ -339,17 +362,28 @@ def _worker(idx_meta): w.writerows(summary_rows) # ----- overall aggregate ----- - # speedup geomean over problems with both means valid + # speedup geomean over problems with both means valid. Compute both wall + # and deterministic-time geomeans; dt is preferred when populated for both + # baseline + variant on every (problem, iter) pair. import math valid = [r for r in summary_rows if r["baseline_mean_ms"] > 0 and r["variant_mean_ms"] > 0 and r["baseline_n_decisive"] > 0 and r["variant_n_decisive"] > 0] + valid_dt = [r for r in valid + if r["mean_dt_speedup"] > 0 and r["median_dt_speedup"] > 0] if valid: geo_mean = math.exp(sum(math.log(r["mean_speedup"]) for r in valid) / len(valid)) geo_med = math.exp(sum(math.log(r["median_speedup"]) for r in valid) / len(valid)) arith_mean = sum(r["mean_speedup"] for r in valid) / len(valid) else: geo_mean = geo_med = arith_mean = 0.0 + if valid_dt: + geo_mean_dt = math.exp(sum(math.log(r["mean_dt_speedup"]) + for r in valid_dt) / len(valid_dt)) + geo_med_dt = math.exp(sum(math.log(r["median_dt_speedup"]) + for r in valid_dt) / len(valid_dt)) + else: + geo_mean_dt = geo_med_dt = 0.0 n_baseline_failed = sum(r["baseline_n_decisive"] < n_iters for r in summary_rows) n_variant_failed = sum(r["variant_n_decisive"] < n_iters for r in summary_rows) @@ -366,10 +400,13 @@ def _worker(idx_meta): "wall_clock_s": round(wall, 1), "n_problems": len(metas), "summary": { - "geomean_speedup_mean": round(geo_mean, 3), - "geomean_speedup_median": round(geo_med, 3), - "arith_mean_speedup": round(arith_mean, 3), + "geomean_dt_speedup_mean": round(geo_mean_dt, 3), # primary + "geomean_dt_speedup_median": round(geo_med_dt, 3), + "geomean_wall_speedup_mean": round(geo_mean, 3), # diagnostic + "geomean_wall_speedup_median": round(geo_med, 3), + "arith_mean_wall_speedup": round(arith_mean, 3), "n_problems_with_valid_speedup": len(valid), + "n_problems_with_valid_dt_speedup": len(valid_dt), "n_baseline_partial_fail": n_baseline_failed, "n_baseline_total_fail": n_baseline_all_failed, "n_variant_partial_fail": n_variant_failed, @@ -380,10 +417,12 @@ def _worker(idx_meta): print() print("== overall (mean-of-means across problems) ==") - print(f" problems with valid speedup : {len(valid)}/{len(metas)}") - print(f" geomean mean-speedup : {geo_mean:.3f}x") - print(f" geomean median-speedup : {geo_med:.3f}x") - print(f" arith mean-speedup : {arith_mean:.3f}x") + print(f" problems with valid speedup : wall={len(valid)}/{len(metas)} dt={len(valid_dt)}/{len(metas)}") + print(f" geomean dt-speedup (mean) : {geo_mean_dt:.3f}x (primary, hardware-independent)") + print(f" geomean dt-speedup (median) : {geo_med_dt:.3f}x") + print(f" geomean wall-speedup (mean) : {geo_mean:.3f}x (diagnostic)") + print(f" geomean wall-speedup (med) : {geo_med:.3f}x") + print(f" arith mean wall-speedup : {arith_mean:.3f}x") print(f" baseline partial-fail cases : {n_baseline_failed} (≥1 of {n_iters} runs non-decisive)") print(f" baseline total-fail cases : {n_baseline_all_failed} (all {n_iters} runs non-decisive)") print(f" variant partial-fail cases : {n_variant_failed}") diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index c5bfd7651a..814ed8d99e 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -71,6 +71,11 @@ prompt: this dict to MAXIMIZE combined_score = geomean(cost_ratio * time_ratio) * solved_rate^2 * efficiency^STATS_WEIGHT. + time_ratio = baseline_dtime / variant_dtime (deterministic_time — + CP-SAT's hardware-independent work counter). Score is NOT noisy across + runs; reductions in deterministic_time directly translate to score wins. + Wall_time is reported as a diagnostic only (geomean_wall_speedup metric). + Score mode = cost: variant must reach OPTIMAL or FEASIBLE on every baseline OPTIMAL problem, otherwise the per-problem ratio is 1e-6 (large penalty, geomean punishes one regression heavily). All baselines are OPTIMAL, so a @@ -119,10 +124,11 @@ prompt: new_constraints_batch_size: int mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance: numeric - Per-round artifacts show speedup, regression, base_obj vs obj for each problem. - Read them: which knob change helped the long Q5 problems vs the fast Q1 ones? - Watch num_conflicts and num_branches — a 2x speedup with same conflict count - is hardware noise; a 2x with 10x fewer conflicts is a real find. + Per-round artifacts show speedup (dtime-based), regression, base_obj vs + obj for each problem. Read them: which knob change helped the long Q5 + problems vs the fast Q1 ones? Watch num_conflicts and num_branches — + speedup with same conflict count is presolve / propagation work shaved + off; speedup with fewer conflicts is a smarter search. Per-problem param resolution (NEW): get_params(problem=None, stage=None). Three evolution surfaces per phase: diff --git a/input/cpsat-bench/evolve/final_verify.py b/input/cpsat-bench/evolve/final_verify.py index 055b557b33..1c38b071f2 100644 --- a/input/cpsat-bench/evolve/final_verify.py +++ b/input/cpsat-bench/evolve/final_verify.py @@ -223,8 +223,17 @@ def _measure(idx_meta): var_result = v.get("result", "Unknown") var_obj = v.get("objective") var_invalid = v.get("invalid_param") - - speedup = base_ms_local / max(var_ms, 1) + b_dt = (b.get("stats") or {}).get("deterministic_time") + v_dt = (v.get("stats") or {}).get("deterministic_time") + + wall_speedup = base_ms_local / max(var_ms, 1) + if b_dt and v_dt and b_dt > 0 and v_dt > 0: + dtime_speedup = float(b_dt) / float(v_dt) + speedup = dtime_speedup + speedup_src = "dt" + else: + speedup = wall_speedup + speedup_src = "wall" if var_invalid: flag = f" INVALID_PARAM={var_invalid}" speedup = 0.0 @@ -257,7 +266,8 @@ def _measure(idx_meta): f"{('/obj=' + format(base_obj, '.3g')) if base_obj is not None else ''} " f"variant={var_result:<10}/{var_ms:>7}ms" f"{('/obj=' + format(var_obj, '.3g')) if var_obj is not None else ''} " - f"speedup={speedup:.2f}x cost_ratio={cost_ratio:.3f}{flag}", + f"speedup={speedup:.2f}x[{speedup_src}] " + f"wall={wall_speedup:.2f}x cost_ratio={cost_ratio:.3f}{flag}", flush=True, ) results.append({ @@ -286,7 +296,11 @@ def _measure(idx_meta): print(f" solved : {metrics['solved']}/{metrics['comparable']}") print(f" regressions : {metrics['regressions']} " f"(baseline OK, variant failed)") - print(f" geomean (cost×time) : {metrics['geomean_speedup']:.3f}") + print(f" geomean (cost×dtime): {metrics['geomean_speedup']:.3f} " + f"(dtime_used={metrics.get('dtime_used', 0)}/" + f"{metrics.get('dtime_used', 0) + metrics.get('dtime_fallback', 0)})") + print(f" geomean (cost×wall) : {metrics.get('geomean_wall_speedup', 0.0):.3f} " + f"(diagnostic)") print(f" solved_rate : {metrics['solved_rate']:.3f} (over comparable)") print(f" efficiency : {metrics.get('efficiency', 1.0):.3f}") print(f" combined_score : {metrics['combined_score']:.3f}") diff --git a/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py b/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py index 6e05b14780..3c33eacda2 100644 --- a/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py +++ b/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py @@ -153,6 +153,18 @@ def main(): except Exception: pass + # deterministic_time: hardware-independent work measure exposed only via + # the response proto, not as a solver method. Critical for fair speedup + # comparison across HW / system load — score.py uses it as the primary + # time_ratio with wall_time as fallback. + try: + resp = solver.ResponseProto() + dt = float(resp.deterministic_time) + if dt > 0: + stats["deterministic_time"] = dt + except Exception: + pass + obj = None if status in (cp_model.OPTIMAL, cp_model.FEASIBLE): try: diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 4e173a5de1..814018a1cb 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -72,7 +72,8 @@ def _load_outlier_shas(): _PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") -_KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", "wall_time", "user_time") +_KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", + "wall_time", "user_time", "deterministic_time") _DECISIVE = ("OPTIMAL", "FEASIBLE") @@ -444,7 +445,10 @@ def _fmt_core(c): "summary": ( f"solved={metrics['solved']}/{metrics['total']} " f"regressions={metrics['regressions']} " - f"geomean_speedup={metrics['geomean_speedup']:.3f} " + f"geomean_dtime={metrics['geomean_speedup']:.3f} " + f"geomean_wall={metrics.get('geomean_wall_speedup', 0.0):.3f} " + f"dtime_used={metrics.get('dtime_used', 0)}/" + f"{metrics.get('dtime_used', 0) + metrics.get('dtime_fallback', 0)} " f"efficiency={metrics.get('efficiency', 1.0):.3f} " f"score={metrics['combined_score']:.3f}" ), diff --git a/input/cpsat-bench/evolve/shared/score.py b/input/cpsat-bench/evolve/shared/score.py index 714020c930..2041cc0e39 100644 --- a/input/cpsat-bench/evolve/shared/score.py +++ b/input/cpsat-bench/evolve/shared/score.py @@ -4,9 +4,20 @@ Score mode: cost (minimize CP-SAT objective). combined = geomean(cost_ratio^COST_W * time_ratio) * solved_rate^2 * efficiency^STATS_WEIGHT + + time_ratio (preferred): baseline_dtime / variant_dtime + CP-SAT's deterministic_time is hardware-independent, + so per-iteration noise across machines / system load + stays out of the score. ~order-of-magnitude same as + wall_time but stable across runs. + time_ratio (fallback) : baseline_ms / variant_ms (wall) + used when either dtime is missing (legacy local + baselines without dtime in stats, or worker not + emitting it). Diagnostic geomean_wall_speedup is + always reported alongside. + - both baseline+variant decisive (OPTIMAL or FEASIBLE) with objective values: cost_ratio = (baseline_obj + EPS) / (variant_obj + EPS) [minimize] - time_ratio = baseline_ms / variant_ms - status mismatch (e.g. variant UNKNOWN where baseline OPTIMAL): 1e-6 - missing baseline_objective (rebaseline not yet run) falls back to time_ratio only @@ -22,6 +33,7 @@ Env overrides: OPENEVOLVE_STATS_WEIGHT exponent on efficiency, default 0.333, 0 disables OPENEVOLVE_COST_WEIGHT exponent on cost_ratio, default 1.0, 0 disables cost factor + OPENEVOLVE_TIME_METRIC "dtime" (default) | "wall" — force wall ratio """ import math import os @@ -68,6 +80,25 @@ def _efficiency(per_problem): return math.exp(log_sum / len(per_prob_effs)), len(per_prob_effs) +def _time_ratio(p, metric): + """Compute time_ratio. metric ∈ {"dtime", "wall"}. + Returns (ratio, source) where source describes which clock was used. + Falls back to wall when dtime missing on either side.""" + bs = p.get("baseline_stats") or {} + vs = p.get("stats") or {} + if metric == "dtime": + b_dt = bs.get("deterministic_time") + v_dt = vs.get("deterministic_time") + if b_dt and v_dt and b_dt > 0 and v_dt > 0: + return float(b_dt) / float(v_dt), "dtime" + # fallback / forced wall + return p["baseline_ms"] / max(p["elapsed_ms"], 1), "wall" + + +def _wall_ratio(p): + return p["baseline_ms"] / max(p["elapsed_ms"], 1) + + def _score_cost(per_problem): """ Cost mode scoring rules: @@ -75,19 +106,28 @@ def _score_cost(per_problem): (Baseline never reached OPTIMAL/FEASIBLE within timeout → variant has no target to beat. Counting it as 1e-6 unfairly tanks the geomean.) - baseline decisive + variant decisive → ratio = cost_ratio^W * time_ratio - (or just time_ratio if either objective_value is unknown). + (time_ratio is deterministic_time-based when both sides have it, else wall) - baseline decisive + variant NOT decisive → 1e-6 + regression++ (real loss). - Returns: (geomean, solved_rate, solved, regressions, comparable) - comparable = problems where baseline was decisive (i.e. counted in geomean). - solved_rate is over `comparable` (not the total input list). + Returns: (geomean, geomean_wall, solved_rate, solved, regressions, + comparable, dtime_used, dtime_fallback) + comparable = problems where baseline was decisive (counted in geomean). + dtime_used = comparable problems where dtime ratio applied. + dtime_fallback= comparable problems forced to wall ratio (dtime missing). """ cost_weight = float(os.environ.get("OPENEVOLVE_COST_WEIGHT", "1.0")) cost_weight = max(0.0, min(cost_weight, 2.0)) + time_metric = os.environ.get("OPENEVOLVE_TIME_METRIC", "dtime").lower() + if time_metric not in ("dtime", "wall"): + time_metric = "dtime" + ratios = [] + wall_ratios = [] solved = 0 regressions = 0 comparable = 0 + dtime_used = 0 + dtime_fallback = 0 for p in per_problem: b_ok = p["baseline_result"] in _DECISIVE if not b_ok: @@ -96,23 +136,35 @@ def _score_cost(per_problem): v_ok = p["result"] in _DECISIVE b_cost = p.get("baseline_objective") v_cost = p.get("objective") - time_r = p["baseline_ms"] / max(p["elapsed_ms"], 1) + time_r, src = _time_ratio(p, time_metric) + wall_r = _wall_ratio(p) + if time_metric == "dtime": + if src == "dtime": + dtime_used += 1 + else: + dtime_fallback += 1 if v_ok: solved += 1 if b_cost is not None and v_cost is not None: cost_r = (float(b_cost) + _COST_EPS) / (float(v_cost) + _COST_EPS) cost_r = max(_COST_RATIO_CLIP_LO, min(_COST_RATIO_CLIP_HI, cost_r)) ratios.append((cost_r ** cost_weight) * time_r) + wall_ratios.append((cost_r ** cost_weight) * wall_r) else: ratios.append(time_r) + wall_ratios.append(wall_r) else: ratios.append(1e-6) + wall_ratios.append(1e-6) regressions += 1 if not ratios: - return 1.0, 0.0, 0, 0, 0 + return 1.0, 1.0, 0.0, 0, 0, 0, 0, 0 geomean = math.exp(sum(math.log(r) for r in ratios) / len(ratios)) + geomean_wall = math.exp(sum(math.log(r) for r in wall_ratios) + / len(wall_ratios)) solved_rate = solved / comparable - return geomean, solved_rate, solved, regressions, comparable + return (geomean, geomean_wall, solved_rate, solved, regressions, + comparable, dtime_used, dtime_fallback) def score(per_problem): @@ -121,6 +173,7 @@ def score(per_problem): return { "combined_score": 0.0, "geomean_speedup": 0.0, + "geomean_wall_speedup": 0.0, "solved_rate": 0.0, "regressions": 0, "solved": 0, @@ -130,9 +183,12 @@ def score(per_problem): "efficiency": 1.0, "efficiency_pairs": 0, "stats_weight": 0.0, + "dtime_used": 0, + "dtime_fallback": 0, } - geomean, solved_rate, solved, regressions, comparable = _score_cost(per_problem) + (geomean, geomean_wall, solved_rate, solved, regressions, + comparable, dtime_used, dtime_fallback) = _score_cost(per_problem) efficiency, eff_pairs = _efficiency(per_problem) try: @@ -145,7 +201,8 @@ def score(per_problem): return { "combined_score": float(combined), - "geomean_speedup": float(geomean), + "geomean_speedup": float(geomean), # primary (dtime when available) + "geomean_wall_speedup": float(geomean_wall), # diagnostic (wall) "solved_rate": float(solved_rate), "regressions": int(regressions), "solved": int(solved), @@ -155,4 +212,6 @@ def score(per_problem): "efficiency": float(efficiency), "efficiency_pairs": int(eff_pairs), "stats_weight": float(stats_weight), + "dtime_used": int(dtime_used), + "dtime_fallback": int(dtime_fallback), } From 3a4ebddf26590396fc24c21598dc242afa347a00 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 26 May 2026 18:25:35 +0900 Subject: [PATCH 28/42] add optimization target prompts --- input/cpsat-bench/evolve/config.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index 814ed8d99e..3d61bb5291 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -81,6 +81,23 @@ prompt: geomean punishes one regression heavily). All baselines are OPTIMAL, so a variant that bails to FEASIBLE with a worse objective_value scores below 1.0. + Optimization target: MINIMIZE RUNTIME (deterministic_time), aggressively. + Memory budget is loose — `max_memory_in_mb` default 10000 is far above + what this workload needs; do NOT trade runtime for memory. Concretely: + - Larger `max_num_cuts` is fine if it cuts conflicts / branches. + - Larger LP / cut storage (`cut_cleanup_target`, `clause_cleanup_target`, + `max_consecutive_inactive_count`) is fine if it stabilizes search. + - Larger `presolve_inclusion_work_limit`, `merge_at_most_one_work_limit`, + `merge_no_overlap_work_limit` is fine if presolve shaves real work. + - Larger `clause_cleanup_period` (keep more learned clauses longer) is + fine — clause memory is cheap. + - Larger `probing_num_combinations_limit`, deeper probing + (`cp_model_probing_level=2..3`) is fine when it pays off in search. + - LNS / shared-tree memory (solution_pool_size, + shared_tree_max_nodes_per_worker) — feel free to grow. + NEVER pick a "smaller / cheaper" value just because it sounds frugal. + The only signal is: does dtime go down without regressing solved_rate? + Hard rules: - Do NOT modify locked keys: random_seed, num_search_workers, timeout_sec. (evaluator returns combined_score=0 + locked_violated artifact on violation.) From 8d77730ac7272ce1fd9bc02dab2d3ee5a0056262 Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 27 May 2026 10:37:28 +0900 Subject: [PATCH 29/42] avoid zero sample crash: --- input/cpsat-bench/evolve/rebaseline_local.py | 3 ++ input/cpsat-bench/evolve/shared/evaluator.py | 29 ++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py index bb486c1826..1d0de81c6a 100644 --- a/input/cpsat-bench/evolve/rebaseline_local.py +++ b/input/cpsat-bench/evolve/rebaseline_local.py @@ -163,6 +163,9 @@ def _parse_workers_arg(s): def _measure_at_workers(tasks, w, cores): """Run baseline for one worker count W across all tasks. Returns list of (i, meta, res, core_block) tuples in submission order.""" + if not tasks: + print(f" workers={w}: no tasks — skipping", flush=True) + return [] blocks = alloc_core_blocks(cores, w) if not blocks: blocks = [list(cores)] if cores else [None] diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 814018a1cb..6c00310849 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -261,6 +261,35 @@ def _evaluate(program_path, problems, stage_name): if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] + # Empty stage sample → pass-through. Score is set well above any sane + # cascade_thresholds entry so downstream stages keep running. Use this to + # debug a single stage in isolation by emptying the samples for the others. + if not problems: + pass_through = { + "combined_score": 100.0, + "geomean_speedup": 100.0, + "geomean_wall_speedup": 100.0, + "solved_rate": 1.0, + "regressions": 0, + "solved": 0, + "comparable": 0, + "total": 0, + "uncomparable": 0, + "efficiency": 1.0, + "efficiency_pairs": 0, + "stats_weight": 0.0, + "dtime_used": 0, + "dtime_fallback": 0, + "stage": stage_name, + } + return EvaluationResult( + metrics=pass_through, + artifacts={ + "stage": stage_name, + "summary": "empty sample — stage skipped (cascade pass-through, score=100)", + }, + ) + for p in problems: input_path = _RAW_DIR / p["input_file"] if not input_path.exists(): From 6642f789bbbd0382bbf7cacc76859010ac7c3fcb Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 27 May 2026 10:46:09 +0900 Subject: [PATCH 30/42] chage claude max turn --- openevolve/llm/claude_code.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openevolve/llm/claude_code.py b/openevolve/llm/claude_code.py index 7050e68214..7a07912892 100644 --- a/openevolve/llm/claude_code.py +++ b/openevolve/llm/claude_code.py @@ -108,7 +108,7 @@ async def _query_once( ) opts_kwargs: Dict[str, Any] = { - "max_turns": 1, + "max_turns": 4, "allowed_tools": [], "disallowed_tools": [], "permission_mode": "bypassPermissions", From 44aba6115958b07adea1e306808018c5f365d08a Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 27 May 2026 11:09:03 +0900 Subject: [PATCH 31/42] add isolate large profile --- input/cpsat-bench/evolve/README.md | 56 +++++++++++-- input/cpsat-bench/evolve/build_samples.py | 47 +++++++++++ .../evolve/phase1_search/initial_program.py | 7 +- .../evolve/phase2_presolve/initial_program.py | 6 +- input/cpsat-bench/evolve/rebaseline_local.py | 37 +++++++-- input/cpsat-bench/evolve/shared/evaluator.py | 79 ++++++++++++++++++- input/run_phase.sh | 53 ++++++++++++- 7 files changed, 265 insertions(+), 20 deletions(-) diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md index 478c5a5e4a..294eab78a9 100644 --- a/input/cpsat-bench/evolve/README.md +++ b/input/cpsat-bench/evolve/README.md @@ -33,7 +33,8 @@ input/cpsat-bench/ │ ├── evaluator.py # cascade stages │ ├── cpsat_runner.py # subprocess solver invoker │ ├── _cpsat_solve_worker.py - │ ├── stage{1..4}_sample.json # built by build_samples.py + │ ├── stage{1..4}_sample.json # small profile (cascade staging) + │ ├── stage1_large_sample.json # large profile (single hardest outlier) │ └── local_baseline.json # built by rebaseline_local.py └── phase{1..4}_/ └── initial_program.py # EVOLVE-BLOCK @@ -104,16 +105,58 @@ python input/cpsat-bench/evolve/shared/baseline_params.py # for cost-mode scoring — first run picks it up automatically too) python input/cpsat-bench/evolve/rebaseline_local.py -# 4) run phases sequentially -./input/cpsat-bench/evolve/run_phase.sh 1 -./input/cpsat-bench/evolve/run_phase.sh 2 -./input/cpsat-bench/evolve/run_phase.sh 3 -./input/cpsat-bench/evolve/run_phase.sh 4 +# 4) run phases sequentially (small profile = historical run) +./input/run_phase.sh cpsat-bench 1 +./input/run_phase.sh cpsat-bench 2 +./input/run_phase.sh cpsat-bench 3 +./input/run_phase.sh cpsat-bench 4 +# or all phases at once: +./input/run_phase.sh cpsat-bench ``` After each non-final phase, `run_phase.sh` calls `extract_best.py` to write `shared/phaseN_best.json`, which the next phase's `initial_program.py` loads. +## Profiles (`small` vs `large`) + +`run_phase.sh --profile ` switches between two independent +tuning tracks: + +| | small (default) | large | +|---|---|---| +| sample files | `stage{1..4}_sample.json` (cascade staging) | `stage1_large_sample.json` (single sample) | +| phase1/2 workers | 1 | 8 | +| phase3/4 workers | 8 | 8 | +| evaluation | cascade stage1 → 2 → 3 → 4 | single eval on all stages (cache-backed) | +| problem set | clustered fast/mid + outliers + broad spread | top-`STAGE1_LARGE_N` residual outlier(s) from `Statistics/outliers_top.csv` | +| output dir | `openevolve_output/` | `openevolve_output_large/` | + +Profile sets `OPENEVOLVE_PROFILE` env var that: + +- `evaluator.py` reads to pick sample file + dispatch every cascade stage + entry point (`evaluate_stage{1..4}`) to a single `_evaluate_large()` for + large profile (cache-backed so 3-stage cascade only runs 1 real eval). +- `rebaseline_local.py` reads to rebaseline only the large sample set. +- `phase{1,2}_*/initial_program.py` reads to override `PHASE_LOCKED` + `num_search_workers=8` (default 1). + +Adjust `STAGE1_LARGE_N` in `build_samples.py` to widen the outlier set. + +```bash +# large profile (all phases W=8, single hardest outlier) +./input/run_phase.sh cpsat-bench --profile large +./input/run_phase.sh cpsat-bench 1 --profile large # single phase +``` + +`local_baseline.json` is shared across profiles (keyed by worker count); +running both profiles reuses each other's measurements where worker count +matches. + +> Note: `extract_best.py` writes a single `phaseN_best.json` per phase +> regardless of profile. Running both profiles back-to-back overwrites the +> previous profile's best file. Rename/move it manually if you want to keep +> both. + ## Resume from checkpoint ```bash @@ -137,6 +180,7 @@ python /app/openevolve-run.py \ | `OPENEVOLVE_STATS_WEIGHT` | 0.333 | exponent on efficiency factor (0 disables) | | `OPENEVOLVE_COST_WEIGHT` | 1.0 | exponent on cost_ratio in cost-mode score (0 disables cost factor) | | `OPENEVOLVE_PYTHON_BIN` | `sys.executable` | python used by solver worker | +| `OPENEVOLVE_PROFILE` | `small` | tuning track: `small` (cascade staging) or `large` (single outlier eval). Set automatically by `run_phase.sh --profile`. Drives sample file selection in `evaluator.py` / `rebaseline_local.py` and worker count override in phase1/2 `initial_program.py`. | | `SKIP_REBASELINE` | 0 | skip per-host baseline remeasurement (reuse existing local_baseline.json) | ## CPU pinning (Linux) diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index bb57786c6e..4030f31d5f 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -42,6 +42,13 @@ _STAGE4 = _HERE / "shared" / "stage4_sample.json" _OUTLIERS_JSON = _HERE / "shared" / "outliers.json" +# Large-profile sample (selected via OPENEVOLVE_PROFILE=large). Single file +# only — large profile bypasses cascade staging entirely; evaluator dispatches +# every stage entry point to a single outlier-set evaluation. File name keeps +# the stage1_large prefix so legacy callers (and evaluator's path resolver) +# continue to find it. +_STAGE1_LARGE = _HERE / "shared" / "stage1_large_sample.json" + # outliers_top.csv lives under cpsat-bench/Statistics/ (or its rename "1/"). _OUTLIERS_CSV_CANDIDATES = [ _BENCH / "Statistics" / "outliers_top.csv", @@ -53,6 +60,10 @@ STAGE3_N = 5 STAGE4_N = 20 N_BUCKETS = 5 +# Large profile: single hardest outlier (top residual from outliers_top.csv). +# Tune higher if want to evaluate against more outliers at the cost of +# proportionally longer per-iteration eval time. +STAGE1_LARGE_N = 1 # Global cap for stage1/2/4 sample pool. Anything slower than 2 min skews # the quintile clustering. MAX_BASELINE_MS = 120_000 @@ -484,6 +495,42 @@ def _bucket_range(b): f"{str(_result_key(d)):<10} " f"{int(_runtime_key(d)):>7}ms") + # ---- large profile sample (OPENEVOLVE_PROFILE=large) ---- + # Single sample file with STAGE1_LARGE_N top-residual outliers (default 1). + # evaluator dispatches every cascade stage entry point to one outlier-set + # evaluation, so no stage2/3/4 split is needed. + if csv_all: + eligible = [c for c in csv_all if c["sha"] in rows_by_sha] + # csv_all already sorted by descending residual in _load_outliers_top. + large_picks = eligible[:STAGE1_LARGE_N] + large_rows = [rows_by_sha[c["sha"]] for c in large_picks] + else: + large_picks = [] + large_rows = [] + _write_sample( + _STAGE1_LARGE, large_rows, "stage1_large", + f"top-{STAGE1_LARGE_N} residual outlier(s) from outliers_top.csv " + f"(W=8 tuning set)", + ) + + # Clean up stale empty stage{2,3,4}_large files from older builds — they + # would be picked up by evaluator's path resolver and produce stale empty + # pass-throughs, masking real outlier scores. + for stale in ( + _HERE / "shared" / "stage2_large_sample.json", + _HERE / "shared" / "stage3_large_sample.json", + _HERE / "shared" / "stage4_large_sample.json", + ): + if stale.exists(): + stale.unlink() + print(f"removed stale {stale.relative_to(_BENCH.parent)}") + + print(f"\nstage1_large ({len(large_rows)} outliers):") + for d in large_rows: + print(f" {_id_key(d)[:12]} " + f"{str(_result_key(d)):<10} " + f"{int(_runtime_key(d)):>7}ms") + if __name__ == "__main__": main() diff --git a/input/cpsat-bench/evolve/phase1_search/initial_program.py b/input/cpsat-bench/evolve/phase1_search/initial_program.py index b529beef5e..d950e72dd0 100644 --- a/input/cpsat-bench/evolve/phase1_search/initial_program.py +++ b/input/cpsat-bench/evolve/phase1_search/initial_program.py @@ -28,6 +28,7 @@ Do NOT modify locked keys (random_seed, num_search_workers). Invalid solver keys cause evaluator to return 0 and surface the offending key. """ +import os import pathlib import sys @@ -37,9 +38,13 @@ from baseline_params import BASELINE # noqa: E402 +# OPENEVOLVE_PROFILE=large → run this phase at W=8 (outlier tuning track). +# Default (small) keeps the historical W=1 search-only sweep. +_LARGE_PROFILE = (os.environ.get("OPENEVOLVE_PROFILE", "small").strip().lower() + == "large") PHASE_LOCKED = { "random_seed": 0, - "num_search_workers": 1, + "num_search_workers": 8 if _LARGE_PROFILE else 1, } diff --git a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py index db91b4e2ef..904978ccbd 100644 --- a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py +++ b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py @@ -28,6 +28,7 @@ Do NOT modify locked keys (random_seed, num_search_workers). """ import json +import os import pathlib import sys @@ -37,9 +38,12 @@ from baseline_params import BASELINE # noqa: E402 +# OPENEVOLVE_PROFILE=large → run this phase at W=8 (outlier tuning track). +_LARGE_PROFILE = (os.environ.get("OPENEVOLVE_PROFILE", "small").strip().lower() + == "large") PHASE_LOCKED = { "random_seed": 0, - "num_search_workers": 1, + "num_search_workers": 8 if _LARGE_PROFILE else 1, } diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py index 1d0de81c6a..4e3c23501c 100644 --- a/input/cpsat-bench/evolve/rebaseline_local.py +++ b/input/cpsat-bench/evolve/rebaseline_local.py @@ -50,6 +50,7 @@ import argparse import importlib.util import json +import os import pathlib import queue as _queue import sys @@ -66,12 +67,27 @@ _BENCH_DIR = _HERE.parent _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" -_STAGE2_SAMPLE = _HERE / "shared" / "stage2_sample.json" -_STAGE3_SAMPLE = _HERE / "shared" / "stage3_sample.json" -_STAGE4_SAMPLE = _HERE / "shared" / "stage4_sample.json" _OUT = _HERE / "shared" / "local_baseline.json" + +def _profile(): + return (os.environ.get("OPENEVOLVE_PROFILE") or "small").strip().lower() + + +def _stage_sample(stage_num): + profile = _profile() + if profile != "small": + suffixed = _HERE / "shared" / f"stage{stage_num}_{profile}_sample.json" + if suffixed.exists(): + return suffixed + return _HERE / "shared" / f"stage{stage_num}_sample.json" + + +_STAGE1_SAMPLE = _stage_sample(1) +_STAGE2_SAMPLE = _stage_sample(2) +_STAGE3_SAMPLE = _stage_sample(3) +_STAGE4_SAMPLE = _stage_sample(4) + REBASELINE_TIMEOUT_S = 3600 @@ -92,7 +108,18 @@ def _load_problem_index(): def _load_target_shas(include_stage3=True): """Union of stage sample SHAs (dedup, ordered by first appearance). - include_stage3=False → drop stage3 sample (used for W=1 task list).""" + include_stage3=False → drop stage3 sample (used for W=1 task list). + + Large profile short-circuits to a single sample (stage1_large only) — + cascade staging is disabled in evaluator for that profile.""" + if _profile() == "large": + large = _HERE / "shared" / "stage1_large_sample.json" + if not large.exists(): + print(f"ERROR: {large} missing — run build_samples.py first", + file=sys.stderr) + sys.exit(2) + return list(dict.fromkeys(json.loads(large.read_text())["sha256"])) + if not _STAGE1_SAMPLE.exists(): print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", file=sys.stderr) diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 6c00310849..99fd5c815c 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -51,14 +51,32 @@ _BENCH_DIR = _HERE.parent.parent _RAW_DIR = _BENCH_DIR / "raw-data" _PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_STAGE1_SAMPLE = _HERE / "stage1_sample.json" -_STAGE2_SAMPLE = _HERE / "stage2_sample.json" -_STAGE3_SAMPLE = _HERE / "stage3_sample.json" -_STAGE4_SAMPLE = _HERE / "stage4_sample.json" _OUTLIERS_JSON = _HERE / "outliers.json" _LOCAL_BASELINE = _HERE / "local_baseline.json" +def _profile(): + """Active sample profile (OPENEVOLVE_PROFILE env). 'small' (default) reads + legacy stage{N}_sample.json; 'large' reads stage{N}_large_sample.json, + falling back to legacy if the large file is missing.""" + return (os.environ.get("OPENEVOLVE_PROFILE") or "small").strip().lower() + + +def _stage_sample(stage_num): + profile = _profile() + if profile != "small": + suffixed = _HERE / f"stage{stage_num}_{profile}_sample.json" + if suffixed.exists(): + return suffixed + return _HERE / f"stage{stage_num}_sample.json" + + +_STAGE1_SAMPLE = _stage_sample(1) +_STAGE2_SAMPLE = _stage_sample(2) +_STAGE3_SAMPLE = _stage_sample(3) +_STAGE4_SAMPLE = _stage_sample(4) + + def _load_outlier_shas(): """Return set of SHAs flagged by outliers_top.csv (via build_samples.py writing shared/outliers.json). Empty if file missing.""" @@ -509,17 +527,68 @@ def _peek_workers(program_path): return 1 +# Large profile: no cascade stages — every cascade call evaluates the same +# outlier set once and caches. Cache lifetime = current evaluator process +# (openevolve spawns a fresh worker per variant, so cache holds exactly one +# entry per iteration). Keyed by program_path so a re-used path string doesn't +# leak stale metrics across variants. +_LARGE_RESULT_CACHE: dict = {} + + +def _load_large_sample_shas(): + path = _HERE / "stage1_large_sample.json" + if not path.exists(): + return None + try: + return set(json.loads(path.read_text())["sha256"]) + except (json.JSONDecodeError, KeyError, OSError): + return None + + +def _evaluate_large(program_path): + """Single-stage evaluation for OPENEVOLVE_PROFILE=large. Runs all outliers + once, caches result, returns same EvaluationResult on subsequent cascade + calls (stage2/stage3 entry points) so the final variant score reflects the + real outlier score instead of a pass-through placeholder.""" + key = str(program_path) + cached = _LARGE_RESULT_CACHE.get(key) + if cached is not None: + return cached + + keep = _load_large_sample_shas() + if keep is None: + result = _err_result( + {"error": "stage1_large_sample.json missing/invalid"}, + {"suggestion": "Run build_samples.py to regenerate.", + "stage": "large"}, + ) + _LARGE_RESULT_CACHE[key] = result + return result + + w = _peek_workers(program_path) + problems = [p for p in _load_problems(w) if p["sha"] in keep] + result = _evaluate(program_path, problems, "large") + _LARGE_RESULT_CACHE[key] = result + return result + + def evaluate_stage1(program_path): + if _profile() == "large": + return _evaluate_large(program_path) w = _peek_workers(program_path) return _evaluate(program_path, _filter_stage1(_load_problems(w)), "stage1") def evaluate_stage2(program_path): + if _profile() == "large": + return _evaluate_large(program_path) w = _peek_workers(program_path) return _evaluate(program_path, _filter_stage2(_load_problems(w)), "stage2") def evaluate_stage3(program_path): + if _profile() == "large": + return _evaluate_large(program_path) # openevolve cascade hardcodes 3 stages, so user-stage4 (broad runtime # sample) is chained inside stage3 via the runtime cascade_threshold gate. # @@ -557,6 +626,8 @@ def evaluate_stage3(program_path): def evaluate_stage4(program_path): # Standalone entry for manual / final-verify use. Not invoked by cascade. + if _profile() == "large": + return _evaluate_large(program_path) w = _peek_workers(program_path) problems = _filter_stage4(_load_problems(w)) return _evaluate(program_path, problems, "stage4") diff --git a/input/run_phase.sh b/input/run_phase.sh index 1d0bd786d8..3ff51707eb 100755 --- a/input/run_phase.sh +++ b/input/run_phase.sh @@ -6,13 +6,25 @@ # # Usage: # ./input/run_phase.sh [] [--pin N-M] [--extract-only] -# [--iterations ] [extra flags] +# [--iterations ] [--profile small|large] +# [extra flags] # # omitted → run ALL phases sequentially (1..N). # numeric → run that single phase. # +# --profile small (default) historical run: phase1/2 W=1, phase3/4 W=8, +# uses stage{1..4}_sample.json. Output: openevolve_output/. +# --profile large outlier-only tuning track: phase1..4 all W=8, uses +# stage{1..4}_large_sample.json (stage1=outliers, rest +# empty → cascade pass-through). Output: +# openevolve_output_large/. Sets OPENEVOLVE_PROFILE=large +# so evaluator + phase initial_program.py pick the right +# sample files and worker count. +# # Examples: -# ./input/run_phase.sh cpsat-bench # run all phases (1..4) +# ./input/run_phase.sh cpsat-bench # all phases, small profile +# ./input/run_phase.sh cpsat-bench --profile large # all phases, large profile +# ./input/run_phase.sh cpsat-bench 1 --profile large # single phase, large # ./input/run_phase.sh cpsat-bench --pin 2-7 # all phases, pinned # ./input/run_phase.sh cpsat-bench 1 --pin 2-7 # ./input/run_phase.sh z3-bench 4 @@ -89,6 +101,7 @@ PHASE_RANGE_STR="1..$N_PHASES" # Parse remaining flags EXTRACT_ONLY=0 PIN_RANGE="" +PROFILE="small" PASSTHROUGH=() while [ $# -gt 0 ]; do case "$1" in @@ -104,6 +117,14 @@ while [ $# -gt 0 ]; do PIN_RANGE="${1#--pin=}" shift ;; + --profile) + PROFILE="$2" + shift 2 + ;; + --profile=*) + PROFILE="${1#--profile=}" + shift + ;; -h|--help) usage exit 0 @@ -116,6 +137,24 @@ while [ $# -gt 0 ]; do done set -- "${PASSTHROUGH[@]+"${PASSTHROUGH[@]}"}" +case "$PROFILE" in + small|large) ;; + *) + echo "--profile must be 'small' or 'large' (got: $PROFILE)" >&2 + exit 2 + ;; +esac + +export OPENEVOLVE_PROFILE="$PROFILE" +echo "[run_phase] OPENEVOLVE_PROFILE=$PROFILE" + +# Profile-suffixed output dir so small/large runs don't collide. +if [ "$PROFILE" = "small" ]; then + OUTPUT_DIR="openevolve_output" +else + OUTPUT_DIR="openevolve_output_${PROFILE}" +fi + # Decide phase list if [ -z "$PHASE" ]; then if [ "$EXTRACT_ONLY" = "1" ]; then @@ -156,7 +195,14 @@ if [ "$EXTRACT_ONLY" != "1" ]; then exit 1 fi + need_build=0 if [ ! -f "$ROOT/shared/stage1_sample.json" ] || [ ! -f "$ROOT/shared/stage2_sample.json" ]; then + need_build=1 + fi + if [ "$PROFILE" = "large" ] && [ ! -f "$ROOT/shared/stage1_large_sample.json" ]; then + need_build=1 + fi + if [ "$need_build" = "1" ]; then echo "[run_phase] sample json missing — running $BUILD_SAMPLES_SCRIPT first..." python "$ROOT/$BUILD_SAMPLES_SCRIPT" fi @@ -296,7 +342,7 @@ run_one_phase() { fi cd "$ROOT/$dir" - echo "[run_phase] === bench=$BENCH phase=$phase dir=$dir ${iter:+iter=$iter }cwd=$(pwd) ===" + echo "[run_phase] === bench=$BENCH phase=$phase dir=$dir profile=$PROFILE output=$OUTPUT_DIR ${iter:+iter=$iter }cwd=$(pwd) ===" local iter_flag=() if [ -n "$iter" ]; then @@ -307,6 +353,7 @@ run_one_phase() { initial_program.py \ "$ROOT/shared/evaluator.py" \ --config "$ROOT/config.yaml" \ + --output "$OUTPUT_DIR" \ "${iter_flag[@]+"${iter_flag[@]}"}" \ "$@" From c51b48924f33d3d2e950d0f39f44b471b169f559 Mon Sep 17 00:00:00 2001 From: hdson Date: Wed, 27 May 2026 11:24:30 +0900 Subject: [PATCH 32/42] stage 3 tune --- input/cpsat-bench/evolve/build_samples.py | 181 ++++++++---------- input/cpsat-bench/evolve/shared/outliers.json | 8 +- .../evolve/shared/stage1_large_sample.json | 14 ++ .../evolve/shared/stage3_sample.json | 26 +-- .../evolve/shared/stage4_sample.json | 82 ++++---- 5 files changed, 150 insertions(+), 161 deletions(-) create mode 100644 input/cpsat-bench/evolve/shared/stage1_large_sample.json diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index 4030f31d5f..db05354812 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -72,23 +72,19 @@ # under W=8 (raw-data times are W=8-equivalent). Variant timeout = # baseline_ms * 1.3 in evaluator. STAGE3_MAX_BASELINE_MS = 1_500_000 -# Stratified stage3 pick — outliers cluster in two size regimes (small -# SAT-like and large LP-heavy). Picking only by residual order biases to -# small ones (they pass the cap easier). Bands: -# small : elapsed_ms < 10_000 (≤10s, vars≈1700-2000) -# mid : 10_000 ≤ ms < 500_000 (10s-500s, vars≈17000) -# large : 500_000 ≤ ms ≤ STAGE3_MAX (500s-1500s, vars≈20000) -# Within each band pick top-N by residual. -STAGE3_SMALL_MS = 10_000 -STAGE3_MID_MS = 500_000 -STAGE3_PICK_SMALL = 2 -STAGE3_PICK_MID = 2 -STAGE3_PICK_LARGE = 1 +# Stage3 target-based pick — outliers in outliers_top.csv span 4 orders of +# magnitude (180ms .. 5.7M ms). Picking by residual alone produces a sample +# with wild runtime variance, which makes per-iteration scoring noisy. Instead +# pick STAGE3_N outliers whose baseline elapsed_ms is closest to +# STAGE3_TARGET_MS, dropping any whose ratio to target exceeds +# STAGE3_TARGET_TOL_RATIO (e.g. target=20000 tol=5.0 → accepts 4000..100000ms). +STAGE3_TARGET_MS = 20_000 +STAGE3_TARGET_TOL_RATIO = 5.0 OUTLIER_IQR_K = 3.0 STAGE1_STRATEGY = "center" STAGE2_STRATEGY = "center" -STAGE3_STRATEGY = "outliers" # was "center" — now picks outliers_top.csv +STAGE3_STRATEGY = "target_ms" # pick outliers nearest STAGE3_TARGET_MS STAGE4_STRATEGY = "spread" _DECISIVE_RESULTS = {"OPTIMAL", "FEASIBLE"} @@ -180,96 +176,76 @@ def _load_outliers_top(csv_path): return rows -def _pick_outliers(rows_by_sha, csv_path): - """Stratified outlier pick: bucket csv rows by elapsed_ms into - small/mid/large, then within each bucket pick top-N by residual. +def _pick_outliers(rows_by_sha, csv_path, all_rows=None, n_pick=None, + target_ms=None, tol_ratio=None): + """Target-ms pick for stage3: prefer outliers_top.csv entries whose + baseline elapsed_ms is closest to target_ms; if fewer than n_pick survive + the tol_ratio filter, backfill from the full problems pool (non-outlier + problems also near target_ms). - Returns (picks, csv_rows). picks is in [small..., mid..., large...] order. + Returns (picks, csv_rows). picks sorted by ascending |elapsed_ms-target_ms|. csv_rows is the full csv (for outliers.json metadata). - Falls back to (None, []) if csv missing — caller uses legacy slow-cluster - center pick then.""" + Returns (None, []) when csv missing — caller falls back to slow-cluster + center pick.""" if csv_path is None: print("warning: outliers_top.csv not found — falling back to " "slow-cluster center pick for stage3", file=sys.stderr) return None, [] + if n_pick is None: + n_pick = STAGE3_N + if target_ms is None: + target_ms = STAGE3_TARGET_MS + if tol_ratio is None: + tol_ratio = STAGE3_TARGET_TOL_RATIO + csv_rows = _load_outliers_top(csv_path) - def _band(ms): + def _within_tol(ms): if ms <= 0 or ms > STAGE3_MAX_BASELINE_MS: - return None - if ms < STAGE3_SMALL_MS: - return "small" - if ms < STAGE3_MID_MS: - return "mid" - return "large" - - by_band = {"small": [], "mid": [], "large": []} - for c in csv_rows: - if c["sha"] not in rows_by_sha: - continue - band = _band(c["elapsed_ms"]) - if band is None: - continue - by_band[band].append(c) - # csv_rows already sorted by descending residual → by_band lists inherit. - - band_targets = { - "small": STAGE3_PICK_SMALL, - "mid": STAGE3_PICK_MID, - "large": STAGE3_PICK_LARGE, - } + return False + return max(ms / target_ms, target_ms / ms) <= tol_ratio + + # Pass 1: outliers within tol. + outlier_eligible = [c for c in csv_rows + if c["sha"] in rows_by_sha and _within_tol(c["elapsed_ms"])] + outlier_eligible.sort(key=lambda c: abs(c["elapsed_ms"] - target_ms)) + outlier_pick_csv = outlier_eligible[:n_pick] + picks = [rows_by_sha[c["sha"]] for c in outlier_pick_csv] + used_shas = {c["sha"] for c in outlier_pick_csv} + + # Pass 2: backfill from full problems pool near target_ms (non-outliers). + backfill_picks = [] + if len(picks) < n_pick and all_rows is not None: + decisive = (d for d in all_rows + if _id_key(d) not in used_shas + and _within_tol(_runtime_key(d)) + and _result_key(d) in _DECISIVE_RESULTS) + backfill_pool = sorted(decisive, + key=lambda d: abs(_runtime_key(d) - target_ms)) + need = n_pick - len(picks) + backfill_picks = backfill_pool[:need] + picks.extend(backfill_picks) - picks = [] - used = set() - diag = [] - for band in ("small", "mid", "large"): - target = band_targets[band] - taken = 0 - for c in by_band[band]: - if taken >= target: - break - if c["sha"] in used: - continue - d = rows_by_sha[c["sha"]] - picks.append(d) - used.add(c["sha"]) - taken += 1 - diag.append((band, c["sha"][:12], c["elapsed_ms"], - f"pick (residual={c['residual']:.3f}, " - f"n_cons={c['n_cons']})")) - # Backfill: if a band can't fill its quota, try next band's pool. - for c in by_band[band][taken:]: - diag.append((band, c["sha"][:12], c["elapsed_ms"], - f"available (residual={c['residual']:.3f})")) - - # If any band underfilled, top off from remaining bands by residual. - n_target_total = sum(band_targets.values()) - if len(picks) < n_target_total: - leftover = [c for band in ("large", "mid", "small") - for c in by_band[band] if c["sha"] not in used] - leftover.sort(key=lambda c: -c["residual"]) - for c in leftover: - if len(picks) >= n_target_total: - break - d = rows_by_sha[c["sha"]] - picks.append(d) - used.add(c["sha"]) - diag.append(("backfill", c["sha"][:12], c["elapsed_ms"], - f"backfill (residual={c['residual']:.3f})")) - - n_small = sum(1 for b, *_ in diag if b == "small" and "pick" in _[-1]) - n_mid = sum(1 for b, *_ in diag if b == "mid" and "pick" in _[-1]) - n_large = sum(1 for b, *_ in diag if b == "large" and "pick" in _[-1]) print(f"outliers stage3: from {csv_path.relative_to(_BENCH.parent)}, " - f"stratified pick (cap={STAGE3_MAX_BASELINE_MS}ms) " - f"→ {len(picks)} total " - f"[small={n_small}/{STAGE3_PICK_SMALL} " - f"mid={n_mid}/{STAGE3_PICK_MID} " - f"large={n_large}/{STAGE3_PICK_LARGE}]") - for band, sha12, ms, note in diag: - print(f" [{band:<8}] {sha12} {int(ms):>10}ms {note}") + f"target={target_ms}ms tol={tol_ratio}x cap={STAGE3_MAX_BASELINE_MS}ms " + f"→ {len(picks)}/{n_pick} " + f"(outliers={len(outlier_pick_csv)}, backfill={len(backfill_picks)})") + for c in outlier_pick_csv: + ratio = max(c["elapsed_ms"] / target_ms, target_ms / c["elapsed_ms"]) + print(f" outlier {c['sha'][:12]} {int(c['elapsed_ms']):>10}ms " + f"Δ={int(c['elapsed_ms'] - target_ms):+d}ms " + f"ratio={ratio:.2f}x residual={c['residual']:.3f}") + for d in backfill_picks: + ms = _runtime_key(d) + ratio = max(ms / target_ms, target_ms / ms) + print(f" backfill {_id_key(d)[:12]} {int(ms):>10}ms " + f"Δ={int(ms - target_ms):+d}ms ratio={ratio:.2f}x") + if len(picks) < n_pick: + print(f" warning: only {len(picks)} candidates within tol={tol_ratio}x " + f"of {target_ms}ms — widen STAGE3_TARGET_TOL_RATIO or change " + f"STAGE3_TARGET_MS to fill stage3") return picks, csv_rows @@ -449,24 +425,23 @@ def _bucket_range(b): s1 = _pick(STAGE1_STRATEGY, pool_c12, STAGE1_N) s2 = _pick(STAGE2_STRATEGY, pool_c34, STAGE2_N) - # Stage3: stratified outlier pick from Statistics/outliers_top.csv - # (small/mid/large by elapsed_ms, top-residual within each band). cap = - # STAGE3_MAX_BASELINE_MS (higher than stage1/2/4's MAX_BASELINE_MS so - # genuinely slow outliers enter the tune set). Fallback to slow-cluster - # center pick if csv missing. + # Stage3: target-ms outlier pick from Statistics/outliers_top.csv — + # outliers whose baseline_ms is closest to STAGE3_TARGET_MS (within + # STAGE3_TARGET_TOL_RATIO). Keeps stage3 runtime variance low so cascade + # score is dominated by signal, not noise from a 1500ms vs 1500000ms split. + # Fallback to slow-cluster center pick if csv missing. rows_by_sha = {_id_key(d): d for d in rows} outliers_csv = _find_outliers_csv() - s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv) \ + s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv, + all_rows=rows) \ if outliers_csv else (None, []) if s3_outliers: s3 = s3_outliers - stage3_criteria = (f"stratified outliers from {outliers_csv.name} " - f"(small≤{STAGE3_SMALL_MS}ms / " - f"mid<{STAGE3_MID_MS}ms / " - f"large≤{STAGE3_MAX_BASELINE_MS}ms; " - f"top-residual within band; " - f"target {STAGE3_PICK_SMALL}+{STAGE3_PICK_MID}+" - f"{STAGE3_PICK_LARGE})") + stage3_criteria = ( + f"outliers from {outliers_csv.name} nearest " + f"{STAGE3_TARGET_MS}ms (tol={STAGE3_TARGET_TOL_RATIO}x, " + f"cap={STAGE3_MAX_BASELINE_MS}ms; target {STAGE3_N})" + ) else: s3 = _center_pick(pool_c5, STAGE3_N) stage3_criteria = ("FALLBACK: decisive runtime cluster c5 " diff --git a/input/cpsat-bench/evolve/shared/outliers.json b/input/cpsat-bench/evolve/shared/outliers.json index 045c251cd3..951f103a03 100644 --- a/input/cpsat-bench/evolve/shared/outliers.json +++ b/input/cpsat-bench/evolve/shared/outliers.json @@ -1,10 +1,10 @@ { "stage3_sample": [ "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", - "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", - "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", - "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", - "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de" + "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", + "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", + "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", + "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e" ], "outliers": { "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e": { diff --git a/input/cpsat-bench/evolve/shared/stage1_large_sample.json b/input/cpsat-bench/evolve/shared/stage1_large_sample.json new file mode 100644 index 0000000000..3a8e8e6a8f --- /dev/null +++ b/input/cpsat-bench/evolve/shared/stage1_large_sample.json @@ -0,0 +1,14 @@ +{ + "selection": "1 top-1 residual outlier(s) from outliers_top.csv (W=8 tuning set)", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e" + ], + "summary": [ + { + "sha": "9c28c175d2cd", + "baseline_result": "OPTIMAL", + "baseline_ms": 5307350.0 + } + ] +} diff --git a/input/cpsat-bench/evolve/shared/stage3_sample.json b/input/cpsat-bench/evolve/shared/stage3_sample.json index 0a59eb19ae..501c91cae3 100644 --- a/input/cpsat-bench/evolve/shared/stage3_sample.json +++ b/input/cpsat-bench/evolve/shared/stage3_sample.json @@ -1,12 +1,12 @@ { - "selection": "5 stratified outliers from outliers_top.csv (small\u226410000ms / mid<500000ms / large\u22641500000ms; top-residual within band; target 2+2+1)", + "selection": "5 outliers from outliers_top.csv nearest 20000ms (tol=5.0x, cap=1500000ms; target 5)", "source": "cpsat-bench/problems.jsonl", "sha256": [ "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", - "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", - "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", - "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", - "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de" + "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", + "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", + "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", + "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e" ], "summary": [ { @@ -15,24 +15,24 @@ "baseline_ms": 6436.58 }, { - "sha": "303a6733c9ec", + "sha": "c0a0dc04538c", "baseline_result": "OPTIMAL", - "baseline_ms": 3530.81 + "baseline_ms": 4920.17 }, { - "sha": "c0bbae62f14d", + "sha": "c4fe2cc04ae7", "baseline_result": "OPTIMAL", - "baseline_ms": 400652 + "baseline_ms": 4839.59 }, { - "sha": "073ef8ba3455", + "sha": "5b8c61f99d31", "baseline_result": "OPTIMAL", - "baseline_ms": 1496560.0 + "baseline_ms": 19871.1 }, { - "sha": "7e5aa4016ad6", + "sha": "0976039f182f", "baseline_result": "OPTIMAL", - "baseline_ms": 1482010.0 + "baseline_ms": 19431.4 } ] } diff --git a/input/cpsat-bench/evolve/shared/stage4_sample.json b/input/cpsat-bench/evolve/shared/stage4_sample.json index 74c934e73c..4669357bf3 100644 --- a/input/cpsat-bench/evolve/shared/stage4_sample.json +++ b/input/cpsat-bench/evolve/shared/stage4_sample.json @@ -8,20 +8,20 @@ "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec", "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", - "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71", + "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a", + "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", - "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", - "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", - "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", - "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661", - "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6", - "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", - "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0", - "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", - "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5", - "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", - "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067", - "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94" + "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", + "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", + "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b", + "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2", + "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe", + "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a", + "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", + "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", + "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", + "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723", + "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33" ], "summary": [ { @@ -55,74 +55,74 @@ "baseline_ms": 1961.23 }, { - "sha": "37f84b16de74", + "sha": "5248aba6397b", "baseline_result": "OPTIMAL", - "baseline_ms": 2603.74 + "baseline_ms": 2600.23 }, { - "sha": "ca043f0850c1", + "sha": "9c801bcf5dc6", "baseline_result": "OPTIMAL", - "baseline_ms": 3101.11 + "baseline_ms": 3098.94 }, { - "sha": "674b484eb726", + "sha": "ca043f0850c1", "baseline_result": "OPTIMAL", - "baseline_ms": 3104.21 + "baseline_ms": 3101.11 }, { - "sha": "57b759f315f0", + "sha": "ed8349c414d6", "baseline_result": "OPTIMAL", - "baseline_ms": 3337.57 + "baseline_ms": 3318.12 }, { - "sha": "5978abbd9b38", + "sha": "d8130c88625b", "baseline_result": "OPTIMAL", - "baseline_ms": 3841.35 + "baseline_ms": 3748.33 }, { - "sha": "4b5c183b2938", + "sha": "e08d820df1d9", "baseline_result": "OPTIMAL", - "baseline_ms": 4210.68 + "baseline_ms": 4168.07 }, { - "sha": "57b21c3f6c8f", + "sha": "2a397e2e9ffb", "baseline_result": "OPTIMAL", - "baseline_ms": 4231.64 + "baseline_ms": 4173.09 }, { - "sha": "1cbb4fb20584", + "sha": "72f2ec3d785c", "baseline_result": "OPTIMAL", - "baseline_ms": 5391.62 + "baseline_ms": 5357.91 }, { - "sha": "6c7a1a5ce294", + "sha": "5e03f49283bd", "baseline_result": "OPTIMAL", - "baseline_ms": 6126.11 + "baseline_ms": 6061.9 }, { - "sha": "a0cd1b349e85", + "sha": "e5c9e667fbee", "baseline_result": "OPTIMAL", - "baseline_ms": 6657.63 + "baseline_ms": 6608.39 }, { - "sha": "643f0a85b4d3", + "sha": "8a3a0575a6af", "baseline_result": "OPTIMAL", - "baseline_ms": 6785.44 + "baseline_ms": 6624.34 }, { - "sha": "e70a9ef2b4f8", + "sha": "c407b925a91b", "baseline_result": "OPTIMAL", - "baseline_ms": 7970.52 + "baseline_ms": 7808.57 }, { - "sha": "0a65b64b80dc", + "sha": "a34a2f667fa7", "baseline_result": "OPTIMAL", - "baseline_ms": 11540.4 + "baseline_ms": 11295.1 }, { - "sha": "5b8c61f99d31", + "sha": "2ed7c12aa205", "baseline_result": "OPTIMAL", - "baseline_ms": 19871.1 + "baseline_ms": 16990.7 } ] } From a0bb884307993f27a409ba5be02afdce3f61cc33 Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 28 May 2026 14:06:02 +0900 Subject: [PATCH 33/42] [docs] add openevolve study --- docs/openevolve-intro/assets/styles.css | 298 +++++ docs/openevolve-intro/index.html | 1125 +++++++++++++++++++ docs/openevolve-intro/sections/README.md | 24 + docs/openevolve-intro/slides.html | 1303 ++++++++++++++++++++++ 4 files changed, 2750 insertions(+) create mode 100644 docs/openevolve-intro/assets/styles.css create mode 100644 docs/openevolve-intro/index.html create mode 100644 docs/openevolve-intro/sections/README.md create mode 100644 docs/openevolve-intro/slides.html diff --git a/docs/openevolve-intro/assets/styles.css b/docs/openevolve-intro/assets/styles.css new file mode 100644 index 0000000000..ad53f132a3 --- /dev/null +++ b/docs/openevolve-intro/assets/styles.css @@ -0,0 +1,298 @@ +/* OpenEvolve Intro — 일반 엔지니어 대상 설명 문서 */ + +:root { + --bg: #fafaf7; + --bg-card: #ffffff; + --bg-soft: #f3f4ed; + --fg: #1f2933; + --fg-mute: #52606d; + --accent: #2c7a4b; /* 진화/생물 그린 */ + --accent-2: #2563a8; /* 데이터 블루 */ + --highlight: #d97706; /* 강조 오렌지 */ + --border: #e2e4dd; + --code-bg: #f5f5ef; + --code-fg: #1f2933; + --shadow: 0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06); + --radius: 10px; + --maxw: 980px; +} + +@media (prefers-color-scheme: dark) { + :root { + --bg: #161a1d; + --bg-card: #1e2326; + --bg-soft: #232a2e; + --fg: #e7ecef; + --fg-mute: #a3aeb4; + --accent: #5fc28a; + --accent-2: #7fb6e8; + --highlight: #f4a836; + --border: #2c3438; + --code-bg: #20262a; + --code-fg: #e7ecef; + --shadow: 0 1px 2px rgba(0,0,0,0.5), 0 4px 12px rgba(0,0,0,0.4); + } +} + +* { box-sizing: border-box; } + +html, body { + margin: 0; + padding: 0; + background: var(--bg); + color: var(--fg); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif; + font-size: 16px; + line-height: 1.7; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + padding: 0 16px 80px; +} + +main { + max-width: var(--maxw); + margin: 0 auto; +} + +/* 헤더 */ +.hero { + max-width: var(--maxw); + margin: 40px auto 24px; + padding: 32px 28px; + background: linear-gradient(135deg, var(--bg-card), var(--bg-soft)); + border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: var(--shadow); +} +.hero h1 { + margin: 0 0 8px; + font-size: 2.0rem; + letter-spacing: -0.01em; +} +.hero .tagline { + margin: 0; + color: var(--fg-mute); + font-size: 1.05rem; +} +.hero .meta { + margin-top: 16px; + font-size: 0.9rem; + color: var(--fg-mute); +} +.hero .meta code { font-size: 0.85rem; } + +/* 목차 */ +nav.toc { + max-width: var(--maxw); + margin: 0 auto 32px; + padding: 26px 30px; + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: var(--shadow); +} +nav.toc h2 { + margin: 0 0 14px; + font-size: 1.05rem; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--fg-mute); +} +nav.toc ol { + margin: 0; + padding-left: 28px; + columns: 2; + column-gap: 36px; + font-size: 1.1rem; + line-height: 1.9; +} +nav.toc ol li { margin: 2px 0; padding-left: 4px; } +nav.toc a { + color: var(--accent-2); + text-decoration: none; + font-weight: 500; +} +nav.toc a:hover { text-decoration: underline; } + +/* 섹션 */ +section { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 28px 28px 24px; + margin: 0 auto 24px; + box-shadow: var(--shadow); +} +section > h2 { + margin: 0 0 16px; + font-size: 1.45rem; + border-bottom: 2px solid var(--accent); + padding-bottom: 8px; + letter-spacing: -0.005em; +} +section > h3 { + margin: 20px 0 8px; + font-size: 1.1rem; + color: var(--accent-2); +} +section p { margin: 8px 0 12px; } + +ul, ol { padding-left: 22px; } +li { margin: 4px 0; } + +a { color: var(--accent-2); } + +code { + font-family: "SF Mono", Menlo, Consolas, monospace; + background: var(--code-bg); + color: var(--code-fg); + padding: 1px 6px; + border-radius: 4px; + font-size: 0.92em; +} +pre { + background: var(--code-bg); + color: var(--code-fg); + border: 1px solid var(--border); + border-radius: 8px; + padding: 14px 16px; + overflow-x: auto; + font-size: 0.88rem; + line-height: 1.55; +} +pre code { background: transparent; padding: 0; } + +/* 핵심 박스 */ +.callout { + border-left: 4px solid var(--highlight); + background: var(--bg-soft); + padding: 12px 16px; + margin: 14px 0; + border-radius: 0 8px 8px 0; +} +.callout strong { color: var(--highlight); } + +.formula { + background: var(--bg-soft); + border: 1px dashed var(--highlight); + padding: 14px 18px; + margin: 14px 0; + font-family: "SF Mono", Menlo, Consolas, monospace; + font-size: 0.95rem; + border-radius: 8px; + overflow-x: auto; + white-space: pre; +} + +/* 표 */ +table { + width: 100%; + border-collapse: collapse; + margin: 12px 0; + font-size: 0.92rem; +} +th, td { + border-bottom: 1px solid var(--border); + padding: 8px 10px; + text-align: left; + vertical-align: top; +} +th { + background: var(--bg-soft); + font-weight: 600; + color: var(--fg-mute); + font-size: 0.85rem; + text-transform: uppercase; + letter-spacing: 0.04em; +} + +/* SVG */ +.figure { + margin: 18px 0; + text-align: center; +} +.figure svg { + max-width: 100%; + height: auto; + background: var(--bg-soft); + border: 1px solid var(--border); + border-radius: 8px; + padding: 12px; +} +.figure figcaption { + margin-top: 8px; + font-size: 0.88rem; + color: var(--fg-mute); + font-style: italic; +} + +/* 3 핵심 카드 */ +.cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 14px; + margin: 14px 0; +} +.card { + background: var(--bg-soft); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; +} +.card h4 { + margin: 6px 0 6px; + color: var(--accent); + font-size: 1.0rem; +} +.card p { margin: 0; font-size: 0.92rem; color: var(--fg-mute); } +.card .icon { font-size: 1.6rem; } + +/* 체크리스트 */ +ol.checklist { counter-reset: step; padding-left: 0; list-style: none; } +ol.checklist > li { + counter-increment: step; + padding: 10px 14px 10px 44px; + position: relative; + border-left: 2px solid var(--border); + margin-left: 12px; +} +ol.checklist > li::before { + content: counter(step); + position: absolute; + left: -14px; + top: 8px; + width: 26px; + height: 26px; + border-radius: 50%; + background: var(--accent); + color: white; + text-align: center; + line-height: 26px; + font-weight: 700; + font-size: 0.8rem; +} +ol.checklist code { font-size: 0.88rem; } + +/* 푸터 */ +footer { + max-width: var(--maxw); + margin: 40px auto 0; + padding: 20px 0; + text-align: center; + color: var(--fg-mute); + font-size: 0.85rem; + border-top: 1px solid var(--border); +} + +/* 반응형 */ +@media (max-width: 640px) { + body { padding: 0 10px 60px; } + .hero { padding: 22px 18px; margin-top: 20px; } + .hero h1 { font-size: 1.55rem; } + section { padding: 20px 18px; } + section > h2 { font-size: 1.2rem; } + nav.toc ol { columns: 1; } +} diff --git a/docs/openevolve-intro/index.html b/docs/openevolve-intro/index.html new file mode 100644 index 0000000000..104fdc8d7c --- /dev/null +++ b/docs/openevolve-intro/index.html @@ -0,0 +1,1125 @@ + + + + + + OpenEvolve 개념·아키텍처 — 일반 엔지니어를 위한 소개 + + + + +

+

OpenEvolve — LLM으로 코드를 진화시키는 프레임워크

+

+ SW 개발자가 아니어도 이해할 수 있도록 정리한 OpenEvolve 개념, 알고리즘, 그리고 이 repo에서 z3·CP-SAT 솔버 파라미터 튜닝에 어떻게 적용되는지에 대한 안내서. +

+
+
+ +
+ + + + + +
+

1. 1분 요약 (TL;DR)

+

+ OpenEvolve는 LLM(거대 언어 모델)을 코드 변이(mutation) 연산자로 사용하는 진화 알고리즘 프레임워크다. + 사람이 "이 부분을 더 좋게 만들어줘"라고 한 줄을 직접 짜는 게 아니라, EVOLVE-BLOCK으로 표시된 코드 구역을 LLM이 반복적으로 변형하고, 그 결과를 자동으로 평가·비교한다. +

+ +
+ 핵심 루프 한 줄로: + 타겟 코드(target code)를 뽑고 → LLM이 변형하고 → 점수를 매기고 → 좋은 것만 남기고 → 다시 다음 라운드 타겟으로 → 반복. +
+ +

전형적인 활용 사례 (AlphaEvolve 류)

+
    +
  • 행렬 곱셈 알고리즘 발견 — 4×4 복소 행렬 곱셈에서 1969년 Strassen 알고리즘 이후 처음으로 더 적은 곱셈 횟수(49 → 48)의 새 알고리즘을 탐색.
  • +
  • 데이터센터 스케줄링 휴리스틱 개선 — Google Borg 클러스터의 작업 배치 휴리스틱을 자동 탐색해 stranded compute resource 0.7%pt 회수.
  • +
  • TPU 칩 설계 최적화 — TPU의 산술 회로 Verilog/RTL 코드에서 면적·지연을 줄이는 변형 탐색.
  • +
  • LLM 학습 커널 최적화 — Gemini 학습용 GPU 커널(예: FlashAttention 변형)의 처리량을 자동 튜닝.
  • +
  • 수학적 추측 탐색 — Kissing number, autocorrelation inequality 같은 open problem에서 새 lower/upper bound 구성.
  • +
+ +

+ OpenEvolve는 Google DeepMind의 AlphaEvolve 시스템을 오픈소스로 구현한 프레임워크다. 일반 진화 알고리즘과의 가장 큰 차이는 변이를 LLM이 만든다는 점, 그리고 평가의 부산물(실행 로그, 에러, profiling)을 다음 prompt에 자동으로 다시 넣는다는 점이다. +

+
+ + +
+

2. 3가지 핵심 개념

+ + +

2.0 배경: 진화 알고리즘이란 무엇인가

+

+ 진화 알고리즘(Evolutionary Algorithm, EA)은 생물 진화에서 영감을 받은 최적화 기법이다. 자연이 수십억 년에 걸쳐 더 잘 적응한 개체를 살아남게 한 것처럼, 컴퓨터 안에서도 "후보 해(候補解)들의 집단"을 만들어 더 좋은 해만 살아남게 하면 어려운 문제를 풀 수 있다는 아이디어. +

+ +

기본 사이클은 단순하다:

+
    +
  1. 집단 초기화 — 무작위 또는 사람이 만든 초기 후보 해들을 N개 만든다.
  2. +
  3. 평가 — 각 후보의 점수(fitness)를 측정한다. 솔버 옵션이면 "얼마나 빨리 풀었나", 신경망 가중치면 "얼마나 정확한가".
  4. +
  5. 선택 — 점수가 높은 후보를 다음 세대의 부모로 뽑는다.
  6. +
  7. 변형(mutation·crossover) — 부모를 살짝 바꾸거나 두 부모를 섞어 자식 후보를 만든다.
  8. +
  9. 교체 — 자식을 집단에 넣고 약한 후보를 밀어낸다. 1~5단계를 수백~수천 번 반복.
  10. +
+ +

전통 EA의 한계와 OpenEvolve의 자리

+ + + + + + + + +
구성요소전통 EAOpenEvolve
후보 표현실수 벡터·비트열·트리코드 텍스트 (EVOLVE-BLOCK 안의 Python/JSON dict 등)
변형 연산자비트 플립·산술 노이즈·crossoverLLM 호출 (의미 있는 변형)
피드백스칼라 점수만점수 + stderr + 통계 (artifact)
집단 구조단일 풀MAP-Elites 격자 × N개 island
+ +

+ 즉 OpenEvolve는 진화 알고리즘의 "후보·평가·선택·변형·교체" 골격을 그대로 빌리되, 네 군데를 LLM 시대에 맞게 갈아 끼웠다. 아래 세 가지 핵심 개념이 그 갈아끼움의 정수다. +

+ +

OpenEvolve를 다른 자동 코드 생성 도구와 구분짓는 세 가지 아이디어:

+ +
+
+
+

MAP-Elites Quality-Diversity

+

단일 최적해 하나를 쫓는 대신, 여러 특성(feature) 차원의 격자(grid)를 만들어 각 셀의 1등을 동시에 보존한다. 다양성을 유지해 조기 수렴을 막는다.

+
+
+
🏝️
+

Island 기반 분산 집단

+

집단을 여러 island(섬)로 나눠 격리 진화시키고, 주기적으로 우수 개체를 옆 섬으로 이주(migration)시킨다. 한 전략이 전체를 지배하지 못하도록.

+
+
+
🔁
+

Artifact 사이드 채널 피드백

+

평가가 점수만 반환하는 게 아니라 stderr, traceback, profiling 같은 실행 흔적도 같이 반환한다. 다음 LLM prompt에 자동 포함돼 "왜 실패했는지"를 모델이 본다.

+
+
+ + +

2.1 MAP-Elites Quality-Diversity — 자세히

+

+ 문제 의식. 전통적 진화 알고리즘은 "가장 점수 높은 1개"만 보존한다. 그 결과 처음 몇 세대에서 한 전략이 선두를 잡으면 모든 후손이 그 전략의 변형이 되고, 전혀 다른 가능성은 사라진다. 이걸 조기 수렴(premature convergence)이라고 한다. 솔버 튜닝 맥락에서는 "SAT 위주 옵션 셋"이 초반에 우세하면 "presolve 위주" 같은 다른 줄기가 영영 탐색되지 않는다. +

+ +

+ 해결. MAP-Elites는 해답을 단일 1등으로 압축하지 않는다. 대신 특성(feature) 차원을 정의해 다차원 격자를 만들고, 격자 셀별로 챔피언을 하나씩 유지한다. 격자가 채워질수록 "이 특성 조합으로는 이 정도가 최선"이라는 지도(map)가 만들어진다. +

+ +

3단계 처리 파이프라인

+
    +
  1. Extraction — 새 프로그램이 들어오면 각 feature 차원의 raw 값을 계산. 예: 코드 길이 = 230줄, 실행시간 = 4.2초.
  2. +
  3. Scaling — 모든 프로그램에 걸쳐 min-max 정규화 또는 z-score 변환. raw 값을 [0, 1] 같은 균일한 스케일로 변환.
  4. +
  5. Binning — 정규화 값을 feature_bins 개수의 이산 칸으로 나눔. 예: 10 bin이면 4.2초가 bin index 6에 떨어짐.
  6. +
+ +

역할 분리 — 점수 vs 좌표

+
    +
  • Fitness(점수): "같은 셀에 들어온 두 프로그램 중 누가 1등이냐"만 결정. 셀 안 비교용.
  • +
  • Feature 좌표: "어느 셀에 들어갈지"만 결정. 셀 배치용.
  • +
+

+ 이 분리가 핵심이다. 점수가 좌표를 결정하면 다양성을 잃는다. 좌표가 독립이라 점수가 낮은 영역도 살아남고, 그 영역에서 나중에 더 좋은 변형이 나오면 셀이 갱신된다. +

+ +
+ 왜 솔버 튜닝에 잘 맞나. "빠르지만 메모리 많이 쓰는 옵션"과 "느리지만 메모리 적게 쓰는 옵션"이 다른 셀에 산다. 둘 다 죽지 않고 보존되므로, 나중에 두 줄기의 좋은 점만 조합한 변형이 LLM 입력으로 같이 들어갈 수 있다. +
+ +

그림으로 보는 격자 비유

+

+ x축을 "코드 복잡도", y축을 "실행시간"이라고 하자. 격자 셀마다 ★는 그 셀의 챔피언이다. 새 변형 코드가 들어오면 그 코드의 (복잡도, 실행시간) 좌표로 어느 셀에 속하는지 계산하고, 그 셀의 기존 ★보다 점수가 높으면 챔피언을 교체한다. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 코드 복잡도 (낮음 → 높음) + 실행시간 (느림 → 빠름) + + + + 기존 챔피언 + + 새로 들어온 변형 (해당 셀 1등 교체) + + +
그림 3. MAP-Elites 격자. 새 변형(주황)이 본인 셀의 기존 챔피언보다 점수가 높으면 교체된다.
+
+ +
    +
  • "단순하면서 빠른" 셀과 "복잡하지만 더 빠른" 셀이 동시에 챔피언을 가진다.
  • +
  • 한 셀의 챔피언이 다른 셀에서 영감 코드로 쓰일 수 있다 — 다른 셀에 사는 좋은 아이디어를 빌려 자기 셀의 챔피언을 갱신.
  • +
  • 격자 전체가 채워지면 "이 코드 공간에서 어떤 트레이드오프가 가능한지"에 대한 지도(map)가 자동으로 그려진다.
  • +
+ +
+ 왜 이렇게 하나? 단일 1등만 키우면 "빠르지만 너무 복잡한 코드" 한 줄기로 진화가 쏠려 다양성이 사라진다. 격자별 챔피언을 동시에 키우면 "단순하면서 적당히 빠른" 셀이 살아남아 나중에 돌파구가 된다. +
+ +

+ OpenEvolve 빌트인 feature 차원: complexity(코드 길이 기반), diversity(다른 프로그램과의 edit distance). 사용자 정의 evaluator는 combined_score 외에 임의 키를 metric dict에 넣으면 자동으로 feature 차원으로 쓰일 수 있다 (config.yamlfeature_dimensions 리스트에 명시). +

+ + +

2.2 Island 기반 분산 집단 — 자세히

+

+ 문제 의식. MAP-Elites만으로도 다양성은 어느 정도 유지된다. 하지만 격자가 하나뿐이라면 한 LLM 호출이 강력한 변형을 만든 순간, 그 변형이 곧장 격자 전체의 타겟 코드 후보 풀에 합류한다. 그러면 다음 세대들은 거의 다 그 변형의 후손이 되고, 격자의 많은 셀이 같은 조상에서 갈라진 비슷비슷한 변형들로 채워진다. 결국 셀 좌표는 다양해 보이지만 실제 코드 혈통(누구의 후손인지)은 한 줄기로 좁아진다 — 겉으로 다양한 척하지만 속은 한 가족인 상태. +

+ +

+ 해결. 격자 자체를 N개로 복제해 독립 운영한다. 각 island는 자기만의 격자, 자기만의 타겟 코드 풀, 자기만의 best를 갖는다. 한 island에서 일어난 일이 다른 island에 즉시 영향을 못 미치므로, N개의 서로 다른 진화 줄기가 동시에 자란다. +

+ +

Migration — 격리만 하면 안 되는 이유

+

+ 완전 격리는 island별로 다른 지역 최적해에 빠질 위험이 있다. 그래서 주기적으로 migration을 한다. +

+ + + + + + + +
파라미터의미전형 값
num_islandsisland 개수3 ~ 8
migration_interval몇 generation마다 이주10
migration_rate이주 비율 (선택된 island 인구 중)0.1 (10%)
+

+ Ring topology로 이웃 island에만 보낸다 (island 0 → 1 → 2 → ... → 0). broadcast가 아니라 인접 전파라서, 한 사이클이 도는 데 시간이 걸려 다양성이 더 오래 유지된다. lazy migration: 이주 카운터는 generation 단위라서 iteration이 빨라도 너무 자주 안 일어난다. +

+ +

타겟 코드 선택 — Exploration vs Exploitation

+

+ iteration이 시작되면 현재 island에서 다음에 변형할 타겟 코드를 뽑는데, exploration_ratioexploitation_ratio 비율로 두 전략을 섞는다. +

+
    +
  • Exploration: 현재 island 인구에서 균일 무작위 추출. 점수가 낮은 후보에게도 기회.
  • +
  • Exploitation: archive(island의 elite 모음)에서 fitness 비례 가중 추출. 좋은 타겟에 집중.
  • +
  • Fallback: island가 비었을 때 global best를 시드로 주입 (best가 모든 island를 재시작시킬 수 있음).
  • +
+ +

+ Best 추적 분리. OpenEvolve는 island별 best와 별도로 global best를 영구 보존한다. MAP-Elites 격자 갱신 과정에서 best가 셀에서 밀려 사라지는 사고를 막기 위한 안전장치. +

+ +

그림으로 보는 Island 비유 — 갈라파고스

+

+ 찰스 다윈이 갈라파고스 제도에서 관찰한 핀치새는 섬마다 부리 모양이 달랐다. 같은 조상에서 출발했지만 섬마다 다른 먹이·환경에 적응하면서 다른 형질이 발달한 것. 가끔 새가 다른 섬으로 날아가 형질을 옮기면 새로운 조합이 만들어진다. +

+ +
+ + + + + + + + + + + + + Island 0 + SAT 위주 진화 + + + Island 1 + presolve 위주 + + + Island 2 + LP/cuts 위주 + + + Island 3 + heuristic 위주 + + + Island 4 + 랜덤 탐색 + + + + + + + + + ring topology migration + (주기적으로 엘리트 형질 전달) + +
그림 4. 5개 island가 ring topology로 연결됨. 각 섬은 다른 전략을 시도하고, 가끔 우수 개체가 옆 섬으로 이주한다.
+
+ +
    +
  • 섬 = island. 격리된 독립 진화 공간.
  • +
  • 핀치새 부리 = 진화 중인 코드 변형. 같은 초기 프로그램에서 출발했지만 섬마다 다른 방향으로 변형.
  • +
  • 새가 다른 섬으로 날아감 = migration. 우수 변형을 옆 island로 복사.
  • +
  • 섬 멸종해도 다른 섬 살아남음 = 분산 안전망. 한 island가 나쁜 지역 최적해에 빠져도 다른 island가 다른 줄기를 계속 진화시킴.
  • +
+ +
+ 솔버 튜닝 맥락 비유. 한 솔버 옵션 dict가 island 4에서는 "큰 문제 특화"(LP·cuts 강화)로, island 1에서는 "빠른 SAT 특화"(presolve 가볍게)로 갈라진다. 가끔 두 섬의 좋은 부분만 골라 합친 융합 변형이 진화 도약의 계기가 된다. +
+ + +

2.3 Artifact 사이드 채널 피드백 — 자세히

+

+ 문제 의식. 자동 코드 생성에서 LLM이 같은 실수를 반복하는 흔한 원인은 "왜 실패했는지" 정보가 다음 호출에 없기 때문이다. 점수 0.3 받았다는 사실만 보면 모델은 "더 잘하자" 정도밖에 모른다. 인간 개발자는 컴파일 에러 메시지나 스택 트레이스를 보고 정확히 어디를 고쳐야 할지 안다. +

+ +

+ 해결. Evaluator가 EvaluationResult 객체에 두 필드를 채워 반환한다. +

+ +
EvaluationResult(
+    metrics={
+        "combined_score": 0.43,
+        "execution_time": 30.0,
+        "memory_usage": 1024,
+    },
+    artifacts={
+        "stderr": "(error \"smt.case_split=5 out of range\")",
+        "solver_stats": "conflicts=1.3M decisions=2.1M propagations=8.9M",
+        "timeout_note": "30s exceeded on problem #17",
+    },
+)
+ +

+ metrics는 숫자만, artifacts는 자유 텍스트/바이너리. OpenEvolve가 artifacts를 자동으로 다음 prompt에 끼워 넣는다. +

+ +

저장 정책

+
    +
  • 소형 (≤10KB 정도): Program 객체의 artifacts_json 필드에 직렬화돼 DB에 인라인 저장.
  • +
  • 대형: 별도 디스크 디렉토리(artifact_dir)에 파일로 저장. DB에는 참조만.
  • +
  • 크기 컷: max_artifact_bytes 설정으로 prompt 주입 시 자동 truncate.
  • +
+ +

Prompt 주입 형태

+
### stderr
+```
+(error "smt.case_split=5 out of range")
+```
+
+### solver_stats
+```
+conflicts=1.3M decisions=2.1M propagations=8.9M
+```
+

+ 각 artifact 키가 markdown 헤더로, 값이 코드 펜스로 들어간다. LLM이 자연스럽게 읽고 다음 변형에서 참고한다. +

+ +

다른 피드백 채널과의 차이

+ + + + + + + +
채널전달 정보한계
점수만 (전통적 EA)스칼라 fitness왜 실패했는지 모름
점수 + diff history이전 시도 코드실행 결과는 못 봄
Artifact (OpenEvolve)stderr·stats·timeout 등 실행 산출물
+ +
+ 실용적 효과. 솔버 튜닝에서 artifact에 솔버 내부 카운터(conflicts, branches, restarts)를 넣으면 LLM이 "이 파라미터가 conflict 폭증을 유발했으니 줄이자"처럼 인과적으로 추론한다. 단순 timing만 줬을 때보다 수렴이 빨라진다. +
+ +

+ 설계 시 주의. artifact는 자유 형식이지만 일관된 키 이름을 유지하는 게 좋다 (stderr, solver_stats, traceback). LLM이 같은 키를 반복적으로 보면서 그 의미를 학습하기 때문. +

+
+ + +
+

3. 큰 그림 아키텍처

+

+ OpenEvolve 한 번 실행하면 다음 컴포넌트들이 서로 데이터를 주고받는다. 가장 바깥의 Controller가 진화 라이프사이클 전체를 지휘하고, 안쪽의 Database·Worker Pool·LLM·Evaluator가 각자 역할을 맡는다. +

+ +
+ + + + + + + + + + + Initial Program + EVOLVE-BLOCK 표시 + + + + Controller + 전체 오케스트레이션 + + + + Program Database + MAP-Elites 그리드 + + Islands + + + + Worker Pool + 병렬 iteration + (ProcessParallel) + + + + Iteration Step + sample → prompt → LLM → eval + + + + Prompt Sampler + 문맥 prompt 구성 + + + LLM Ensemble + 가중치 모델 1개 선택 + + + Evaluator + cascade stage1/2/3 + + + + + + + + + + + + + score + artifacts 피드백 (다음 iteration의 prompt에 자동 포함) + +
그림 1. OpenEvolve 컴포넌트와 데이터 흐름. 점선 = 피드백 경로.
+
+ +
+ 비유. 솔버 파라미터를 사람이 손으로 튜닝할 때의 절차 ─ "옵션 바꿔보고 → 실행해 보고 → 좋으면 적어두고 → 다시 변형" ─ 를 자동화한 시스템이다. 사람의 직관 자리에 LLM이, 메모장 자리에 Program Database가 들어간다. +
+
+ + +
+

4. 한 iteration의 생애 — 피드백 루프

+

+ 위 그림의 Iteration Step 한 번을 풀어 쓰면 다음 7단계다. 이 7단계가 수백 ~ 수천 번 반복되며 점수가 올라간다. +

+ +
+ + + + + + + + + + + + + Sample + island 에서 타겟 + + inspirations + + + + Build Prompt + 코드 + 과거 시도 + + top elite + artifact + + + + LLM Generate + 가중치 모델 선택 + diff or rewrite + + + + Parse Code + SEARCH/REPLACE + 블록 적용 + + + + Cascade Eval + stage1→2→3 + 임계 미달 시 컷 + + + + Insert + 같은 island 추가 + global best 갱신 + + + + + + + + + + + + + Cycle Island + 다음은 옆 island 에서 + + + + + + ⑤의 score + artifacts 가 ②의 다음 prompt 에 자동 주입 — 이것이 OpenEvolve 의 핵심 피드백 루프 + +
그림 2. 한 iteration 7단계 + 루프백. ③⑤가 LLM/평가가 일어나는 핵심 지점.
+
+ +

각 단계 세부

+
    +
  1. Sample — 현재 island에서 exploration(다양성) vs exploitation(엘리트) 비율로 타겟 코드와 영감 프로그램을 무작위 추출.
  2. +
  3. Build Prompt — 타겟 코드, 과거 시도 3개 점수, 다른 island의 elite 5개, 직전 평가 artifact를 하나의 prompt로 묶음.
  4. +
  5. LLM Generate — Ensemble이 가중치로 모델 1개를 뽑음. 그 모델이 diff 블록 또는 전체 재작성 코드를 출력.
  6. +
  7. Parse Code — diff 모드면 SEARCH/REPLACE 블록을 타겟 코드에 적용; rewrite 모드면 코드 블록 추출.
  8. +
  9. Cascade Evaluate — stage1(빠른 필터) → stage2(중간) → stage3(전체). 각 단계 임계값을 못 넘으면 조기 중단해 비용 절약.
  10. +
  11. Insert — Program 객체로 DB에 추가. 같은 island에 들어가고, MAP-Elites 그리드 셀에 배정됨. global best보다 좋으면 갱신.
  12. +
  13. Cycle Islandcurrent_island = (current_island + 1) % num_islands. 다음 iteration은 옆 섬에서.
  14. +
+
+ + + +
+

5. LLM이 어떻게 적용되나

+

+ OpenEvolve에서 LLM은 "똑똑한 변이 함수" 역할이다. 일반 진화 알고리즘이 비트 플립이나 무작위 swap으로 변형하는 자리에, 코드 문맥을 이해하는 LLM이 들어간다. +

+ +

Ensemble — 모델 여러 개를 가중치로 섞기

+

+ 한 모델만 쓰면 그 모델의 편향에 묶이므로, OpenEvolve는 Ensemble을 쓴다. config.yaml에서 모델 목록과 weight를 지정하면 매 iteration마다 가중치에 비례해 모델 1개가 뽑힌다. +

+ +
llm:
+  models:
+    - name: "google/gemini-2.0-flash-001"
+      weight: 0.7
+    - name: "anthropic/claude-3.7-sonnet"
+      weight: 0.3
+  temperature: 0.7
+ +

Prompt 안에 들어가는 정보 (피드백 채널)

+

+ Prompt sampler가 각 iteration마다 다음 정보를 모아 LLM에 전달한다. 단순히 타겟 코드 하나가 아니다. +

+ + + + + + + + + +
채널내용왜 필요한가
현재 타겟 코드변형 대상 EVOLVE-BLOCK 코드변경 베이스
과거 시도 3개최근 시도 코드 + 점수 + improved/regressed 라벨같은 실수 반복 방지
Top elite 5개전체에서 점수 높은 프로그램들성공 패턴 학습
Inspirations다양성 강제용 무작위 1~5개지역 최적해 탈출
Artifacts직전 평가의 stderr, traceback, profiling실패 원인 직접 보고 수정
+ +

LLM 응답 형식 2가지

+

OpenEvolve는 두 가지 변형 모드를 지원한다. diff_based_evolution: true 설정 여부로 선택.

+ +

(a) Diff 모드 — 작은 변경에 유리

+
<<<<<<< SEARCH
+  "search_branching": "AUTO",
+=======
+  "search_branching": "PSEUDO_COST",
+>>>>>>> REPLACE
+

위 블록만 응답하면 OpenEvolve가 자동으로 타겟 코드에 적용한다. 토큰 효율적이고, 큰 코드에서도 작은 변경이 쉽다.

+ +

(b) Full Rewrite 모드 — 구조적 변경에 유리

+

EVOLVE-BLOCK 전체를 통째로 새로 작성한 코드 블록을 응답하면 타겟을 통째로 교체. 작은 코드에서 자유로운 재설계가 필요할 때.

+ +
+ 한 줄로: "LLM = 코드 문맥을 이해하는 mutation 연산자". 무작위 변형 대신 의미 있는 변형을 만들어내는 게 차이. +
+
+ + +
+

6. Z3 파라미터 최적화 — 실제 결과

+

+ OpenEvolve가 튜닝한 Z3 파라미터를 axion-cell 라이브러리 셀 캐릭터라이제이션에 적용한 결과. 베이스라인 = axion-cell-v.0.1.0 (5.8) 기본 Z3 설정, 비교 대상 = OpenEvolve로 진화시킨 Z3 파라미터 dict. +

+ +

+ GAIN = baseline runtime ÷ optimized runtime (백분율). 100% 초과 = 그만큼 빨라짐. +

+ + + + + + + + + + + + + + + + + + + + +
Cellaxion-cell-v.0.1.0 (5.8)Z3 param optimizationGAIN
SDFFSQRLV_D1_N_S6P25TL_C54L0416779.712842.017130.66%
SDFFRPQRLV_D1_N_S6P25TL_C54L0416718.811917.475140.29%
SDFFRPQNRLV_D1_N_S6P25TL_C54L0416514.311492.625143.69%
SDFFQRLV_D1_N_S6P25TL_C54L049240.26972.733132.52%
ADDF_D1_N_S6P25TL_C54L047554.43752.992201.29%
XOR3_D2_N_S6P25TL_C54L044745.72840.486167.07%
XNOR3_D2_N_S6P25TL_C54L044089.8730.925559.54%
PREICG_D4_N_S6P25TL_C54L043889.63771.472103.13%
+ +
+ 핵심 수치 +
    +
  • 최대 GAIN: XNOR3_D2 — 559.54% (베이스라인 4089.8 → 730.9, 5.6배 가속)
  • +
  • 최소 GAIN: PREICG_D4 — 103.13% (이미 잘 튜닝된 셀)
  • +
  • 기하평균 GAIN: 약 176% — 평균적으로 1.76배 가속
  • +
  • 모든 셀에서 GAIN > 100% — 회귀 없이 일관된 개선
  • +
+
+ +

+ 해석. Sequential 셀(SDFF*)은 30~45% 가속, 산술 셀(ADDF)은 2배 이상, XOR/XNOR 같은 조합 로직은 더 큰 폭. 셀의 SMT 모델링 패턴이 다르고 OpenEvolve로 튜닝된 Z3 파라미터가 특정 패턴에서 특히 강점을 보임. +

+ +

+ 실용적 의미. Cell library 캐릭터라이제이션 한 round 전체에 적용하면 대규모 wall-clock 단축이 가능. OpenEvolve가 단순 벤치마크가 아닌 실제 EDA 워크플로우에서 측정 가능한 가치를 만들어낸 사례. +

+
+ + +
+

7. 실전 예시 — CP-SAT phase2 진화 로그 읽기

+

+ 여기까지가 이론. 이제 실제 로그를 따라가며 LLM이 어떻게 CP-SAT 파라미터를 튜닝하는지 본다. 로그 출처: input/cpsat-bench/evolve/phase2_presolve/openevolve_output/logs/openevolve_20260527_154008.log. Phase2는 phase1의 best 결과를 물려받아 presolve/probing 표면을 미세 조정하는 단계. +

+ +

7.1 실행 환경

+ + + + + + + + + + + +
항목
LLM Ensembleclaude-sonnet-4-6 (weight 0.80) + claude-haiku-4-5 (weight 0.20)
Random seed42 (재현성 확보)
Island3개
총 iteration20
고정(LOCKED) 파라미터random_seed=0, num_search_workers=1 — LLM이 못 건드림
샘플 문제stage1=10개, stage2=10개, stage3=outlier (cascade 평가)
Phase 위치phase1 best 상속 → presolve 표면 튜닝
+ +

7.2 시작점 — 이미 높은 baseline (score 0.9976)

+

+ Phase2의 초기 initial_program.py는 phase1에서 검증된 minimum 설정만 들고 있다. Phase1이 다양한 search 옵션을 시도한 뒤 살아남은 핵심 파라미터: +

+
GLOBAL_OVERRIDES = {
+    "cp_model_probing_level": 1,
+}
+
+SIZE_BUCKETS = [
+    (50_000,         {}),
+    (150_000,        {}),
+    (float("inf"),   {}),
+]
+
+STAGE3_OVERRIDES = {}
+ +

평가 결과:

+
combined_score = 0.9976
+geomean_speedup = 1.0409          ← deterministic_time 4.1% 단축
+geomean_wall_speedup = 1.2351     ← wall time 23.5% 빠름
+solved_rate = 1.0 (10/10 OPTIMAL)
+efficiency = 0.8802               ← 일부 문제에서 conflicts 약간 증가 (88점)
+ +
+ Phase1과의 큰 차이. Phase1은 score=0에서 출발했지만 Phase2는 시작부터 0.9976. 즉 phase1이 잘 작동해 미세 조정만 남은 상태. 큰 도약 대신 점진적 개선이 목표. +
+ +

7.3 Iteration 1 — SIZE_BUCKETS와 STAGE3_OVERRIDES 채움 (score 1.0)

+

+ Iteration 1에서 ensemble이 claude-haiku-4-5를 샘플링. LLM thinking 로그를 한국어로 요약하면: +

+ +
+ LLM 사고 요약 (번역): +
    +
  1. "현재 score 0.9976 — 이미 매우 높음. 큰 점프 대신 점진적 개선이 필요하다."
  2. +
  3. "Phase2는 presolve/probing 튜닝 단계. cp_model_probing_level=1이 글로벌 기본인데, 작은 문제(<50k)는 SAT-유사 특성이라 probing을 더 높게 가져도 안전하다."
  4. +
  5. "SIZE_BUCKETS의 첫 버킷에 cp_model_probing_level: 2 추가. 중/대 버킷은 그대로 두어 LP-heavy 인스턴스 회귀 방지."
  6. +
  7. "Outlier(stage3 전용)에는 더 공격적으로 — cp_model_probing_level: 3, symmetry_level: 3, probing_num_combinations_limit: 35000. STAGE3_OVERRIDES는 outlier에만 적용되니 일반 stage1/2 성능 손해 없음."
  8. +
+
+ +

+ LLM이 적용한 새 EVOLVE-BLOCK: +

+ +
GLOBAL_OVERRIDES = {
+    "cp_model_probing_level": 1,    # 글로벌은 보수적으로 유지
+}
+
+SIZE_BUCKETS = [
+    (50000,  {"cp_model_probing_level": 2}),   # 작은 문제 — probing 올림
+    (150000, {}),                              # 중간 — 그대로
+    (inf,    {}),                              # 큰 문제 — 그대로 (LP-heavy 보호)
+]
+
+STAGE3_OVERRIDES = {
+    "cp_model_probing_level": 3,               # outlier 전용 — 강력
+    "symmetry_level": 3,
+    "probing_num_combinations_limit": 35000,
+}
+ +

평가 결과:

+
iter 1: combined_score = 1.0000  (0.9976 → 1.0000, +0.0024)
+        solved_rate = 1.0  (10/10 OPTIMAL)
+        geomean_speedup = 1.0000
+        geomean_wall_speedup = 1.1226
+        efficiency = 1.0000           ← efficiency 페널티 사라짐
+        🌟 New best solution found at iteration 1
+ +
+ 주목할 점. wall_speedup은 1.2351 → 1.1226으로 살짝 하락. 하지만 combined_score증가. 이유는 efficiency 0.88 → 1.00. score 식이 wall만 보지 않고 efficiency까지 가중치를 두기 때문에, "솔버가 더 적은 일을 해서 같은 결과를 얻은 변형"이 더 높은 점수를 받는다. +
+ +

7.4 Iteration 5~6 — 욕심내다 efficiency 페널티

+

+ Iteration 5, 6에서 LLM이 더 공격적인 presolve 옵션을 시도. 결과는 의외: +

+
iter 5: combined_score=0.7969  geomean_speedup=0.8460  efficiency=0.8356
+iter 6: combined_score=0.6964  geomean_speedup=0.7689  efficiency=0.7427
+

+ OPTIMAL은 다 맞췄지만 (solved_rate=1.0) score는 큰 폭으로 하락. 원인은 두 가지: +

+
    +
  • geomean_speedup < 1.0 — variant가 baseline보다 deterministic_time을 더 많이
  • +
  • efficiency 하락 — conflicts 5,221 → 7,817~8,670개로 증가. 솔버가 헤맴.
  • +
+ +
+ 학습 포인트. 이미 score 1.0인 상태에서 추가 개선은 매우 어렵다. 어설픈 욕심이 오히려 후퇴. score 식 자체가 "더 빠르거나 더 효율적이면 보상, 양쪽 다 나쁘면 페널티" 구조라 stable한 변형이 valuable. +
+ +

7.5 Iteration 7~13 — Regression 폭주와 같은 문제 반복

+

+ Iteration 7, 8, 10, 11, 12, 13 모두 같은 에러: +

+
combined_score = 0.0000
+error = "result regression on 3e69d6f5b7: baseline=OPTIMAL got=UNKNOWN"
+

+ 같은 문제(SHA 3e69d6f5b7, num_constraints=28938)에서 반복적으로 OPTIMAL → UNKNOWN. LLM이 매번 다른 변형을 시도하는데 자꾸 이 한 문제가 무너진다. 이 문제는 phase1에서 무난히 풀던 문제 — phase2의 presolve 튜닝이 이 문제의 핵심 구조를 깬다는 의미. +

+ +
+ Phase2의 어려움. Phase1과 달리 phase2의 가능한 변형 공간이 이미 잘 작동하는 baseline에 비해 좁다. 한 발만 잘못 디뎌도 OPTIMAL → UNKNOWN. LLM이 conservative 영역에서 surf해야 함. +
+ +

7.6 Iteration 14 — 복구 (score 0.969)

+

+ 여러 차례 regression 후 iter 14에서 다시 OPTIMAL 회복: +

+
iter 14: combined_score = 0.9690
+         geomean_speedup = 1.0113
+         geomean_wall_speedup = 1.2008
+         efficiency = 0.8794
+         solved_rate = 1.0
+

+ Parent는 iter 4 (04718c2f, score 0.7969)의 자식이지만 iter 1의 검증된 SIZE_BUCKETS 패턴으로 회귀. 즉 LLM이 artifact를 통해 "3e69d6f5b7에서 무엇이 깨졌는지" 학습 후 안전한 영역으로 복귀. +

+ +

7.7 종합 — Phase2가 보여주는 OpenEvolve 동작 양상

+ + + + + + + + + + + +
특징이 로그에서 확인된 증거
Phase 체이닝phase1 best (cp_model_probing_level=1)이 phase2 initial로 import. 시작 점수 이미 0.9976.
점진적 개선iter 1: 0.9976 → 1.0000 (+0.0024). 점프가 아닌 미세 조정.
Efficiency vs Wall 트레이드오프iter 1은 wall은 약간 느려졌지만 efficiency가 좋아져 종합 점수 상승.
STAGE3_OVERRIDES 활용LLM이 "outlier 전용 공격적 설정"을 분리 — stage1/2 안전, stage3에만 적용.
반복적 동일 문제 실패iter 7~13: 같은 문제(3e69d6f5b7)에서 반복 UNKNOWN — phase2 변형이 이 문제 구조를 깸.
Artifact 학습 복구iter 14에서 LLM이 regression 메시지를 보고 안전 영역으로 회귀.
Cascade 평가모든 iteration이 stage1만 평가됨 — 점수 1.0 이상 도달 못 해 stage2 진입 못 함 (phase2의 한계).
+ +

+ 20 iteration 후 phase2의 best 변형은 iter 1 (combined_score=1.0000, SIZE_BUCKETS + STAGE3_OVERRIDES 추가). 이 best가 추출돼 phase3의 initial_program.py로 import되고 다음 표면(LP/cuts) 튜닝이 시작된다. +

+ +
+ Phase1 vs Phase2 비교. Phase1은 score 0 → 1.0822로 큰 도약 (탐색). Phase2는 0.9976 → 1.0000으로 미세 조정 (수렴). 두 phase의 진화 양상이 본질적으로 다르며, 이게 OpenEvolve의 multi-phase cascade가 단계마다 적절한 최적화를 하는 이유. +
+
+ + +
+

8. 이 repo의 활용: z3-bench / cpsat-bench

+

+ 이 워크스페이스의 input/z3-bench, input/cpsat-bench 두 디렉토리는 OpenEvolve를 솔버 파라미터 튜닝에 적용한 실제 사례다. 두 벤치마크는 거의 같은 구조를 따른다. +

+ +

공통 디렉토리 구조

+ +
+ + + + + + + + input/<bench>/ + + + + raw-data/ + 원본 문제 + meta.jsonl + + + + problems.jsonl + 통합 baseline 데이터 + + + + evolve/ + + + + config.yaml + LLM·iteration·cascade 설정 + + + shared/ + evaluator·score·runner·baseline + + + build_samples.py + stage1/2/3 샘플 선정 + + + run_phase.sh + phase 체이닝 + + + phase{1..4}_<name>/ + initial_program.py (EVOLVE-BLOCK) + + + + + + + + + + + +
그림 5. 두 벤치마크에 공통인 디렉토리 구조. raw-data에서 baseline을 모으고, evolve/에서 진화를 돌린다.
+
+ +

4-Phase Cascade 흐름

+

+ 파라미터 공간이 너무 크면 한 번에 모두 튜닝하기 어렵다. 그래서 두 벤치마크 모두 진화를 4 phase로 나눠 점진적으로 좁혀간다. +

+ +
+ + + + + + + + + + Phase 1 + 작은 표면 단독 + z3: opt.* + sls.* + cpsat: search/subsolvers + + + Phase 2 + phase1 best 고정 + z3: sat.* + cpsat: presolve + + + Phase 3 + phase1+2 best 고정 + z3: smt.* + cpsat: lp/cuts + + + Phase 4 + 통합 미세조정 + 모든 best 결합 + 전체 표면 + + + + + + 탐색 공간을 점진적으로 좁히면서, 앞 phase의 우승 dict을 다음 phase의 시작점으로 사용 + +
그림 6. 4-phase cascade. 각 phase가 끝나면 best dict가 다음 phase의 initial_program.py에 import 된다.
+
+ +

Scoring 공식 — LLM이 최대화하려는 숫자

+

+ 두 벤치마크 모두 같은 패턴의 점수식을 쓴다. 세 요소를 곱한 단일 스칼라. +

+ +
combined_score + = geomean(speedup_per_problem, weight=baseline_ms) ← 큰 문제일수록 가중치 ↑ + × solved_rate² ← 정답률 떨어지면 큰 페널티 + × efficiency^0.333 ← conflict/decision/propagation 개선
+ +
    +
  • geomean(speedup) — 문제별 (baseline_ms ÷ variant_ms) 의 기하평균. baseline_ms로 가중하면 오래 걸리는 어려운 문제가 점수를 좌우.
  • +
  • solved_rate² — 한 문제라도 정답을 못 맞히거나 OPTIMAL을 놓치면 제곱으로 페널티. 속도 위해 정확성을 희생하지 못하게 막는 안전장치.
  • +
  • efficiency^0.333 — 솔버 내부 카운터(conflicts, decisions, propagations 등)의 베이스라인 대비 개선 정도. 시간 외에 "솔버가 더 적은 일을 했는가"도 본다.
  • +
+ +

+ 차이는 미세하다: + z3-bench은 wall-clock speedup 기반, + cpsat-bench은 하드웨어 의존성을 줄이려 deterministic_time(작업 카운터) 기반 cost mode를 쓴다. +

+ +

EVOLVE 표면 차이

+ + + + + + + + + + + + + + +
벤치EVOLVE-BLOCK 안의 구조의도
z3-bench단일 dict OPT_SLS_OVERRIDES모든 문제에 같은 옵션 dict 적용
cpsat-bench3층: GLOBAL_OVERRIDES + SIZE_BUCKETS(문제 크기 분기) + STAGE3_OVERRIDES(outlier 전용)문제 특성별로 다른 옵션 셋을 적용하는 적응형 튜닝
+ +

+ cpsat의 SIZE_BUCKETS는 예를 들면 "제약 5만개 미만 / 5만~15만 / 15만 이상"으로 나눠 각 버킷마다 다른 옵션 dict를 갖는다. 작은 문제는 빠른 휴리스틱, 큰 문제는 무거운 LP를 켜는 식. +

+
+ + +
+

9. 새 솔버에 적용하려면 — 정의해야 할 코드

+

+ 예: cvc5, MiniZinc, picosat 같은 다른 솔버에 OpenEvolve를 적용하고 싶다면 다음 순서로 파일을 작성한다. z3-bench가 거의 그대로 템플릿 역할을 한다. +

+ +
    +
  1. + raw-data/ + problems.jsonl — 베이스라인 실행 결과를 모아 둔다. + 각 row: problem_sha256, baseline_ms, baseline_result (SAT/UNSAT/OPTIMAL/...), 도메인 features, 솔버 stats. + 참고: input/z3-bench/problems.jsonl. +
  2. +
  3. + shared/<solver>_runner.py — 서브프로세스로 솔버를 호출하는 얇은 래퍼. timeout, stderr 캡처, stats 파싱. + 참고: z3-bench/evolve/shared/. +
  4. +
  5. + shared/baseline_params.pyBASELINE dict(기본값)와 LOCKED dict(절대 변경 금지: random_seed, num_workers). + LOCKED는 LLM이 건드리면 결과가 비교 불가능해지는 키들. +
  6. +
  7. + shared/score.py — 위 9절의 scoring 공식 구현. combined_score를 반환하는 함수 하나. + 불일치 시 (variant가 OPTIMAL 못 맞춤 등) 1e-6 같은 큰 페널티. +
  8. +
  9. + shared/evaluator.pyevaluate_stage1/2/3 함수. 각 stage 통과 임계값 정의, 적응적 timeout max(5s, baseline_ms × 1.3). +
  10. +
  11. + build_samples.py — 문제집을 stage별로 나눔. 보통 stage1=5개 빠른 거(필터), stage2=50개 대표, stage3=5개 어려운 거(검증). + Tukey IQR로 outlier 컷, 분위수 stratified sampling. +
  12. +
  13. + phase{N}_<name>/initial_program.py — EVOLVE-BLOCK 안에 튜닝 대상 파라미터 dict. 단순 dict 또는 z3/cpsat 같은 다층 구조. + Phase 마다 다른 표면을 노출. +
  14. +
  15. + config.yaml — LLM 모델(models), max_iterations(20~40), population_size(50), + cascade_thresholds [예: 1.03 = "3% 이상 개선해야 통과"], feature_dimensions, + prompt system_message에 "이 솔버의 OO 파라미터를 OO 목표로 튜닝한다" 명시. +
  16. +
  17. + run_phase.sh — phase 체이닝 스크립트. phase N이 끝나면 best dict를 추출해 phase N+1의 initial_program.py에 import. +
  18. +
  19. + (선택) extract_best.py, Statistics/, outlier 분석 — 체크포인트에서 best dict를 뽑는 유틸, outlier 자동 식별. + cpsat-bench는 shared/outliers.json으로 stage3 전용 outlier 집합을 미리 정의. +
  20. +
+ +
+ 가장 빨리 시작하는 법: input/z3-bench/evolve/ 디렉토리를 통째로 복사한 뒤 (1) shared/<solver>_runner.py를 새 솔버로 교체, (2) baseline_params.py의 dict 키를 새 솔버 옵션으로 교체, (3) problems.jsonl을 새 도메인 데이터로 교체. 나머지 구조는 거의 그대로 작동한다. +
+
+ + +
+

10. 부록 — 용어 미니 사전

+ + + + + + + + + + + + + + +
용어한 줄 정의
Program진화의 기본 단위. 코드 + 점수 + parent 링크 + artifact를 한 묶음으로 가진 객체.
MAP-Elites"특성 격자별 1등을 동시에 보존"하는 Quality-Diversity 알고리즘.
Island격리 진화하는 부분 집단. ring topology로 주기적 migration.
MigrationIsland 사이에 우수 개체를 이주시키는 작업. migration_interval로 주기 제어.
Cascade Evaluationstage1 → stage2 → stage3 단계 평가. 약한 후보는 조기 컷오프.
Artifact평가의 사이드 채널 데이터 (stderr, traceback, profiling). 다음 prompt에 자동 주입.
EVOLVE-BLOCK# EVOLVE-BLOCK-START ~ # EVOLVE-BLOCK-END 마커. LLM이 수정 가능한 영역.
Combined Score주 fitness 스칼라. 보통 geomean(speedup) × solved_rate² × efficiency^0.333 같은 곱셈식.
Ensemble여러 LLM을 가중치로 섞어 매 호출마다 하나를 샘플링하는 방식.
Feature DimensionMAP-Elites 그리드의 축. complexity, execution_time 같은 비-fitness 특성.
+
+ +
+ 본 문서는 openevolve/ 소스코드와 ~/private/dev-study/wiki/openevolve 위키를 교차 참조해 작성. 그림은 모두 inline SVG (외부 의존성 0). +
+ +
+ + + diff --git a/docs/openevolve-intro/sections/README.md b/docs/openevolve-intro/sections/README.md new file mode 100644 index 0000000000..0658fce27b --- /dev/null +++ b/docs/openevolve-intro/sections/README.md @@ -0,0 +1,24 @@ +# docs/openevolve-intro/ + +OpenEvolve 개념·아키텍처 소개 문서. SW 개발자가 아닌 일반 엔지니어 대상. + +## 보는 법 + +``` +open docs/openevolve-intro/index.html +``` + +(브라우저에 더블클릭으로 열어도 됨. CDN 의존성 0.) + +## 구조 + +- `index.html` — 단일 페이지 문서. 11개 섹션 + 6개 inline SVG 다이어그램. +- `assets/styles.css` — 스타일 (다크/라이트 자동, 반응형). +- `sections/` — 본 README. SVG 는 `index.html` 안에 직접 인라인되어 있어 별도 파일 없음. + +## 내용 출처 + +- 코드: 워크스페이스 `openevolve/` 모듈 + `input/z3-bench`, `input/cpsat-bench` 적용 사례. +- 위키: `~/private/dev-study/wiki/openevolve/` (01~11 markdown). + +수정 시 위 두 소스와 교차 검증 권장. diff --git a/docs/openevolve-intro/slides.html b/docs/openevolve-intro/slides.html new file mode 100644 index 0000000000..19865ec40f --- /dev/null +++ b/docs/openevolve-intro/slides.html @@ -0,0 +1,1303 @@ + + + + + +OpenEvolve — 슬라이드 발표 + + + + + +
+ + 1 / 35 + + + + +
+ + +
+

키보드 단축키

+ + + + + + + +
Space PgDn다음 슬라이드
PgUp이전 슬라이드
Home첫 슬라이드
End마지막 슬라이드
?이 도움말
Esc도움말 닫기
+

PDF 변환: 브라우저 인쇄 (Cmd/Ctrl+P) → "Save as PDF"

+
+ + +
+
+

Evolutionary Coding Agent

+

OpenEvolve

+

LLM으로 코드를 진화시키는 프레임워크

+

개념 · 알고리즘 · 실전 로그 · 적용 가이드

+
+
+ OpenEvolve Intro +
+ Slide 1 +
+
+ + +
+
1. TL;DR

1분 요약

+
+

OpenEvolve = LLM을 코드 변이 연산자로 쓰는 진화 알고리즘.

+ +
+ 핵심 루프 한 줄:
+ 타겟 코드(target code)를 뽑고 → LLM이 변형 → 점수 매김 → 좋은 것만 남김 → 다시 다음 타겟으로 → 반복. +
+ +

사람이 "더 좋게 만들어줘"라고 코드를 직접 짜지 않음. EVOLVE-BLOCK 영역을 LLM이 반복 변형, 자동 평가, 비교.

+

OpenEvolve = Google DeepMind AlphaEvolve의 오픈소스 구현.

+
+
1. TL;DR
2 / 35
+
+ + +
+
1. TL;DR

전형적인 활용 사례 (AlphaEvolve 류)

+
+
    +
  • 행렬 곱셈 알고리즘 발견 — 4×4 복소 행렬 곱셈에서 1969년 Strassen 알고리즘 이후 처음으로 곱셈 49→48회로 단축한 새 알고리즘 탐색.
  • +
  • 데이터센터 스케줄링 — Google Borg 클러스터 작업 배치 휴리스틱 자동 탐색, stranded compute resource 0.7%pt 회수.
  • +
  • TPU 칩 설계 최적화 — TPU 산술 회로 Verilog/RTL의 면적·지연을 줄이는 변형 탐색.
  • +
  • LLM 학습 커널 최적화 — Gemini 학습 GPU 커널(FlashAttention 변형 등) 처리량 자동 튜닝.
  • +
  • 수학적 추측 탐색 — Kissing number 같은 open problem에서 새 lower/upper bound 구성.
  • +
+
+
1. TL;DR
3 / 35
+
+ + +
+
2. 핵심 개념

2.0 배경 — 진화 알고리즘이란?

+
+

생물 진화에서 영감받은 최적화 기법. "후보 해 집단을 키우면서 더 좋은 것만 살리면 어려운 문제가 풀린다."

+

기본 사이클

+
    +
  1. 초기화 — 후보 해 N개 (무작위 또는 사람이 만든 시드)
  2. +
  3. 평가 — 각 후보의 점수(fitness) 측정
  4. +
  5. 선택 — 점수 높은 후보를 부모로 뽑기
  6. +
  7. 변형 — mutation(돌연변이) 또는 crossover(교배)로 자식 생성
  8. +
  9. 교체 — 자식을 집단에 넣고 약한 후보 밀어내기
  10. +
+

1~5 단계를 수백~수천 번 반복.

+
+
2. 핵심 개념
4 / 35
+
+ + +
+
2. 핵심 개념

전통 EA vs OpenEvolve — 무엇이 바뀌었나

+
+ + + + + + + + +
구성요소전통 EAOpenEvolve
후보 표현실수 벡터·비트열·트리코드 텍스트 (EVOLVE-BLOCK)
변형 연산자비트 플립·산술 노이즈·crossoverLLM 호출 (의미 있는 변형)
피드백스칼라 점수만점수 + stderr + 통계 (artifact)
집단 구조단일 풀MAP-Elites 격자 × N개 island
+
+ 요약: 진화 알고리즘 골격은 그대로. 네 군데를 LLM 시대에 맞게 갈아 끼움. 아래 세 가지가 그 정수. +
+
+
2. 핵심 개념
5 / 35
+
+ + +
+
2. 핵심 개념

3가지 핵심 혁신

+
+
+
+
+

MAP-Elites

+

Quality-Diversity. 특성 격자별 챔피언 동시 보존. 조기 수렴 방지.

+
+
+
🏝️
+

Island 모델

+

격리 진화 + 주기적 migration. 한 전략이 전체를 지배하지 못함.

+
+
+
🔁
+

Artifact 피드백

+

stderr·traceback·profiling이 다음 LLM prompt에 자동 주입.

+
+
+
+
2. 핵심 개념
6 / 35
+
+ + +
+
2.1 MAP-Elites

왜 격자별 챔피언인가

+
+

문제 의식

+

전통 EA는 "점수 1등"만 보존. 한 전략이 초반에 선두면 모든 후손이 그 변형 → 조기 수렴.

+ +

해결

+

해답을 단일 1등으로 압축하지 않음. 특성(feature) 격자를 만들고 셀별로 챔피언 보존.

+ +
+ 역할 분리:
+ Fitness = "같은 셀 안에서 누가 1등?" (셀 내 비교)
+ Feature 좌표 = "어느 셀에 들어갈지?" (셀 배치) +
+ +

처리: Extraction(raw 값) → Scaling(정규화) → Binning(이산 칸).

+
+
2.1 MAP-Elites
7 / 35
+
+ + +
+
2.1 MAP-Elites

그림 — 격자 시각화

+
+
+ + + + + + + + + + + + + + + + + 코드 복잡도 (낮음 → 높음) + 실행시간 (느림 → 빠름) + + 기존 챔피언 + 새 변형 (셀 1등 교체) + + +
+

★ = 셀 챔피언. 새 변형의 (복잡도, 실행시간) 좌표로 셀 결정, 그 셀 챔피언과만 비교.

+
+
2.1 MAP-Elites
8 / 35
+
+ + +
+
2.2 Island

왜 격자 하나로 부족한가

+
+

문제 의식

+

격자가 하나뿐이면 한 LLM 호출의 강력한 변형이 곧장 전체 후보 풀에 합류. 다음 세대들은 거의 다 그 변형의 후손.

+
+ 셀 좌표는 다양해 보이지만 실제 코드 혈통은 한 줄기로 좁아짐. 겉으로 다양한 척하지만 속은 한 가족. +
+

해결

+

격자 자체를 N개로 복제해 독립 운영. 각 island = 자기만의 격자 + 자기만의 best.

+ +

Migration 파라미터

+
    +
  • num_islands: 섬 개수 (3~8)
  • +
  • migration_interval: 이주 주기 (단위: generation)
  • +
  • migration_rate: 이주 비율 (전형 10%)
  • +
+
+
2.2 Island
9 / 35
+
+ + +
+
2.2 Island

갈라파고스 비유 — Ring Topology

+
+
+ + + + + + + + + Island 0SAT 위주 + Island 1presolve 위주 + Island 2LP/cuts + Island 3heuristic + Island 4랜덤 탐색 + + ring topology migration + (주기적 엘리트 형질 전달) + +
+

섬 = 격리 진화 공간. 핀치새 부리 = 진화 중인 코드 변형. 새가 옆 섬으로 = migration.

+
+
2.2 Island
10 / 35
+
+ + +
+
2.3 Artifact

실행 흔적을 LLM에 되돌려주기

+
+

문제 의식

+

점수만 보면 LLM은 "0.3 받았네, 다음엔 더 잘하자" 수준. 왜 실패했는지는 모름.

+ +

해결 — EvaluationResult

+
EvaluationResult(
+    metrics={
+        "combined_score": 0.43,
+        "execution_time": 30.0,
+    },
+    artifacts={
+        "stderr": "(error \"smt.case_split=5 out of range\")",
+        "solver_stats": "conflicts=1.3M decisions=2.1M",
+        "timeout_note": "30s exceeded on problem #17",
+    },
+)
+ +

artifacts dict가 자동으로 다음 prompt의 markdown 섹션으로 주입.

+
+
2.3 Artifact
11 / 35
+
+ + +
+
2.3 Artifact

피드백 채널 — 다른 방식과 비교

+
+ + + + + + + +
채널전달 정보한계
점수만 (전통 EA)스칼라 fitness왜 실패했는지 모름
점수 + diff history이전 시도 코드실행 결과는 못 봄
Artifact (OpenEvolve)stderr·stats·timeout 등 실행 산출물
+ +
+ 비유: 학교 시험. 점수만 보는 학생 vs 빨간 코멘트까지 읽는 학생. OpenEvolve의 LLM은 후자. +
+ +

설계 팁: artifact 키 이름 일관 유지 (stderr, solver_stats). LLM이 반복적으로 보며 의미 학습.

+
+
2.3 Artifact
12 / 35
+
+ + +
+
3. 아키텍처

큰 그림 — 컴포넌트 데이터 흐름

+
+
+ + + + + + Initial ProgramEVOLVE-BLOCK 표시 + Controller오케스트레이션 + Program DatabaseMAP-Elites 격자+ Islands + Worker Pool병렬 iteration + Iteration Stepsample → prompt → LLM → eval + Prompt Sampler문맥 prompt 구성 + LLM Ensemble가중치 모델 선택 + Evaluatorcascade stage1/2/3 + + 점선: score + artifacts 피드백 경로 + +
+
+
3. 아키텍처
13 / 35
+
+ + +
+
4. Iteration

한 iteration의 생애 — 7단계

+
+
+ + + + + + Sampleisland 타겟+ inspirations + Build Prompt코드 + 과거+ top + artifact + LLM Generate모델 선택diff or rewrite + Parse CodeSEARCH/REPLACE블록 적용 + Cascade Evalstage1→2→3임계 컷 + Insertisland 추가best 갱신 + + Cycle Island다음은 옆 island + + ⑤의 score + artifacts 가 ②의 다음 prompt 에 자동 주입 + +
+
+
4. Iteration
14 / 35
+
+ + +
+
5. LLM

Ensemble — 모델 여러 개를 가중치로

+
+

한 모델만 쓰면 그 모델 편향에 묶임. Ensemble이 매 iteration마다 가중치에 비례해 모델 1개 샘플링.

+ +
llm:
+  models:
+    - name: "claude-sonnet-4-6"
+      weight: 0.80
+    - name: "claude-haiku-4-5"
+      weight: 0.20
+  temperature: 0.7
+ +
+ LLM = 코드 문맥을 이해하는 mutation 연산자.
+ 무작위 변형 대신 의미 있는 변형 생성. +
+
+
5. LLM
15 / 35
+
+ + +
+
5. LLM

Prompt에 들어가는 5가지 채널

+
+ + + + + + + + + +
채널내용왜 필요한가
현재 타겟 코드변형 대상 EVOLVE-BLOCK변경 베이스
과거 시도 3개코드 + 점수 + improved/regressed 라벨같은 실수 반복 방지
Top elite 5개전체 점수 높은 프로그램성공 패턴 학습
Inspirations다양성 강제용 무작위 1~5개지역 최적해 탈출
Artifacts직전 평가의 stderr·traceback·profiling실패 원인 직접 보고 수정
+

단순히 부모 코드 하나가 아니다 — 5개 채널이 한 prompt로 합쳐짐.

+
+
5. LLM
16 / 35
+
+ + +
+
5. LLM

응답 형식 — Diff vs Full Rewrite

+
+
+
+

(a) Diff 모드 — 작은 변경

+
<<<<<<< SEARCH
+"search_branching": "AUTO",
+=======
+"search_branching": "PSEUDO_COST",
+>>>>>>> REPLACE
+

토큰 효율적, 큰 코드도 OK.

+
+
+

(b) Full Rewrite — 구조적 변경

+

EVOLVE-BLOCK 전체를 통째로 새로 작성한 코드 블록.

+

작은 코드에서 자유로운 재설계가 필요할 때.

+
```python
+# new code from scratch
+GLOBAL_OVERRIDES = {...}
+```
+
+
+

diff_based_evolution: true 설정으로 모드 선택.

+
+
5. LLM
17 / 35
+
+ + +
+
6. Z3 최적화 결과

실제 EDA 워크플로우 적용 — Cell Characterization

+
+

OpenEvolve가 튜닝한 Z3 파라미터를 axion-cell 라이브러리 셀에 적용한 실제 결과.

+ +

실험 조건

+
    +
  • 베이스라인: axion-cell-v.0.1.0 (5.8) 기본 Z3 설정
  • +
  • 비교 대상: OpenEvolve가 진화시킨 Z3 파라미터 dict
  • +
  • 측정: 셀별 캐릭터라이제이션 runtime (ms)
  • +
  • GAIN = baseline ÷ optimized 비율 (백분율). 100% 초과 = 가속
  • +
+ +
+ 요약. 8개 셀 모두에서 GAIN > 100% (일관된 개선). 기하평균 약 176%, 최대 559.54% (XNOR3_D2 — 5.6배 가속). +
+
+
6. Z3 최적화 결과
18 / 35
+
+ + +
+
6. Z3 최적화 결과

셀별 GAIN 표

+
+ + + + + + + + + + + + + + + + + + + +
Cellbaseline axion-cell-v0.1.0(5.8)Z3 optimizationGAIN
SDFFSQRLV_D1_N_S6P25TL_C54L0416779.712842.017130.66%
SDFFRPQRLV_D1_N_S6P25TL_C54L0416718.811917.475140.29%
SDFFRPQNRLV_D1_N_S6P25TL_C54L0416514.311492.625143.69%
SDFFQRLV_D1_N_S6P25TL_C54L049240.26972.733132.52%
ADDF_D1_N_S6P25TL_C54L047554.43752.992201.29%
XOR3_D2_N_S6P25TL_C54L044745.72840.486167.07%
XNOR3_D2_N_S6P25TL_C54L044089.8730.925559.54%
PREICG_D4_N_S6P25TL_C54L043889.63771.472103.13%
+
+
6. Z3 최적화 결과
19 / 35
+
+ + +
+
7. 실전 로그

CP-SAT phase2 진화 로그 읽기

+
+

이론은 끝. 실제 phase2 로그를 따라가며 LLM이 CP-SAT presolve 파라미터를 미세 조정하는 과정 관찰.

+ +

+ 로그: input/cpsat-bench/evolve/phase2_presolve/openevolve_output/logs/openevolve_20260527_154008.log +

+ +

실행 환경

+ + + + + + + + + +
LLM Ensembleclaude-sonnet-4-6 (0.80) + claude-haiku-4-5 (0.20)
Random seed42 (재현성)
Island3개
총 iteration20
LOCKED 파라미터random_seed=0, num_search_workers=1
Phase 위치phase1 best 상속 → presolve 표면 튜닝
+
+
7. 실전 로그
20 / 35
+
+ + +
+
7.2 시작점

이미 높은 baseline — score 0.9976

+
+

Phase2 초기 프로그램은 phase1에서 검증된 minimum 설정만 들고 시작.

+ +
GLOBAL_OVERRIDES = {
+    "cp_model_probing_level": 1,
+}
+
+SIZE_BUCKETS = [
+    (50_000,         {}),
+    (150_000,        {}),
+    (float("inf"),   {}),
+]
+
+STAGE3_OVERRIDES = {}
+ +
+ 평가 결과:
+ combined_score = 0.9976 (시작부터 매우 높음)
+ geomean_speedup = 1.0409 (dtime 4.1% 단축)
+ geomean_wall_speedup = 1.2351 (wall 23.5% 빠름)
+ solved_rate = 1.0 (10/10 OPTIMAL)
+ efficiency = 0.8802 (일부 문제 conflicts 약간 증가) +
+
+
7.2 시작점
21 / 35
+
+ + +
+
7.2 시작점

Phase1과의 큰 차이

+
+ + + + + + + + +
항목Phase1Phase2
초기 점수0.0000 (망가짐)0.9976 (이미 좋음)
탐색 공간search/subsolvers (큰 공간)presolve/probing (좁은 공간)
변형 방향"근본 수정" (멀티워커 옵션 제거)"미세 조정" (SIZE_BUCKETS 채우기)
기대 진행큰 점프 (0→1.0)점진적 (0.9976→1.0)
+ +
+ Phase2의 본질. phase1이 잘 작동해 미세 조정만 남은 상태. 어설픈 욕심은 오히려 regression. LLM은 conservative 영역에서 surf해야 함. +
+
+
7.2 시작점
22 / 35
+
+ + +
+
7.3 Iteration 1

LLM의 진단 (thinking 로그 번역)

+
+
+
    +
  1. "score 0.9976 — 이미 매우 높음. 큰 점프 대신 점진적 개선이 필요."
  2. +
  3. "cp_model_probing_level=1은 글로벌 기본인데, 작은 문제(<50k)는 SAT-유사라 probing을 더 높게 가져도 안전."
  4. +
  5. "SIZE_BUCKETS 첫 버킷에 cp_model_probing_level: 2 추가. 중/대 버킷은 그대로 — LP-heavy 인스턴스 회귀 방지."
  6. +
  7. "Outlier(stage3 전용)는 더 공격적: probing_level: 3, symmetry_level: 3. STAGE3_OVERRIDES는 outlier에만 적용되니 stage1/2 손해 없음."
  8. +
+
+

LLM이 buckets별로 다른 강도를 적용하는 layered tuning 전략 채택.

+
+
7.3 Iteration 1
23 / 35
+
+ + +
+
7.3 Iteration 1

변형 적용 → 미세 개선

+
+
GLOBAL_OVERRIDES = {
+    "cp_model_probing_level": 1,    # 글로벌 보수적 유지
+}
+
+SIZE_BUCKETS = [
+    (50000,  {"cp_model_probing_level": 2}),   # 작은 문제만 올림
+    (150000, {}),                              # 중간 — 그대로
+    (inf,    {}),                              # 큰 문제 — 그대로
+]
+
+STAGE3_OVERRIDES = {
+    "cp_model_probing_level": 3,               # outlier — 강력
+    "symmetry_level": 3,
+    "probing_num_combinations_limit": 35000,
+}
+ +
+ 평가 결과:
+ combined_score: 0.9976 → 1.0000 (+0.0024)
+ efficiency: 0.8802 → 1.0000 (페널티 사라짐)
+ wall_speedup 1.2351 → 1.1226 (살짝 하락하지만 score는 상승)
+ 🌟 New best solution found at iteration 1 +
+
+
7.3 Iteration 1
24 / 35
+
+ + +
+
7.4 Iter 5~6

욕심내다 efficiency 페널티

+
+
iter 5: combined_score=0.7969  geomean_speedup=0.8460  efficiency=0.8356
+iter 6: combined_score=0.6964  geomean_speedup=0.7689  efficiency=0.7427
+ +

OPTIMAL은 다 맞췄는데 점수 큰 폭 하락. 원인 둘:

+ +
    +
  • geomean_speedup < 1.0 — variant가 baseline보다 dtime 더 씀
  • +
  • efficiency 하락 — conflicts 5,221 → 7,817~8,670 (솔버 헤맴)
  • +
+ +
+ 학습 포인트. 이미 1.0인 상태에서 추가 개선은 매우 어렵다. 어설픈 욕심이 오히려 후퇴. Score 식 자체가 안정성을 강조. +
+
+
7.4 Iter 5~6
25 / 35
+
+ + +
+
7.5 Iter 7~13

Regression 폭주 — 같은 문제 반복

+
+
iter 7:  combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
+iter 8:  combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
+iter 10: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
+iter 11: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
+iter 12: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
+iter 13: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
+ +

같은 문제(SHA 3e69d6f5b7, constraints=28938)에서 반복적 OPTIMAL → UNKNOWN. 매 iteration LLM이 다른 변형 시도하지만 자꾸 이 한 문제가 무너짐.

+ +
+ Phase2의 어려움. 가능한 변형 공간이 이미 좋은 baseline에 비해 좁다. 한 발만 잘못 디뎌도 핵심 문제 구조를 깬다. LLM이 conservative 영역에서 surf해야 함. +
+
+
7.5 Iter 7~13
26 / 35
+
+ + +
+
7.6 Iter 14

Artifact 학습으로 복구

+
+
iter 14: combined_score = 0.9690
+         geomean_speedup = 1.0113
+         geomean_wall_speedup = 1.2008
+         efficiency = 0.8794
+         solved_rate = 1.0
+         parent = iter 4 (04718c2f, score=0.7969)
+ +

여러 차례 regression 후 iter 14에서 다시 OPTIMAL 회복. Parent는 iter 4의 자식이지만 iter 1의 검증된 SIZE_BUCKETS 패턴으로 회귀.

+ +
+ 핵심. LLM이 artifact error 메시지("3e69d6f5b7: OPTIMAL→UNKNOWN")를 반복적으로 보면서 "이 영역은 위험"이라는 신호를 학습. 안전 영역으로 자율 회귀. +
+ +

점수만 줬을 때는 불가능한 인과적 디버깅 — artifact 피드백의 가치 실증.

+
+
7.6 Iter 14
27 / 35
+
+ + +
+
7.7 종합

Phase2 로그가 보여준 동작 양상

+
+ + + + + + + + + + +
특징로그 증거
Phase 체이닝phase1 best이 phase2 initial로 import. 시작 점수 이미 0.9976
점진적 개선iter 1: 0.9976 → 1.0000. 점프 아닌 미세 조정
Efficiency vs Walliter 1: wall 살짝 느려도 efficiency 개선으로 종합 점수 상승
Layered tuningSIZE_BUCKETS + STAGE3_OVERRIDES로 문제 크기별/outlier별 분리 적용
반복 동일 실패iter 7~13: 같은 문제(3e69d6f5b7) 반복 UNKNOWN
Artifact 학습 복구iter 14에서 LLM이 위험 영역 회피, 안전 영역으로 자율 회귀
+ +

20 iteration 후 best = iter 1 (combined_score=1.0000). 이 best가 phase3의 시작점으로 import.

+ +
+ Phase1 vs Phase2. Phase1은 0 → 1.0822 큰 도약 (탐색). Phase2는 0.9976 → 1.0000 미세 조정 (수렴). multi-phase cascade가 단계마다 다른 최적화 양상을 보임. +
+
+
7.7 종합
28 / 35
+
+ + +
+
8. repo 활용

z3-bench / cpsat-bench 디렉토리 구조

+
+
+ + + input/<bench>/ + raw-data/원본 문제 + meta.jsonl + problems.jsonl통합 baseline 데이터 + evolve/ + config.yamlLLM·iteration·cascade 설정 + shared/evaluator·score·runner·baseline + build_samples.pystage1/2/3 샘플 선정 + run_phase.shphase 체이닝 + phase{1..4}_<name>/initial_program.py (EVOLVE-BLOCK) + + + +
+
+
8. repo 활용
29 / 35
+
+ + +
+
8. repo 활용

4-Phase Cascade — 점진적으로 좁히기

+
+
+ + + + + + Phase 1작은 표면 단독z3: opt.* + sls.*cpsat: search/subsolvers + Phase 2phase1 best 고정z3: sat.*cpsat: presolve + Phase 3phase1+2 best 고정z3: smt.*cpsat: lp/cuts + Phase 4통합 미세조정모든 best 결합전체 표면 + + 탐색 공간을 점진적으로 좁히면서 앞 phase의 우승 dict을 다음 phase 시작점으로 사용 + +
+
+
8. repo 활용
30 / 35
+
+ + +
+
8. repo 활용

Scoring 공식 — LLM이 최대화할 숫자

+
+
combined_score
+  = geomean(speedup_per_problem, weight=baseline_ms)   ← 큰 문제일수록 가중치 ↑
+    × solved_rate²                                       ← 정답률 떨어지면 큰 페널티
+    × efficiency^0.333                                   ← conflict/decision/propagation 개선
+ +
    +
  • geomean(speedup): 문제별 (baseline_ms ÷ variant_ms)의 기하평균. baseline_ms 가중 → 오래 걸리는 문제가 점수 좌우.
  • +
  • solved_rate²: 한 문제라도 OPTIMAL 못 맞히면 제곱 페널티. 속도 위해 정확성 희생 못 함.
  • +
  • efficiency^0.333: 솔버 내부 카운터(conflicts, decisions, propagations)의 베이스라인 대비 개선 정도.
  • +
+ +

z3-bench: wall-clock speedup / cpsat-bench: deterministic_time(작업 카운터) cost mode.

+
+
8. repo 활용
31 / 35
+
+ + +
+
9. 적용 가이드

새 솔버에 적용하려면 (1/2)

+
+
    +
  1. raw-data/ + problems.jsonl — 베이스라인 실행 결과 (problem_sha256, baseline_ms, baseline_result, features, solver_stats)
  2. +
  3. shared/<solver>_runner.py — 서브프로세스 솔버 호출 래퍼 (timeout, stderr 캡처, stats 파싱)
  4. +
  5. shared/baseline_params.pyBASELINE dict(기본값) + LOCKED dict(절대 변경 금지: random_seed, num_workers)
  6. +
  7. shared/score.py — scoring 공식 구현. combined_score 반환 함수. 불일치 시 큰 페널티
  8. +
  9. shared/evaluator.pyevaluate_stage1/2/3 함수. stage별 임계값, 적응적 timeout
  10. +
+
+
9. 적용 가이드
32 / 35
+
+ + +
+
9. 적용 가이드

새 솔버에 적용하려면 (2/2)

+
+
    +
  1. build_samples.py — 문제집 stage 분배 (보통 stage1=5 빠른, stage2=50 대표, stage3=5 어려운)
  2. +
  3. phase{N}_<name>/initial_program.py — EVOLVE-BLOCK 안에 튜닝 파라미터 dict
  4. +
  5. config.yaml — LLM models, max_iterations, cascade_thresholds, prompt system_message
  6. +
  7. run_phase.sh — phase 체이닝 스크립트 (phase N best → phase N+1 import)
  8. +
  9. (선택) extract_best.py, Statistics/ outlier 분석
  10. +
+ +
+ 가장 빠르게 시작: input/z3-bench/evolve/를 통째로 복사 → runner, baseline_params dict 키, problems.jsonl만 새 도메인으로 교체. 나머지 구조는 그대로. +
+
+
9. 적용 가이드
33 / 35
+
+ + +
+
10. 용어 사전

한 줄씩 용어 정리

+
+ + + + + + + + + + + + +
Program진화의 기본 단위. 코드 + 점수 + parent + artifact 한 묶음
MAP-Elites"특성 격자별 1등을 동시에 보존"하는 Quality-Diversity 알고리즘
Island격리 진화하는 부분 집단. ring topology 주기적 migration
Cascade Evaluationstage1→2→3 단계 평가. 약한 후보 조기 컷
Artifact평가 사이드 채널 데이터 (stderr·stats). 다음 prompt에 자동 주입
EVOLVE-BLOCK# EVOLVE-BLOCK-START ~ # EVOLVE-BLOCK-END 마커. LLM 수정 영역
Combined Score주 fitness 스칼라. geomean × solved_rate² × efficiency^0.333
Ensemble여러 LLM을 가중치로 섞어 매 호출마다 하나를 샘플링
Feature DimensionMAP-Elites 그리드 축. complexity, execution_time 같은 비-fitness 특성
+
+
10. 용어 사전
34 / 35
+
+ + +
+
+

감사합니다

+

질문은 언제든.

+

자세한 문서: docs/openevolve-intro/index.html

+

로그 예시 원본: input/cpsat-bench/evolve/phase1_search/openevolve_output/logs/

+

키보드 Home 으로 처음부터 다시 보기.

+
+
End
35 / 35
+
+ + + + + From 41862303c460ca282025cd6af948427e9969465e Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 28 May 2026 14:17:18 +0900 Subject: [PATCH 34/42] add phase5 custom subsolvers, worker logging, ignore cpsat run artifacts - process_parallel: pass log_file to workers and configure root logger - gitignore + untrack cpsat-bench shared run artifacts (samples, baselines, phase outputs) - add phase5_custom_subsolvers initial program - tune cpsat evolve config, samples, evaluator, worker Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 9 + Dockerfile | 6 +- input/_lib/load_bench_config.py | 4 + input/cpsat-bench/Statistics/analyze.py | 35 ++ .../Statistics/analyze_outliers.py | 25 + .../Statistics/outliers_report.txt | 96 ++-- input/cpsat-bench/Statistics/outliers_top.csv | 40 +- input/cpsat-bench/Statistics/per_instance.csv | 512 +++--------------- .../Statistics/plots/01_runtime_hist.png | Bin 28111 -> 24440 bytes .../Statistics/plots/02_features_hist.png | Bin 39650 -> 31404 bytes .../plots/03_runtime_vs_size_scatter.png | Bin 134188 -> 80073 bytes .../Statistics/plots/04_box_by_status.png | Bin 27562 -> 19154 bytes .../Statistics/plots/05_box_by_hash.png | Bin 76659 -> 37438 bytes .../plots/06_heatmap_vars_constraints.png | Bin 29040 -> 27330 bytes .../Statistics/plots/07_residual_scatter.png | Bin 93573 -> 63807 bytes .../plots/08_outlier_constraint_kinds.png | Bin 32677 -> 32616 bytes input/cpsat-bench/Statistics/report.txt | 79 ++- input/cpsat-bench/evolve/build_samples.py | 102 +++- input/cpsat-bench/evolve/config.yaml | 19 +- input/cpsat-bench/evolve/extract_best.py | 4 + .../evolve/phase4_unified/initial_program.py | 63 ++- .../initial_program.py | 212 ++++++++ .../evolve/shared/_cpsat_solve_worker.py | 68 ++- input/cpsat-bench/evolve/shared/evaluator.py | 31 ++ .../evolve/shared/local_baseline.json | 492 ----------------- input/cpsat-bench/evolve/shared/outliers.json | 191 ------- .../evolve/shared/stage1_large_sample.json | 14 - .../evolve/shared/stage1_sample.json | 68 --- .../evolve/shared/stage2_sample.json | 68 --- .../evolve/shared/stage3_sample.json | 38 -- .../evolve/shared/stage4_sample.json | 128 ----- input/cpsat-bench/problems.jsonl | 512 +++--------------- input/run_phase.sh | 21 +- openevolve/controller.py | 8 + openevolve/iteration.py | 22 + openevolve/llm/claude_code.py | 30 +- openevolve/process_parallel.py | 34 +- pyproject.toml | 6 + scripts/docker-init-claude.sh | 15 + 39 files changed, 917 insertions(+), 2035 deletions(-) create mode 100644 input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py delete mode 100644 input/cpsat-bench/evolve/shared/local_baseline.json delete mode 100644 input/cpsat-bench/evolve/shared/outliers.json delete mode 100644 input/cpsat-bench/evolve/shared/stage1_large_sample.json delete mode 100644 input/cpsat-bench/evolve/shared/stage1_sample.json delete mode 100644 input/cpsat-bench/evolve/shared/stage2_sample.json delete mode 100644 input/cpsat-bench/evolve/shared/stage3_sample.json delete mode 100644 input/cpsat-bench/evolve/shared/stage4_sample.json diff --git a/.gitignore b/.gitignore index 651f8b5df1..39007b6e08 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,12 @@ input/cpsat-bench/raw-data # z3-bench evolve run artifacts (locally regenerated) input/z3-bench/evolve/shared/local_baseline.json input/z3-bench/evolve/shared/phase*_best.json + +# cpsat-bench evolve run artifacts (locally regenerated) +input/cpsat-bench/evolve/shared/local_baseline.json +input/cpsat-bench/evolve/shared/outliers.json +input/cpsat-bench/evolve/shared/has_objective_cache.json +input/cpsat-bench/evolve/shared/*_sample.json +input/cpsat-bench/evolve/shared/phase*_best.json +input/cpsat-bench/evolve/shared/phase*_buckets.json +input/cpsat-bench/evolve/shared/phase*_stage3.json diff --git a/Dockerfile b/Dockerfile index 1af998267b..aaa8cb0085 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,8 +12,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Copy the project files into the container COPY . /app -# Install Python dependencies -RUN pip install --root-user-action=ignore -e . +# Install Python dependencies. claude-code extra pulls in claude-agent-sdk +# AND opentelemetry-api (SDK injects W3C trace context; missing OTEL emits +# noisy DEBUG tracebacks each call). +RUN pip install --root-user-action=ignore -e ".[claude-code]" # Expose the project directory as a volume VOLUME ["/app"] diff --git a/input/_lib/load_bench_config.py b/input/_lib/load_bench_config.py index 795c54d5f0..961ddafea7 100644 --- a/input/_lib/load_bench_config.py +++ b/input/_lib/load_bench_config.py @@ -13,6 +13,9 @@ - dir: phase2_y ... unified_prepare_script: prepare_phase_unified.py # optional + unified_prepare_before_dir: phase4_unified # optional; fire prep + # before this dir + # (default: last phase) solver_check_cmd: 'python -c "from ortools.sat.python import cp_model"' solver_install_hint: install pip install ortools rebaseline_script: rebaseline_local.py # optional override @@ -94,6 +97,7 @@ def main(): _emit("PHASE_ITERS", " ".join(iters)) _emit("UNIFIED_PREPARE_SCRIPT", bench.get("unified_prepare_script")) + _emit("UNIFIED_PREPARE_BEFORE_DIR", bench.get("unified_prepare_before_dir")) _emit("SOLVER_CHECK_CMD", bench.get("solver_check_cmd")) _emit("SOLVER_INSTALL_HINT", bench.get("solver_install_hint")) _emit("REBASELINE_SCRIPT", bench.get("rebaseline_script")) diff --git a/input/cpsat-bench/Statistics/analyze.py b/input/cpsat-bench/Statistics/analyze.py index fec46c2e35..d47421223a 100644 --- a/input/cpsat-bench/Statistics/analyze.py +++ b/input/cpsat-bench/Statistics/analyze.py @@ -41,6 +41,22 @@ # ---------- loading ---------- +def has_objective_set(raw_dir: Path) -> set[str] | None: + """Return set of SHAs whose .cpsat.pb carries an objective. None if + ortools unavailable.""" + try: + from ortools.sat import cp_model_pb2 + except ImportError: + return None + out: set[str] = set() + for p in sorted(raw_dir.glob("*.cpsat.pb")): + m = cp_model_pb2.CpModelProto() + m.ParseFromString(p.read_bytes()) + if m.HasField("objective") or m.HasField("floating_point_objective"): + out.add(p.name[: -len(".cpsat.pb")]) + return out + + def load_meta(raw_dir: Path) -> list[dict]: rows: list[dict] = [] for path in sorted(raw_dir.glob("*.meta.jsonl")): @@ -437,6 +453,12 @@ def main() -> int: ap.add_argument("--raw-dir", type=Path, default=DEFAULT_RAW) ap.add_argument("--out", type=Path, default=DEFAULT_OUT) ap.add_argument("--no-plots", action="store_true") + ap.add_argument( + "--optimize-only", + action="store_true", + help="Restrict analysis to problems whose .cpsat.pb carries an " + "objective (drops feasibility-only instances).", + ) args = ap.parse_args() if not args.raw_dir.is_dir(): @@ -449,6 +471,19 @@ def main() -> int: records = extract(rows) print(f"loaded {len(records)} instances from {args.raw_dir}") + if args.optimize_only: + obj_shas = has_objective_set(args.raw_dir) + if obj_shas is None: + print("warning: --optimize-only requested but ortools unavailable " + "— keeping all instances", file=sys.stderr) + else: + before = len(records) + records = [r for r in records if r.get("problem_sha256") in obj_shas] + print(f"objective filter: kept {len(records)}/{before} instances") + if not records: + print("ERROR no instances with objective", file=sys.stderr) + return 1 + write_report(records, args.out / "report.txt") write_csv(records, args.out / "per_instance.csv") diff --git a/input/cpsat-bench/Statistics/analyze_outliers.py b/input/cpsat-bench/Statistics/analyze_outliers.py index f5edd22232..bb6c777ff8 100644 --- a/input/cpsat-bench/Statistics/analyze_outliers.py +++ b/input/cpsat-bench/Statistics/analyze_outliers.py @@ -38,6 +38,17 @@ DEFAULT_OUT = HERE +def has_objective_set(raw_dir: Path) -> set: + """SHAs whose .cpsat.pb carries an objective.""" + out = set() + for p in sorted(raw_dir.glob("*.cpsat.pb")): + m = cp_model_pb2.CpModelProto() + m.ParseFromString(p.read_bytes()) + if m.HasField("objective") or m.HasField("floating_point_objective"): + out.add(p.name[: -len(".cpsat.pb")]) + return out + + # ---------- meta load ---------- def load_meta(raw_dir: Path) -> list[dict]: @@ -239,6 +250,11 @@ def main() -> int: ap.add_argument("--out", type=Path, default=DEFAULT_OUT) ap.add_argument("--top-k", type=int, default=30, help="Number of outliers to deep-dive") ap.add_argument("--baseline-k", type=int, default=60, help="Inlier sample size for comparison") + ap.add_argument( + "--optimize-only", + action="store_true", + help="Restrict analysis to problems whose .cpsat.pb carries an objective.", + ) args = ap.parse_args() if not args.raw_dir.is_dir(): @@ -249,6 +265,15 @@ def main() -> int: records = flatten(rows) print(f"loaded {len(records)} instances") + if args.optimize_only: + obj_shas = has_objective_set(args.raw_dir) + before = len(records) + records = [r for r in records if r.get("problem_sha256") in obj_shas] + print(f"objective filter: kept {len(records)}/{before} instances") + if not records: + print("ERROR no instances with objective", file=sys.stderr) + return 1 + _resid, info, kept = fit_residuals(records) print(f"baseline log10 fit: a_vars={info['a_vars']:.3f} b_cons={info['b_constraints']:.3f} " f"intercept={info['intercept']:.3f} R^2={info['r2']:.3f} rmse={info['rmse']:.3f}") diff --git a/input/cpsat-bench/Statistics/outliers_report.txt b/input/cpsat-bench/Statistics/outliers_report.txt index dc39a4ecc8..81c102a19c 100644 --- a/input/cpsat-bench/Statistics/outliers_report.txt +++ b/input/cpsat-bench/Statistics/outliers_report.txt @@ -1,82 +1,52 @@ # CP-SAT runtime outlier diagnosis -records: 430, regression-kept: 430 -log10 baseline: log10(elapsed_ms) = -2.949*log10(vars) + 5.262*log10(cons) + -10.116 -R^2 = 0.855, RMSE(log10) = 0.266 -top-30 outliers slowdown range: 2.4x .. 19.8x +records: 82, regression-kept: 82 +log10 baseline: log10(elapsed_ms) = 1.176*log10(vars) + 0.756*log10(cons) + -3.501 +R^2 = 0.836, RMSE(log10) = 0.191 +top-10 outliers slowdown range: 1.4x .. 11.5x ## Top outliers (residual = log10(actual/predicted)) sha hash status elapsed_ms vars cons pred_ms resid conflicts branches -9c28c175 fadf9341 OPTIMAL 5,307,350.0 20881 236975 267,796.7 1.30 949,858 3,779,328 -ea6187c1 fadf9341 OPTIMAL 4,689,630.0 20881 236975 267,796.7 1.24 1,180,208 4,605,661 -64e85d06 5df8f0e7 OPTIMAL 5,707,370.0 20867 246453 329,832.1 1.24 1,489,558 5,574,793 -5651d412 5df8f0e7 OPTIMAL 4,481,100.0 20867 246453 329,832.1 1.13 891,686 3,512,483 -fe2b12d0 fadf9341 OPTIMAL 3,111,920.0 20867 236494 265,473.2 1.07 632,852 2,956,918 -b14c571a 56ab92f3 OPTIMAL 1,873,900.0 20844 233581 249,521.1 0.88 738,946 2,570,390 -cdc476df 56ab92f3 OPTIMAL 1,549,180.0 20830 233076 247,184.6 0.80 443,078 1,855,860 -5f84583f fadf9341 OPTIMAL 6,436.6 1979 21981 1,027.2 0.80 436 9,745 -073ef8ba 56ab92f3 OPTIMAL 1,496,560.0 20830 233100 247,318.6 0.78 531,653 2,141,669 -7e5aa401 56ab92f3 OPTIMAL 1,482,010.0 20844 233557 249,386.2 0.77 548,234 2,019,729 -96e1d05e 56ab92f3 OPTIMAL 1,443,320.0 20844 233581 249,521.1 0.76 700,829 2,655,203 -484ac3f3 56ab92f3 OPTIMAL 1,380,120.0 20844 233557 249,386.2 0.74 498,838 1,688,437 -26f53ed6 fadf9341 OPTIMAL 856,786.0 17076 192805 163,700.3 0.72 218,233 1,168,305 -083beb02 56ab92f3 OPTIMAL 686,113.0 17058 190773 155,305.1 0.65 210,392 952,603 -bc676605 5df8f0e7 OPTIMAL 837,165.0 17070 199450 195,858.0 0.63 213,359 1,171,620 -9c548616 5df8f0e7 OPTIMAL 1,312,210.0 20853 245972 327,105.4 0.60 261,411 1,407,886 -303a6733 fadf9341 OPTIMAL 3,530.8 1850 20766 929.1 0.58 379 11,971 -d8130c88 5df8f0e7 OPTIMAL 3,748.3 1850 21650 1,157.0 0.51 531 12,139 -e2b2952c 5df8f0e7 OPTIMAL 2,894.6 1739 20421 1,021.0 0.45 229 7,101 -471adab2 5df8f0e7 OPTIMAL 3,311.7 1863 21835 1,185.3 0.45 303 10,282 -202fbcb0 5df8f0e7 OPTIMAL 3,024.1 1674 20236 1,089.0 0.44 310 10,067 -b040ac13 5df8f0e7 OPTIMAL 3,052.7 1766 20923 1,108.7 0.44 228 10,193 -c0a0dc04 fadf9341 OPTIMAL 4,920.2 2199 25921 1,792.5 0.44 712 19,587 -834873ba 5df8f0e7 OPTIMAL 3,081.6 1850 21650 1,157.0 0.43 794 13,010 -a87f850d fadf9341 OPTIMAL 180.5 715 7423 68.3 0.42 560 4,544 -c4fe2cc0 fadf9341 OPTIMAL 4,839.6 2326 26958 1,867.2 0.41 2,116 24,405 -9c6904d7 5df8f0e7 OPTIMAL 3,212.3 1977 22871 1,269.6 0.40 822 11,048 -7b9053fb 5df8f0e7 OPTIMAL 2,916.7 1859 21771 1,174.5 0.40 399 10,761 -c0bbae62 fadf9341 OPTIMAL 400,652.0 17070 192562 162,786.1 0.39 122,197 544,974 -63f1e1c6 5df8f0e7 OPTIMAL 2,893.8 1863 21835 1,185.3 0.39 382 10,557 +ba0fe698 5df8f0e7 OPTIMAL 25,129.0 1316 15565 2,181.1 1.06 567 5,512 +d1963519 5df8f0e7 OPTIMAL 573,378.0 10404 122534 118,204.1 0.69 40,296 230,447 +cbc04bca 5df8f0e7 OPTIMAL 422,905.0 11127 136453 138,769.2 0.48 35,669 198,723 +2fe6606b 5df8f0e7 OPTIMAL 49,854.2 4358 55027 23,181.9 0.33 13,604 185,339 +01a1d906 5df8f0e7 OPTIMAL 62,558.7 5306 63224 32,456.9 0.28 15,713 102,256 +b7fa3444 5df8f0e7 OPTIMAL 46,683.7 4820 59596 27,721.8 0.23 9,931 192,717 +b8483420 5df8f0e7 OPTIMAL 5,405.5 1674 20478 3,562.0 0.18 3,722 41,473 +a65ee543 5df8f0e7 OPTIMAL 6,289.2 1863 22077 4,276.0 0.17 2,402 15,308 +68047eeb 5df8f0e7 OPTIMAL 6,177.9 1850 21892 4,214.0 0.17 9,621 78,066 +00d6004a 5df8f0e7 OPTIMAL 5,990.7 1850 21892 4,214.0 0.15 10,712 125,224 ## Scalar feature comparison: outlier median vs baseline median feature outlier_med base_med ratio -n_vars 79,153.00 22,524.00 3.51 -n_cons 191,667.50 53,456.00 3.59 -n_enforce 156,156.00 42,812.00 3.65 +n_vars 16,306.00 17,803.00 0.92 +n_cons 38,552.00 42,093.00 0.92 +n_enforce 31,058.00 33,893.50 0.92 linear_coef_max 1.00 1.00 1.00 -linear_coef_abs_sum 139,178.00 35,995.00 3.87 -linear_terms_max 161.00 66.00 2.44 -linear_terms_total 139,178.00 35,995.00 3.87 +linear_coef_abs_sum 25,367.50 28,369.00 0.89 +linear_terms_max 46.00 51.00 0.90 +linear_terms_total 25,367.50 28,369.00 0.89 domain_size_max 2,000,000,001.00 2,000,000,001.00 1.00 domain_size_median 2.00 2.00 1.00 -wide_int_count 5,499.00 1,941.00 2.83 +wide_int_count 1,387.50 1,493.50 0.93 domain_max 1,000,000,000.00 1,000,000,000.00 1.00 -objective_terms 0.00 0.00 0.00 +objective_terms 154.00 168.00 0.92 n_assumptions 0.00 0.00 0.00 n_search_strategy 0.00 0.00 0.00 -_num_conflicts 166,294.50 2,016.00 82.49 -_num_branches 748,788.50 56,588.00 13.23 -_num_binary_propagations 199,726,371.50 3,507,452.00 56.94 -_num_integer_propagations 52,432,900.00 1,511,411.50 34.69 -_num_restarts 668.50 18.00 37.14 +_num_conflicts 10,321.50 4,568.50 2.26 +_num_branches 113,740.00 61,424.00 1.85 +_num_binary_propagations 7,953,242.50 3,894,166.00 2.04 +_num_integer_propagations 2,765,498.50 1,667,448.50 1.66 +_num_restarts 42.00 29.00 1.45 ## Constraint kinds: outlier vs baseline mean per instance kind out_mean base_mean ratio out_share -at_most_one 421.2 231.8 1.82 1.00 -bool_and 27,732.8 12,744.8 2.18 1.00 -bool_or 42,792.7 18,794.1 2.28 1.00 -linear 59,773.4 22,868.6 2.61 1.00 +at_most_one 212.3 188.5 1.13 1.00 +bool_and 12,362.5 10,547.6 1.17 1.00 +bool_or 18,309.7 15,472.8 1.18 1.00 +linear 22,989.3 18,819.2 1.22 1.00 ## Interpretation hints Features where outliers differ substantially (>=2x or <=0.5x): - - n_vars: outlier median 79,153.0 vs baseline 22,524.0 (3.51x) - - n_cons: outlier median 191,667.5 vs baseline 53,456.0 (3.59x) - - n_enforce: outlier median 156,156.0 vs baseline 42,812.0 (3.65x) - - linear_coef_abs_sum: outlier median 139,178.0 vs baseline 35,995.0 (3.87x) - - linear_terms_max: outlier median 161.0 vs baseline 66.0 (2.44x) - - linear_terms_total: outlier median 139,178.0 vs baseline 35,995.0 (3.87x) - - wide_int_count: outlier median 5,499.0 vs baseline 1,941.0 (2.83x) - - _num_conflicts: outlier median 166,294.5 vs baseline 2,016.0 (82.49x) - - _num_branches: outlier median 748,788.5 vs baseline 56,588.0 (13.23x) - - _num_binary_propagations: outlier median 199,726,371.5 vs baseline 3,507,452.0 (56.94x) - - _num_integer_propagations: outlier median 52,432,900.0 vs baseline 1,511,411.5 (34.69x) - - _num_restarts: outlier median 668.5 vs baseline 18.0 (37.14x) + - _num_conflicts: outlier median 10,321.5 vs baseline 4,568.5 (2.26x) + - _num_binary_propagations: outlier median 7,953,242.5 vs baseline 3,894,166.0 (2.04x) diff --git a/input/cpsat-bench/Statistics/outliers_top.csv b/input/cpsat-bench/Statistics/outliers_top.csv index 256fe5193b..dad4774df2 100644 --- a/input/cpsat-bench/Statistics/outliers_top.csv +++ b/input/cpsat-bench/Statistics/outliers_top.csv @@ -1,31 +1,11 @@ _sha,_status,_applied_params_hash,_residual,_elapsed_ms,_num_variables,_num_constraints,_num_conflicts,_num_branches,_num_binary_propagations,_num_integer_propagations,_num_restarts,n_vars,n_cons,n_enforce,linear_coef_max,linear_terms_max,linear_terms_total,domain_size_max,domain_size_median,wide_int_count,domain_max,has_objective,objective_terms,n_assumptions,n_search_strategy,kind_linear,kind_bool_or,kind_bool_and,kind_at_most_one,kind_exactly_one,kind_bool_xor,kind_all_diff,kind_element,kind_circuit,kind_routes,kind_table,kind_automaton,kind_inverse,kind_reservoir,kind_interval,kind_no_overlap,kind_no_overlap_2d,kind_cumulative,kind_lin_max,kind_int_div,kind_int_mod,kind_int_prod -9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,1.2970725496824338,5307350.0,20881,236975,949858,3779328,1284803830,336295337,3742,97998,236975,194373,1.0,191,172845,2000000001.0,2.0,6913,1000000000,False,0,0,0,109273,77125,49850,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,1.2433334003277663,4689630.0,20881,236975,1180208,4605661,1460251131,383038351,5302,97998,236975,194373,1.0,191,172845,2000000001.0,2.0,6913,1000000000,False,0,0,0,109273,77125,49850,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,1.2381431698374108,5707370.0,20867,246453,1489558,5574793,1928527875,481837838,6126,102050,246453,203246,1.0,191,182197,2000000001.0,2.0,6913,1000000000,False,0,0,0,115431,79440,50855,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,1.133091777448728,4481100.0,20867,246453,891686,3512483,1239961259,304654974,3452,102050,246453,203246,1.0,191,182197,2000000001.0,2.0,6913,1000000000,False,0,0,0,115431,79440,50855,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,1.069007782061628,3111920.0,20867,236494,632852,2956918,774505293,240882484,3149,97811,236494,193920,1.0,191,172720,2000000001.0,2.0,6906,1000000000,False,0,0,0,109162,76936,49669,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.8756390854867613,1873900.0,20844,233581,738946,2570390,1196466883,267712424,3140,96549,233581,190803,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76425,49410,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7970804353527665,1549180.0,20830,233076,443078,1855860,634174655,156622140,2195,96350,233076,190326,1.0,191,170682,2000000001.0,2.0,6883,1000000000,False,0,0,0,106908,76224,49217,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.7969822465157113,6436.58,1979,21981,436,9745,599806,293690,3,9224,21981,17517,1.0,26,15062,2000000001.0,2.0,828,1000000000,False,0,0,0,9343,7511,5023,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7818373624636896,1496560.0,20830,233100,531653,2141669,773533294,191884649,2587,96362,233100,190350,1.0,191,170682,2000000001.0,2.0,6883,1000000000,False,0,0,0,106908,76236,49229,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.773978648305965,1482010.0,20844,233557,548234,2019729,788206057,178268283,2288,96537,233557,190779,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76413,49398,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7622553039424815,1443320.0,20844,233581,700829,2655203,928474398,232999472,3060,96549,233581,190803,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76425,49410,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.7430443637073942,1380120.0,20844,233557,498838,1688437,773107760,152021540,1585,96537,233557,190779,1.0,191,170807,2000000001.0,2.0,6890,1000000000,False,0,0,0,107019,76413,49398,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.7188228191471246,856786,17076,192805,218233,1168305,240841668,68122509,977,79711,192805,157488,1.0,161,139823,2000000001.0,2.0,5505,1000000000,False,0,0,0,88116,63144,40927,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf,OPTIMAL,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,0.6452098909063135,686113,17058,190773,210392,952603,271814160,67147700,801,78841,190773,155304,1.0,161,138533,2000000001.0,2.0,5493,1000000000,False,0,0,0,86709,62771,40675,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.6308698262064754,837165,17070,199450,213359,1171620,249450762,71481083,923,82555,199450,163626,1.0,161,146819,2000000001.0,2.0,5505,1000000000,False,0,0,0,92226,64869,41737,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.6033156870934357,1312210.0,20853,245972,261411,1407886,298239744,91900563,1400,101863,245972,202793,1.0,191,182072,2000000001.0,2.0,6906,1000000000,False,0,0,0,115320,79251,50674,727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.5798136104655174,3530.81,1850,20766,379,11971,482190,259585,3,8767,20766,16544,1.0,26,14008,2000000001.0,2.0,819,1000000000,False,0,0,0,8617,7156,4891,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.5104993662822994,3748.33,1850,21650,531,12139,533981,281523,3,9151,21650,17372,1.0,26,14772,2000000001.0,2.0,819,1000000000,False,0,0,0,9113,7404,5031,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.45256432545942227,2894.64,1739,20421,229,7101,331230,163477,1,8625,20421,16321,1.0,26,13479,2000000001.0,2.0,666,1000000000,False,0,0,0,8377,7095,4846,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.44623053094988485,3311.66,1863,21835,303,10282,415999,213023,1,9208,21835,17518,1.0,26,14816,2000000001.0,2.0,773,1000000000,False,0,0,0,9198,7475,5059,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.4435643369239455,3024.07,1674,20236,310,10067,340378,170355,3,8547,20236,16105,1.0,26,13143,2000000001.0,2.0,730,1000000000,False,0,0,0,8038,7111,4985,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.43988588482448865,3052.7,1766,20923,228,10193,374340,189319,1,8812,20923,16689,1.0,26,13886,2000000001.0,2.0,725,1000000000,False,0,0,0,8527,7278,5016,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.43851503778542833,4920.17,2199,25921,712,19587,622076,306569,9,10942,25921,20513,1.0,36,16398,2000000001.0,2.0,973,1000000000,False,0,0,0,10033,9211,6545,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.42543640356891776,3081.59,1850,21650,794,13010,566747,290602,6,9151,21650,17372,1.0,26,14772,2000000001.0,2.0,819,1000000000,False,0,0,0,9113,7404,5031,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.4217202793170176,180.457,715,7423,560,4544,30469,43812,5,3182,7423,5763,1.0,11,4723,2000000001.0,2.0,304,1000000000,False,0,0,0,2912,2643,1822,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.41361338316732565,4839.59,2326,26958,2116,24405,946049,442534,12,11385,26958,21437,1.0,36,17561,2000000001.0,2.0,1042,1000000000,False,0,0,0,10767,9444,6614,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.403130605161544,3212.27,1977,22871,822,11048,635610,304646,6,9638,22871,18389,1.0,26,15794,2000000001.0,2.0,826,1000000000,False,0,0,0,9837,7747,5183,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.39503502501284604,2916.72,1859,21771,399,10761,460076,229866,3,9180,21771,17453,1.0,26,14792,2000000001.0,2.0,771,1000000000,False,0,0,0,9180,7449,5039,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c,OPTIMAL,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,0.39114990000400063,400652,17070,192562,122197,544974,158611075,37718100,536,79465,192562,157008,1.0,161,139823,2000000001.0,2.0,5505,1000000000,False,0,0,0,88116,63141,40687,618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.38764579685835177,2893.75,1863,21835,382,10557,472961,227459,3,9208,21835,17518,1.0,26,14816,2000000001.0,2.0,773,1000000000,False,0,0,0,9198,7475,5059,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,1.0615059834038845,25129,1316,15565,567,5512,237329,138397,5,6612,15565,12472,1.0,21,10164,2000000001.0,2.0,588,1000000000,True,70,0,0,6349,5395,3744,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +d1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.6858083277766207,573378,10404,122534,40296,230447,43086273,12921477,188,51182,122534,99889,1.0,116,86622,2000000001.0,2.0,3695,1000000000,True,385,0,0,53742,41078,27271,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.48394968053234866,422905,11127,136453,35669,198723,48620016,12323899,122,57294,136453,112565,1.0,111,97191,2000000001.0,2.0,3847,1000000000,True,364,0,0,62364,44686,28971,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.3325532090367318,49854.2,4358,55027,13604,185339,9076776,3592423,64,23283,55027,44356,1.0,66,35919,2000000001.0,2.0,1956,1000000000,True,217,0,0,21958,19251,13573,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.2849807566885003,62558.7,5306,63224,15713,102256,12398222,3789306,87,27496,63224,50873,1.0,71,41790,2000000001.0,2.0,2127,1000000000,True,238,0,0,25107,22432,15413,272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.2263435287547999,46683.7,4820,59596,9931,192717,9019253,3631940,41,25166,59596,48377,1.0,66,40461,2000000001.0,2.0,2205,1000000000,True,217,0,0,24911,20377,14063,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.18113800540443004,5405.46,1674,20478,3722,41473,1509038,625152,15,8668,20478,16347,1.0,26,13143,2000000001.0,2.0,730,1000000000,True,91,0,0,8038,7232,5106,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.16755918629647049,6289.21,1863,22077,2402,15308,954615,419754,10,9329,22077,17760,1.0,26,14816,2000000001.0,2.0,773,1000000000,True,91,0,0,9198,7596,5180,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.1661486907977885,6177.95,1850,21892,9621,78066,6887232,1730879,32,9272,21892,17614,1.0,26,14772,2000000001.0,2.0,819,1000000000,True,91,0,0,9113,7525,5152,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6,OPTIMAL,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,0.15278187339420501,5990.7,1850,21892,10712,125224,5329015,1938574,43,9272,21892,17614,1.0,26,14772,2000000001.0,2.0,819,1000000000,True,91,0,0,9113,7525,5152,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/input/cpsat-bench/Statistics/per_instance.csv b/input/cpsat-bench/Statistics/per_instance.csv index 1ed9ea5aa7..b3a9271e97 100644 --- a/input/cpsat-bench/Statistics/per_instance.csv +++ b/input/cpsat-bench/Statistics/per_instance.csv @@ -1,431 +1,83 @@ problem_sha256,applied_params_hash,status,elapsed_ms,num_variables,num_bool,num_int,num_constraints,num_workers,num_conflicts,num_branches,deterministic_time -0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,6896.45,4352,2861,1491,51623,8,3843,79884,15.5139 -018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1619.97,2565,1783,782,28940,8,6524,31795,3.34384 -024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2818.52,1977,1377,600,22871,8,466,10294,1.87483 -0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3153.47,4053,2932,1121,44889,8,2310,45318,6.42205 -03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4071.48,2199,1403,796,25969,8,10692,110220,5.38499 -053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1757.49,2736,1938,798,30419,8,752,13177,1.81954 -064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3432.26,2583,1793,790,30380,8,719,18056,3.00165 -06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5832.93,3243,2301,942,36071,8,6222,47499,5.09695 -072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,651.086,1856,1264,592,20575,8,326,9895,0.978946 -073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1496560.0,20830,16429,4401,233100,8,531653,2141669,5148.16 -07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2408.23,2583,1793,790,28808,8,806,17531,1.88466 -0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,76005.7,11130,8496,2634,126364,8,21705,179333,96.2732 -083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,686113,17058,13335,3723,190773,8,210392,952603,1489.62 -0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,19431.4,5306,3673,1633,62598,8,18082,110936,28.5748 -09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2863.91,3239,2301,938,35861,8,973,27904,5.14864 -0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,791.232,1975,1377,598,21682,8,618,9748,1.17229 -0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11540.4,4117,2621,1496,49739,8,3451,61663,14.9515 -0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3376.2,3920,2783,1137,44084,8,1006,39304,6.19883 -0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,21570,5306,3673,1633,59452,8,20491,154670,39.738 -0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,15283.6,5306,3673,1633,62598,8,11744,95041,21.2578 -0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3163.12,2350,1548,802,28441,8,332,15805,2.86989 -0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3179.9,3309,2177,1132,38578,8,592,29758,5.42069 -0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8478.85,5099,3604,1495,58973,8,1828,60444,8.28154 -0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1793.37,1979,1377,602,21981,8,421,9067,1.30256 -0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3133.96,3220,2288,932,36135,8,5755,41690,6.06757 -101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5920.07,4058,2932,1126,47233,8,1675,41046,5.62571 -11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3212.64,2729,1936,793,32083,8,1944,23123,3.16658 -126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,956.451,1766,1167,599,20139,8,688,11031,0.823945 -12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4031.48,4352,2861,1491,51623,8,1735,58712,8.22221 -146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8340.34,5366,3525,1841,67205,8,2182,67141,7.58171 -14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11915,5310,3673,1637,59718,8,9685,111280,22.8773 -14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4358.96,4582,3316,1266,51584,8,2446,59082,8.16986 -168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7334.94,5109,3610,1499,61718,8,1881,53873,7.7169 -16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,639.354,1670,1070,600,19247,8,264,9558,0.780845 -184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,9272.03,5310,3673,1637,59718,8,7031,70527,16.1077 -19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5989.49,5277,3652,1625,58767,8,2626,63032,8.33573 -19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,579.064,1236,794,442,13884,8,305,4852,0.491991 -1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1500.26,2731,1941,790,30201,8,633,15281,2.17348 -1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6436.84,4046,2924,1122,44899,8,1543,44055,6.42034 -1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1075.14,1860,1264,596,20792,8,472,9986,1.00964 -1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4447.05,3226,2288,938,36510,8,2759,36801,6.49673 -1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1852.25,2325,1530,795,26394,8,560,15937,1.41769 -1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2781.61,2325,1530,795,27378,8,430,15591,2.72813 -1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5391.62,3243,2301,942,37775,8,1172,28223,5.21599 -1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,623.536,1856,1264,592,20594,8,302,9945,0.856701 -1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2326.58,2735,1941,794,30473,8,851,12692,1.78377 -1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,12651.7,8580,6402,2178,94129,8,9916,105448,40.5777 -1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7400.86,5354,3525,1829,63693,8,4016,100243,16.5819 -202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3024.07,1674,1070,604,20236,8,310,10067,2.45745 -21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1752.13,2730,1938,792,30076,8,1102,17773,2.87432 -2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,473.166,1325,878,447,14241,8,187,4573,0.369579 -25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,16208.8,5366,3525,1841,64265,8,4652,95995,16.4779 -256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7271.21,5298,3673,1625,59077,8,12081,81515,23.7767 -26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,182.409,715,461,254,7651,8,0,0,0.0310824 -26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,856786,17076,13341,3735,192805,8,218233,1168305,1441.38 -27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,45439.7,8588,6402,2186,97536,8,23149,144434,64.4278 -27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1373.64,1860,1266,594,20658,8,419,10594,1.17965 -2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10447,7837,5854,1983,85434,8,11186,96516,32.4593 -2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4173.09,3243,2301,942,36127,8,843,26130,4.73902 -2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,540.252,1316,869,447,14599,8,183,4384,0.336128 -2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5430.81,3313,2177,1136,38711,8,578,29008,4.12991 -2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1961.23,3094,2149,945,33706,8,4561,34650,2.96945 -2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,89192,10404,7751,2653,121524,8,35393,255576,143.2 -2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6416.71,4058,2932,1126,45101,8,2508,46309,7.0559 -2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1809.76,2713,1924,789,30408,8,712,13423,1.76708 -2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1361.71,1864,1266,598,20886,8,964,13872,1.28691 -2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,47175.5,11135,8504,2631,126459,8,10043,145482,56.8539 -2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4828,3104,2156,948,35170,8,844,31973,4.86196 -2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4467.43,5073,3597,1476,57478,8,2835,59220,8.37719 -2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,695.523,1860,1266,594,20658,8,517,10517,1.0021 -2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11725.9,5079,3597,1482,57732,8,3735,74766,13.7156 -2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3120.77,2350,1548,802,27313,8,418,15636,2.72092 -2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,16990.7,7843,5854,1989,85855,8,7633,97024,30.8048 -2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,10429,5306,3673,1633,59452,8,7701,75544,16.0411 -303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3530.81,1850,1257,593,20766,8,379,11971,1.76994 -31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3386.23,4049,2930,1119,45238,8,4770,51971,7.21038 -321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3472.19,3520,2381,1139,40984,8,3904,96041,7.69355 -327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,694.654,1325,878,447,14805,8,212,4812,0.646128 -3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,14676,8588,6402,2186,94632,8,6765,85872,24.7064 -33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,13176.2,5079,3597,1482,57732,8,6925,81417,15.7646 -34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,715.521,1762,1167,595,19934,8,256,10329,0.84016 -36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3964.82,5073,3597,1476,57478,8,2828,58028,8.34405 -3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,23136.9,7843,5854,1989,88415,8,10910,107959,29.2903 -379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6175.92,5114,3610,1504,58789,8,1634,41974,7.64516 -37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2603.74,2734,1941,793,30392,8,675,16106,1.93163 -38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3772.51,3104,2156,948,35226,8,751,29001,3.78127 -38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,52982,11127,8496,2631,135485,8,12391,168556,65.4763 -3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6438.96,5112,3610,1502,58744,8,4341,60532,8.15447 -395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1394.5,2707,1924,783,30064,8,788,15786,2.14286 -39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3002.76,3239,2301,938,35861,8,973,27904,5.14887 -3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2334.59,3235,2300,935,36199,8,1276,30370,4.11721 -3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8571.61,5109,3610,1499,58459,8,3506,52995,8.33814 -3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,273.786,1236,794,442,13896,8,109,4450,0.275355 -3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6812.85,4589,3316,1273,54218,8,2229,58285,7.44364 -3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,626.761,1856,1264,592,20575,8,326,9895,0.978811 -3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1384.5,2565,1783,782,28938,8,955,19368,2.31893 -3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2204.94,2322,1531,791,26774,8,4661,23327,3.42086 -3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7769.88,4806,3325,1481,56210,8,1852,61786,8.39234 -3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,701.966,1316,869,447,15389,8,0,0,0.141513 -40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3245.66,4040,2924,1116,44649,8,1366,41353,6.65273 -4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2662.56,2322,1531,791,26774,8,362,13873,2.77881 -42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7075.59,4054,2930,1124,45469,8,3684,73635,7.57263 -435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3472.88,3488,2362,1126,40581,8,1390,41486,7.61202 -458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,INFEASIBLE,71202.6,20862,16429,4433,236709,8,9602,121165,66.0884 -45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1761.78,2579,1793,786,28601,8,826,18196,2.0476 -46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,32597.8,11114,8496,2618,124184,8,15039,170009,88.9703 -471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3311.66,1863,1266,597,21835,8,303,10282,2.27321 -47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3264.07,4040,2924,1116,44637,8,1980,44483,6.892 -484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1380120.0,20844,16436,4408,233557,8,498838,1688437,4132.21 -496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3964.92,5104,3610,1494,58090,8,2044,54259,8.29502 -49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4810.32,3526,2381,1145,41425,8,1252,42558,7.70899 -49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8176.08,4589,3316,1273,51858,8,2546,59699,8.33407 -4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,445.985,1317,869,448,14660,8,107,3158,0.297181 -4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4210.68,4107,2621,1486,49290,8,3008,60246,8.15272 -4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2137.43,2571,1783,788,29248,8,904,18832,2.15797 -4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3021.82,3722,2581,1141,42727,8,2499,49481,6.34042 -4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5044,2326,1531,795,28202,8,795,16032,4.34903 -4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4414.12,2326,1531,795,26958,8,364,13035,3.54087 -4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3844.03,2330,1531,799,27198,8,495,12992,2.81166 -4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3107.88,3220,2288,932,36135,8,1375,31948,5.32494 -4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,14327.9,8580,6402,2178,94141,8,11425,111123,46.945 -4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,305.266,1313,869,444,14481,8,111,3720,0.3288 -505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5857.53,5114,3610,1504,58789,8,1724,50485,8.03885 -5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3216.8,3920,2783,1137,44096,8,1153,40430,6.91569 -5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1799.35,2726,1936,790,30292,8,699,15185,2.55558 -5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,9137.48,7837,5854,1983,85434,8,5533,109722,24.3041 -5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4951.53,5094,3604,1490,58639,8,2474,50561,8.24999 -5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2600.23,2729,1936,793,30473,8,686,15497,2.07778 -53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4129.05,5104,3610,1494,58096,8,1937,57423,8.30293 -548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3091.2,3098,2149,949,33949,8,1072,27025,2.68433 -55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4354.72,4053,2932,1121,44877,8,4442,51709,7.15852 -55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5903.16,3158,2012,1146,39594,8,532,30142,6.48306 -561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11165.7,5099,3604,1495,61857,8,3701,72784,13.4906 -5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4481100.0,20867,16436,4431,246453,8,891686,3512483,7757.25 -568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,969.978,1739,1149,590,19373,8,248,7114,0.652094 -57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4231.64,5273,3652,1621,58497,8,2224,71568,7.95616 -57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3337.57,2711,1924,787,31874,8,801,17137,3.11203 -58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12685.6,5076,3230,1846,64588,8,2679,103365,14.722 -597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1079.47,2323,1530,793,26307,8,1269,28923,1.56722 -5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,105.102,713,461,252,7361,8,557,4453,0.0895648 -5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3841.35,5094,3604,1490,58639,8,1311,55094,8.26568 -5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1158.32,1859,1264,595,20738,8,353,9988,0.909669 -5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10133.3,5064,3230,1834,61076,8,4204,96355,23.0398 -5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,19871.1,7843,5854,1989,85727,8,11530,108844,32.3834 -5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6474.67,4812,3325,1487,56624,8,1458,52985,8.2366 -5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7406.27,4358,2861,1497,54463,8,3399,58637,7.80385 -5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,670.551,1670,1070,600,19247,8,264,9558,0.780983 -5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4029.71,2350,1548,802,27265,8,422,16484,2.60462 -5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3438.95,3722,2581,1141,42739,8,1428,46037,7.29287 -5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6061.9,3158,2012,1146,37830,8,6561,61517,7.28667 -5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,32885.9,5076,3230,1846,61648,8,9305,123328,32.1626 -5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6436.58,1979,1377,602,21981,8,436,9745,1.9513 -5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3508.55,3098,2149,949,35981,8,857,24069,3.39139 -6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4085.09,3722,2581,1141,42739,8,5788,70467,7.30942 -612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3910.15,4053,2932,1121,44889,8,1334,41508,6.01053 -62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11005.1,5081,3592,1489,61665,8,2742,65991,14.2197 -62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4069.74,5273,3652,1621,58497,8,2224,71568,7.95576 -638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,518.256,1316,869,447,14603,8,222,4388,0.312387 -6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3194.54,2733,1938,795,31882,8,601,16127,2.75747 -63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2893.75,1863,1266,597,21835,8,382,10557,2.23047 -643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6785.44,3727,2581,1146,43015,8,1010,38777,6.0984 -64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5707370.0,20867,16436,4431,246453,8,1489558,5574793,10405.8 -64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1575.51,1739,1149,590,20421,8,260,7247,1.11017 -664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,60117.3,10407,7751,2656,117505,8,29456,160280,136.939 -66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3208.92,3100,2156,944,35023,8,839,29713,4.43972 -674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3104.21,3220,2288,932,36135,8,5755,41690,6.06734 -67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,112.046,713,461,252,7361,8,557,4453,0.0896132 -67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1796.49,2713,1924,789,30412,8,624,12812,1.73543 -67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,737.151,1240,794,446,14600,8,0,0,0.216815 -683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,6172.22,5073,3597,1476,57490,8,2870,62515,14.731 -6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2019.3,1864,1266,598,20886,8,646,10998,1.23111 -68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5416.5,4091,2956,1135,45445,8,4557,49531,6.7395 -69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1065.54,1860,1264,596,20822,8,365,9195,0.956687 -6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7410.33,4806,3325,1481,58766,8,1826,58107,7.78839 -6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1883.75,2736,1938,798,30419,8,782,13357,2.07542 -6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6126.11,3226,2288,938,36510,8,1106,29478,6.1997 -6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,324.559,1313,869,444,14485,8,373,4195,0.359571 -6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1411.02,2730,1938,792,30064,8,619,15735,2.30004 -6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5580.53,5075,3592,1483,58433,8,3493,67375,15.4415 -6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6042,4046,2924,1122,47161,8,1848,42404,6.50539 -6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3936.7,2330,1531,799,27198,8,483,13168,3.35132 -70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3846.75,3098,2149,949,35981,8,1124,35050,3.48767 -7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3668.23,3150,2012,1138,37492,8,2201,73048,6.85616 -71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1074.74,2323,1530,793,26295,8,341,14652,1.45079 -7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4758.69,2781,1832,949,33969,8,1937,30801,4.63674 -728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,12843.4,5354,3525,1829,63705,8,9041,126376,31.9076 -72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5357.91,5104,3610,1494,58108,8,1981,54661,8.33971 -733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1401.03,1674,1070,604,19452,8,283,8914,1.00189 -734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2078.5,3100,2149,951,34071,8,567,13553,1.50231 -744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3569.97,4087,2956,1131,45114,8,4115,60998,6.88747 -757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,9298.88,5109,3610,1499,58438,8,1320,43497,8.21765 -75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3310.99,3375,2442,933,37535,8,1284,21599,3.05343 -76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3072.18,2193,1403,790,25682,8,299,14001,5.90394 -78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5812.56,5087,3592,1495,59195,8,2816,52241,8.45404 -78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,12361.7,4820,3334,1486,56476,8,8813,120664,14.9513 -7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,14663.3,7843,5854,1989,85855,8,6845,87740,24.6145 -79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3276.46,3100,2156,944,35023,8,709,29850,5.10741 -7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3195.98,2569,1783,786,30546,8,542,18144,3.25983 -7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1216.52,2726,1936,790,30288,8,808,15391,2.11419 -7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3598.47,3488,2362,1126,40569,8,1142,39320,7.16565 -7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2388.08,2729,1936,793,30477,8,623,15347,2.11807 -7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2916.72,1859,1264,595,21771,8,399,10761,2.09439 -7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,154.832,715,461,254,7431,8,31,985,0.0753838 -7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,506.153,1737,1149,588,19236,8,243,5443,0.611709 -7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7474.2,5298,3673,1625,59077,8,9257,85199,24.3461 -7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1482010.0,20844,16436,4408,233557,8,548234,2019729,3843.75 -7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1183.34,1977,1377,600,21823,8,399,9558,0.909728 -7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3097.71,3235,2300,935,36199,8,1276,30370,4.11745 -8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1649.08,2565,1783,782,28926,8,709,19482,2.86391 -80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6437.82,4592,3316,1276,52067,8,2738,52199,8.05118 -80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6225.3,4117,2621,1496,49835,8,2111,75272,7.63856 -821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1855.33,2775,1832,943,32281,8,557,24512,3.10161 -82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4100.31,4049,2930,1119,45237,8,2629,43878,6.32821 -82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,9249.91,5277,3652,1625,58663,8,1749,67067,8.18564 -832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,104633,10404,7751,2653,117200,8,38734,248491,176.807 -834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3081.59,1850,1257,593,21650,8,794,13010,2.23403 -84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5728.96,3224,2288,936,36358,8,927,30205,5.90036 -855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3036.42,2733,1938,795,31882,8,777,15687,3.01651 -859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,795.193,1739,1149,590,19405,8,255,5415,0.635959 -867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6078.24,4825,3334,1491,56887,8,1766,61829,8.15386 -86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,24569.5,11114,8496,2618,124184,8,5451,107151,32.4269 -86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6348.77,3524,2381,1143,41227,8,6997,74326,7.5385 -87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2555.9,3098,2149,949,33949,8,833,22856,2.43486 -87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6350.34,3727,2581,1146,43015,8,1791,41316,6.90988 -89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5541.49,3224,2288,936,36358,8,1466,31284,5.09327 -8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5309.81,5075,3592,1483,58445,8,2382,66426,14.7412 -8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6624.34,4054,2930,1124,45468,8,1748,41177,5.8758 -8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4787.76,3224,2288,936,38028,8,2472,37155,4.98498 -8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3475.49,3220,2288,932,36135,8,1375,31948,5.32517 -8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3044.89,2729,1936,793,32079,8,901,16035,3.18278 -8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3910.28,5094,3604,1490,58627,8,1354,54858,8.30722 -8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4449.32,3104,2156,948,36382,8,1352,35025,4.71866 -8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7342.41,5064,3230,1834,61088,8,4363,91953,15.6115 -8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11819.5,5079,3597,1482,59796,8,3578,76643,13.8424 -8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1669.89,3094,2149,945,33706,8,892,22010,2.7846 -8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1599.16,2730,1938,792,30064,8,1148,16541,2.64948 -8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3057.05,4053,2932,1121,44877,8,2050,42750,6.67817 -8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1979.49,2325,1530,795,26442,8,581,16233,1.67653 -90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1323.68,1847,1257,590,20644,8,3410,21289,1.66283 -90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5772.7,4800,3325,1475,55906,8,5705,120717,14.8884 -915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1537.86,2579,1793,786,28589,8,876,16280,2.10021 -91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5312.01,4440,3147,1293,50667,8,1717,52956,7.43839 -94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2360.01,2585,1793,792,28922,8,912,15157,1.93857 -9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7026.39,4440,3147,1293,50587,8,1692,52454,7.8701 -95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6499.23,3924,2783,1141,45864,8,1678,45114,6.78036 -96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1443320.0,20844,16436,4408,233581,8,700829,2655203,4843.77 -97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3578.34,4434,3147,1287,50329,8,1997,53648,7.28891 -9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4600.21,4050,2924,1126,45133,8,2345,44779,6.52967 -99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,422.549,1240,794,446,14036,8,103,4068,0.26473 -99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,798.026,1975,1377,598,21682,8,377,9553,1.18037 -99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6204.55,5104,3604,1500,59384,8,1650,51769,8.33136 -99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,28200.8,7843,5854,1989,88415,8,13095,128740,35.9572 -9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7909.24,4358,2861,1497,51975,8,969,45703,7.91396 -9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2300.62,3100,2149,951,34071,8,684,14103,1.8593 -9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5307350.0,20881,16450,4431,236975,8,949858,3779328,10022.4 -9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1161.53,1859,1264,595,20727,8,305,10055,0.839053 -9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4022.2,5104,3610,1494,58096,8,1777,58426,8.31302 -9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1312210.0,20853,16429,4424,245972,8,261411,1407886,2214.53 -9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3212.27,1977,1377,600,22871,8,822,11048,2.12357 -9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3098.94,2569,1783,786,29118,8,1617,21084,2.66028 -9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4094.81,4049,2930,1119,45225,8,3832,89975,7.82779 -9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1034.56,1766,1167,599,20107,8,351,10858,0.75633 -9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7404.83,5304,3831,1473,59864,8,1468,61490,14.4768 -9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3171.96,3520,2381,1139,40996,8,1193,38351,6.84478 -9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3351.44,4087,2956,1131,45102,8,1767,38543,6.44192 -9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11228.7,4358,2861,1497,54463,8,5127,73239,13.756 -9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,640.309,1856,1264,592,20564,8,316,9914,0.898999 -a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5754.89,4057,2930,1127,45699,8,1585,40818,6.47583 -a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,850.031,1975,1377,598,21682,8,618,9748,1.17243 -a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6657.63,3224,2288,936,38028,8,7110,91485,6.30523 -a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3956.08,4352,2861,1491,51635,8,670,40595,7.45242 -a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1979.36,2346,1548,798,27043,8,334,15496,2.57625 -a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3366.15,3150,2012,1138,37480,8,1494,43537,7.2959 -a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,316.487,1323,878,445,14094,8,166,4721,0.38152 -a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2377.49,2711,1924,787,30268,8,1266,30734,1.95116 -a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5134.63,3158,2012,1146,37902,8,433,24742,6.26043 -a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11295.1,5366,3525,1841,64385,8,2482,78855,16.0043 -a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6495.42,3924,2783,1141,44292,8,3579,74959,7.06788 -a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10574.9,7837,5854,1983,85434,8,10534,98410,32.0729 -a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1840,1977,1377,600,21823,8,455,9769,1.15662 -a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3986.44,5073,3597,1476,57490,8,2761,59642,8.21734 -a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1500.8,2707,1924,783,30068,8,695,16497,2.08018 -a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,180.457,715,461,254,7423,8,560,4544,0.0901002 -a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3134.13,2711,1924,787,31870,8,740,15627,3.02381 -aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4676.26,2781,1832,949,32565,8,707,25709,3.30281 -ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3487.46,2571,1783,788,29262,8,6635,36704,2.86413 -ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,42433.4,10391,7751,2640,116641,8,35646,377527,153.145 -ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6536.66,3727,2581,1146,45243,8,878,33840,6.79979 -ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2168.04,1851,1257,594,20861,8,414,11107,1.5309 -abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,10397.7,5298,3673,1625,59077,8,17088,157373,39.3144 -abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3515.33,4434,3147,1287,50329,8,1781,51076,7.59026 -aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3671.42,4815,3334,1481,56186,8,2414,53301,8.1817 -ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2371.29,1859,1264,595,21741,8,305,9961,1.70667 -ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5988.72,4364,2861,1503,52449,8,1772,55986,8.07535 -ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,590.302,1325,878,447,14217,8,139,4506,0.34056 -aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1317.35,2726,1936,790,30276,8,759,14872,2.31358 -af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,748.329,1975,1377,598,21682,8,377,9553,1.18051 -afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1811.58,2732,1936,796,30680,8,612,14213,2.1616 -afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,309.44,1323,878,445,14106,8,151,4649,0.378169 -afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2133.87,2732,1936,796,30684,8,1314,16008,2.20437 -afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,21205.3,7843,5854,1989,85727,8,11110,111181,31.961 -b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3052.7,1766,1167,599,20923,8,228,10193,2.02794 -b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,8842.37,5079,3597,1482,57828,8,2133,60233,12.7949 -b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1873900.0,20844,16436,4408,233581,8,738946,2570390,6668.87 -b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,6300.32,5104,3610,1494,58078,8,3809,110454,15.1082 -b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5483.02,4061,2932,1129,45302,8,4083,46562,6.52935 -b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,5984.27,4800,3325,1475,55918,8,7904,99296,16.3801 -b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,959.743,1739,1149,590,19373,8,308,7215,0.627408 -b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,28277.1,8588,6402,2186,94488,8,11791,108949,39.9897 -b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,9668,5304,3831,1473,59852,8,5829,81909,15.8384 -b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6886.08,4058,2932,1126,45101,8,3426,74733,6.61894 -b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1965.09,3094,2149,945,33706,8,4561,34650,2.96967 -b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3431.8,4049,2930,1119,45226,8,4101,48128,7.43628 -b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1001.91,1860,1264,596,20803,8,744,12584,1.03077 -b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4531.41,2326,1531,795,28202,8,2030,22093,5.07546 -b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7481.13,4054,2930,1124,47567,8,6808,70130,7.20177 -b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3654.93,4352,2861,1491,51635,8,1666,60664,8.20979 -ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1315.97,1863,1266,597,20821,8,408,10424,1.05133 -ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3264.35,2569,1783,786,29104,8,884,19554,2.58996 -ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,INFEASIBLE,66907.9,20876,16436,4440,237190,8,9936,121156,69.7478 -bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,12741,5081,3592,1489,58781,8,8190,64546,15.7151 -baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4895.28,4582,3316,1266,51584,8,2446,59082,8.1702 -bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3262.15,2569,1783,786,30560,8,2070,30975,3.92594 -bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1017.39,1847,1257,590,20644,8,1010,13357,1.26922 -bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,INFEASIBLE,68275,20876,16436,4440,237190,8,11901,119272,73.1088 -bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,11690.6,5109,3610,1499,58438,8,6207,130018,13.9314 -bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6444.66,3494,2362,1132,40817,8,1164,39616,6.93193 -bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,837165,17070,13335,3735,199450,8,213359,1171620,1353.18 -bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,502.374,1737,1149,588,19236,8,243,5443,0.611565 -bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4816.56,3924,2783,1141,44364,8,1919,42736,6.62824 -bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,10744.1,5076,3230,1846,61768,8,3721,100111,16.4477 -bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,7530.89,5298,3673,1625,59077,8,8859,83041,23.9536 -bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1132.06,1860,1266,594,20658,8,419,10594,1.17979 -c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,11003.3,8580,6402,2178,94141,8,9050,97946,32.2612 -c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4920.17,2199,1403,796,25921,8,712,19587,4.70544 -c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,400652,17070,13335,3735,192562,8,122197,544974,817.73 -c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1988.07,1859,1264,595,21752,8,372,10428,1.6284 -c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2431.35,2733,1938,795,30242,8,646,15490,2.17952 -c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,304.492,1313,869,444,14493,8,163,3749,0.333838 -c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2670.68,2733,1938,795,30242,8,590,15794,2.03907 -c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7808.57,5099,3604,1495,61857,8,2283,62251,7.84759 -c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4839.59,2326,1531,795,26958,8,2116,24405,4.23301 -c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,633.046,1856,1264,592,20594,8,302,9945,0.856833 -c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,33804.5,8588,6402,2186,94488,8,18283,134769,56.5736 -c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4313.07,2199,1403,796,27097,8,307,13962,5.09543 -c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3883.39,5094,3604,1490,58627,8,2010,62433,8.22645 -c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7692.09,5099,3604,1495,58973,8,1835,59762,8.13808 -c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1564.42,2707,1924,783,30080,8,951,16490,2.14116 -c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,8928.37,7837,5854,1983,85434,8,6789,90678,24.054 -c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1152.52,1674,1070,604,19420,8,172,8896,0.839951 -ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3101.11,3313,2177,1136,38783,8,493,26836,3.2243 -caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,7255.7,4358,2861,1497,51975,8,3095,59900,8.11072 -cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,642.02,1762,1167,595,19934,8,256,10329,0.840026 -ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5546.81,4091,2956,1135,47437,8,2328,42380,6.34357 -cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,987.922,1316,869,447,15385,8,183,4481,0.725161 -cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1549180.0,20830,16429,4401,233076,8,443078,1855860,4027.99 -cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6403.38,4091,2956,1135,45373,8,1734,40697,6.78591 -cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2972.04,3369,2442,927,37121,8,1320,25163,4.09745 -cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2736.12,2711,1924,787,30264,8,931,17958,1.97305 -cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,377.333,1313,869,444,14497,8,1116,25101,0.418748 -cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,636.406,1856,1264,592,20564,8,316,9914,0.898867 -d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1605.55,2346,1548,798,27031,8,335,15513,2.20673 -d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,15126.3,8588,6402,2186,94632,8,6826,86123,24.2877 -d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1772.15,2730,1938,792,30076,8,1612,16281,2.54555 -d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3731.05,4815,3334,1481,56174,8,1819,62821,8.34385 -d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5355.17,3313,2177,1136,40187,8,937,35168,4.77691 -d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,974.173,1847,1257,590,20644,8,1010,13357,1.26936 -d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,241828,17058,13335,3723,190797,8,113751,616288,753.539 -d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7758.26,4820,3334,1486,59032,8,2512,61449,7.84112 -d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5402.52,3732,2581,1151,43342,8,2651,84649,7.43684 -d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,2636.93,2781,1832,949,32621,8,591,23984,2.88591 -d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4844.67,3496,2362,1134,41015,8,897,33449,6.95599 -d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6416.26,5104,3604,1500,59384,8,1981,59854,8.47782 -d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1764.03,2731,1941,790,30189,8,4158,57953,2.6842 -d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,688.182,1860,1266,594,20658,8,517,10517,1.00223 -d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3980.14,3372,2442,930,39222,8,1168,27661,4.24827 -d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3748.33,1850,1257,593,21650,8,531,12139,2.30902 -da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4490.47,4107,2621,1486,49278,8,1914,57190,8.23222 -da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11693.6,5310,3831,1479,63086,8,2652,73629,14.342 -daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1287.87,1851,1257,594,20861,8,325,10876,1.2279 -dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3551.33,2734,1941,793,31998,8,803,16588,3.23431 -db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1895.54,2565,1783,782,28952,8,3683,32229,2.78948 -e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,4168.07,5104,3610,1494,58108,8,1594,55705,8.38265 -e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3910.49,3372,2442,930,37320,8,1120,26394,3.00747 -e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3140.42,3309,2177,1132,38566,8,5606,75969,5.024 -e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11336.5,5109,3610,1499,61671,8,3325,65832,13.2456 -e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2894.64,1739,1149,590,20421,8,229,7101,1.82151 -e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,16580.1,5310,3831,1479,60202,8,8747,86424,22.3038 -e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6297.97,3494,2362,1132,42717,8,797,35952,6.38374 -e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2054.76,2322,1531,791,26786,8,500,14190,2.89887 -e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,12804.9,5312,3831,1481,60364,8,5457,68944,14.0536 -e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5253.12,3240,2300,940,36452,8,2043,31440,4.28569 -e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4887.83,4057,2930,1127,45640,8,2631,43623,7.24441 -e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6608.39,4054,2930,1124,47566,8,1763,39458,6.43063 -e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1117.04,1859,1264,595,20757,8,286,9923,0.817957 -e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7970.52,5079,3597,1482,59796,8,2467,65020,7.82318 -e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1251.32,2726,1936,790,30280,8,733,15802,2.15822 -e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,916.404,1739,1149,590,19405,8,271,5748,0.718591 -ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4689630.0,20881,16450,4431,236975,8,1180208,4605661,9645.78 -eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,2575.79,2193,1403,790,25694,8,255,13536,4.3558 -ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3548.75,3369,2442,927,37121,8,1320,25163,4.09768 -ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4618.5,3732,2581,1151,43342,8,2166,52761,6.90447 -ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,26603,10391,7751,2640,116641,8,16842,255182,88.5344 -ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1608.48,3094,2149,945,33706,8,892,22010,2.78436 -ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,3318.12,3722,2581,1141,42727,8,4463,93544,7.18218 -ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,32383.5,8588,6402,2186,97536,8,15627,122298,43.2025 -ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4562.37,4061,2932,1129,45302,8,1402,41147,5.86141 -ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7673.95,5109,3610,1499,61718,8,2756,52996,7.88379 -eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1380.36,1850,1257,593,20766,8,497,11760,1.03943 -ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1974.88,2775,1832,943,32281,8,557,24512,3.10185 -ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1667.51,2322,1531,791,26786,8,494,13933,2.20254 -f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,14595.1,8580,6402,2178,94129,8,13022,121753,48.0783 -f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6340.31,3524,2381,1143,43127,8,876,36477,6.44549 -f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,6043.44,4364,2861,1503,52449,8,1677,58474,8.10386 -f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,1400.94,1863,1266,597,20821,8,365,10412,0.933528 -f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5490.98,3727,2581,1146,45243,8,1721,44355,6.24261 -f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5229.07,3240,2300,940,38286,8,1162,27920,5.07577 -f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6273.65,4058,2932,1126,47233,8,2166,42479,6.69212 -f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,4646.35,3241,2300,941,36541,8,1577,27157,4.01477 -f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11713.1,5277,3652,1625,60763,8,2608,83027,11.1826 -f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1523.17,2707,1924,783,30076,8,677,16212,2.42093 -f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,668.915,1737,1149,588,19236,8,296,6114,0.713344 -fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,1364.16,1847,1257,590,20644,8,3410,21289,1.66269 -fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0,56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024,OPTIMAL,576.826,1737,1149,588,19236,8,296,6114,0.713486 -fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,522.676,1317,869,448,14656,8,146,3462,0.308244 -fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,436.964,1240,794,446,14012,8,87,4299,0.24253 -fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,3111920.0,20867,16443,4424,236494,8,632852,2956918,6244.86 -fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7010.29,4440,3147,1293,52387,8,2009,55718,6.805 -ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8016.85,4117,2621,1496,52091,8,2704,66347,7.69068 -ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14,fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c,OPTIMAL,5931.36,5079,3597,1482,57828,8,1982,61712,8.19457 +00a438e9a02d3895ebcf5e1eea77b3c1fba28d76ca73723c7befe71f327aae82,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,16676.9,3924,2783,1141,46300,8,3916,53955,13.2451 +00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5990.7,1850,1257,593,21892,8,10712,125224,7.42965 +0114ccef241fb15dac55b5044076da48fb0aae94ced62fb800c6cb80fdb4bece,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,34462,5306,3673,1633,63224,8,11567,90118,28.4192 +01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,62558.7,5306,3673,1633,63224,8,15713,102256,43.3051 +03012de510cde9db5046196d7b447fa299e3cfd3ba2cb2c12404376edc1f241a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12602.6,4054,2930,1124,48002,8,4517,55859,10.6474 +06b08825173bc966570e184979982304ea8d33a41ce5d64b8c62eaac29c7cd1e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4041.21,1739,1149,590,20663,8,480,8169,2.09488 +079937773cba535777985106b2d07c563265fb815d36abdf852940f4585fcf5b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,59835.3,7843,5854,1989,89169,8,10943,101236,46.0915 +0b1eb462e501c127119ebaed5477068246bb55d5ff64a25323863488d0b780c3,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,18896.7,4058,2932,1126,47669,8,10410,71086,20.2757 +0b67bf459c1faa274487feb34ff95759660b3032c8a8e8a27b6212252c1b0728,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,9935.37,3313,2177,1136,40623,8,887,35323,7.60412 +10211eedd813db0025927acaefc67fd413b2d8c2fb60009f35bb49cfc57584e7,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,28273,5081,3592,1489,62229,8,6970,70239,22.0618 +1371ca0e9b6120f558b2f5e1b9c3f335092dda51b0754c072c5033e3f25cc3d5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,27032.2,5079,3597,1482,60360,8,6180,83848,20.6581 +1509ac1acb85d66d0da78b5490196654e1f8b82a4cabf3f550511bcb6681d1ca,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12309.8,3243,2301,942,38145,8,3770,37650,10.5399 +1b486cb1a9038477ba0dc44f568c384b38b7f66c62d1d0e27feada15ee63acc6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7733.2,2733,1938,795,32190,8,7164,78766,8.41288 +2107376b09925740dc3a50075ebd92ba4853e79a17d659fb67a1785646a3121f,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,15121.7,4046,2924,1122,47597,8,3716,58078,11.3394 +27132094730caf2088c28c764b2146f0bfeceb874b7efa9b456a1ee06c4c3ff9,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7830.82,2734,1941,793,32306,8,6741,92643,8.82547 +2981bd841805c451cc2932b097f423d5e2dcce99d4c3f5c63eb3eda1fb515539,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2672.29,1240,794,446,14780,8,230,4512,1.38757 +2e958d4f0beadd78d7dff9e9d9f386d3a0f00860ff2703e69b11975d544e3757,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2877.24,1859,1264,595,21994,8,440,10242,2.79816 +2fa57a166e49216765ff3e9df3a99e51c9a6eb307be9bab396ea75f82f17fabf,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,17916.6,5109,3610,1499,62282,8,1996,65003,11.2137 +2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,49854.2,4358,2861,1497,55027,8,13604,185339,44.9072 +3a0d61445e568f2995e6d3e7330d339f92d94e14d5ee89b2abf2ed96e86a3c70,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,13875.9,3524,2381,1143,43563,8,5832,65228,11.6098 +3bc12c2cf7bd6010001c8a460cc0184aed048ae950e55078fd9428a3b8d1fc95,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3662.35,1739,1149,590,20663,8,391,8725,2.31202 +41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5144.56,1859,1264,595,21983,8,754,12829,3.74204 +45edc06cca416c89589b5bbf4dd6e3beca7b1fd3f3ceb4d58e0fa4af5fea29e2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,28480.7,5099,3604,1495,62421,8,7879,107429,22.3727 +4b47d1f4093903ddae684d0c12f44befa58c593196420a6eb9aed30add89ba31,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,10430,3098,2149,949,36351,8,5154,142175,7.39399 +4bf5333887900fa3b5ff5811f12d1f5c9c0bb0574018566d4538a620dad14e3b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5148.21,1977,1377,600,23113,8,4754,35523,5.83089 +59703dbe66412fd1ab21a7c83351814914d6a3dbbedfe41041b8faf435dd4011,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11764,3224,2288,936,38398,8,6564,84399,10.75 +5f996769b676f0b952adf679945d3e9b66e463dfccc488f12f6eb14b863657a3,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3606.39,1766,1167,599,21165,8,391,11835,2.73636 +68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6177.95,1850,1257,593,21892,8,9621,78066,7.52872 +6afa1f30ddaf73d8dfed7146c9365683a3a702aee80c07ab24b35a83bbf815a4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8337.47,2569,1783,786,30868,8,8099,54889,9.44203 +6c96fe64d8a7e248bb211262d15a9e02c33afd67841b876ec22da92430ea1d4a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,25432.1,5079,3597,1482,60360,8,6756,89096,21.9653 +6dc3e7cdbc74f23ff22a0eecbde5e1ed26d05cf56459a1ae169419068718c3c4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11102,3224,2288,936,38398,8,8139,51136,10.2641 +6e93a1a5f114fdfc007b30330e24aa1325660433aaa0794f76ef4848de4580d5,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,35243,4806,3325,1481,59330,8,8004,101869,27.7665 +724e539c591651e646f2e89f9000b6a040742aa2d989582166ac52e3e7b4a6e0,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7005.63,2583,1793,790,30688,8,7454,30337,7.26527 +76e68a1cce648c8d73748c810c88f2507f97759063e97d60bdeba8b7450c75d4,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11335.8,3372,2442,930,39592,8,7197,73086,10.5849 +80d93f459a3aba9b087940fc2f7fbb31d50402f34005177a89face29ebb3adb8,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7324.51,2781,1832,949,34339,8,2652,42931,6.39323 +835ae7284c43b2522947ad7ad0b1f26429793b7fff94b7a612ea3a1dc548df57,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,14852.3,4117,2621,1496,52655,8,2578,54841,10.5804 +83b70413e9333ce9f4929c450b14e28d2b6e4ec28401d68b4b7d59c76c82d8ee,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,19100.3,5366,3525,1841,67897,8,1969,65039,11.3871 +865f1171e901d275edb5a10c40d9288ec08619127220e643e36ae1ebee2903b2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,486.785,715,461,254,7765,8,857,20375,0.227804 +86b1bf9b38f98be62d7509c448ea0dfd7197af45620ba4b50960bf15254309bf,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8341.89,2326,1531,795,28510,8,6602,46102,8.95567 +8897295c1a1d2153b3e64712ad6cf8fef4812ff8f7419cf217ba26f03e246f24,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,1085.03,1325,878,447,14985,8,160,4817,0.865913 +8d20d7075f0bbe969941be96f336c7f87d3f16fbdb80ed42d6c64c0ff25da1ad,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,77312.6,8588,6402,2186,98356,8,11524,137190,54.7198 +8da21152ae4db83b1c03c6d8f8c508ef8b8aa00294095638c498f2bef8daa862,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,24823.8,5277,3652,1625,61389,8,4444,94321,18.7105 +9184e368c0e97d4bc93704357120e76ef97fe5f9a0e72f3c148784d450c7723e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,3357.48,1859,1264,595,22013,8,1421,14200,2.76743 +924038c95c7634a971a91a5ad72819fc2977c87790d06360e0ec5b38be4a219e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,93615.6,7843,5854,1989,89169,8,14401,129633,60.1845 +986e408097d63dbe93210883d12efbd11c7ebfd37fec6e3462bb8a72dd4ade05,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,18427,4058,2932,1126,47669,8,8165,62016,19.6842 +98c32f98b1912de97866905f8af956745db6c16dde00e157b0d4e45577755233,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5661.77,1977,1377,600,23113,8,5929,37247,6.91608 +9aba10c5fadecdd17c301a45ddbcef5534a25c861b0a0a9b4943331de602ad8e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8748.41,2729,1936,793,32387,8,2681,20896,6.80237 +9b58888c473818a77ecb1aaf2c1032bc87b909c80f837100403b5a83a75cbc87,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12996.9,3727,2581,1146,45679,8,4620,70053,11.007 +9eda5addedbb8f1c5a6ea9bd5fe469814755a8ecdebb998f9c2598bc4e2308c7,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7945.18,2569,1783,786,30854,8,7879,36986,9.37835 +a01db04d1c0cefeec5fe077d42d9b84d55e54bf00cc689787f11200b6f817d36,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12021.2,3104,2156,948,36752,8,4413,43700,10.8944 +a0a55fdea86a6868a302e54eadbfe25574d413fdc83eb469675ed9df3568a1db,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7205.38,2350,1548,802,28749,8,447,17377,4.16838 +a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,25758.6,5109,3610,1499,62282,8,2437,61291,15.616 +a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,6289.21,1863,1266,597,22077,8,2402,15308,4.90447 +b37ba1c4e6c4fd6e50b67a7d1cba5d5c41b1c9837b2f020d6174c1459665a756,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,18428.8,3494,2362,1132,43153,8,7145,81271,18.8471 +b5e191a84337537481ab49001854e27b03a9ccded205fe88b9150bfa45529915,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,19149.4,5076,3230,1846,65280,8,2225,62641,10.8972 +b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,46683.7,4820,3334,1486,59596,8,9931,192717,42.0754 +b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5405.46,1674,1070,604,20478,8,3722,41473,3.32815 +b87e2b0d6dcc9cc59a03ed6cede32988b1f7db99692b635f75e32f763776d979,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,27636.9,5310,3831,1479,63650,8,6118,70915,21.8517 +ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,25129,1316,869,447,15565,8,567,5512,6.13448 +bd199a3871502160bd893d35533b1c4526edf27d6ed9d60ab786ed7aded632ec,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,9286.06,3240,2300,940,38656,8,6167,110297,9.87776 +be13cfc10b1e19807faf591c4d8070d5a8e843abc31efe3c38fd508fda6b56a6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,2147.91,1316,869,447,15569,8,714,5426,1.85308 +c0c9ef6c22ed1654a88a14f6196e5e6f4540bcf3faa203510aaeeeeb7431a1bc,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,19894.8,4054,2930,1124,48003,8,6507,67477,17.726 +c3fc601be3277e3d77c7d55dbe0f58cfc37e877c76121c066e353be4cf3f9f65,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,22874.8,4589,3316,1273,54716,8,5733,74285,19.6757 +c7f14795eb4a64323fdf24caec0e981f42cf07ab79ecaa858de35afe90adb53b,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,13631.5,3727,2581,1146,45679,8,5415,62615,11.0635 +cb16513bfbe2809b67cf939736abc19e5d403dcabadcae9b3aae756b2f6b1e29,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,11764.5,4091,2956,1135,47873,8,4064,54561,10.3379 +cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,422905,11127,8496,2631,136453,8,35669,198723,307.613 +d1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,573378,10404,7751,2653,122534,8,40296,230447,306.123 +d2736553fba0f9ea5c93118c1e35641595afe997e883759b1ada665c9859deb6,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7713.8,3098,2149,949,36351,8,1016,19591,5.27028 +d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,18205,4440,3147,1293,52885,8,2648,61557,13.1361 +d43568fb51736eb3ba5d256ed2aa63198910e645a62dbc336dbdee29a98d1df0,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,25169.9,5109,3610,1499,62235,8,6731,148858,22.114 +d519e83718e688a924bdbc74e37419567b29b2fad0995ec7bbdd857926592fef,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7036.23,2199,1403,796,27405,8,2673,61472,5.02013 +da79ad0e3d13908a25c0a97e051b6e6bcc675cdb0311c8a8699a76a6eba6a056,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,12282.4,3158,2012,1146,40030,8,3621,99415,10.5022 +db2bfd25d3ddd29864d7c63649b740c31f3a212ecd5c39951b7db2cf2daaf71e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4397.47,2325,1530,795,27686,8,583,16446,3.74854 +dd4063e9bca83aceee4a80f854ea7955dce420f547cfb34cec970cdb88755053,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7494.29,2733,1938,795,32190,8,2823,22565,7.50629 +e2f7812832351c2fe6745cd57d8cf525ea0afde5e0ae3b84c74a7dbc2d59779c,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7159.5,2326,1531,795,28510,8,7538,79867,9.08225 +e4cbb10b880925006b58b8a9c14a80444228f8939ef41242f9a011c6538e16ad,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,4927.81,1863,1266,597,22077,8,855,12860,3.75989 +e81927a0d98c976258a99ea66dd94ce946c76779650be126de769c6ad4a9e15c,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,15933.1,4358,2861,1497,55027,8,2634,54078,11.0553 +e8318822b535ba3dc52423e86eaa33c82b3f68e5a91241746f8ff3fa0dd8a53f,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,5916.7,2729,1936,793,32391,8,2901,21875,5.78252 +f1973192d144d907a3890ee014f52cb62047655870311695ad526ee60808e8e2,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,70036,8588,6402,2186,98356,8,9208,95695,46.2971 +f28d9607dae499e9f824abf7851621947030db7dd2223dd4057f9beb407fade1,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,7826.01,2711,1924,787,32178,8,7591,59883,9.39498 +fe9cad7ebe07a2af022824a9236ea6e13d00ce8de4b91efb3b17286fc456823e,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,8743.69,2711,1924,787,32182,8,9702,30783,9.40277 +ffb5ffbbf9774b8bec1dc190efdafb362fde347b8ad03b8a5c27ba1b09d5b562,5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd,OPTIMAL,25898.4,5099,3604,1495,62421,8,7017,171780,22.7093 diff --git a/input/cpsat-bench/Statistics/plots/01_runtime_hist.png b/input/cpsat-bench/Statistics/plots/01_runtime_hist.png index 0ed58cd2fee281fb3c1c71b680a61cb9405cb9f0..3792da86bb49504fa35aaca4abec9c04c2a84cf9 100644 GIT binary patch literal 24440 zcmeFZbyQVr*FL-eMG+B21pxsA5T&F9Hff;JNH-`_A|WZg#Y7aOK~f|{x;qR)QgXva zLTNVL&2KI|=XuWaoVR}O_l@!W^Q|$?kg?B>weFbnn%8yB+gnND2E_ro0|X z4Ov4hK&gR~s#F?Z{_{(in`Wi5-f)cNd$ddM2MK^1p4p5{ym21zu2>fvFHFGzW*P+ zLGqnNTjJ|u?CKnB_sX4S`bLT-yRy!@#%$}Xj9WUk)Zko}`Q27+ay+YE9?uVEKRhww z7We*rf_Yn_?ee771FyNk8rg3FEWgM2T&GC8G4i{LSp<`CD;MRMWIO_QZtq znZB$aJ`kq#VzUkVaVhCh9^3r!avv|}g^_P7{hr)sufKZptBPdsZ0pYUiiGp*r+qBE zyvlVUoa}iPxDXxdGBxq7#WuSu>+h~UAKF^!4=tH4X5Uzq3BK^HQLvw*ElF{OcEae+ zop_g}iTTZiW}06)#K^{zuGKCC@i|C;so}n2j5w#aw>PinwwqRwZNmMo%*(9uZ;#n5 ziMlS|7xvgJ+`~?BzG8FUhl~lHnOh@0a?e}I5A+6$^>Ly4F4A=TW`@LfPif|w`TuZV z>1BQ8G~OyTT{Oxl{BSmQZKHf=d&9Up+jzdub;g)!r`t3pTv8`Ro%3h_p)-wrV`U~3 zo~vShbzr8tqwP9l~(Fw^+@>knp2qN2S-zLv`*DR&8`ZfJRZ(hEB znafB`pkqSk#+c*U{BWX$#nS`F62&AWKz`Ah6ep4%44zi^_&G^3ub}~R=vf;7%Sd_2kCgaBt3chOZUy1RElhk7p%n; zVnSOz33kf(}`^>ckPi)YF= zHn%m`5;Dl#4>r%H-0Ms|539dyZRHWkzU-9(%N})%)3lqyilx~0w{tQ4JIeywBBG){ z+-@i8Rr)cCO@xjTBaghO4Uzq}_+KVZxyx6tP;+RWVi0lUXG$!v>b>AY!yQssD6}vm z%T>f&BCD^_KEI6$B==Y2126D_SEaCI_lv=pi7KO(aTBp;N2spt{cm}1s zL!wvjH=X)8+=@(=v$~{jhF!ev<+ini8z~y2p;*^7X$ZUhxn+HcAU|7rcwOqTz9+?W zsGeiEMs1^o-0bpHPh(zhiBm?Am6+=?zk!QcXfJogW^1l~pYv!G&1SJEQ`w<@_mwEJ zmq(5qDPlCOGCF>3u==(9Dvt2pVK5{h;Ecrf>U(E~OZVD8NY0R)K3y)cK5n6sQQ`Y& zS*;m4%&&`J&&c*yyO#xL=oYoAl|Fo+k*u7c3(LH*uflE3)^0QN_7}J4ne2KlK8a}b zZl_h^u94xgjq6LT=tUo97Fj|d)ZcJjnlN65Wzsu3cm+*;Z35V7UOV|+Rt^fSC8N89E{mbyk$=p8nu3L>_IGiKfjSTtBDW<1jO z@p0B083{G;;Hl|{VHLNocvI7g3+Yt6?4hipQr0vFv9#oZdg|B(z2aN~1TO)Q_8zx71rgxT2OiRWkI;h8|OjU+i^r z(2YN5N#?OO9Lgdt-e+;?hp^p9Z5~daox60_3pZz67sSKafTt35n$~T*=PZu@<+M6` zdqK#hJaQ?WGwFu!$!{wQZCo|N=Jnaz$5e6Ydh+B}m&G<`za(ztWQ@i+#2HStn<%ASlRZ+Zk6~5QdA#Iu&!R$qUy4Dfh|@HGPwBS$fqBh!m-diZukX}$&Cyi& zVUH<%p6yK8N?pay*39GVP3P=m!+f0__E^EK9qN1|3E`+&$%UrV~A= z+u5DRkYy@y`jA_B@uWql8AYXwZWD69ilAI^@fN0U(+wVm&V<`BZP2=Wt@??TyKa=Q zUdc8=$TF&1&os3&{ijQrEuk~D&xOG0Jos9$!CeBzOxLgN!IX??I4RcfIzoy)HK0GU z(v@YDSoHytr^%~0-!JX6hIwc zN*oHVzor|t6t4GCFv+#*#qeEMH=XF9HcJ@1zOh6&w*v`>TvT7A!Y@iizd7L)Ctlq~ zLf?urb9xJt-oun3>y+Yl{rYvuO$xRthghRrhx6=HEkE^JWoo?rm?ZjMg?DBxuUAQ0 zUDkP=?fV7y;B&vnhNWZe(lG3}qGcrnYj_2{{Ww1I0t;MID$~cK66Uy{@FvcUFFCG` zntIw*G!!S+qEausDSAAg(=2ZB+3WadD{Z9voPeFJ)kJ%;k@mvqR!c` zP71fmeHVa0LmWJHC6w@uQ1sBFB{m~mB}rjTv`^zy+2QG$`ZO*F$Fa!a?0_b(skJKa z)dkjh+?kSK%#{n#5r#Xnzw#^Vz6S@@OquZ%Sk+}2xkZ}D;XWN+-0Y}}MLPDXzRCRjqhXp>7yp19n6Py#0NkRYw^QM(6599Bz z@MM@V=EES8$DXb*884gs(9zRveLRWNbrQm0H|Cvh{+;n_+H~LfRo4#~6`%BXJloiO zO@)rw!S+MsBgGn;(Snjpu9BgY;f}KAoZ#mEr6i-vy@OVE;xthNB@ z#A`R!#oK>oVc54h5@B6O$f)3gNPUU(A%;~+g4rS^g7g4|AYLZ^sC?16h+@t4cWyrl zA0!?xhO}eSscqR!chL}gjGAF*bz`O?f;LWIc6_oGv#f>-?~snRzdsA{mIK1|nsf7e z3-XGM=@JvsM1|I&qC=TYsXfIG7CDah^mBdpQPAD>l7CD}A$Jq!U9woe-;$@J=La3& zp!EK8F>ZI#!+nQ4)s3Rcw07LH>=|^Tu(GB!F!ft4NMfM9v&%$slHBTRZ*QJQGUwb| zJLMTH(g{@)_`>q^iV!^K?8lV&Oms6sJM&zrIHD+YYBC7@848Ibi552q1U;RcrM!)ToO!fTe^leNzSX@5c zV_h)?ODtGRQLR3%84y{1I@wXy!b6OrV|5uB729}+HhIA!C@=^gb&Il7AW4{PX&P8C zZd{n@Ow-Y87T-usf!Q}<(BSmxl!olls9hjDPM4vrz*&&KLMZC9(#J6uVCHlSG-i5A zo$WNjd5z_qT~?;2@=S7*)Kb)otcr%I7k;p-ei$eo^cB%1BO@zHCn@#Z@z7|F7Sp?Z z`?iVLy=H<-xkZudiWM$UQGEQPPC>e}rFx2bV@IBaMhu}>e~iE@sBKclTHKdj!IW~! z-o5V-118KOo^aS=i$HL$3p$_P&>)v#)QcN*lPIq%vL9Eri`bS&Bs19)cd|sDkRV9c zl=r#li)kP5$2YE+c5%JTUDBy}O2|Y!<@reggYr~D<$1>Bl2w%IM2CifgPi-Arj4G7 zbPe{X2aymFTB;80WcZ~LCMH&O7-$H4Fo~L@d%mv`Bb8)h#1!yh#Ac87|FnQTe8-9C zrB`k)e~#p4La6?Q1liF15+U?U22Pw)j1JN(ag?^V&s9y=U5jgyLYnqbRP+`*lze!( zTRH0%0w~ulcARoKVtNW0^~v8XW*6nGKDyJ7D799HE=$Gm-6k$p0Vg4TH|YI&r3?}H-Ud8it`wY8OVki}h%*{0Iy!{o}m@yjJb-_eWi*-Sb6T4rA z_2YWG{xg!R8S6RTA4WRxna)V@H>c5+c(KCl3~sL-Y@I4Ni+*G z4T3+U3Sb?`Pn{|$JH#X|y0HSBz*~0_$H~k*-ThW57m~{RAg=c1aV?#$jH+w?j_ld_ zh>gF#`;yvtYl2Vvhg*Y@v(w`R{T_j)G4ASCrE}NMt0Xo!UoA_2EaI|gW)AOI)-Dut zS$q@YxxE%?RIxTfU$iz7(fB~^qpH8_bWzQy^HNqu(Fk3#cHT$f<&P=pyvCfVS|KEQ z{s$^uTAoqRvqF`8kw(=(Ze89VijjFAVJ?3D_LCd4UnuLLv^!ANfIiuLVhm0(Qs^`k zGg^}BIEkG#MQv|&?T>nnvW`qp6>VD zDa*arA+rrYdvdUR^%r@dr9!mmdBDj2qtUJk>gl@X#1EQYy*Dl$4$-;$^~I5SG}ELN z^xd0&zartfoGPT}uidgS@aZwH?a<9+h#LIXeY)yn1(V{FePue@1y+{ST%J>TI60eb zT*Wra&PM;v5G0l$$$UG;Jm#yY7B|2dqbc!-?FFkM`BvhL=}xe5R`ZIP;F%A$c;8d z$;)Ou>k;gGcy?nuMI%FeH0#WnGYx~A@SL_^Cw9#5t=)MH+QUCiJA>|yy$+t%-{ zlU+P((=Z6FcS=0DDS%?l7jgA7E*$|Pg04<989WJcQ9@?f(gH&8e^)T`&83BbRshRMlh#N=Y2{h@%zy@J*VE` zjyFjZUiiS`IFBF4=(#@_oy z+m-d|<*{p|-}g1|%6#|D=uzCwJcQt*zk@8y$Lwt0m@ZvVXj7i-OxF`J{~r6OD9n9h zdC5+i2=P5e&z@~-+<8s2Xi@pfY5WQHfNWliGaL-$2M12B^g6|m-NL_I9S$|9W6vnP zL;OQzrqoFLbd4_qJCpmOzqwfHbTL7WTQ)(@T%h)z#e0wZPCGN}ddQezN?Sk?m`YRw zqrhc1(%`?3@nPjFpN{JnDDu|cz0vqE((t|@7?=2KH>_$Szor& z$G$Mq$j6x^A8{$zmqEmYDT%Xi?cFEEh36G!VHqk(zH7FZuf{p1^#KpCM)h;Po;ws^ zQUA%&Lt)dBlhTjNeQEj%tYb73>KYpOZ?Ci`t3Yv1-R787_;~?1N%pg6&$=2wiY%I$?9Rzqi4t{gRm(Av*8qf4Hl0y3JbKQw$wtIx zpiZ4cCVX zu5@SKevGrUz@;x?Ousy%(5nySZq6xndBxZtFMSl3tdf+yvNGA-R?3BOoE&p-19DCm z4TH-wM_J`AuHZ1)^D~WgqU!P5*oCVlH(ebWX5%+<$sc+61oRXLpFe+o^dK|NniD}f zUwV7{M~OITyC_Vp@i|PW$~KcB;^UdcrO!IY1I(gxJ`-m5Pn{14jTF0y&z*DEo$1q( zpt-DL+H1cFkxk#C_}t2P+d07P5o9SPu#LNZpMRubjTH?*>ic`F)F@p}TQuCE|)(IJj^qCR)hb^3}1gE%CIisV8 z9i3Vl{ebH9sTjZCbnDhFlMz#fh?JtMItEKloJmb*($dl~!Xf$9l(f9p7+oiM+KAIR ztMH#w?B_2kVp4MZ44yyThLn+gzdM__k$9{2tX~+lK>@@Leevy8qlK<$`wE4=1kR?@ zr%#XM{hBUL?|q*)`G|FlICJCI#(~0hVq2y_9VD99_~rP_A!L@DqJmw}Di|oN8gac3 zfyo;z_y9g4N%1iuHHLYm!JDVFqb#1>1Z%{H|g0^5w z?O3VneY50cvs6{aIQcz0H8o9;CUNjE3)P+~Ptl7JSafdXNsi7H$?`R5q`m05K7KC4 z9mCIi*lbOpfs&5Dwqas2(csEh*a$73Nf@_Ju;aN-ZaRCp97hce*mfmrad+^!=B%5p ztyw+Oqsc}^OZB9^D4#))ee6}r7390nRAf-{gIn#qo&grh=b8A z;m55{zw@NFw6w4`m?Q0n(|+n+jr5&rEQ(k3s7tdiz3*XGC}Ln$sEM&|0rIy|^Pb}L zXzHLzFOjBBj)3Nb_E$``_PM6kwb%B#d8D#YFDBjipG@$o#JJ5%mlNAqIfQF4Sh$b# zD&R>ZYl48Ny9Tm_N*mt*%>AJkTIG+qkdhMdl9DT~t?rl)J8qA=9j^0jp$Xa6;dHN` zz+r>hJD`vnS+&hCc4-xG7x=)+!s48_zP;RI?JWMR>1JwLQ}M|+uJfEL zw%2IB;FP2da`)!1NICLIFi})o7=6`A$LbK{$lfIVIK#EmOzb-0X36Q%`$SFB^!s`_ z^R^Qo=^D_izc+X@c0i1~Y%zeW>e2UgMtdU7q>0Y-6F{d6jb74Qk=f`%0bQXDras$u z#vPcjCav32&*|@VT>xr6++8cQvgJWs;5o%6ag(^wt})$09da=p8;6FJLt3RL9`TZD z>evM5*G;6>S&`Fl@f$fgsE;kQ2t3Psq-bikd|v?PvU0K_C3mT-w+tU+U(RA_vpCdb zQ0_8@KMgx!qOYu^;jKV@s=>&#$J|sw|J!Ne>8f~itaMLIDWufT;E*@ugG$76^K`}+?4K*I%u58a%JUw*Hr|XSB55dZiV}%qoQ4(`nH&Fh#POyvBmt$`U?e#xGG(cna?c3xd> z9AW8Utx>>5&+nsgOL6tO=4g#owu}+i!I2)?BgKUf$gfm%e;3GZkCXDrrfKy+%X0(w ztq^I`#5SqS7-!gZgW>5%69z8EVb3khk&tJ%DQxh0`2ZcBdaNZX#&EHV zu`;&}WJt(-i4s8wm?A(^OT`)KODT&dpeA`xMyGJ&HJ$OqRa33bJQs)Q(^Howg^z@H zCgrD3WZ^%j_kMGjPl-&MdF#YaGS1O}$D|rin>jh?C25@Nxd7q`lf})3ha*tEhgqZt zI*!|Y=V`=z%XB@%S#rEB?@j!E6o9Th`%1$=8Cy_d`l@Yjj>7}1vhVAhPs(S1xQ~!u zY3_jBlk>v#5DI@C~{nygonfAFM`5&$O0rUx*?!B8dYaaC;E zLcQ~f-=b3vvdAF0_$a&~UNh^CxF_s{qcsLKKF4iaOyTCV;^IDdODaDl5Do0SVh~XW z=yMjzqKl^;`pex}-{{*l3Su8zxD6mK? z0HQDhF1WO@JlTELx^(W@;!J=46LVCRkOkax5R%c8DX3D9jYV3~H88o1ovy(7w0+-8 z2M=x&_Vdg02x^(B?Ud6gQ0yp|xj4{b>^~Iha&_lfgxXKx)zHcsKo|dM?j(p@bpYR( zd3jsy$IJdv9EdfB@m$5{Te1U1Gg1gd_BVi?&B6v{E=xmAA~QjNlZVQd`pn%`Jh%QXS;4V%7OP1OBnf=w8{>JbJ;?_#7#PH=K zXDq5umI5~7eemnrT2KGB$(2Ay`cCWypuu`j;A7k+$`nJn^o9&})oZ*L}54j z{%-5VKj%N~W4Z}qeWSRgfNuW%@Kn$Ya}O1d3*muKRrXl@xv%Zl z$Hf!P14)SGvs-qzlO@d?fiB*9y&|lk z>IReh-C`cUlft~N1^}rW)oaKt_S@^^-3#uXn6tv?6~P)y?7*o&(b3>I(^s}v+;r|& z)iC6G)a6j`M&=JP`GgF~)aR$<39we2#b*?JTaPF~!xKjhYj>yD{_&wpyP-Qaw$GMy?x#Wc4H$Cp3ZLPZ- zxG8j^`Cr|8xG+gI+2=X-{oQ20z)5p#8+Ib6_Wb$oolbQ{2KLlJLjVHP4xpn&=7`Fa zT!!M!WG8(XN}(v-gHc41FaE)k* zj$v;B&0=IZxL(v4-4}1Qsp(b3eo#qja`wYv>YObXi#n54Mk71#_0DKj;OWu_D;&JI zEL(7$E))Y8JICE!j39fDYb!Ey6dTGu2>uwk;_misN?iMyPY~bgaDKCxey82Z^rq-k zJv;XntNIJ)&r4gCOkHYIPOX{nhD88KX&`ct*c!&=u#2 zJkZvDJMNXL_t>sgT|4TP?Bnuh#+GCqA*N#LkKdVUm|9MC&O4LJPSK@_Hb?c_ja2I; zJ*Q-9;zLH&{aEI2Rp1--G9naa69#=@)ZOjU66GUCIzH;E9zh9UtXJ`y=^DBhc8=Cf ze&j`dF;dsA-2_tyS%I+5F|qM^ar~8!MjB!|P6GV;Y*FvluhbwG^{EQ@gd79H36m*x zH*q@U-d?OjuRcXS=6tA*s%j9~3q0Mlb2>Nd}`ECM2ulAWug}NPh?NpGp4R=8*eSFHh3bvx5_YuV&m<3aHMaaqTodIaf#FrWs*@ zVY+6pgrkRK52cT?F+yY>EhVn->eX0bek5M&aW+tkN!@HeJ8a4mGAB{s?E z>YrGWGaPkzTy7RiR5PXRoLy}8+-^%{Nlh!jEM(=|6rX#1fn%;%wRdMGBuzrtnREd4 z)1*F6J*^&-!bP(LNZp0=_E6$cmGNtObjl7Bg*v&u1X2)1XKbaLl5HiVxMaeUF9axTDcPIs11FYY?1&fZ>J zw#g@i{9H>DNHNIrc9~XqjTsRsQhDJ?U*(mty~vP~=;$F7(;;3*{&eQqKSJN|is%r> zD|qV=YRs#wLrQHEZrbw?J|ba3l2VV6`Iv}aL@IZa4FJGPPm3=8{(S8_0A;8(ZelN6 zJd)~Z_w+X-KBNTTP8ggNkr;=U#YCGocd8ey<#$F7knH|!?K|*KnQQ>?qVgh=cxJFg zzpxpxAovG2&jyeY4JtsLb4W`|D`(%8Zj;K%EH)?p)HmEcY#Sb8knk6(Uh)u~{g=<5 z8=lXDj#l?A@Eo~A9OJ33o${A7++4$T!F-$*>rU#L23)&47hzf?aW*siuts$FB)TXx zSuWJMlDn#T&-W1{C;d?ELyc7-o{L19JbfQhNuMM6Zy>lBUN8(^edwRd?_U>8yYJ+F zdd67c$X(NbqB=VSqo`cRKfPCkPC;e1rseZ#+_Xqb`z8fK$! zIQ?}Rw2Q<1>ZzF}duH2x2}H>3b@b={vv0$y;d76iSLd)G-{7=3%Uht?Nex!i-yb-S zE)2N-7Z%MYU3&0Auj;SfXUxsd1he<(QGK93x;q9SKOx!ZlV-}O9&@0*`OyX}b$$O3 z&;C@9eh>U5^?3P+-(z%F3;sY5bOlyknVUPquA!Xp=!}3qGXQ&JRU&sc>irLf=wI|0 zbXdGDAt(c5yR)?-8-;O**DbQO9S+v0144Rub#Bm+h5|X93UV6lC3KWJW;k2#?vBzC zGO}vzE&$TG_q&y$vSTJ8J@^L5%sPCYg>hHr?d%7G*R?VYAN5M@LH3;WvNk-uN{mDv z#)7xxsx;^dC~}6l)mRR6X&q?1#sKjH-oAxzQq3v}LkAvv^ApsIlK_q-9OLj&6fC03NXbHqnJ1yYE~~x2FsfPD*?3~-*^XzE)BdlCqOB= z6lhqs`pc&^$5ip?OZRbHM$F<^%U~q+0JtKL%YeG`Na~CAg1FJV!~L;#P5+@iWNB*s zqwZ9Rl*?Dih!E_1lFa;HpsICr|HP$%?#*jABG(P}v|RAYjJl&igAyI*Q-ynmnKe=8 zDj&#;IXjEvsp;n7;o+BpP#ZU5m=t@k5^A=KX{GqR_%=|N?uT3kA7r?t@osGBI?Glf z3C!Wm^7RS!BG9oKo@ikDR(!b2FK#e;ZayHRq%0_TfqoPA3Uv^Xrm5#PxM1(D&i*tJ zokdN)s1^WLSvCEKKlhgS>_gv~d0C0nup`@8R;%=3R&N#T)0@f<<8joNQmBT@_98<1 z-$@M-`@i>Y{}DN=D#N@TX^5inX|dwqS^qC1QD*IGa@KrrtWF~}k)am7e^C`wdjIbQ zQw~-q+Eedn#{=|P+o$6s^TOC{FUZHM8c#rw-;HB8m8Wh_@V-&?&Mw)5V3DgdX6OL_ z#mJ7nz|rdYiP^g=f=&9TKW`BMndq>hH=Fj=MjYH2|7P;{r6mpA+;GIS^o9w*IJCVev}9sem8{Q z9d}^(P%jyWCUr_Vuf6D_{MN$J*t_c!kiyq+`oB%yXh1Cj`>;dd;5W#wM%ozYkX@*O znG)pihhg!~=#NBBvJnXxC*0KJhc7hz&2#*3dIwPJ1%m9ShS|{9=}MIeTA@Y;9->7P z$L{R#zR3+UbAp&d^z3ir|Nn28KLCXn2C>HHN*CLYp8={X*mk%MOtJDqAkAl&XrdF1 z&_B8PW*vBp1iR5D+ocYT`tR?qvhee(1_T7$1&t2Pt#BDWhUj_2k1_ZLqw_V4!vr(P zq=CPx9v8o(M-HF*&$r*ae0}ILP=n0r$(Vm~M%&vR>!q<(=dL8w)H*(#ze%n?U2CEdwY&w!S!i z79e8?e5w{aRGc7P&(GB`jk@#)1sxN%8NlMu{dR>-0MV4KSnMgXOEMny0rP{(I|mLC zCSuAAT1d0xbx34%G*^uuQz(!pysn+2B{StZ3Q-sq)LsW}O6ByzUk74VqCnw#b%H1E zjqE|Bv+a*;nDC5cRK%89PbO5t;#-lI+RolU<~!DL%ujFB4W*OBe;_NyH2}NSzM7i; z9m9A67V%|TtV3zWM0ZXSZX1=S_Y462HbRF*y{5o>3MK6=)G4s?;NU@4pOc1l8EAnP^hHBp@Jw z+nC^)9z@3t`E-`;+^2gjaZkG^m^Gt;yR*m#cvFy|yZe7P_824OD}Anwjxe738)&f% z{x6{B@Lj6A1U^>JE1P@~3|E|fV#{G}(C=b$X>4rFjE{T~%q^@}pB?1U+toUdCcrzI zfOq84a0Y7io3(|}dgD+%RuEj@baiQ#`0PT~%*)?N2Lf1RQAYE30!JO;Q{bL#7xW@06>#K```yMZ8kvG`ECaqM101QGpPq*-M_ zz<{LVIN9Y-m~x3=BtaxEnllw#b8#1IyMF}v2g<@$5YN8%6Tg6>zVw0&gNnYByKk+y z?Y+2e64HGJF`Mn>^@0RDYmGP->5i6dfytPP>hq=!db8NiMp_59pdw@z7Z=}Hfo&#j zVlpCJlaP?`E!Vs){_66ElkGt0~}3-J$gq>!7hX}T-U01n1huzo^YSeW_vR8RsQ z+M@g+2;KCiVrdHBi#dJzkq=}Fx-A-ofZs_-m$drgcDo~*zSUnok@Csax$R^Qdw>oL z`u_zmAP2Ii7k*~?JzA$O63@Oo?pD7G6KyI_7@|XloNOW9gkFPDLLqo*HU@w0J_1`L z@*`26p6{EQKI%vC`#o~8HpH{@!}adZdV$5Lg~-8osy~S!E>QFAs0L}lZ(_r_*HhTy5l2g}$!NwSzI{F*nNVBDt@F=w( zZ>=(*+)X5sKT}D-33vysHr7@wGRjy{HBe&RI%*FAYK0IM*^qzUDfIyGK+-uTjdx+n zpio+ariKX-!%75o$r(dg()#Y|zCTCt=}|0d18Bn&XgzxEV-y0G{5&_mFu~7CR$}t4 zOTIG5gg`{sa%?JgAk=|G!YRT8OQM0Bs1Q2VV3>dETH|^aAp%7XO^&PB#$R*R3U#Xu zScsDA}!o1D&M(W~YyH`Tq{u zPsSf}3PW|G@G}(Igd`g=kYePHZfgqqOZ*$2z{amZu43WfkgN7(Ao%^B_t;tDOfHA` zK`i83P6PL)VAOyP44(wZUFhyS>IFZ-8d!4h&G%RK(%eVyIo*oYmOCaK%&Pp6cL`RB z0n!BSBO|wSa$$xZwiuVi55la>U#;s8Lr@(HxOYRD@F-p;s23VOg>EwpB*l1WgEz5S z*ScanF=7a0hJ~7|yZck=A<;u%x@}<#54n`|<-@djivC_=;%f<%^L=Hm3ESJVN z*?K;UY4)m#K! zGzMrBo^OU5B5BhyOCKC*=)^OS_*2lB1$_`}8Z*6}l_;k^|HcTx7`q-|Z-;uF`cY@r z`aibT?jnI2sF>6SA{@%Ond|`hcDE%?%7lzrYc2hLbEOn+EUIHgwww_^CmKx_(-Ef z^mh!i4>a6;`LG!Zrs29V>xxF`$UEbC49us`$SkWRo5KuEtWc9#oTbwCTSt%+|9$e> z&1OEiemZ9aR93=yD(yi@{>CTO>U8%tQKASx6fscmIpD1|&-||Ugo%Wdh;8a*{4>p< z9QX&x_kSk?!`=VMPjLi%K3kTbsTIsN!--VR{Vo)2aYXILr_6a;rl|mR9Q<1;iN26| z^K0}qvc{XCi@fgwR3jc#=F7gO`Mov=p?)Gos|=q-10m@@f(z}5FRLm&mamRWqc&sC zR;#DI2}H;q1ZC*Z`}rFg^ye`DDQth@AzB4o5)4y>V%tfs-8f!J>bt)ZG|Lc}UHQ6D zZfmDo=+_~a9(=`Af}gV#jf=J;4YX)GY;V=>6n32&Bbh~;dr@!;E3RHeQOwxs0fJn< zZ`g3H#0OEFQdfeQF>3#)liGly%uiyw5S56hf9-zt{bTK%mC)uE2yK2>VFiZFY{bXM z*MbeVbeV;fb^V<^I6)$fHu7bEyt_Nzo*c-cMoU9;F6jzEXhJyUFG1;)&0b4H+b(Y=a~9Min*#sd#szI z{lPh&U<2WXW?;S@Q0C%$tM;JpJr);xpUA2;-n$`2qTjS&48%CuKDPyV?-wsJ6YlSR zn=1-fhXQ2Xe7ifiT3*hTqOT5!Uhdx2)nOOrBBLhI{|yWU`hN_M{=4Ph>pi-{1{D7p zM`fh;VZYrVy=gXQFD+5OgdlfM0}M6vN2?TLM7nMWXwlM^-{1ewUijY|bVn}1itp!V(xWcy9~ zs0Q5Qn{Kx{a@w0pTU4*L`I(F|`uMx#1nN@)K^~Bg#`Ua zC_D7&H~Pb#y$FDuOHxkm)#Q(&w$|bl@T|*4VS)({9{Eo7a6Nb)fC}3o9k-z=Hu6B) z7Xc#V)J>q828hj8^@<*(1f?r~30N0F_hJzh&G29FMD|dr$@k&&~LWJw@!SDnLO8b#k%YoKWyZb0u!GB-r z|8jf-2d~GyR5!sf^_-_$)fzs*GoP&mpo}@TtLXf1XqrEH#6MS~+%&J`6~0!MGPw`E zQjhfg&XO?aJ}i!p8UBZ;@SBXoG8^0ehqA)&#kkHL#(c!}C{!NGtWFG)W%yLjDru@) zyte`rpsaq6&KY{k^=7NDWfWqslRN=ht`%Ob+YbfnqqBIfJ#=84L! zZ00Yx6RA8Sn?aD&BYl%_t`K&%HLAYB_0KK4E61Ig8VtGF*zRs}@M7<~DO~v^ zRWfaM^Q+zTE!hHoEv(uji!W5;ON|^b8Te40Gi4VVc>k-(I2=SI#KomRdho=l*YtuR zP;17zYpo5`btXpq)lVIh&Y^lexjB4tjr63+KWGfiSyTOz$_m*Ee9hynB3P2fv zCeGb2Vtddx2z-vIiC!5>M}hAdWh| z_JNP#<$o6l4}T>RI(zmi9P+>c$u`iqK1BNc_1BYJRLH5?rN4qPzLx1kRaE?qNiEcBCbK+nZo z@fLI?WT*WzRr`YO)dO;VcueH)5DuxD7ORn}dE4p8?&2a!EJU*zT(KAb5Ly2&QCt=# z13ts?#0ftCmz1Y|-&x=PRCrjXH{et+C$H$ZPlPC;034$4|AUikPNT=XARt z?(bLuRoSoc0FRJ=#tP}Yv&r>HK+w1UB9o0*7zSLMln;VU6aK>iS-O|Aef*sCwQtv? zF%0Je{m@9cTQj`>DR@En5go;0I*<1cU_4JCT++BH6OK6R5Hy;fHKQ=FVV) zJ}9ZRa<1zR#^VHtPOR=MQY53BxBUieUf)y=c7n~)Y{}Pqu!+gW=7|vEogGDm?Hy5K zf?Ysxj78*PF+_fJD*g#u{xJnSm8hb(ORKrEMENe_iGO32Gl3k83{#@h6S6GrS4Ju4g9|>T4SJlR{b^pWfth&2a+B|Bt4VPRlc*{8{SgxJwM&psvO^n3;XA5<=FY`Yf#(!VxS0({2A)oHph7$cTK)(?& zsDtS6aQqVyqclh;5%YO8r_WyhO{xAR9H1}!T@Qo-R0wzx;2mI(QD$XA5e<6Fn%7ZI zo>+kH6#wS+;1PIroAS@n_;4=KDx8fn4_!_7bQ{$Jy*&iY z+Oy7oXf2h(D*ubdF&Ldm*uhPj>aiHSJ>PU_1drt*l=*Se7_$J9edt_`EtB7 zE#m%C4Lny#`^fq4K>&ejD@&l2$({uRWd9K2&YHz^EkTQ0*!?yTf_BgLk9k z;I@!N42hCvMxG(J-L1`ohuLO`@bf7PLQ*$w)K?v-qaLW(nzGI|ZDwq9=ni!BwgQtU zhi;(~B=q~T-Ed$J>vp>Bzx-e`kQ|X)H&`|6KccC?uV2}?eF0v*?H z#@mv5^mf^DEQJ>@k^*KNRHz*OLMai{-mYp6J`T6JDjL+sQsVOrQ2`%)Ti%rdB=R|Y z@$N6MfW2e4h#Ghyor%sZQtSQi;bVWLr1;`gj|QB>z=Eofz&F-Ghsy`S%16+_$_{;+ zp4NDrMf3u!?~S5zdMM^7gMcgP2k z%F9jBV(jQK4Z2Rf@bG)F6n&twNh>M}N&v}w9EY&Qc{$QDSIWRo7%x}&z?{Ny6#=Lc z3M2Nxtnzf9`-)yp((pe{CkhlU&0c z+y=uvE7+8d(vY#m?XTRA*+Qlr7ZNjBsFne}p7n4p5*r-alNiKy>&kTD z;2|yOI}ol>2`z^8LK9)6yk&HrqBuxVV}UxEG+6FVgM@G%++4`Y97f~7o! zl!7iS;k9Vq{qENLX#cGGxzcbEr}Xjd)K4pLqE8?+v&w>--}1a5_OmF z5_-k<{?OQ0|Ag#l;V~>pA4zL#YeS(S19xhm;Y9y7w2w4Cyp2dv=16|Yf<{@zoP2AA zX?Msc0y+$Y4X6ymq5G?+52EqW7w_ZZ&;tPu?1;sJgKnfo{#;#)gCs5GL7_ph0XWcs z7yS8cN8>@y8`;@G4|Idm3Xi*l6X}W)Upz?wzk6bYsseuNn|n#C^|QPx8Z2KwiEW+b zB`xIB8e=SGJlDpzFSe(64>=^FCPX#7MptWETUiLzx-V#PNckxxExupbJ^UCS4;i%=^a}+xWbd7(JxK#iI%o&W4%({L z(D0hh)^&00wuz&hv@}nSNb_3(S&)fO19e%jMvD}lKyRno6~X>EW|#F+&`Swzr2)2g z*0~2g1#W7ZEaTZBh6`wS`5(atb?Cv_S_ZW&q=qbgB#7yt7$Rx)C!jI>PjTSiBhYSW z`kzy1D92_K54z*ctUFbAp;}jNA73~j?pAp0I4VM-X90lS`E8kE#$$2HGOlg3UkX+B z0V}Ug@gT^f*XS)A=s=J0DRG?oKb@RuP}AoY#zRGVy$o2F5sR{@pw$|d%bFAe)}l~0 z1yKo`mI49_vIHfPptjn&6kGvWL?}clBoP842@nM}vIYCW7_ANWLIhCl!Job#UN`8~JQR%omr8-$2DC*<-#0$wh`1Y>vx-N_tsb!{TEdXknF zJRz6vd*&0oFSJ63#RTgRAHMlteO+Rzb+2;foW%{DRc{=1&%P=dm+(0sA~jvNZrkRT z0Qjh9!oX#nro}AY9@R${LaquA=3auduzkavSioOvR|S)Y1mINn{62DyhXH^+jamC0^sgwf2T;KzHnK{}Qc6?@TK z&4nIPV>>&)Iprr)6t1vYLe(dx!q%bz?5JR%wI1eqfz;Mq1Ny003Qy^U@v=|&c)@~7 z*{EgHbNq`3$>yC;kka7{oQrs*?N69kGNlx&;_W+jG=hI2y!I2c{M`ti>0&^VK-Swk zSNdV^Q4b$&9*?S4q~_CT4FKUckCVAjE4^Snv>gQiZZR=8KLp6#pw*VU8ePcqiYy2a zHgX%GT>m;ztB#PrRW~A$-T_DN0Lo#koP51$2zLJ#K}6FIwAn$u3UIgv^&SAXdhH$| zcL2;KV#wUE9HJmX58NsI#kE_EjbHs5Oz#GOKl2PTcMib^4^n2Kk*BYEV)^^9BlqM+ z5IMriA?@iFM4-9R+_QH@M@Q4NdnK(DGJP3dT6rlzxkHLuKt@kThR{ zlfh^BeKx1wnX#B)F%95NONIQ89!^eXT#t0K7xUEj&oBBls=)Ed21B}x2rQIv5fW1F zs~A44*Yo-Y22oTYZ({2Ciq+{0MB03ey%I7MI8dxhl>ptp{1^q9rc$V}T`E|CjUvhv zk`e0W36Sm@>jz8ZqK9K0g@eElt8gj>egs#3Y8N~xyJ4UcWWblXPDdlUmq&q_Vps_v zARFGBVK#(dR5jSaw`2X{;-+vZRuDTF+YKF3(~kP$UUK>tJ3E^P#dPY98M zB3zlD!@n&i)+AO6ad1q-n5rD6<9DXuS(?cBeGD3^P4{p5A~XJAi36hX+=Bj^ zH79B_&SSe_k?9f19^L+yl6I@Pqffe2Ap~8 z10RD3M_!O=*Wop~gw*jqI*JX3UP?P(nye-;uZ3P?8`=~TIn{WzYDBJ3%*V|?Nmh{h zWqo5aVII0y%FoZu>f48=#bX>Mf}rLbo_zL8!PDc@W1Wo>bG*Kd4Svy^_gEWD#(8;p zP5IvB7F51oY5p{l67hw=j;71OiFNpO3MAZQ;p!gW zo0`-t?YFRP$+Y3$I3EBJzq|d}9j+G?kTI4{Ax2fU)z|jy6`9C*!U=86nGMJwdh%K5 z0Rn)E_iYOw=8k|<&WfG^<-PQ%=IO{O>$93A?W_K@Y$ZRn3ojZ+AqP}Tam}HUMn!5tg?{Wmy8*#}-1gO@9$g)SA6pI#e#c`&|BHZUiLC||TccB>flAk4ljJ15!C zAwvS`9)7G;PO`TLF6nJ#8#zg-AQ?O&B}wTOAqHtMmJvTtC=9X@(4!qiaxkC@=e+$941p%2@+$Ig20|i-jR*#7d?w z-8!DQ^0zv zAsq~W3kNNe(|)tK(Rft-XHmHy_h4&kKZ>&|9XjPLj3`R!Wd_<`4+nq9-R1MZWR=LDD6H*tPK(2e zppOUlGjiSP(iu5L7TVHuuWW}O_hoYwhd3X`h+MXe$uO{ks<#tb>*#dRx|oFcx1I8n zW*q{z>J$xvp6^F~bZyN@Y%5+MYhlYu32D$JGvHIJl#aspossprGQQ4*dm6r!8dMRb zDiF6ji|-ZpzS$#OBOnW<1wl7S)jutK@zX%<<&f7OVS+f9?ZvfhHQgJtX&YpxMZSu| z8gVpXP&t(M!gXJ9d|}Aef=ehdt9h*_WUDp>c-DvG1Bi8Uu$qi_R#%}$<9&<^8zI}( zLCXV9dwpr#Dq2?1W7E5gt}MAK@wA&TwGWQy&!1Fq0cjGw60O{XdGCs3AVa5-cLQ>_ zse-txd2+1R;f-b86-?&_le;F>`TqH63T1Po=c2NAqqy3ToNn)<{zF!WHejA7py^Tl zDy$!da2jWUR-tL0HERog6t}soWh0$lgFiBJ>wv!by1Y>%9|*lL2f^}!VXps0h>f81 z1;xc+`6QAW=FHl^)!B6QWrx>)lszw~cFqjOyV literal 28111 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 z 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�CKYQRSyiWqEMGHhiGEfRz3XDuKBCEU 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 T_pCYi)sD$29f?15?&|*nSF7(s diff --git a/input/cpsat-bench/Statistics/plots/03_runtime_vs_size_scatter.png b/input/cpsat-bench/Statistics/plots/03_runtime_vs_size_scatter.png index 4f062c2dd6275c31a6d8240a8b9bc5841fcb76cc..2a041d512bbe61f999370f393198b2d75e30fcbf 100644 GIT binary patch literal 80073 zcmd43cTkh<*EI?vs08)l5k$HjkftKNTIkZG_uiYdPy+~p3IY}csX=;gp@*&r(juJ@ z5>PrMM0yG3T*2S_p6~nPojEgS<~t`d&*MGhuGf8Cd#}CL+Igd?u6Ul7g_eSX;=Hob zlV=nZG*>7nPQ{<40e{&Rynhe;BjGJ?;H~X$=k06hX-lDI>HXZr-P^^{>MGRM)63D_ zO-SJ0T>){vs}A1Y&%GoB1zrDp4*_>id%@cZLx$ii=bkGWdQnjP>rMWT5@*NhM?pzJ zq5R~bj$bMsOP#7SLh4*2LI<%}RbS;dSEH_9eobrTd*=2yyDSn3VPv2@2g!-ZK_W%b zpO06>kL=sUU0AUPSnhr-)V5Ulg~6&h`9*)NlrdjTmQ2` zK@kfP0+0Fk6N)-}_rJC&;Pe*%y)AR2^}n}+6hgt>{{8H}rJ(w+?LW+v|9$>xp;L7K z_4ii$)BlGr(3#;&#I0{^@ZRfmI^5q{-HK%qF3j+y?n-D9B}h9FM-Gl$Fx$|U_TPVg zeRUene@}CsCEjvxyuupW-2eIB;|OJCk_^9czt{|&u*1*RCN9bhZf?hrj}9|b^$S zn;Ri?hkFZf8BR&bg+vq2H%_C)1=G_Ox1K}6+`TF%FM6}UcwS5-@fhjND*Yjf|4_M}DI^4!2%fK2=ojT>cHlr-@MA;*Wc{o)I3x+O*ng6;hON)5 z?l&~e1D0+j;xg6KBxui_^H>s4m)Wy9+#J$SOl|O=Zlx5RXj3qM6&YFRzcKIDZ8Z;h zG*2S7`10`M!wRKe#YhoGiW1HI=RWaaR+f&15O#eg`!V-zyX#2m=~CjD!wQIw zNb=}2m+@eO8$SdLa&mK*pJbyBkCyV_g)q`~DZL%Z4VC!$^I{Dc^W>BZMh)JMpLq5A zO9!H~nPL`>ohQwGG0ZJcu_ zYTV!N_;3dsAr~khDYAWZ<*r4j%<+L2Jnn_5PL-AblnyU#mG!yS1^s(y7?--f6qq-> zI$rTOOEFIG(;Zy~dir16hqY6|UYK#}PK-RK?Igb{*aCVX!YTTzvdjycZFg^VB;+S!nXXj~* zL$=ZOMPO~L3Rw_Kz<8}>#mPwgUa356-oXXxmYGTWzU7NMsPmW!>b~V(HYSs3+TiVh za$Z2XVro_cuOm_Mf^b6WIJJ{x`r}Bt_kzKDb4;RxleoC;$rx7AQBz;+T)!@KzBegL zTU}f}N9B`eSzq%4esaz(?Tn;CS<`kh^0jN$ECJ>s+p@o0Bp%EKJ6P*nMYi_)%yoal z`o4y}A|-2MNN7pFKN+OhN;tpYrxbr5f{))29ojc4vFZB;O4b|+C3sFTDk7i+qn$K| zvN1b>Y z@WJl8^S?aLDpHps`pJ4eAWU(^xY(qAusTB0dvQ9wXS-)#y#}5l>Mk?SLWdK{--2+! zHnsG*`U2@(%N6&VBcy9{ml#yE=T!U&n28ZJ`S~^M>Sz~&{$EMoRd1%mVtQzw@L0C1 z^Z7f@KgX%{RX?i6)WCWzHZ<^fmpBNg3(QpN~sl zd}K8XT9apTsfdQxxQ`lCAIw1U#qXWUj;n^$y%yRBq2uxv&d+l%{v3BEOx7cu9nkfa zkX9)D&-FM=gaOjPH(Lu2t*BN0czb`XlhgE1yJuXUXyCRBzj^bdX?#s|$vlYq9z1^d z`hH2G6jOeMmvd*gKrg1F)!LTi5c3G*i}Z6zGjsk2LoLVJ;X-V?WV_HOkcsIqhkP4f ztCkBDZYEqWZ+hjDWa?KH`j#4o7ak|!V&eqyCKGGrT6Zr$I7`>NYyWMqas0@j)R!oc zBID9IJlHzES3~jbdkibqqr%G-&KwwLXGd}&*|R5ndHkvYl5$y2{6kS$^Mubce0}kd z)xuEB*Px?>N~b zO?0L0P)#j^%w>~ulME;a-)^Pfn$_0QP$zYaXLQ<)Kyx%{uvwDuIfO*0T{Sp3A`t~X zzr%ghkXe#&+77PN+SqQclAzi)EQiBvr#iL+@G$$bu~R(T?C)4zXhLC~X#Yy$La(~? zmd?&mc}7v6jM%>`S6CroHog^8Va~X#A7B^M;|W6$!N%!kWXZ>%2iwiH8I_0Z)jNx8 zsSpY=v#K@6nZSYXJ0&s1tyZdw**QwC-@ynC&u;bAyUz0Z<40(QGn(rtUMK(8b@ z&v7W%aMa&?OrFVfR#`=*yAp>>sR_n5_%J7wnKeoD)Vz7~CLIhdY{z}qgU{(qY2mB zFSYTs_UK>(g<8AkGSwIo9s5lN3Bc@ns`sF>BWmstuaOxxt@O}P3Jm~u z?z<3G;drIPeCs9S@fEcxS&fjV#l(OSU42^vH&^pODd!E_vHt3s=B>3MPA24$MO-yV z=ULnQjf+A*?Umv{1_I>QB~4&lc1R10a}|c#z}TJ1S_m;_UpoV`Nr(+8 z81cOl1})C=C@yU|3fM7V6>;e*pG=tZraV%jj7$wW+!}Ku?M#Kpe)S~UOM3lt4c7Su z6g!Ie)8q1ffhe64BVo*iXzD$_UEkIEh5ZAx%!e`a5G*0uR7q@fr}yhcS$skav(W9H z?Ha+$e&rU~J59#`rqvTjn@b;U0|T)D2K9fU2p6sUj9r*K)snRH>&q(+&mKJKrVu1^ zob<=<6y3IIGCMJ_Ezx-2`uAb)toOqZfPLJW*iqJ&l=m=4U}2)lC(}Dg6B^=k@s}># z9pCYO^5jV*@tyU#yHZEHGj6PqN0f5Gf2T^-T3l_6d-w-DaR(p)uVGi%NyKFndw#VC z=5jZ@M1!;VPmTtZk23Pc7JqEEZBK&0;&0W^Ye?we;m#DCaJ3|h`pTlv!7CXm7!8A2 zw$h_FGktq*j-f6Awss<}1J7O?zNjmOfVoswKo;N2dNtz+h4ezZ(a(J)=W=>#6#F zz&4NT^j)$Q=MzFmZQMp$ucSefWl%Y4uB^kyE2E4j=o1-523LB{N6U19x9~KZr=p z6qy?vwDH%@wUHT3s9EqECyk{K#lo9tRJE*KSgK&qK@H+oWtAk9gV5vzujs8lk4JnE z=TB1eui2DtE+1A+SneGBI*wXf0|A#y5*jOn2-=3S4TaoBSWhu-%T#XOOQ__P)VtA2 z+S`~zz;5CKZsBG^_~ub?;!&SK^?T{qk+4-$o_3!B#St8NA4d? ze4r|oh2tOmI9L=v)QIlr${f`eXqC}9Me70*pXN?KA z4Opj)kpjr!9IgrIM&)*84xPlaWSzD6WK+l6 zA%w{anh{-Pg1-%WugfdqgfZp_;XUQbv|2o1AH$0YasS#uO2(gRz{YMTH=^Ea%LEde zQ}gjGAvnmMqETY=a|EMe&B3QQsrA>qq04>N?*6O%_BkVLVwa%EN%rYlUn9@Q?On-6*~0gHa^0)aU#GI5x1|(~7WmtP zr0|~&&2);kEcOnXI)|2-4EhH)`Iw5RU*S)cj__7YzneR*MMcdW)moTC;f&@}uk;Q^ zae|``wNg6?ic@ASFdW_rK`@7+J`UNp#lEiPA1(7Q#OQPH zi@qCc!P_M=^3cYfCd#lZn7&Qzq*?UH%O8_pB%g)0rFROb*pK=5tV*%<1n;p}lwZgb zjQ9fkb;vfa^8|yGLK36#<5L_YRvSuw$XT>~S2F^S>=WQKuoxYiHVL?V7r9(mG&vr^*wET)> zjcp*}2)_97_k;jqGs9((XB`Sl6CJ+*9&;SbR(5+3ZQ4~c25%lWQ16#m;qz@S5krH5 zbXnqyp2fI=BZgmEQdH#rxZCL6n(MaEYuKna=we3XoPx)EFFq`A{{5j@lHyCI2fU>| zQ?Q--=xr$FpaQqyFLPd;D|^(Yi{wg>fk%~HU$U)%eMGF+oja>59XNY9Y&1=O<)ux! zyk$g56J-v5-2U1I9qmdgdST09>Jkq1v8mJL^j?KT0&4rcpWxL%!F)Cdv3bINGRo54 zPN-tgeE~)gKY5*F5E5X5mIMtec$PB$J;NdAx&w= zo79X$EnFHmyC^A|Gh;MZ;UY(GDx!aHi%#y>DMIe=PCz9&>akos1ts=zu2jL9nVBXj zAXh(MQDnHePj~#~1PU_&{zZ&j!!s4Q>Kr)cr9mg-ta&0`h83VgkGvWzmR+A4e(g{& z$g{su-^3K->GTKfa2^Q=k_O0o5zj3=0tGGmG43pp05Wy5%ePmicq4?JT7vgu9E``M zn9`BQ5N|i+TvB2CA{8VjgB$4F(dMmD<75e+LREe1h3gymh+h0DG+>#qeF_`uDI#hE z0|Sa`a33j`Z$AMTt#r-DbnLZ%%iW#ec9Kj0;H%3+^`A+V=8i!hp}0jI+ll?&w!>wCqv>!} z5(Jb%0X1+&FC|W&aO_{TJ5o7K1D}t$kD4Rk#d%i0h?&$ev z`eAL1?}N{^xHp8d+J`G!fL^sBu?I*g#BmUgs;xPgm=bFygPT`Mk&~z;K|c)smgMTT z#Ne4r_|Fs8vwHg#y~0<5>TNH`1Ztnh0*;n>(8!QK10{Prnby<$@K)f|c*lNk!KdOH zmH9D;DfaCn#D>$*lE%%EH0pl{LLaex#*e$wzXqcOTAhi2@a_`WrJ(SS5IJgbm>K#m zYc`rLtjEQNY_MHQ+yfc+QyJ_&E1RXy8HDpIPG`<`$vSRWz)+81%fZXRZVm`$CzYo2 zCpq1oz_4DBZLPCn2-h1AJt`sIdf&PSpBY$p3_db=-X^fg=BiV!Hc|yi)Uz2@_>S?G zX0>%Ye~DGxY3o#_wLg1Fn+=m$v0J!wnX5C?htm3amNatFftl!{=k>JBQZD{w%~axY zj1P;C8C43gTma>zN0xcXHG9gi{xnIX)&-H}_OPoW?O&s&{I&HAzIuRiQ=lU;3jwXftEJw6H1@rBOVsrrTV6`636 zh6&t`2yKr{7L;C;3#v{awXWKe?1ijdpmBYk-BO5al28vEZM)$${y^z%!>Y-W%XiDC zqngZ$Zv5t#S?sYVDGfCeJn)ZNKvAp87@s7am{#Uo)-(!RCDe`Yr1edg?)x9BKLJ$Q!7 zm6Idr&qFNG1_U~iN@|G~7_JrXiOSx#sW7{aM*g!dQ#*jE*=f$XR=$(tV>cDF(Z^SC zx_HP95q>}Ku(E&NHqmq*$EEiTC(*hsQ@c~#^orjiA?eU{oo1qOOAg$H2qW`RnjV9|pA*K4*5UVy)9jWKUAA-B&#+EfqHGbGu1Q-z)}shW=~_ZjHL66= zs;tdzlllH%?&b3t?k|`5jb@p}J+t$mgo$*Z&}h_q&PnkbRsAvX=wM7Y58k`=wWcXx ztMbctLyj51hW+tgokU+^W?tga&V8E~a(tAYBxE0OQfW3FrkDZAW775b=rEnkZD=kPASRWi22n?)2<`eRUBzBl&zueG8uDOxBYCjp!L9Wo$=8;r*uE(La`?2}NWYfZzv~t7sLdPB#2p)S+r7&$y7rlt3`{k$@Ot~XAD7!KUWRShd ztf{k$KBkrEqKs$2EhTnppJt?}v_{0aR5j1Nk~VtSJZXmrJ31n{i+1x~zn-a?dR28p zCr5=*bfVYJ_UiFCz7dQml0G8g3@e2S?Zhqxt>iu(^MF0K7*GYdoPZ*z`BEBaXaWm( z-m=CITygI8-uy5lI}v%DQ}+0S^{}%7X9=kn};0vAzezk4sH)G6;alHAJYLTBUu6 zS@cdBbn5tnZ$FaWnVg{&U^)%)G`Kf|M%W{*etf5GyT~q~P$uUu%~6zvTIUz_|S9;~&TTzo_;vny0A6(Jdh@cKxXZM%7L{H*dbAq6X)D z#Cz|a79gFU0ZLS-#swXQOS>M|Og@K-m3b(|V}Z))_IKAFdv06@vtQXINuV&wj6zL<|?un2tcmC&;p60D& zBZH@HS;j5Z1nxU`Q~(5b8pxzpBzqeoF1zZ-a)Aw%+*|d2>?zk#VEg3rKidwpX2m%{ ziQv>3%dYbDskbau$NQF+mPd~sk*Da65IA}fl3|k}2;T3H$D!BY26C3*KBMB|^yTD2 zk$Zc4b7MnPd+ko&Ic0*zn^64k^pH^3Ffei%-?9WlKZKHp;?^a~$RH~rCVZyz-uj$w zy{By$gnN`dI!)5o3DDlFFmn(-!*I920G*OIr?^E817oGav7R`4iM7uaarvx3Mjawa zoSY?*O+@l{68opPc@`mHX{`Ta(M4_D8S8VtAU{9uv0 z@n=Bj?+e#I1q=be#K67D;Xg}HRz&xKnl9`-$_Hczbs%KI0sY!UM;Qs?c|kTvbRR&% z&IY0|kCfEGXW|avQ60egULG#^2)r0)VmPFY$m=LQ>O*1W;H02fSh{Ul&2!L$Qb z2t^kM>_r#>(wicxF%?WIfmn=-Xh?6xlcN^^|7!Q{-D`BE1aC>4h8v$CXkJQ2n1*y_ zCe!_0Ec+;_jklydB(Yg?-kLNWez7ocXEk7@q;`^+m+Bd{O`IYon0xgJ(_XmHUk<2S z^D-2rj%#ra*Q!R$B9NBhpADPXwbU3x8A z&l%S}x14ZD@|^2-{PvoDqQY7+(pAK5GGALmS{Im0+?Gp#@C6v`VWcndhD?px8d*!2 z%x5N{a}Vv((_I0SZEnJVTo6YB-h(20RJwqYWi9Y$ECT#4^*cCdt%J!4M8*^em!U9X z{Q}1=F0Q{epEes{4B?<4lPCb77Shw0q7wgf<4#c3rH-C0^WLLe$ zT0)NLdWx+p0DUQHe6tClg>D~#RZ#d{n$QQ2%D}lv9p!7D;exJY4ugC*OW8V9`UqCA ziSf&?p_eM0#{_)u$qERl!-Lk}kQG{>Qw<60T;!C&*R1(TNzA+zs&YZ!ZvqmtK-t3a z(T=QW^|nK?C8oyJm@FqArkdV31QPBLnPRVL!jc^oE}X>awr~lMM|4|)VWPjk3nZI+ z56HV^tE=DENG}ExYbs{A;=&7RAs`hw0`1?&u%?N(#te$Kb?k^cLw6-(zAt5kY!L!{ z(!2yj?<(PUv|#@~6cvW_Cn%?pjKwHosC8oPfcoWFM)DJO8UGnmrGo1Jhz7W1;(p-y zkwV>}2qrVXN2oItavoM882u8X5;f!6g5WeGw}ji8AHd{hhP~K)rmbz-t+TR$zIq?5 zY+h1It%FC^HoI6xZVXGqid7c}W#pp_`RL1Nf!cxf(M4n6qGCPwF%3lfY}4tMxdh|N z;#$bAh{Sg?*kWcu;7I9bokJ(6_cw*q5O>Rsjn0dI1Pm~wNYyW!&5bwgkP<5 zINw-nzoj~LDjtLPd!nGQ90n11&K?S+(|X4iab;!YfrGsb1cP+VfU+J%pPlM>*Ud8E zf#UtDV=L*7+f=;Mh+|LeJ%5M?b|+IVfTv15Ysn6V zoZ`w2N1>;UBqE`4{B6wAP#$sv#IbCj716~vwK7BLtt#u$+=8ghPldnHMWj;pf;+l} z&tE_9U4$G&H_QFPLu~9`{If!3c=aYX_u|VP5OLZUiT)c~`}!Y!?l$HgJi0z7>R-X~ z2 z2JA%G1dHhJ*>*D|E({B7Vq^@WazHe-LmmP|jjc&C&)V7Py%Bgvzch8uS5g7jd0($s z;?Q|37CKqw_>nYr>Z%^oZ-?66p`^IZ#epoJtr2}>O5eW~JQ#93Hnx9w&03hLI5?8g z6QT1Air{v$vdSc(6|5;KG(UX%{(boIzJQD+G)Xy09?Ec>Zo%MKR~AiS1&1vky5GK2Y&j|ypy^O264>pGUT1U~tx|r0H@1`y zrR4giP}&HTVhJG78>vx27{=eex&`a z3z@-PB%b9^6`nnB#HMCo@R{Z!2maY5L$~2n7VKs2iU*1!m0YkFA}J!1V6M<%jOmv_ z6sd>1#<%3uuQ%JJP+Amx!H=5&6P5U?ez1D9x-8BQUYbPz1<(-2HlP6JN?zsu8A4h84+|i$CWH(ae$DDEDHU<<^Lh&&)!04j|D9 zv`&}YqXe;~njn{Xs@o1ubGOQg>QKi18fE0uvv;RojxUBl?vB&Z7AadWW%B2!_ayN9 zfa)qwjSAGq)vC%iOzVX9W@Q@8I#+IJQS z17auxgWTn3@pK@KhL~FbUri~|=8!+7{$22B?fD1YMZ+~9$;Qjc^4xpn^W)9AJGwl4 z@SXfWH(En4S;eUE9t8qe(h$}^s#Fu&?uC+06e((zm=XzC=;kf+W?JGee~yyg$rjG^ zdJG(%KEREGqzGr^kX*|CIH{C^A5=phO#t-F$N3~Yy`pe%jR*;#Xa6b{=?0-je( zvJXxmv9QSuB4uNT!2;^10chq}>RrG`N_}N;aE>?r^EDmCvLo_16JRwrPW78{g=tih zHD)3+?QUeNN>=t;)3X(sBO=M&J%h4nnTg@xmCbRF1E7tWgq{Vp!B3GzoVsAYK~a~J zpjGrj& z!pgE+X9ykqmG5Q9Bnf&SV=lp>zMK5x#`QEB6{1vgzj2N;Vb7WSb+a-;(|}+84OJPwr@2r4J>|FMD_GCDkfk#o zHm9$=69kxL&aFe&BLoJZUF+JNRoA)SNBdwq_S^AmXKX`_0jcqz+EEH^$$CH2`CM03=)%* z3qdNmBO_x*NlCeC_wZbXSgc;9F$j51W2Jq3WCOPahOs_SY6)^u8iB$O4>>(QVfHJ3 zD3f5d63Z?b5A3xP%yJ&q4-tS86!rQ7>hjY};GsaR`0{V9_yp97;dB5M^`P>|wW;RW zpX43nJf55fSNQw+-;MFvN&q8J&}Lj&HusueE~6f}V|?eC{RMp9`dp6}xi|^6Dy`e1 z{#&{4IglNl3uw_Q!OHaOg(BL6M`CIL%a6~y=xQg@$)IBpF8ToUKCN+H0}`~e`$dAAM1>~)!3G> zQ>Vf!i=*=gbfz?p|8wTYJ<*P!yeIqp-)Us(7wc*6v7k#gHa3QuU+VM&Vt_)EPM&F~ znc}1k;3{0FM8{0olS#o!#bYbZN9~xp7+Z=)4Je zpAOA2s|lv7t>o?5kK~znud2){;kYzD`>SJ*HPl_Zno9M-?^Gf2lcBxGVDOZ5>IHQZ zRR?*h2)j+zh2h9V0s|#h(pM*qWn{BWRMv^KeVTetHLun!yN$}-GwlKc|K`d4ejuF+ z=7{Um{wb+t!e?0d1h8^Zv9Ws5m-%S}$P+e{Z2;P5%BBG}Q?sRNl)4c?}uufYi+bv{r%pRP)~}e;zfgTgputuC!G(^%>E1OQL2F zXxbdKy61eYiR_;z-<=pDqdlHS+Z)g^E5LHA)t4*`2}lIrP|UuVowaEKszd{*>`mW& z0qHsbAg<`GircLx-)DaQd_{U|Ser%4uN>3?8A2#2ZPf%max;loKiEU=9wQS|9+|vi z?gbLSPoP^ZKD)L@Vj|vr^mkZI?o1y5&-!9BX>|xByeh|`+dD|Lh}(7K^D}6GdYP7% z*0UfE2<^F`cvy~=Tz%e=s(R|=@mtUR@slbIMfhBIsd@(NfLjyJW%UPzYzQ(@<55KR8gmv%(s8iH!EnB`@T*-xTB)K z9l+^A@Di7RMyd@`c1oMcvw;=zcm-7fbp?==eIo`A6IBH`znSxC0m}sp&&i=MssfmK zmw=}3EtFWKTa*ik5%ZI2REBtd^VZHMavqZbBlV7KVG%X@L0etVG_HGchUw{#;4N@q>pk`G8bjL42IW#kWS$dnNg6CS!50}v z4R<;QeEfF@z}S>({KL#__!Ftm{qFiXu!mR}06jj030<#+ejo6>&oQ8&J|_Uaq3Ec) z_-EAEy*`N+@OXOQSRa7d3jy7;8hLy-{NXb|95b@8EN7}i5eMYd&5Z`^&-BsxvuA$- z+t`u>lL-5M6mRL(I?cC#kq2OQ!0-Sgt!Yk1##MlZ0~>%sD6S-KLG$$(@j9My7Mw-y zhaGh)5lNI$`+T=;PM6=frWhiSv71SbNEAXIzn`Q5BQHa5uROtPrKChH}M>s zx9$P`YH&zHwgeDgTLjG5oKf`&KnVRU=_P*c+C$w!odNQi=;5zj1hthus0<+iV^J@! zCtl|P9a$Hp{)Ez8U|aMw2dsL%;~li})2G8}zPJLg?s)n5o&vUf6s(6z>}YPiPN9zS zA!%m}xNg>Wb-}G=+}#6y==%)MYu>AZ<&dMT)%EwO-9`=l0D)&JI~~dD_PhsJwaJRm z&x_pslr+4BYk;N&T&FFdp10_0*@d0r(_!0&F<0(A5^Vev)&rMx_<8jZh(F9VfxsM4 z?S_?bova%G{1Q!gj0Ko9azCbBNrsdQAarzAGrL}e&@%0lQC!z~A-i5pAn=&NghN6? zM7`Q()}B9CeH8iyXeSdjt|=le1W25u64nMM|HZibf;5T=H!?Gx3`SR%RE4N&azlnakyPcpLl6BCov zei@PrnFu{^(E@O+^PUDX`*7IzCFcMk zdd|;0+K9daJOXz*b*f!h8a@w>KDbRuF+ z!0^vD{DHwjOb>JdYJvcZXng2W6XrXdT+t32t*8n(|LP*=D5x~^ngVwk0?43@o1^%W z2ifX&P^j0^Lo0@Y%bM$(`P)7uvaC~_BuBp$zD6Lz3S?MNb@QKJ25Xi`lQ&jo4iArq zoYH-2$Z{*?QCgBOdbGqC+X5mIU}E2bR*5fQc2_$NDaan}W_8E&czx@fs`nzx_n$1$ zU@CcS36lrW?#GWGMwQ-4pl4#Z(QxRIG}Sc70Y8B!x|qy{g0gnB^#xVZDbu$DWN;}4 z75Nk3vH7nrWwWggB#}B-?6bI6t{c!YM0c|R6>roM+yqXp?_y?dspUdN2Q0R3v_5t? z(RU@HK(ia1toMQiAAskR2ZPfSAq@~GcR+CJeN%IFcoCK5$Q;u@+3(y#^hp!8K0}O5 z$OoUO`y>=)4>v!qD0wgbY-4l^q%_8l;QcfeSV4C zU;goRcQGrjVY=PWJ}oCNJwOG-d+tTkJEKvqp>5Bu8Pd1lb5&EoV8VaSU>wAd;DqrH z%#RLIt}jDTl~TnnxB5)$+eak1UwbQq?zB-5$%@Fnu0ywuRL+3KFF{im8Kh1osUmz$ za*605{{a8V*7V6-LvoEpZsd7ofqxMp+S=MDovRX%gn{|CGn~Vq`4?+(W46i4coyx% z1Nz{eftG>Z@&jVavAXd^Fy2#=*CnmBJyQkJ3<`4-_)OD@uY3SI0vdOda3ROAt(7s< zoFNP_#GuJGCTNQ3zwW_ZmUA<@%j57%hNmM{H3R{4B{k4#GYs0$OjH7i7MH>xdwJtD zSIAAJ`nL{ZL~%;Sc03=+juD^LNkhOpUC1JFXY06F5cKKla%GoNNW6)o4_L9nYnckt|krwK99Qw+0T6A{7aB13H4 z046Ff$F<)b0`kis=Rg8#RkGV2 zB{`KX^rw+g7VChWdoyV8M24D!w{Vy&%BKf<^3`IpD0?k~t8KKk zhOiP~+oV>ew$ig9yN2ZGBYyxy~4Ib#=}F>EZWO> z`37s+1J{WM`dwqeHI%oug@O<^KmL`MmuIZ6;XRq$lk`pA^&G(=ne8dtPa*f~poiUt z4TMIshC@KF?BpuX$fMJ=Z$!>e>vhOoK9f34fExrCO}}dWMPL!_vp=*S!1ld` zU5AuSH8`^O`!XjNZ;>x6@2t13p`GizjPFoUdav?ocV&{2s{n=>HLSq`A*2ZL2V{wc znqx3MCwn76VrT4X{_5Ln0S=XWAqH6Bq9O~PcSotx`Uu}W$3Ik@`Is2NA7vd^4;ybh zs+BrO{XH`y{+PTs{W$@t&B>yGkRvnpe6-pdp9V+!PyGSEk@fq3qTPpTqCxdRbx|tg zwpw!CbUSc9=XOLhA*WA8T|PxuZvm`M0-VovbaYN?bGZtD;LHOF!T{JSk*#88!F#q% zdj!Ed*n^w8#X~n;k>&Rpy~~Zbnznw7Q8%=-zCS@qyC@>!Xz=&0XH>Bfmur%#D8Fv) zr`vqv`Cw8ZZOJ+y+3yEBne+i17zE9=!&Q#j7i{SP(UmB{csVUPHnuP$N#q>@HhNF!c_YIxGfNjJ- zR)^O&=Pt@3;lzd&0dg%@dI19H-BEoycN*+QA^*^-yG7{oU^Eu_*sCST(D^7i`*pO!%Cf3L9h$b+fScoF z246)P4Ag-6fHZ`VLoxvFWgtoFgFLQ*$(8>Yx!#+~t(*UWU>y&!9OMV*)nw4&Vb7IT zenU$~tL14GcKLYo%jLt(7tbzm6*>(;m$6yK4~f@3|Ni*JtTN>SS2|Ec!A~L>RXKbi zyLsZ3L~(xB39il~g*g+~JSIMU&e;8YIDxQD3kw65lZRfn@Dur#O%l%|!PP>qPq!mz zmgkvTbWG&3gZ-D(Z?R1lb*YSu*nV>@=h95tr-qBqVRT-f%Ept`1Un%t3=jGZRhFf)i^n_PK-v9eiTj$Pw6WhS_Y|)ma!dL=^=k7bz!H#qGm%w3MH$jsl zqw@t&evs=3vbe+eT;?*6{f7#}DevftKfCrpCGpOdxplQ31ST}+`?nas#=yy023*`m z0N~aA{tXlr*TCwA-^|pzq#~p0Lgt#7f}aLM!H19YHVL{Gr07Y-D0212=1aNo{)S=$ z3uLt7?r8lLNhto_8K&OM9Nt;|QoWj$gM))AuC}ktC#)@fTxS*#H%tJA9sy?JGT_>C zYJYidIdEHv`cGPvaC0a>c>qU^!XL$=G8b3qrq5y-8BYNFU|P_frGy65Rd zp)0OoNS*E`*$53nVj1ae;|bHkV9dkABN4Rw{2@`Hf-FAkSM32C#$bB{#I!HslC3;W zK&Bdbp(Oo=hLh98`d5#8v}VV70-PTG=VVV3^6%}zGvi&b z4QgdUo7JNPHO)fv&~ECS#m#hraDE6p3|D>K{^(#YVEV-w6FD+}@8&%S6rKg`m!ChTR>ko{Jg4G44T8Wdsk4t6A#XwZ;9IyTgL6FO#=L>`XY+kqJ;9g#O zwp*G6!)7TX&*dw-An=*o$p*c!OU|~tNM=_5yCULmp_)r|=)Y&mr$yoGYHI2xKtIBIXIGC)w zqAd9IbKdUm6VY<&&hIpro7TH|PoN#&I1#6#q?qz0s10qu9EK1dyhTaoxaBI==ksP5 zhqDt8sP4yRz0Mza@^QWl+R^n+h<6YQGAnWk1seJploDuvgh9~24^jqM&dybJC956` z@wLsLr^6s3O1GQ3_6eKlcv&w#Ig=0Qd+4UXTA;-*P3)Kf7x5TiCFYj-Cc*E|bTXL8 z{rE~Iur-T|(LPF)w&9hgOy&)-cBquHj}5*(JBN4f1Rty^N^g%_lYL6ymtYFmocRtA zes6F`^Y#QWHomx!cPfDw3PN7lNf3J<8cKM9TagPcZ+l`qBSnk)BHbXG(Wttm4Sp?0 zz3VvTh{Ok5+u)q|#8&(%L}O@O_O|2X<2Z+2_S!*u>7PbC+)CTYilsmjLA7cM#3lD@OEtcBFbGLyr~}WqC6lFUlW?G=+FhGOD}51Bf)Q;|LgR6P5s{cmND28(2mv!qGS9+0BB7!b}yD*B~4 z@I)7VjJchYMT=P@;knL2)hxp7a?!CL`9>c!4CtsJAiSrwuI5KHr(`7l9*A zjkg;L3X0h)CU=RjjgJrknp1`f|Y?_@L?!$%`LkekN{X?Qcb|2MgJ71DX9d11V7SAXv{libT z{*y&3CSYnc&PZ8KR6`4rHziaTq>ieMF0g$G z%?MfH!|wpcH$9F2JeMwN@Z&|e7q-0m%o6dbutqo?U4_qzQOG~YUH zy(KEShsBgS274E>LlACV1^?K$RUt5Gp=W4q?|4k1dm zKLq98uVF@H3riK!LlRUfzkPes1WW^kT3M0gpPBens42f7Eo^3Kd&dSnI`gHJCH6dJ zq{*_*xGNAHqfWv*SO#1ffeW$AqXprkrKUxI93$fkdV2a>+n;aWy5$JcSD`7g#t9&T z|BI^cj;FeR|EHomlDjg>Y+IpWM0PjIUdORlAzL{1YG{y^Rb*tJgF`s>tb}BblfARa z9>?K(z5D$B`TcSKb@$*n@AvCDG<&zsDJYGO~amB zw)X{=#58sgJR;?f*u$}A@w@;|q}A=UEbx9pKfxN4-v49730(y!QNEp#=21NQHj{Xh7 z9e40!&xlP$)V%HuocdP0-ITgiq;eO-;62_`AlSO1|!>B(1el-QxcPm#zXLG6&{Loi^Pzx;Sc2yDj?WsX~60vjv6;OwdRY4=*5*AYsi^ zK0gR4SoWnW-9t(c86|zP$oIN`ki(vWS z-$-7Q_=~@%jPaXP=^^+hAU4Gh8&3fk>xa|(Y$3bCr1THc^o+f?2Rk+6KZDgiqKdf@ zjLtP6z8s4F4M9*97+G0a;QisZ1VWxh4ruLc020L0g$!+ii>+hu~Qu7rd8SoA4cB5))tpj zY6WdmCWz1$VBSPSED4P_QRB$X=kU~~W&w?>Scy?*KyP1(aqQ5YwiDL*FRg9B2p{@g zVwdJ}1kGzICcwKy(RE%(t3V@EkIa7z*V=0iYJPu1>pq_3;6)cj{^+y0sGc_B?KQ#1 zA8cX(Q2dqtlM$f8l?9BT1G<#qLeMD>ZqkG3I^}OQ7Ta^%57!!QTO%EI-ZYWDXg+Y> zK)Gn9ZDw{_I|Z?vbi$}Jw1P}X304QdF=WG0{s?y@1p_Z4@qfnunMTl%r={Zc%fyXU zdTkJz1Q*WEKBhZ&Lk3{8m&&GX%7JCH0-2|0%|MK@H|I`3dfFo&9Ln()jkLE4x#@ z+8Jk1?4NZ;o2(^*bwYL*h?S2CuJN3thPIqS@mS^lfgB-PB%Uq`%8 zwotodSI$IG{!hWje8e6Hb3(&|8KzCfN)N@7g$WV<&JScC_U(sUSFX(VDVlUtO%1Hs z4Hmez4~`&QZNL!o}MRr!o^XTxHSsb?f?{ofOgHxo{yR#e+`f8ZvA);T~3& z(A+JM8oU?v?qfQ2OkwiXL}Tai-;Ji-xYtZHkB5{ms`|{C<#Bkg&NS?~Pqa6zbqorB zhf@Fe``h!&+mP%s3yr>;@Gp2lz8yOUiZ&sSWh1C5f7@!njCN%l%&(iw>4jIgmFAM zHOjCDIvVuHj)(1rpC6bLDl97n3cOv(H@qqo=%f{|ehMt2Itx;Jug%%cdk|*$B=J?{ zazze2j5}7y!;rE1+Rl>el3_hh`f!^d*lc=$<-wtEst|`Hlz=P}%RE}*-6%^XvL{#; zVPgM5JpOjT(+ZC{qbd3tI{e?xy_Ep`na5I(ZNX_B8BOOelrJH6XdVa~BA}8vka&m# z50m)zkgGApC!=x~fiA0<$-Hj!+viOnrw>tSiZA3A4b=ih)RKr;4c7hxsh(r)Z>??7 z;owupsi>xv?ukzSvvB13Jx12#l!>2V)8K_$p1-3%UIH~^4%)u-vrjJtAv4pRcTdUQ z>Wt&^hN9@0iW>AQ@1-=-=xU=H=fOOMJb)OW4ExGIb8qHdiqn zq|Vq;Z2eNfP0OMRm$j_Z!qkcy`qt1;e*R))WTXIl7vR|lv&Rh)%;2gXd@TmU|wl)yih z1vrF7=y3#q=B8H^4d9!npsKgM^KmGrl8HY|SHd&7SZUN(GE)Mo+&2(l@i^2%n!J8`?y^D_6dS>K5+fjxlST z`3n(7AnY0vA*X}=jVMK1a;aJCsTf4dIm|qF#$O>q`)W`m2t=5%+gA3s_tlqR1Z#Fu zfqKgT(~Tl15IW!AeCXmM3cq5l_oJAr5!VEmGM2ZY?HpxvUyeTet0q#wxD zFEV;Hct9S1#rgk!9U*WXy8Q`-%jC5dLFCi}ZrFTY=FL55`zfOT12#}V9!GbpkO7O( zt{A2Y$YX?J$xwa%Bq+eNfKqWaa$2}<{0@z_HYvyA}vOw-@*<9I!GMsw>M{dAwn}uT1n_H8kDXFwvSi= z<9UCn>1geZtwE-|d-{F)HS1{he3;gr}7 zY=MJ0BSA!`=jch$zGVc!9oP^>&MTF`jmSB~8M}X=y`@oie&;W(r*X#WmSI98H8UcJ z!6%y?4TteqHIXX%e!0o>`pl#H2j(qeR_sos!1JU6RJMlfA!+n*NaPwA1OcfUI<3u% zyvoH03_7${OWsPz5w?8J{p{H@h@LHYHX@v&@d=R`1iK~%!DmB2`(*c(kvzEC%Fefr z*d@z6h*_Ydc17$4V_)FyDTZ0IG#8>)m!DfFJ`rqD?#n^vSN(#*5_q-*+{);>ekD9(p}T`fYp#A3+@`u8Q+yuAM};A zA8Kr~6k#T(nUnwMJY0ASon%9(2r^G5hxX(x|9()e2!_YKNkou z|IWJA=~kM-U%b8_0&@x_XCg6d+$BeSv3 zrqq(oV}Tsrvlo$2+j!}KngwOVY*79O7dXL1JbH4Ak_|#)mBT@x!PA?6xbn&mD0qZ} z9)7h7&Trkht_)Wa(o&o@XI?YipRf)Rl@@dO5FnGHM6}D37R}cn=?7q~OYx259apC7 zJ$FY{It6NPtsQ&8EivwcaWF!mL)ns+gsc{P-*QTuAgw5^z)!G;VayPh*W}3Ylq-Mx zC6|_&Nv_8k0S+;EeMtv>y*ZaPp_Qzxkpnp=32*DL=kKnmAEHdv$cCh6Ka~9`d1H3+ z)EtTTnLqk{KYjd`{*5n&*5(jY3Xr90MG&Rk_UIQvuQI3&I6-_Lmn_u6GHIjd|pz(d(rav_-$R@nnwRtdw z;K#0U&6WCPZ0;v;J~FK9x0Rz~7Y8MVeaZ{Wb&8$8YK|uUT0w)n*EEMz%vINA3IwZO z9_X_rE|IMcc1uT+KFeW4y>nECb$PY3g7#UryXbSyZmbeVXLfu+ed0_Rl!LGMVQC6C zl*bT-?K4^#spIFsFK=iJCdB2~nv^24J=N%<)opP9$}|()yG4TH@}if-7jAsJ>H{6B z^v)KSywH5S~*5-(*Q3V(*q8OI^Uj=-+|A&9Nwvx*`-Gi-a$C`0*^wBSR{=Eo52sWEWvMn z5}3;*)h=jsP*N+03VE$P0=YyJxf1R-kD@PaB61zUlBVER{KySo)eYrD&jopF?kD|j z4V*(Wu^Cs``|5jLd-EM%SGd^+422t)%DvF)R`n^l@O{s#dvi(h>qa~MitS;IA4DOA z8Zxu7eWcB&4rKn@Q5e2V^2Zrauk_S!hD67&Igz9sM^9Z9Jd}TkKbPe2`FBT$28wR` z(cOsVZ}}h6U=&n`0B|pZlyRs+GwGCE7j6iOGwOEif{oEbHs~kwS%jKJzk(tVZJ%dY z(y_2j>?EG`?;FUoV?584>ng~a4v*wx$E1n-!G{X+EjmUc%f8}!u%&4`Y|}6_8jM(l`?e&(H$;hb* zh}orZ?9N)t3(X~6{O7axeB<8cBys4%W#w0HP-JpIy!7$L*s)zN7n-@m6lj9%K!XJm zgXg4SUOZS(n*mx$4bJ)h4CnH)E2qHN-G?9|^IVg{PbQA>Cv1kqmn`KPI#tNVnFv)u z7tDRy0ljww=|Z{hhor{M4?A76nLPOKDpyvvRk;S;+^~MswYNkV=yM`$T07wF5^=EvdND*RRIl#EdH!=SnGUR!3xkfxc-bVAw1-J0BKgafN&|5mkh zrq=ju%huYB=9Y&&8OqGn`?V`WYX^SbE*61C?l2mG>w$wvh8xWBb5@ebL(*QCGi3ex8t~a)K1gTd!&2@p7QzEF(&G+T`7;$z) zM+fATK)qxWT;TQvr;xy_d64d)AXrQCaDScUrp2-2j7`V?Hsa=y5fLdN0u}d7{WfEA zj@mUOAe>hWc*c>hs!#1s-5;2z{-p%Ol!&x+tV#Gy67D=;x`#P59JOsO zoM!W;03RECp4}A~w9&v{343omCc}}4zw3dopg)hDnPKZHTpK2E7iWBT3hltO`=y#% z9n|w2p>YiyM@+fUaQoJb0_Q#K7owc?B{dx)52&j7;3{eXkPu{w5apZSF17pLrr|@nvdN?P)JH^#BDlPMhe2;MPq6(r0t`9n% z$12}R)V|Ea&BYIhdlM#-I^5BGa9*nFZ|s(_-=`iAN(mSv2wON&ZHO7 zhh1$!KX$dqmTN(^6f7mpjz*7hW~OJ~CJHzUJXttH%9sh5+3c7WT+$&eElwERQ zl%qZ#ErLQ?{*?7fuS25_>-~69_|z@-weF;9QnA(7e1k{> zR0gh3$wxxjQm?|_E;N~3NxjuSGr&!u#`gCzjD*xlg|}>FGO^oYkMD*YL+Vv zoMTP-bv1w|{Y@i5^=EykGQ&Vh2uVzsM>gX!U&e5TPM+1C;{fNebAeyZnBC6@W%DvX zr(?7UOFK=M!)F_qP2Gf<5hBA@0*QBUNci<$F9_w3^0iX5{QSGsgjnuP=c;EvbT#ic z4A^S*rNK=z=lr9VS+eLX8xyvgM10~BDDih(n4)I2fAlzur~PbRMq5^V;Q5}1GL>}NJ;JwCr=DvVzBDdoF92rLa(5{*-ei$h@kZ!I(~wqzPog)u_Y=x z`zWoy*7^t+ANfxjaPv6*x!S;^foJapQgUBh3}4@l%H;KKwW8Wn&PwXhXCELmKZzEk zn2G~MGOvV$5dfoA%H^{wE6GdlpJWe$Lk?6g(%t1Lv%Q>g?R!hqxvaXTHQrI5=n?WN z->_%vbj6>alogYktGvDGhA&BgQE=P0yKF9tT}d{9rc|B?RKVsOj9@bd=VC(s>D_&< zt{KWAOygZj!O$&E3%CnZ1-MueA+Svl*Y>dJ= zxE|+TunuKz*cYW=h1(gDPb?B1} zg8kcLlni`^CHB3jZRs2*;sZn8V&Y!m(#BMHXT{1J=9qWyv^pw}r@Yt&`~ngYZZPi% zA!#9h9RdOs+>K+;cqRk%?rtxmHFo3I(y#CpxKUBXVsqk|LnShP#E2wrQk1PLBe6nzN(Cq5MR$z8`U|)@d z^_ixtaM;d_eI`oBnnp>{2%;OvjzvsLL|Yu;6Wzwa%qY{wG9|Yx)kpq<4ro8nWxD{{ zxVE&!@XaXjv8$%4zTTpDzZ`kw(hq~Ro&fX?IpFh*i?Fcyyvp!KPo5hbj)A4Z;>wn0{X8(vSHiMMv$%5{I?b7_jV8Ql}g<>KOdwvPRz|ZXud$ zZ%HQD`#oJ`4t$6C^hMzc0?h#SSk5gIHBk-9V$=CC z(u!xghZW~ff1kKU&qqEqG;p~hosoIK`r;4$8x5^R%20_F6}nlXp{%U_LNVo?oA6vM z94BKPv>pYq5gV^fFDz4VKQ-~&M4>Z2f`MO;cS z24=gf?#UCn2UsNn3-{ygTJ|@K=>S1U9gM1-2;7HJj@tkiEtuB(`DQ=$d98O*I@cu1 zWVUE!I`Q>Z&)*_ZMMTbm#73k6ytj(LvXfa+2 zI(tIkeMmcdYWA8xuOYtb$ix<}`*?WpuJyY!#8&M*tEHaeT%B5l47L@{q%%3UEU#Ce z39JHIk9)6;RYK+!vAxCJc(HaD>e$x>3*;1V<{R;0^@&kPSSgm=90WlwclV}=y zJpYtT64kj(^<+GByqRRj-5wAaZbCO#835X|d6zuOCTR~-%qK0h3VP@u(Izc~-ccXx zy~-zS`zs(BO>rl(?Rl$4!6gT#M~^#dvUrnR2(dw>J-4Ic76wQhL};MZXDJ4MK4<~r<-dvj~BR@ZiwL9|f7>z$m*qTf>hNEAdVn?(c+axey;K4@0 z3-CnUX~^p`&X@KKsUg_}rxM#xDYeOJ>>Ur-2Th&7T~Y#02+_|%S*_F$VHbDToi<_4 zwhh7CEGYLr&i(b3u=z)MWwyD}Nqqdm*Ro2-zV|PVslMM2(RKKh%FDQq+3Jle?>_+$ zj`vOwkzlVH_$)^_l1o_r!C-98z0e!Rw|s@T7@8h#Pz6qygJQ{c6jv@qc6{f)9H#l< z^}lqrzpsnVpQ8x-jf@6RGxKku7P7kw5_EDf+r^j_mEC)qsw~;y?rX$c;3sq$6HS-> zM=CH0-)nY~wpQ-sf`+oE%8z-;Nlk?e5Im?m{Vbvy|^6-g%&P$;H-^GwSLn=Na^6|c|pmSeRlckH6;B~ zQ`d>-0XTGiCXurmkrNOnrtNeHYGR4Llj}W3N7wZ6GbbJc`iO|93+O!#h9Lr8C!Kl)8@Sl3vwrXf@E@44*s>OfcpBBxp z?VUk0N%GE=O^Sc<2z^B0iO5^ya}dR;AydMc6cKBq*sEn@?4HF7X1;jIT1(5>q0iL< zm9r9wQU%iWR4I3UniZsc0qw1k!IjE?o`AwE8`>|M1pxC6;}j5dpC2ryU5L8nfN=f| zli7V$Rn;6jvrtk&;AIJ!FBeg`ItI)Cwf{2B|AH(R=~BZbx8CQJJOALxN;f{_L-We< zot!2XyD69il7*>Tv^08L7a{Quw(KE6Wg8Hykqzckv5^^ENINl)UOHcLI*mc| zU^M#mgA-4b3~noz8jDANS(7<|OdEj{!_wJ?rTBz~{UO)(@~7WmF^~Shk$d93MA7vb zo>#zlf z4_QvN3F7w3w&%UZ1z&zBJ{*+rION~+?_wY`lH;@_v=WsvFrCJ6Ip8GPEj*;4fj1h6 zm~fb?<^UPd1x*45D4a5iF8~NIyjKmS${)9;(@n7A+t~ePGr*agTX116_^GjR^|2L| z;}i||@W;`aX*Sb~fdtt?=l$7(MIX)%Kq$Q^f zII($6V-T+^s#5?qD)nx61YHpsVJ2G3p9rdat~NRWZNNP zuY%#Mc_|Biq}1C>{!;-?kNf=ts8BXj!MDN#w$5U(+6JN~{!a#GKm7!Eu3kch@JYa- z^p5^dzrgK#o%_$C-HL77Z#^m9Hrk!Gp4?#T{q*na*2*1C_p#MudwB>vuw3t18d~0^vL;A_l@UEh_ zSD1``ffyG?LLMZG95291F{KO+I|02%(48^lg3O11sMz#VXxh*U4;H(Yp2>URh6bg1 z#>P;H`s`x2nkM8E!EujFMX}}%Mkl`%Q6@t;+R!-fT2Y}iY5wgq~Fl`o8NGAYi87joODOO_gB27oY2~$ ztZh$<|9}XeF1{=4Y^H61QK8(?3~ircA~>LKJwMv?veu;^z@|^&y!e@6#?6C7qt%$D zrXExW9;J{mF94_b)fc)N_C_CL@dh~ox_II<(34GnJ)8@<+t&4EG;1EPK)1nxw?SVx zjDD3kR66?4^XJhxU9458X6Tr`vXna@Pwy`zAFwaUHAvbQ^T9j%kKg8}v%%dHu6%5| ziQn^l@NwCDkqV*{XGnGw!FT^YFaeOXX>G)k_pBShkyhPLuCyX6i0(9fql$LF{hn3S zF&8dmTaa-$dO>v$wsbZh-lIc+a6*k6>#nGH^CnM;&SHws=(+r$kknz3QI&oD?HXx$ z)*r=B{9Y%b#22Pbi3_XDqi%C)6px}8?rp>2mAZQET7}@H5O3Hi+AXhmn^oK`J6Jog z-Vx~di%rm`n}M1jUT8`5Dw~?ts3SYH#>2jM2dqf4+;> zau@24o(w;$k9}FPNZ-|H>X#MywXKavq+syapgQM#jN;DC7Ibb8rz;chtxGCLNl9*U z1l1*roixGfoTDeOG;6e4YvWg_sHx@xzYyG}S>(UlcP)k|ca@U1vmy3czyU|a5?q9q zI?y$5^=@fDti4G*IG_xEJaEs+U-ChCA2vhK-!QdH)h9ErR7wFmA1V~Eu0#f+Y`&AA zOt~bfAqO620~dsog2kehmW@*HMdWGWD*nN;E?Beq>A)zUj!_GQJU!_iTsfMaRUBoz zINxS-1K6*$WUv`NF^}#W*_|Z#%qOhTpFo#$d_|QsJfP|SQ@P(Qoa<+`5S$B8+o}Vpy;qQhP>Eg$*rz4z+|?Y$o!HAeh68-RzvC zcQGQ21y5+U>r5LLgAEl$O7`C3;E8yGwA|^?_zZqp{HSh%1^w&?;wW)g)F^U>WX3!c zb=IOdU~VPY9#g0_aVp!s@!}dSjjqv#5EZW;Ei=Dv)~O{wZzJWq8x!bmMvc;HIbIPR zVAqztoeI?)^%M{em@B`5`da$lq3GpXJYo+9-50fdE#5sla+D!*en$M{oWm#qEqmJ1 z)%WL%cTugUn?#YW=Z+Np;R^o}Zb&vm?(6W1todoJIga=${|wyWt$RmFn_Ig#1LAKg zvzFLvXW*^vw%4Q?wek}ansZY$sE9UcE|o-^31-f0yBRep>5^8an(bz0f(W7Tl3lR} z^DH`l6wA31pc_8o_6F(e_N^MQTxv;~@;QBccR=cyG^E|y-D_L4nN;`jIX4gG#eovn z1i5)at9y0z_ZN?}u26b$nC*ah2m^#|g+(MHOA&czy|+J2t`6NT3YntHCJoAT4?wUFVo(0pV38ap*#x{@DN`ZcUymOvvT z;#JrS6;Tk<#@=GQ_4AAxf3ISA^+BWwn@8nZH}p1`mBSHjqv_b-+zt~gPqX*fx^z$G z(8*!HuQ395%$}zx`%FY@tHr$j>eEZGWA&?XNw~!Oh%Vw+9d7Nktk;1-VCprZPajYk zC{Sa$lFTV7xNqe$b=F6JWKCNA6a#va?-E{rm+DNb`@#6!Q-QII$?4XS&EU&+8H_>^ zi~~>(0l~Z_^Lcdz_o-sA>0|$nW(ul*yrqg2Hn6J1>m+iA9!}Fw$8`G?cLQck@E_!$ zQqa|@J0x1%4;#*>iOG3vu_2IWP<_pT1auuvt4l4zO8cjndy5j?GR8NNhe8a2#sgPk z^Njdout}49evM+ABG)D4juZKNy5jI1CFePLvUR*-oQ7n32e#1-ePkW{msRE`2X?y( zK^e3Hp8D0rOG$+Ym$Mc^$KgHIOP}%Gk3s*F?SOwYeo(3N0cvyFHe72y%^YUwj510Is$HMSkbg=$%BTlPy$J3mv}y^8ZD z1h9@Z+Ae)}pyAWz8N~FNg^PXk(0-}DG^!Z$kjU-03oKlhv8AY-LV>=$=IbhiMR zK|eoKD*2A^*8>S>GB*|e1ODD%Uxk{SmT#_w?mkv~{$;j$yQ5c0zRUw8!kS_f#f{d* zzWFSMr$6;)efK8B&}P(L3n%Uga%yWW`uENTd@wLNj8zh~7Yye@QJx_6rfLpPiW~Rg z!zAT!7t}q)90n>>cP$%!pavLq`l%Ri(dO&jyUmPOA(5dAMI9O(C>gCLoLc^sey_5G z+kcvKo}pYFZ6cupoq7dnZ9S&S9%te1^dw(+yu-hNKLH!!ErNQ!x4E{2p}Z<0|1LwV zfR<19(JCy+)rLNo;om=|ZI7H@9Rjb=wv+`qj~WHFKB0VywyIjGN1osMy;DqWE8p(F zy?wLPieK+$35&38*#}xklE~oe_|2c&$B)Cmqkm~jI*=64z0lllN{M}g`}cgN__Ty= z=YB2A>BdyqCENH~@2oE^sOG}9sCZnH+2~#AnrxHm%nBiU{4lF7?^Q81#!5Hz{ci#F z@#H7xkKTp3sc#{CC`0;S&oF>rFZWi)C83SJ(}>3)X_-qy>wjlG&p-kDb0+GFa9iQB zv+vu1zBNhh*PtIRu{X*W&#S;$jA|;K;>m%uHi3xKOtYFXV|t0gDa0p<0+o2?^HW(L zf1`F9mb8~xc0~<6m%g{Ih5z*bH(D&(@!#krQpV-B-hy9xtx2M$%{sMe@N-3*6cxPTQ z{Tc06<|s<_O0mMS`N10{BVpxIlUu*Y{1Tm@XCKDIL0tt7|3AOgrDMX2;xe72>7-I0 z9X~p0(n({?c)7uDQwXndQIy2fdXQbAoHbI;5ZgK#XSTMzq^UPoa-95q)P7v6bACK| z#@JPXemVok*kaRPa}4G1URX71T0it;+nwzC!Seb3yqrqPCPSnc{YfOC1*LP6lgNAM zAkoD|+mGj2#W+7>!thnw-_xYNgHRYV*DK0>O;}?ybs$H}Gw|B}od?RgP92<;&l$8n zzdXftwOqFTfsY9G-iHeW`_BC`b#z=NK^U{`2uhy!8LB3|D}g}w=k04%dZRLa#$QG? z4Jh6`EvrwG0Q=Frt5!Q3XLne)P1XkdH#Ltx(x3%{8;HW=2I)^g#w4;mmb_BKx=|lD zYS;hLSSd1@C7QPTs;DVg9159Eu4e?U-=mjI2ib={lD~56(Q6LRwEzP~J;m`&wL&o( zrD!4ZNs&CyJWJ*5*6#p=(`YS;?t9;Z@j(-};J%4fe15#J>6p`X9frjj+CB zJ8pBoOw@Jp>GU;8*$%Hx@pZJPId0}GJZo{()zi}p+b%la70a<1zu?sMiR`2E*`HSU zoJ-W!eQ(!2iO}V4BmM+x+X<(2hJ@&OffD-J0R=MYqnq6GB!yF~IAQhbbkt2B9h}0$ zZN1Mv9^Cegmxf)}A5U{7#26n;uEZ?b#7+x0EDe4#X$==-WC(mXIn#`{eIQjB8HYr| zBd`Q0zKf;*AQ4{sF&-RBwy}q$19oiK+SQrG^1Zd0(c-%T@=p)6(s(m4)31wA zpX7p!hT|0I<`)RZ@x(Z3l`dRs4#O-L-Rz+3usFS7gcPmDI|k3ddWJt&fcdAnO3PgZ zVOoFF{$D46s-~BbX`RVglvpRqI z&D*ylm|22(>U{X@GS} z_}Kun@c2Hww;XA0a>{1F1ov6)Qj3)yhY7aiVB}pklzs^7K`c*qyl?n}?;Y{wf}|-6 z2L9JDBJcLk3(j*1EL%OSoB>h5bzN{m zTvsU(zlyBGk$fdE$f+QLp@kcIQs02v`|X*0n>r~sCGU`1SorE!mj$yOr=na+(fk97DX`)7a;hkad&e9%rKubT^M%mQ)#%~ti=oj)`HZc*&SbNST;QX&y~ zNE$Z8E49-}D6K3W3^P_fc@Rsw_I(kpGp(^S8X(hNwH2nEFOJ#EcZ_v0NdOm$MN3b! zyD{j|bRDH5W=Iq%$1;%g)-Istupo0aLDD3UB(x|s@wx0*4OT)DzT^h)4MKP^R~hbz z5=zJACkN{OuS}o(a+#vv0v(2Dt$7OE4TGYwX_l4S3t3O{XVb66pgzmV3**p+4ui!% zZVK8Ia?SW=P(G~>4iWo_MZWB{I%L7*5gIHO%K|H^NC5rL>zCYxEb66!BK66`_n&qO zHyQqA;H|A*=*^W2JaUALnW>Co)Xd7*zjuW2xJ|)NWbT2a`{1bFTUS9Rz1;wpPD97=FB@KPhMeyGY1MlylaGOe1Mi-fHYL5JjkVacC&|Wq zd4M~@!0a0jvjPQ@aKqPTMPNcg;!1x8f28A-8p;}b7S}5CxU=d5bz&EqKh2 zEsUCC3l~y>W_4JP?i?U2ge@@a9}w;RKAR=T#ebaY!oG|V$kN&zw6QDi^WF(?DtCaS zp6uU@&yC_Ue_9avJN|UCi3kT>Z=P$Ln4+ZjMh8TfVZbAT=((DsW(H~w zBc929?e;gV^(^_q;^tm|{4h}FD#wB7HZHlg_DoJm*SBW<1s=VQ$r|N$tvcMCc)=6w zspX;6=XSqyhWctZemS7o(Kmp;pr{Lgp)M2ITLQa0=_e~%?M=~_1J4;&%SU%9s3 zn=-8k*3BPuHVP-TMoTm3-(67oJyvi(FYH7QlKQsdVSLv>HHygVK7E}S{;SrDpr!k> zBReWS8-|3&%^?b!(g3A3S!%g#LSOIC(5 z6gCGfoAPNW8j<9Tlq-XPxdPspgJiuy6b6#aV3ZgHmY&}~CSOr0@rdOrzZuN3MX|6E zCzr$2Q5vV7($~5W2#@Dz(0pI4bcTGoV+1e@6B#WGro0S$i)v~uSEB%JsBi@NDqK?s7 z?S2PyWDF@m8t0Z4kflS~^)kX;Cf)sb#zRJUURQZgB2FttCS~=3iOO;7hzySnGjUV;n2V?o_e(+!4{*>MApJf?CIIVNRKeoCCnHKTs|QV&Vpb_G^+e}7qkd@&j_8n17)0|G zs92)-&f+^dI*J`0id^p!i%W{<%V(Eq{wt#$Rf!jBCd`4!CkH|}<`JtWCG`rSc&@g+ z%PxwEJ5^Sc>hQ3T(EOlc^Ml96l;q0Y(WV?*Z4aH_nsY*yYXO&N9QgyBGYddxE^mPv!|qpsIkGTmkQ#tWqq=gSO_odlQVcn~)gVY+ zYN@4Z{ndQ^>1x!F(b=r`5LQ%el}&q}B2W;~_&eL@;=cer zW|S9X=vaQ$K?A?Z+C|?(-pLwe>@RruGUPCJO$dTZs`r{jVY^SMoJ<%B979ENp#gQC)s1@2Q%YVYP4G8*$(aJTLkYY)-N3P zjF-I!W9#erj(IVbn<=zB5rJpEw?}!!*PlQp4$=`4@C8N2PC@+q`9p|LYywGq2h*6A zn_DsDE@^gD9;IlqhTTmtI!7bRl!)0iusnvqU-t4xso2#)a20;YV#bSULjr>`D*9b& z%d(%rf$E-BzZ8t{o7@CtG{hCY5TN!ae^uYZj4L&8DM!|K)!`k4Q%v*E@?JQeGTR)2 zq{9KqADD|_LWDXn6ZI1|72lp4xBYC1wl;@!43_n|>oIvze)Fj>EN^dgPL`ItlM*=n z@#je`JjFWY*9SAMCuf#&)Cj8!Za{$Ce06)H-RjFk$F2XSn`De{>^zc>)MDg*;`h|( zF!O_mLwu6w#2Yr^_5x8I+;!HD()^&C7PxdtZm`se2s^usvp!ig1Xt|!tGf=3oIMwB zsqkf=>X7?dVc3^pDeFIoY3)!t{qA!?5~^R_z6t&@H`QbY_Q&pP5W z2ME&gkZ4`BY5n|lJ@NF9-x?cR&PKQz7wgngFsB#P)mQZzGHB)3Y%LCE8T-(e#s6bo zFN@P86i&4CbS`?W_vX1~Ni30!?t1^1BqxlU0$C$ z9*2^1*3TPc&7aO8@>~={b8#Gz!6S`xU@>Mv*W(=Qa&trQD~O0t$sssj0au5P-cT4D z5&h2t)r6Rch^fxCUOR%ndewrUUah&4(rc#tk(3ubGD}0%;o6iJOsDovQYXxB)*h1E zjdjYQ{|0jSXekmb=eUcAogua3BH|4R^nFu>Ie(3%v5OD9-qFWdiTiP}@6ye6ZKcu2Q6n!mv;etj|6HpJ2D&mtx z#lMpCtiFar;@#FeVZ3yA<`ecruleSaN2oP+j+~6;uz?W)!J3Wy#grSyT6gVD&2;y7 z@AE{1z2ToN(H{r8RIo}?&q_W%@1`T>jQud=^x+2`D^&vy$)#WeOGCmwiN+qrVRY+7 z$LV!chDzi2+VhpTjR$!p_@>4bFiv_8;!NLTlvbbKdo}fDm`lCOe3#1dq!imowTZ0M zZ%qQZb`mQZtx=u#h0nvSMe6NHYO;TTg8H!Ey_c{RO z*Z7e(pl(*!nS*jg99#*;oD-fyp8fLPTcO(ovuUNPF?ne{Q&;3U2C|DPh0upmlHDb= zG$%E>mg#76N3Ouv!Z|KhZ20O_!=r3QkHIuS+khaZ;GILM`kl?YLc33`H+mA$IljAV zjf8xP2rf!$);BiVwT`u9cgQu=1YXar#ldX`(vfk{w75=DQUraUCoF9A%}77)e)?4@ zCK>mFWV4ep;y6%88ddFfRDUtWnckG{CtmJ%mi(tTD_+zoDIpXxKDNunX%#IJ!!;pv z=vTzCR^x&WjM@N!BL%F5_NAkR4q5S-xg6A?3R)@1nq z?WbO|8YvM<;+FVR+fNh8Xg90zpFVkIDI7!Gj3aG$QaE2hps9vdQK)6%0Rml50}I!* zaX)-c+5W0anja>Qx+%KT{j}m)>@QLzEc9vXv};eJtDi0(j2@pKC=L@SA6q>6{C(K> zl4|mNr#N^8nXVh;c8vW?u)BMu<>yQx$__Vi;JIY9nT&4&!O^S&sy(9uA&6FFT z^-s_q>gT?>eb}{?SjkZBRXe}MhU%|`3wo5}orm`0=;(E&yVAkcf zCp$Inf9z}SKgXQj5qR}Z;V`pGyp0VZscx%cRHS7B3 zi_)PetJy%3@xY&-eBOVy77BlQ-(gAMAFi|xXCua)I-&73j0>x~DC=NSBlGI)8J!|4 zNz|fe%_#>XoWiC-CS$xw`EA{css}&?P#vSPBg>YXy_DpnU<;S1Of}p64f?ue7cFED z;j-LYzc~TZn!mm8lc{U4?;CR0-XDa%J7a;WP~z`h@eO9e@1ux)_(W^cui^&}QA+3YcX}95*~3l4 zRTJ(GJvQv|y9{RcPprBJ9mK@Pr@kK^H0Gz4rYf&(%}}-;qNY$|0MUtzW&vhFWO)5c zWpI9%(&_2J%96FOqiv}5WXQEj!1sL94`J*q^BCA#J-%(*{*uu^YKbq1V`%EgNyMy- z>&wjxPkVU#81vg+O})=gvQpy&v>~a$6*Ef0JjS=DigH)EunRvP<#X_|RVw6V8^Ql> zjjtGm^{VOVb&dS7|wgQe^i<0=0%g6&5moUe{>38y((FeOd06K{W_!IgKq0v4XWk7 zIsbOZHw0(2zO}|@++3sZ!XpACYpD?BkvWyTTe+)sSh+dTl+SotuO;^Ot%spQrJA8f zG8QUFotyJ59m1d@-8nRf0@5X2 zih>FP(%lR(12fVMA|l-kJs{mR#K2JRp6~DFPcN_Qa1Q6}z4lu7{kfrD&lS(%ea!3s zB+i6Avm7@tJo3{wKK%Zo59)%9`r~m=tqKpEi@2|E_xQN%IgPE&WJe3Zt6Lv_fliclA6jOzN zpFYoIg&}m&uB#QJdWZd1=lYmjgV4_OFb$QJfTq@%OEFw?|!zW*`jB_pfXzbnQOu5pRN0f`Y zWet9vm{{v11h6=KVM9I3lD6*d9l&47+_?|TqziOF5i-c1Fz0$6=sIgW-P-jI)7z5A zlVb6(_uVuFi|zV%7l{U&ta@eGh%P=b(;|(qexPYKabjxa;A}Ozs;1Vfq(a!9*7x9V z^R@cr?^ER@kBOMEm=Aeo=WW;B|AGr9!r?A0_z^6K4O($aI8vL3+nKhw!U^LJniSi` zq8Z)d#Amv45U~-m5Rg=<37Ar_rhqehn~*(FY{@j8;*>pDKxGpa`c+v^X;G6-l%j_1 z)p*|Tn&|Nju6Uy5AnZ*y`x$xHbUK@p)fUI_iBmTX(SWjKyYqh>R!hdluSXa5H3i&w$fC# zumn?~K?lmUu9${2h-I%rty2ajNy%Ex?}T3FJ41xDa`+}1Ap zn_#*mgamPixz>aX6Nj{@nfxN)_7x3 z^S*I`_Okt>r0><$)nh(=;EyR{hQDykOi5Y&2=9D{|14U*n{)lW{Vrce$G}+Bvc)XMfsXVPIKr zzcV!di~s2OcooyOr40txi)qesP}0{3!%hHm)2r+tng6bQhe^su2>pdD6Y_trRr3qW zSVnKImgV0OTQK_-%>!ElGes0LqW^>wax-#rQ++lkpla|Iah8&IiN_bdDvx^ zv+~I(?%xu+|1n?jObKj&pI_;FWX#2?gY6_D7}r_LbbUcvNJAK@tErHQ_M_|_tIpJN z;S;XUD+bPnbn7=)G@iaaAqxRciph3yK_WK;2a?unjU<0V#V&$XYwJsosU3m@SMr!+c9mmF(1L(&f`m?9Gy5CRY&L-Mh6^kNclgri5GcwygpWY?8;|mHTXSDk6AYwGTL4@Z*o^+b^@%BSQY0pxLQQjQ7j7=wW+g|TDPQ?nL z`#kF5VH80{D>~Jn_2#buy{A(^{znfqGVxCgqHB5J3%`lRL?8|}0L7f=|2>#md?ge& zUiO?SqrsFr;9Ow~8er>!cdMOE|01-sYIM-63hNTY6@*qbn#gjE!k(ARanb7Q!5K`s zBeN}a8o$>0GifW?IO#{H3jRl}LO$w$M+@Ylw4AC;?TeKR3|_f++3j2uzFFlAMa8-ba9FF7ekP-W*b7Qx;(SRo$#>L<1gDWh2^o~ZNRv8`Lza0Wfid37YbEOo(XxC}@kl`N zj%#w5mxVH|1^xNo|3Gc_n-VoET8*{E z^2xuuSNH?FrmiS;E?yicsRlh5=y^8uhPCEo?EGfLLNBueP01VY+RfQ#dMgoI4l7NN z`$o6H85b85O4Dh#@b62-eokA(QA*V!0ze)IyCkZeB0*G#9iB8iBEd;R_vE;y?2O7H zXVLUYd;Cj@1oaXvF3njkBWTARHYWG2e!bQ{`x5S|J{qb3rMT1xWI#iASL&5t@b*Jt z!#v&tV1?ZWN6>e3f4+gBaUFa6BH*C5bDAPj_HKDoJ>ul-V1t5YUFxXJCCJ+xqVyI} z@Djk!+2q@EwKMTm^ zxW3B?#pD^FEV1={?xy-L-R1SIs)w1fF>|L}t``#X`W93vCgxl9= zFLB)e3JU+@;2Kzk$JsR|NmrGgWD!iU=*(NH#k?=$HEQzg2#;{viH7aWhjWy%Pv~km zG(R?ODeXItB<(1~JxOmgD7T*Cj3ZpEh19=gGa&b!b@4yKcsWeaBgCvJyxH0i260+G zN3(5=IA*2~r>yd!zmft|w*YnFq@9llf&lKVHGrz|mZF9{7ZG!r`)nF`=I#%WB}Cvc zfFTqN<*VDRw7sd2ZdT`Q?c{v0^s_M;_i<}&(3okmQmZ6eHuiRfwk5E1u4;W$Qc?KH zJ=xu&V54pBm??~6EMT=(>qIK-z8CyRult0Jf`a19iMWW3bA|sa`N^A~RBIv6JsyEA zSxle|Vg8RweGRV|gE=q3FKCv>Qrf-Od$;jAjr4|kg87bfl(C7iPO&QqD=RxEC%+;u ziq|zdCi~Fw$3t~xu8bvLi$^lLb>$g;e!Zv`>n(>~`V*X@npT3p%_mKuYI*?-IZ zo~T7dJQag#JfM~Jk%~bmab_5AC?Key3K0asbt+{8M7lGN_iM-O#H+sn&uDPd6Sts9 zOtM5b98S=LlS6*syE|(D)ma@h7{KJtKNn0@ZD)T66Jt5{Ckpu7AO0*k<-#O*Mp5GU zbYD1PCRf7@>?&-!M1&okD^4FCj*q$!F6=X67hc-GOj9}416?e- zaIDi|A6HOPS-w^yAyka~n&Z2<+^g0rBKNd|B*&Q4tl|kRY9|dDdz&HW&yiU0wn6^C zpW!}h58BqHZT~t_ay+Jki1|@m8}gl<`j8Fm1#4p^IkleKDB$iQ=1#yQAGrhCEl}7^ zli&d;7A^PvZWaj4kpYta(u)rs>mxnW?<4}d)g^a71DX`CuQ3GDW=?rIPsa@4L4;rb zzB*~POf;YXVX=FA;b&th$szwp^*A~Di)FLJpp$gwVww{7l4wdQt>9&sdvey4)`u z{O!$4!8n-+rbR=ApKoI)6;+K7$J(CZjgg}1{@snYAk=c8GJ(jKn>SxJqCEL{o%yE} zRr2&X$i6w&3t;Wa+nV2)LlpcnOcu9xOx|v&bl}zb!+1)(bz`+I?#`fM{d(WT(v7_E*%r`x>)y7cz^@pDfn#U ziBMA2{}Sc;WI}EZ5VsctK+aIP#{~7$2TZ(?&Nyzt&7_|oxQs~d0f_j-bnm5mb(=(a zKY*|wfX16Gcs?GJfZk96Lb&{aCp$ry8S>%H)tgH*r$EL(hO$2aWIczV*(m|pu2K6R z@*Sb~0-DOo!Xo6;RXNHV@{&5^ZVlrDyN3sM^lK!Z6pW-Rm z5E@ZOGs8$rDXF=C+_Zq)L0o|uqY4ov0OsT?&G8qR`;e=$!&!QU(z3#8y=iTLb@OW8 zXokN|Ox_vX8%f8>rb)K*Uh^WI2U9(Z@yGzR26;6;LWo9qn&m89gz=kBsZf#_ZrC%-vik~Ex3JBPO6n2n+{S>_5A$Yrc%^q@K1m- zAi|uzqr45c_dm^2m1C=WuWqQoyG=Ijf%4{4=YgfKYo7i~0K4*w|cv zn4dT_@R|=7-3Qy= z78ifk1$T8j+nF5Z_VI^s>~P;zA$_Qw{Ci*Osi?oo70V&t2dx0)rJMbVbWuoKt|L}k z!mP6rCqt2%JYxvPlH82RWrEC@&k*r$X8!prq+)VkA z22@2u!_&|z6|K&_d-s5qiM8Pz09z0MVzEgkPYS6XPEugAaX4>Gw6Yv}Sm<@;@A^}KU`G0(U^RaESD_+95#IeDAy!!v|w zW$l!t7OnUNySVtbzrB#>AUmf0QJ&9V;JdQx%1ef(5>tdisTJ#j?gxKknf5y5S3PV;tXHuJGAmv`CFs?0Va4>0>zh?ff+&DEFQ()+g9YfkB>;LX)mF;l(7L7Fe z+orBo``hydghaBrzvPX43QxMQUAzg2GeAw|LOlulHpEaiRjQR#3%!TAv9=O0AW>c0 zgING+$Kl_RWA3{?_$_}~^bLrD9l-sIC;$axF!Xds#)!TU06~cfczo+R!cJ4|P~NvE zy(T^fdl`%LgD)MMO$Ayb=W<5gVKx+NYfU`8y-wicO}Wa{?mCw~=zjpUv@6jcvsq!z zrCaVWsYf*aZ+2L9J~H{fI_~Y8vHspSLs@z{*_~nk5I?kNP*G$2sZZ@)n$OW^+J@ba z(}6DLw(j54nI=~<2DBGo@Yl7YUr8x+!#Y<_S}#2hh~Ff=)*|FC61hjiV<{u>@bfLl%aDx|{Cb^#naVtORr#<_7-`$uGLAk>-JV zp=R4G&uF`=UWgmAATJ(m{uIpgGlBWd23SlE*Fiyw0Aorz`(H_EL}m@qfBpLPYa4ng zKBLMf2i{<>5m?;s4*mK0^HnTZ348!fh=!6fn!8P;D?O6!xbvcZP`NeiTKjm1;$&4H zY;5V+)x|?I(>j{DHY+Vzs9FN{_ZsAwqy#8M*q?yJCpAe!Ku6^1ao7?}O1UuLOz{yH zahxd9=o8?IZg!b!@UL+6onTJ;#Il`VG9QS^R&}FUTwqQ3b61yVwV2)1Yxpqa%7>uG z;NX(?WPm7i+-^MSJ%6;lv5}hmni;hJ9L`Tctu;YEA>J|dLm*sQl}ba~@R6lGpg2~j zzWDU%liU6g2WX=*L9?dgC5F1}IRLoqti<1dw9}Vy%^p|D z+sJ4cFdY=JF8lCMSDv#toI89UDK3OF$@jhc<3=$K@Ab|CKNWP8e ziw5uKSMYv1*XR|Q=6JUCjWFjADi!IeZt=Px%?v5Z{Tt1R3jExAe%kjO3@1l zxJwW2LNqi^MZA;Q?88SRs0KpC0yM5$eb*e$a&X<<*WI1q!OZr4L=^h_*qAp-GR*f! z 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

eTg|ShwZisH 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 diff --git a/input/cpsat-bench/Statistics/plots/05_box_by_hash.png b/input/cpsat-bench/Statistics/plots/05_box_by_hash.png index 38d09926b4a91fbb5ffab2783773c3ad417ba0c1..58a9d324941df8e2d62a71411f5da21892464d84 100644 GIT binary patch literal 37438 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

tP164ZSw^ehu>7JQbx_LIVW26M$;4f zaS9#W)=DP;`pJJC%9Z1!pv83%@`;&{`AO39v}}3=7&3}MrxmBiZe?714F7j+2tzPl zg5^QA*IfMg#MXCs;?Pg*YFtDh{-YSF=gd;_as2fQ@gLSjUxti=>|Mta-NZq-PcHLe z!J+Q51PXIn#M)YnBuRX;0p<1CV(r*LNN#C6qCwJm62l=zLg?@q0w(CsJ+>0O4&E*T z#1L}8f9@X@$_RWuiRh#gFC!&(Ldi9dzbDYV27fjm5@j%Ehv+3e;M{-BITH)OZ9I4! zFSl`QskBi~7&ICh81E#&T@jB25xU-y=^AZ-iANj6T`AudS@~XBB*3{{hE{)*AT1zp zJ*Jx7Tn+uRi{a^|TD(!F?nAYwJFOP?c!E(Vuh#Z;L?5=xyjhR*&QdAq##yDS_~Lkj zf|=4>Z0_!l8V68bqU7a9-63*hQ&sY5`kNh+XqPKo7<0sBv*Bs5%23;vOe~P8904-! z?G>E@q)7e`D^CT{I2% zJ{*xoC(5f`&ZOBYzBeqc+mcU$-ba>?dZnwO`zX=xWTOFt_Xk`VMw$n;2?7@TC9VSg z#%%1I7bjJEv7v%BXxlrSXVh@Wj>>X~fa7QDd}k0MPX}&Q)6YSJMOs3|Do!m#7d}4v zjwtoOK<|iHF6pZd^?SuB;k~=04H_P$+#eqK(4SEZE@$j#6+stzP-@ZfAN+xY8F`L1I0Qi^RKZ%N-qo$V&$1Xdxok<>H_u>7qw4LVgZOTf|2$|iahO{f>GTrDW4*r-(XAt=Dvo)vtWEWx zn|!^1t0+`e{PlljIIxMccnI7husAT!AssJStj$-+b1y#`$h_3@MAm3X%P>nnF*!e~ zXf`Y1)RqqX^*;vaG|!T6if>2eVPkPkZ8>X~RBww6?oG(7gZuJ@vnQbipUO zO|@%ie6#^6Ghr`~X$zB`v|!V*i+at>u`TVLPJD7Bb0L)?oXs?2ihHd|1!^7@*J$hA z4SkW8_2GEON@BOuowSUTt*$+2K1$kGCaPa6hMFMh8evQng)oJ|MQQ)^m6TWoDZ17K6+?h<+UOik8ewJ`WQF?RmVL-bwlDVwI-MXLk^VR3QUG(191k@~$Ug*duSZ;RC_ZVm7|RBvMS8Fy&gM9_cNcThv8WI~t1Se+WvP3@3Q z);U*G#iEFpPNu5V=I$IHJky5bj)1z^7s6xO%@?u9B@*d%rw|bDAf&r*lVp-ME zUS`1K5VHre`6TshAa6D28SQX^d~w+o&!0n&hu;AeG^3~m=yLj#LQ^c;R^UA;2W=!O zA$~x=&4+!4MHhpL)yZm~x^O6y;D@+$wr}YwdjrBW2#Xi!g{ol707+J{) zRYXsF1^;RB%zOd~rG2(JtHy^n?)khSe7^3iMKUoG z2*$-j?fH3td0ZgtIeZLOB>ZAJ8l*6&|2-PwJ+K@Ao%vcgnu<>IWG2#69h0>Dqr(fhGE^#kp7} zk zcy-fF#RmEBLRECwebftD{&<#u(|eIUEc7;MGIiZr>vxx$oa4$)b&epopm=BAZYO02 zT@F6uP1GAHk@sfYyIA`DxI}3tS02g)zn8Eg_=X7$V%r7oQmw(BmLri^7~xJcBf7QL z>KB1sXP?X2;iG>B5q&~*pMl!Ih4b@`7S0Dcr&)NMj2YcwilaOF0_g}$JuObHb%}(q ze$XFC-m3uAH0Y9MW$Xd77p6D{hN=?)A7 zjnD%Nz)qe;3Ll7!?gMdoo(uJP3f2#3@)oWaU`{#$jf+WWJyhprTWdzymKE!bYZp-J zDZ~H33E5W9eiV?8fn<#3diek~tAvN%#Y>^ff*eYSH;%<$a7RG)#u9K(FK?znnpWJv z`-o1|dsWe0DnMFf_kJMKpiUO)AS5X1Jg6M8%~a^bW+f94`6X3kTq2u4^sUmYojS9g zNvhlW6*2nFzkrd6P2C(eYROZyiN6tzrx`eJ8hr9Wzg~>E`|YA&|Kf*eDY_48y3Zf@ zwFYnPT|toBSATX`|49&bZ~gazIPqm#-3@N$2I=|bS9occ3MHl2D69v547@vQc4s(#(9wF&|A9`I)|cY?70G>eBP$Gn5u*9)dL4 zy*f0SX#lc1ix4u6i@TvJ~9 zYz_fIUy703siD~xbA7wtT`g2*X40WBQMfT-lOM!1DJ9{VSGUAJM&9#S8Z3549QbCv zR?BJP&+FP6V=GtXqF{Nhy7mutW0PxX+Eqw`&5*0iOE!**K0Psx5+VI!GYy+{fz7<_ z;IiO%i0lud!w2gUm_9L+l%ngWXHTq4IX2=Ne}e{y-T{Qg3)h~5L!C_);8dC>z$u1@ zpE|e@=B~M`TJYrT(1$)3UH`cz`H3~OOkcQTru4KSBuTzMdF`*VddHv4K2^`p0!&6c z#CfN6-#svY`DoPy>XniFbqV5QaBax=k@=f+qha)peH>Lx_Fi$5-mt{Li2AF{*`CJp z4${pD`7Hif7VN-JXl4j3L#C{q?7Pjx&#aw9dt8nf(xoY22+lLA?HK?w^-4Fi@bDcV z11fPhbgjGhX5OTrNP9Ep88hwyGUCDsdFQc@t+gSe%%me0E4z88 z+f~;y^?+IV%#d(2qR%`6b;fg0eg;X-3y^nRUeAkV_)mwd+tx<-FU1cgQE%uLwc*K} z4;9EX3KsgLT&q_50V5-zAlIWOKrAS8_GeB9-|aIpHbP>|PPE2ea?5TRF~M!fc3&V7 zpqj~^@y4>=MH}&KzXj-7AnaE9e(($_4TBGj!7S5HPbTF(Jh#<%lbg#rj1%duooU3K z=Pce!*|mIa$JYTkj)ZYNl#MrLTZHN0yxn6O>9=f`P0B?1#6MF|KiuTdV~Cm(%@{{r zcbX^LLx@UXIxDBrY!@e6XHPr{z!+joD|(%soF(?u-D=24**;MWEqe?!k@BPTj5~V( zfc$~P_MVVU2p;6(P4JjIgYv^KorFg{f#siv6Pfd_$G%N$;>^76TsCxx|6y znmRRkyBlZJgL2cL-)EsmC&h?FIHO#vi-`o8JZqiW;rsqqywx;9+$s=mI>_CsD#~U#!5bW9 zM<{k@>y(aT+#%}ZC}=?hHB)>8++?qmJL%@=Dl!S5-s9%fqh=0)(9Meil_9R-P7jWe zj|CU)s|x48wC)G`b!9DeR_-5Fz-YC(9LLo2f`94d=&kL&?cWi6*B*Xy-p2^xq)H1s4xE)%h35Lo3u*}RNY}CuB`P~aXOq zH2}*IIP$k7>Gx}ZA~o7HVpxK>2=Lv|`S2%lz1P_!l(b?tNNDDte9Tvt+X6)4LiBNk zWvRT>=S0KX&6m?4SRSsAKb6f4=e11JHX`4a#UEV-%eP%dK-%TFE4;2<|BlgSMUt)( zn@8O$p*$?B|IDk0Mp2o4f0SqL1=j=03cDP=C1shBcINIAYf9 zWVV{Tx|nC75C$@r-|PtB(EipP&CTGc#oI4VOOa9lYTi*Csx6#I;dCeI9JO@vQUJc8 zRs18YZ68-zCb*-IQsy;&LwMgT$6r}E5?t2=!CAAj2BI|T0{mGd_yv6V)c!O+v zpJpcRK1~j3k2%&-OE&rq-SO^@*lp*-EOFa@8lkKnFB$%>Ae;3%xhQClg5@HvxGS|rZB z>9dQR4lbHnoQMezh7Cl8!>8k4VS%}V z0t+zz7KG(|>xie45#I?;uMpgV(XcF7B9m1}lyI6{_-l8F>-;ol%eNNY#2)5M&vEOr z%(VMF@bpx(8$!y0{ga#Ce)#Gu8n7k*S&_7_6-fNlfzJumO?M)iGun(*;&0W7RFZ}! zP{k<0jtq-414x{dqexP?{(X!q7Lq+=W{S{)pUv_hxOR;7w1M4<>m4=s+X67!zM5?w z;w;6A=)N)lqo~r`T6HXx#0Jc0xYZ{+j58q8v%17OCmSv&>U8)d434Tz~A&wGSrn}S18?x1HXHxi+ z1se5WRYO5wkPyHP&QERm%r*BT8E`Z_G@QwHTw9{b_yQ-?Md`AS@pdkDl*MZGS{Mz? z6vhFgQ@J(r=)IyX9R1|)P7-1wpG%VKYyr2;GG9aQ<3UE7PT~6j_?ampNxX-px`@g*FzDaCY zK=;lZPJL~p?U?Nh-?lDm&(`j>c^b>gyNTkHDviif7vU+dkKmOveP|f9@6z*utL{NDD-pwR)=Q1 z3ugh{O0?~p7|}_c_Q}aV;QEaI#Fgn$0iU<)puIQh}?Z!kmOuP9PT5`e?Q(8 zzsIu8?0Mp72M*x3fDPm(tHYdLa;Ct&JlE;Wdu&)Auue2QTlhe{8ucX!Rz4eL2lFtw`9t-ve z-M6jgW>!!1+Jl5D5eb~Bl}M$1nPIvw+D1r|*$VHUTr(^D27*y*6_JJ>Q#>s7SN`gX z42QyhB?u3`I|4iM?^ha9o9rdLb0XWpq$vK_^IAj2#s40&=s2*`liSF|i7fm&U=?|L z9-M%P*YwfoJSX8`u;0kV7S9GsY%VQhD79j zwJq&Lcd97dmRBSgE|%3$0_c~aH5&@i_@!~Z>zYRWBPTXWP=xL@=0a#+s;<*s$8A&U zfTTe9UiV0&bK#WvF@P)7cZ@GF498tmJkp<4bvCO=4k@ojT>lM#Op0Cy2ID>>CPW){ z;dL`fzP7n;b7Ly)YQxue9{L-;qngQWi3ZM7?(%0Q9({Fc-CQ)?Bsaxm^BrD}~!DSIFkYWj-hkSH3lh_cfX64Tz z_VGC^Z>ta&Y0S9UnWVvML1;%fm)B@9(yI-yW~`_pxTeKv`mUP7ug*5HQ7mr#3YYt_ zVVpGI_!{HRxx~IJI|b8@+tUNMaN`kM!pGaXIPBA-Q;qA!Ya1Hs zfAnN_?QyHXTp?UOb z?%&^twSMslyrsCI)JDessAAKcg2F?1->ML6uRAmP;aB+A%O6NF*8j6^`{x~V4Te0V zLD;9+Z$FuwsqGu8Rd7C~3-RVyOx6cHVpE^b*L!y|j$wzUlX|h8hknw)u6qw&Udai@ z_S+Y`*%hvIY#o4cKI&zVGZn9_Qo6A#fj7kd!asJzXq!1!zAH9kN-%&XDix#A4EiXo z(*KoA5;!7rD`;9nX zu8i&uD&LYQ_JP$iT-HsilbzQVtZ!6zIJKoMpCkQSIuKJ{GiSl&n#^GH=H}k!*`tZs zZbXOhl}?+5u0#~WxR4-=jV(@}5IV~WWhZ!rr>GD3N&Om=n`oI`g{#-!#0^ znPJEcYDO|SSd+r4-(EplbP#cX%=@Z-aC?47l4Bl(Z;xd!^@*ucJE=<~N>?DM0ybBu zeA>h##W)MfoiNM@$;2x42YL?1emQwqgLYCPk-J=W`X2;tlbk66V&}E z8XY^KNx{Z!(BCUW(Pc40#+_>kO+sYCOX5>pjxFE38$KR$rvSb3%_sN31c_;J8@$8P z*pa};aQciLXZTvz7&2%l#Q{TKI})L~D?<=Ym%hj>7ck%L%o~Dg+C5-5&QY4W`GQIV zZ1MC^qNLryoXpr}f#~Ao94&lZT=oG<7$a=mg%BR9r}UYvMZ6u)py@-=(|OhymuxFd z>c|w@)sZvEDugph&8;J{dP~qF?vieG^FR0cs(qM`Py=DS+O#a?bTPdH-;GDePRDNG zn5(2K?F2yp9+?h>Q%p3s+I;on*jyh1U(f2_L$(J3jvN2w0K1RHz2%uBE1ihfY7c_d-|CtbSY_u4QdNn! z)zUzIOx3|#G^*H1vgQCIkeB&8{zd0XOT}p

D^iIJTxcoa*Zt8i`wy+6g8m=NqbF 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 diff --git a/input/cpsat-bench/Statistics/plots/06_heatmap_vars_constraints.png b/input/cpsat-bench/Statistics/plots/06_heatmap_vars_constraints.png index bfd11ba16ad1e57f293b2a0aa2f7b108d6222562..1f7f87a4bafd3bc8eedad7ab48983f4ed3c4af60 100644 GIT binary patch literal 27330 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 literal 29040 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 h@#&LhHrjEVpN diff --git a/input/cpsat-bench/Statistics/plots/07_residual_scatter.png b/input/cpsat-bench/Statistics/plots/07_residual_scatter.png index d135703337607b790930086984bbdd0efb8288b0..f3e060af79b51026d0f62afd443d38fe9b44ae0d 100644 GIT binary patch literal 63807 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

C7%V>z@RWy}qJ-r6X+#8&j887@ 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 z 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 YGg?=lw~T!=@gvBcp00i_>zopr0E5dK#Q*>R diff --git a/input/cpsat-bench/Statistics/plots/08_outlier_constraint_kinds.png b/input/cpsat-bench/Statistics/plots/08_outlier_constraint_kinds.png index 438107b825133647b85b46a543203f80612c8101..8ce8e9d84a32afaeeb802137e29761ad4a06e725 100644 GIT binary patch literal 32616 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 e^}O3?NI=P0s(E8p%&aNt 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 i^t%6dRj=5^b;01.cpsat". + with_obj.append(p.name[:-len(".cpsat.pb")]) + cache_path.write_text(json.dumps( + {"pb_count": pb_count, "with_objective": with_obj}, indent=2) + "\n") + print(f"objective scan: {len(with_obj)}/{pb_count} problems have objective" + f" (cached at {cache_path.relative_to(_BENCH.parent)})") + return set(with_obj) + + def _runtime_key(d): return (d.get("cpsat_status") or {}).get("elapsed_ms", 0) @@ -380,11 +425,37 @@ def _write_sample(path, picks, label, criteria): def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + ap.add_argument( + "--optimize-only", + action="store_true", + help="Filter the sample pool to problems whose CpModelProto carries " + "an objective (drops pure-feasibility models). Default off — " + "keep all problems.", + ) + args = ap.parse_args() + rows = _scan_raw() if not rows: raise SystemExit(f"no *.meta.jsonl found under {_RAW}") print(f"scanned {len(rows)} problems") + if args.optimize_only: + obj_shas = _has_objective_set() + if obj_shas is None: + print("warning: --optimize-only requested but ortools unavailable " + "— keeping all problems", file=sys.stderr) + else: + before = len(rows) + rows = [d for d in rows if _id_key(d) in obj_shas] + print(f"objective filter: kept {len(rows)}/{before} problems " + f"(dropped feasibility-only)") + if not rows: + raise SystemExit("no problems with objective — nothing to sample") + else: + print("objective filter: OFF (use --optimize-only to drop " + "feasibility-only problems)") + with open(_PROBLEMS, "w") as f: for d in rows: f.write(json.dumps(d) + "\n") @@ -471,12 +542,21 @@ def _bucket_range(b): f"{int(_runtime_key(d)):>7}ms") # ---- large profile sample (OPENEVOLVE_PROFILE=large) ---- - # Single sample file with STAGE1_LARGE_N top-residual outliers (default 1). - # evaluator dispatches every cascade stage entry point to one outlier-set - # evaluation, so no stage2/3/4 split is needed. + # Single sample file with STAGE1_LARGE_N outliers, sorted by + # STAGE1_LARGE_SORT_BY ("elapsed_ms" → slowest baseline first; "residual" + # → highest log10 deviation first). evaluator dispatches every cascade + # stage entry point to one outlier-set evaluation, so no stage2/3/4 split. if csv_all: eligible = [c for c in csv_all if c["sha"] in rows_by_sha] - # csv_all already sorted by descending residual in _load_outliers_top. + if STAGE1_LARGE_SORT_BY == "elapsed_ms": + eligible.sort(key=lambda c: -c["elapsed_ms"]) + elif STAGE1_LARGE_SORT_BY == "residual": + eligible.sort(key=lambda c: -c["residual"]) + else: + raise ValueError( + f"unknown STAGE1_LARGE_SORT_BY: {STAGE1_LARGE_SORT_BY!r} " + f"(expected 'elapsed_ms' or 'residual')" + ) large_picks = eligible[:STAGE1_LARGE_N] large_rows = [rows_by_sha[c["sha"]] for c in large_picks] else: @@ -484,8 +564,8 @@ def _bucket_range(b): large_rows = [] _write_sample( _STAGE1_LARGE, large_rows, "stage1_large", - f"top-{STAGE1_LARGE_N} residual outlier(s) from outliers_top.csv " - f"(W=8 tuning set)", + f"top-{STAGE1_LARGE_N} outlier(s) from outliers_top.csv " + f"sorted by {STAGE1_LARGE_SORT_BY} (W=8 tuning set)", ) # Clean up stale empty stage{2,3,4}_large files from older builds — they diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index 3d61bb5291..f1bd22660a 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -15,7 +15,14 @@ bench: iters: 40 - dir: phase4_unified iters: 40 + - dir: phase5_custom_subsolvers + iters: 40 unified_prepare_script: prepare_phase_unified.py + # The unified-prepare script materializes phase4_unified from phase{1,2,3} + # winners. phase4 is no longer the last phase (phase5 is), so the prep must + # fire before phase4 specifically, not "before the last phase". When unset, + # run_phase.sh falls back to the legacy "before last phase" trigger. + unified_prepare_before_dir: phase4_unified solver_check_cmd: 'python -c "from ortools.sat.python import cp_model"' solver_install_hint: "install: pip install ortools" # optional script-name overrides (defaults shown): @@ -36,7 +43,7 @@ parallel_solvers: 8 max_iterations: 40 checkpoint_interval: 10 -log_level: "INFO" +log_level: "DEBUG" random_seed: 42 diff_based_evolution: true @@ -374,8 +381,14 @@ database: similarity_threshold: 0.95 evaluator: - timeout: 1800 # 30 min wall cap per variant — stage4 worst case - # ≈ 20 problems × 120s × 1.3 / parallel_solvers. + timeout: 8000 # 133 min wall cap per variant. Covers: + # - small profile stage4 worst (≈ 20 problems + # × 120s × 1.3 / parallel_solvers ≈ 3120s) + # - large profile single outlier worst + # (top residual baseline ≈ 5707s, + # variant timeout = baseline × 1.3 ≈ 7420s) + # Drop to 1800 if you only run small profile to + # tighten cascade scheduling. cascade_evaluation: true # stage1 → stage2 → stage3 (chains to stage4 inside) cascade_thresholds: [1.03, 1.03, 1.03] # threshold[0] = stage1 combined_score gate → stage2 (≥3% gain) diff --git a/input/cpsat-bench/evolve/extract_best.py b/input/cpsat-bench/evolve/extract_best.py index a7ad7446b1..033b8c9056 100644 --- a/input/cpsat-bench/evolve/extract_best.py +++ b/input/cpsat-bench/evolve/extract_best.py @@ -17,6 +17,10 @@ 1: "phase1_search", 2: "phase2_presolve", 3: "phase3_lp_cuts", + # phase4 is no longer terminal (phase5 follows it), so it gets extracted to + # phase4_best.json / phase4_buckets.json / phase4_stage3.json for phase5 to + # inherit. phase5 (custom subsolvers) is the terminal phase — no extract. + 4: "phase4_unified", } if __name__ == "__main__": diff --git a/input/cpsat-bench/evolve/phase4_unified/initial_program.py b/input/cpsat-bench/evolve/phase4_unified/initial_program.py index 34bfd99c65..17708d4ae1 100644 --- a/input/cpsat-bench/evolve/phase4_unified/initial_program.py +++ b/input/cpsat-bench/evolve/phase4_unified/initial_program.py @@ -35,13 +35,66 @@ # EVOLVE-BLOCK-START -GLOBAL_OVERRIDES = {} +# Auto-generated by prepare_phase_unified.py from union of prior phase winners. +GLOBAL_OVERRIDES = {'clause_cleanup_period': 20000, + 'cp_model_probing_level': 2, + 'cut_cleanup_target': 2000, + 'cut_level': 1, + 'diversify_lns_params': True, + 'interleave_search': True, + 'max_consecutive_inactive_count': 150, + 'max_num_cuts': 6000, + 'mip_check_precision': 1e-06, + 'mip_drop_tolerance': 1e-07, + 'mip_max_bound': 10000000.0, + 'mip_var_scaling': 1, + 'probing_num_combinations_limit': 40000, + 'root_lp_iterations': 3500, + 'share_glue_clauses': True, + 'share_glue_clauses_dtime': 0.4, + 'solution_pool_size': 8, + 'stop_after_first_solution': False, + 'symmetry_level': 3, + 'use_feasibility_jump': False, + 'use_feasibility_pump': False, + 'use_lns_only': False} SIZE_BUCKETS = [ - (50_000, {}), - (150_000, {}), - (float("inf"), {}), + (50000, {'add_mir_cuts': True, + 'add_zero_half_cuts': True, + 'cp_model_probing_level': 3, + 'cut_level': 2, + 'linearization_level': 2, + 'max_num_cuts': 8000, + 'merge_at_most_one_work_limit': 500000000.0, + 'presolve_inclusion_work_limit': 300000000, + 'use_feasibility_jump': False, + 'use_feasibility_pump': True}), + (150000, {'cp_model_probing_level': 2, 'cut_level': 1, 'use_feasibility_jump': False}), + (float('inf'), {'add_mir_cuts': True, + 'add_zero_half_cuts': True, + 'cp_model_probing_level': 1, + 'cut_level': 2, + 'linearization_level': 2, + 'max_num_cuts': 8000, + 'root_lp_iterations': 5000, + 'use_feasibility_jump': True, + 'use_feasibility_pump': True}), ] -STAGE3_OVERRIDES = {} +STAGE3_OVERRIDES = {'add_mir_cuts': True, + 'add_zero_half_cuts': True, + 'cp_model_probing_level': 3, + 'cut_level': 2, + 'extra_subsolvers': ['lb_tree_search'], + 'hint_conflict_limit': 50, + 'inprocessing_dtime_ratio': 0.25, + 'linearization_level': 2, + 'max_num_cuts': 10000, + 'num_violation_ls': 3, + 'optimize_with_lb_tree_search': True, + 'presolve_bve_threshold': 1000, + 'repair_hint': True, + 'root_lp_iterations': 6000, + 'symmetry_level': 2} # EVOLVE-BLOCK-END diff --git a/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py b/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py new file mode 100644 index 0000000000..2d7358d03f --- /dev/null +++ b/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py @@ -0,0 +1,212 @@ +""" +Phase 5: add CUSTOM SUBSOLVERS to the CP-SAT portfolio. + +Reference: shared/cpsat_params_reference.md + (any SatParameters field may be set INSIDE a custom subsolver's `params`; + invalid names surface as `invalid_param: subsolver_params.` and + zero the score.) + +WHY a dedicated phase for this +------------------------------ +CP-SAT solves a model with a PORTFOLIO of subsolvers, each with a slightly +different configuration (e.g. different linearization_level). You may add your +OWN subsolver with a specific configuration via `subsolver_params` (a named +SatParameters set) referenced from `extra_subsolvers`. + +CRITICAL — do NOT tune top-level parameters here. Top-level params apply to +EVERY subsolver, including the LNS workers. A very expensive propagation +technique enabled top-level would also fire inside LNS workers and make LNS so +slow it becomes useless, unbalancing the whole portfolio. You can also create a +default subsolver incompatible with the model: e.g. an objective-requiring +config on an objective-less model makes CP-SAT drop most/all subsolvers from +the portfolio, leaving the solver inefficient or non-functional. + +The safe pattern is a SINGLE extra subsolver carrying the expensive technique: + - if the technique does NOT help → only that one worker is slow; the rest of + the portfolio is untouched. + - if it DOES help → that worker shares its solutions and variable bounds with + the others, lifting whole-portfolio performance. + +This is exactly the packing-problem case: a high-cost propagation can speed up +search dramatically when isolated to one worker, but would cripple search if +forced on everyone. + +Inheritance +----------- +Inherits the phase4 unified winner (shared/phase4_best.json + phase4_buckets + +phase4_stage3) as the top-level configuration and does NOT modify it. Phase 5 +ONLY appends custom subsolvers on top. num_search_workers is pinned to +PHASE5_WORKERS (8) so the added subsolvers actually get worker slots; portfolio +sharing requires interleave_search, which is locked True. + +Evolve surface (EVOLVE-BLOCK) +----------------------------- + CUSTOM_SUBSOLVERS — applied to every problem + STAGE3_CUSTOM_SUBSOLVERS — added ONLY for stage3 outliers (long-tail / hard) + +Each entry is a dict: + { + "name": "unique_subsolver_name", # required, unique string + "params": { ...SatParameters fields }, # the isolated configuration + "needs_objective": False, # optional; if True, skipped on + # objective-less models (avoids + # CP-SAT dropping the portfolio) + "min_constraints": 0, # optional inclusive lower gate + "max_constraints": None, # optional exclusive upper gate + } +Only put the expensive/experimental knob(s) in `params`. Keep it to one +technique per subsolver so its effect is attributable. + +Do NOT modify locked keys (random_seed, num_search_workers, interleave_search). +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +PHASE5_WORKERS = 8 + +PHASE_LOCKED = { + "random_seed": 0, + "num_search_workers": PHASE5_WORKERS, + # Portfolio determinism + the cross-worker sharing that makes an isolated + # custom subsolver pay off (it broadcasts solutions / variable bounds). + "interleave_search": True, +} + + +def _load_prev_dict(name): + p = _SHARED / name + if p.exists(): + return json.loads(p.read_text()) + return {} + + +def _load_prev_buckets(name): + p = _SHARED / name + if not p.exists(): + return None + raw = json.loads(p.read_text()) + return [(float("inf") if u is None else u, override) for u, override in raw] + + +def _load_objective_shas(): + """SHAs whose model carries an objective (build_samples cache). Used to skip + objective-requiring custom subsolvers on feasibility-only models.""" + p = _SHARED / "has_objective_cache.json" + if not p.exists(): + return None # unknown → treat every problem as having an objective + try: + data = json.loads(p.read_text()) + return set(data.get("with_objective") or []) + except (json.JSONDecodeError, OSError): + return None + + +# Inherit the consolidated phase4 unified winner as the top-level config. +_PHASE4 = _load_prev_dict("phase4_best.json") +_PHASE4_BUCKETS = _load_prev_buckets("phase4_buckets.json") +_PHASE4_STAGE3 = _load_prev_dict("phase4_stage3.json") +_OBJECTIVE_SHAS = _load_objective_shas() + + +# EVOLVE-BLOCK-START +# Custom subsolvers added to the portfolio. Start empty; the LLM introduces +# one isolated expensive technique at a time. See module docstring for schema. +# Example (commented — DO NOT enable blindly): +# { +# "name": "max_lp_heavy", +# "params": {"linearization_level": 2, "add_mir_cuts": True, +# "max_num_cuts": 12000, "cut_level": 2}, +# "min_constraints": 50000, +# }, +CUSTOM_SUBSOLVERS = [] + +# Added on top of CUSTOM_SUBSOLVERS only for stage3 outliers. +STAGE3_CUSTOM_SUBSOLVERS = [] +# EVOLVE-BLOCK-END + + +def _problem_has_objective(problem): + if problem is None: + return True + if _OBJECTIVE_SHAS is None: + return True + sha = problem.get("sha") + if sha is None: + # fall back to the recorded baseline objective when sha is absent + return problem.get("baseline_objective") is not None + return sha in _OBJECTIVE_SHAS + + +def _eligible(spec, problem): + if spec.get("needs_objective") and not _problem_has_objective(problem): + return False + nc = int(problem.get("num_constraints") or 0) if problem else 0 + lo = spec.get("min_constraints") + if lo is not None and nc < lo: + return False + hi = spec.get("max_constraints") + if hi is not None and nc >= hi: + return False + return True + + +def _bucket_override(num_constraints): + out = {} + for buckets in (_PHASE4_BUCKETS or [],): + for upper, override in buckets: + if num_constraints < upper: + out.update(override) + break + return out + + +def _collect_specs(problem, stage): + specs = [s for s in CUSTOM_SUBSOLVERS if _eligible(s, problem)] + if stage == "stage3" and problem is not None and problem.get("is_outlier"): + specs += [s for s in STAGE3_CUSTOM_SUBSOLVERS if _eligible(s, problem)] + return specs + + +def _apply_custom_subsolvers(p, specs): + """Append custom subsolvers to the portfolio WITHOUT touching top-level + params. Each spec → one entry in subsolver_params + one name in + extra_subsolvers (deduped against any inherited names).""" + if not specs: + return + sub_entries = [] + new_names = [] + for spec in specs: + name = spec["name"] + entry = {"name": name} + entry.update(spec.get("params") or {}) + sub_entries.append(entry) + new_names.append(name) + + p["subsolver_params"] = sub_entries + + existing = list(p.get("extra_subsolvers") or []) + for name in new_names: + if name not in existing: + existing.append(name) + p["extra_subsolvers"] = existing + + +def get_params(problem=None, stage=None): + p = dict(BASELINE) + p.update(_PHASE4) # inherited top-level config — left untouched below + if problem is not None: + p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(_PHASE4_STAGE3) + + _apply_custom_subsolvers(p, _collect_specs(problem, stage)) + + p.update(PHASE_LOCKED) # re-enforce phase lock last + return p diff --git a/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py b/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py index 3c33eacda2..c651fbb693 100644 --- a/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py +++ b/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py @@ -60,19 +60,25 @@ def main(): try: from ortools.sat.python import cp_model + from ortools.sat import sat_parameters_pb2 except ImportError as e: emit({"result": "Unknown", "elapsed_ms": 0, - "error": f"ortools.sat.python.cp_model import: {e}"}) + "error": f"ortools.sat import: {e}"}) return solver = cp_model.CpSolver() + # Build params on a standalone SatParameters protobuf (full protobuf API: + # scalars, repeated scalars, AND nested repeated messages like + # subsolver_params), then assign it wholesale. The pybind-wrapped + # solver.parameters in recent ortools (9.15+) cannot mutate nested message + # elements in place, but assigning a complete proto to it works on both the + # wrapped and the classic protobuf bindings. + params_proto = sat_parameters_pb2.SatParameters() + # Hard wall-clock cap on the solver side too. Parent subprocess.run adds # an outer +15s grace. - try: - solver.parameters.max_time_in_seconds = float(timeout_s) - except Exception: - pass + params_proto.max_time_in_seconds = float(timeout_s) # Filter out keys that aren't real CpSolverParameters proto fields. # `timeout_sec` and `tuned` appear in raw-data applied_params but are @@ -86,11 +92,56 @@ def main(): if k in _DROP: continue try: - field = getattr(solver.parameters, k) + field = getattr(params_proto, k) except AttributeError as e: emit({"invalid_param": k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) return + # subsolver_params is a repeated MESSAGE field (repeated SatParameters): + # each entry defines a NAMED parameter set for a single custom subsolver, + # referenced from extra_subsolvers by `name`. The generic list branch + # below can't handle this (extend() rejects dicts), so build the nested + # messages explicitly. Each entry: {"name": str, ...}. + if k == "subsolver_params": + if not isinstance(v, list): + emit({"invalid_param": k, + "error": "subsolver_params must be a list of dicts", + "result": "Unknown", "elapsed_ms": 0}) + return + del field[:] + for entry in v: + if not isinstance(entry, dict): + emit({"invalid_param": k, + "error": f"subsolver_params entry not a dict: {entry!r}", + "result": "Unknown", "elapsed_ms": 0}) + return + sub = field.add() + for sk, sv in entry.items(): + try: + subfield = getattr(sub, sk) + except AttributeError as e: + emit({"invalid_param": f"subsolver_params.{sk}", + "error": str(e), + "result": "Unknown", "elapsed_ms": 0}) + return + if isinstance(sv, list): + try: + del subfield[:] + subfield.extend(sv) + except (AttributeError, TypeError) as e: + emit({"invalid_param": f"subsolver_params.{sk}", + "error": f"list assign: {type(e).__name__}: {e}", + "result": "Unknown", "elapsed_ms": 0}) + return + else: + try: + setattr(sub, sk, sv) + except (AttributeError, TypeError, ValueError) as e: + emit({"invalid_param": f"subsolver_params.{sk}", + "error": f"{type(e).__name__}: {e}", + "result": "Unknown", "elapsed_ms": 0}) + return + continue if isinstance(v, list): try: del field[:] @@ -102,7 +153,7 @@ def main(): return else: try: - setattr(solver.parameters, k, v) + setattr(params_proto, k, v) except AttributeError as e: emit({"invalid_param": k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) @@ -113,6 +164,9 @@ def main(): "result": "Unknown", "elapsed_ms": 0}) return + # Hand the fully-built proto to the solver (replaces its internal params). + solver.parameters = params_proto + try: model = load_problem(problem_path) except Exception as e: diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 99fd5c815c..9abc934899 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -27,12 +27,15 @@ import importlib.util import inspect import json +import logging import math import os import pathlib import sys import traceback +logger = logging.getLogger(__name__) + TIMEOUT_FACTOR = 1.3 MIN_TIMEOUT_S = 5 @@ -266,6 +269,24 @@ def _evaluate(program_path, problems, stage_name): # Per-phase lock (worker count varies by phase) overrides the global lock. phase_locked = getattr(program, "PHASE_LOCKED", None) locked = phase_locked if isinstance(phase_locked, dict) else LOCKED + + # DEBUG: surface the resolved global params delta vs BASELINE so the run + # log shows exactly which knobs the LLM mutated this iteration. + if logger.isEnabledFor(logging.DEBUG): + global_delta = { + k: params[k] for k in params + if k not in locked and params.get(k) != BASELINE.get(k) + } + logger.debug( + f"[{stage_name}] resolved_global_delta_vs_baseline={global_delta} " + f"program={pathlib.Path(program_path).name} " + f"phase_locked={dict(locked) if isinstance(locked, dict) else locked}" + ) + for attr in ("GLOBAL_OVERRIDES", "SIZE_BUCKETS", "STAGE3_OVERRIDES"): + val = getattr(program, attr, None) + if val: + logger.debug(f"[{stage_name}] {attr}={val}") + violations = {k: params.get(k) for k in locked if params.get(k) != locked[k]} if violations: return _err_result( @@ -355,6 +376,16 @@ def _solve(idx_p): per_params[k] = v if "num_search_workers" in params: per_params["num_search_workers"] = params["num_search_workers"] + if logger.isEnabledFor(logging.DEBUG): + per_delta = {k: per_params[k] for k in per_params + if per_params.get(k) != params.get(k)} + if per_delta: + logger.debug( + f"[{stage_name}] sha={p['sha'][:10]} " + f"num_constraints={p['num_constraints']} " + f"is_outlier={p['is_outlier']} " + f"per_problem_delta_vs_global={per_delta}" + ) core = _core_pool.get() try: r = run_cpsat(input_path, per_params, timeout_s, diff --git a/input/cpsat-bench/evolve/shared/local_baseline.json b/input/cpsat-bench/evolve/shared/local_baseline.json deleted file mode 100644 index dde1b3bfc8..0000000000 --- a/input/cpsat-bench/evolve/shared/local_baseline.json +++ /dev/null @@ -1,492 +0,0 @@ -{ - "AOI21_D1_N_S6P25TL_C54L04_zero_20260520_163827_612893_R1": { - "elapsed_ms": 1072, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1047.19, - "stats": { - "num_branches": 10791, - "num_conflicts": 447, - "num_booleans": 1618, - "wall_time": 1.065574333, - "user_time": 1.065574375 - }, - "objective": 0.0 - }, - "NOR3_D1_N_S6P25TL_C54L04_zero_20260520_164034_061098_R1": { - "elapsed_ms": 1341, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1103.7, - "stats": { - "num_branches": 17970, - "num_conflicts": 1329, - "num_booleans": 2625, - "wall_time": 1.3358166260000002, - "user_time": 1.3358166260000002 - }, - "objective": 0.0 - }, - "INV_D3_N_S6P25TL_C54L04_zero_20260520_163923_625251_R1": { - "elapsed_ms": 1614, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1125.51, - "stats": { - "num_branches": 14791, - "num_conflicts": 989, - "num_booleans": 2184, - "wall_time": 1.6097532090000002, - "user_time": 1.60975325 - }, - "objective": 0.0 - }, - "TIEHI_D1_N_S6P25TL_C54L04_zero_20260520_164135_663628_R1": { - "elapsed_ms": 872, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1153.89, - "stats": { - "num_branches": 6482, - "num_conflicts": 288, - "num_booleans": 1354, - "wall_time": 0.8673360840000001, - "user_time": 0.867336125 - }, - "objective": 0.0 - }, - "OR2_D1_N_S6P25TL_C54L04_zero_20260520_164121_410255_R1": { - "elapsed_ms": 1111, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1342.79, - "stats": { - "num_branches": 12026, - "num_conflicts": 392, - "num_booleans": 1730, - "wall_time": 1.106266542, - "user_time": 1.106266542 - }, - "objective": 0.0 - }, - "MXT2_D1_N_S6P25TL_C54L04_zero_20260520_163952_206184_R1": { - "elapsed_ms": 7113, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4719.61, - "stats": { - "num_branches": 48084, - "num_conflicts": 1221, - "num_booleans": 5337, - "wall_time": 7.102189836000001, - "user_time": 7.102189836000001 - }, - "objective": 0.0 - }, - "XNOR2_D1_N_S6P25TL_C54L04_zero_20260520_164140_975904_R1": { - "elapsed_ms": 3662, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4765.93, - "stats": { - "num_branches": 23635, - "num_conflicts": 717, - "num_booleans": 3194, - "wall_time": 3.6539747940000002, - "user_time": 3.653974835 - }, - "objective": 0.0 - }, - "CGEN_D1_N_S6P25TL_C54L04_zero_20260520_163856_209804_R1": { - "elapsed_ms": 7127, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4897.89, - "stats": { - "num_branches": 45904, - "num_conflicts": 1666, - "num_booleans": 4986, - "wall_time": 7.116736878, - "user_time": 7.116736878 - }, - "objective": 0.0 - }, - "INV_D4_N_S6P25TL_C54L04_zero_20260520_163928_294129_R1": { - "elapsed_ms": 2947, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4972.85, - "stats": { - "num_branches": 17039, - "num_conflicts": 397, - "num_booleans": 2561, - "wall_time": 2.940979335, - "user_time": 2.940979377 - }, - "objective": 0.0 - }, - "NOR3_D2_N_S6P25TL_C54L04_zero_20260520_164034_242597_R1": { - "elapsed_ms": 9515, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 5069.53, - "stats": { - "num_branches": 56637, - "num_conflicts": 2842, - "num_booleans": 6375, - "wall_time": 9.500261907, - "user_time": 9.500261907 - }, - "objective": 0.0 - }, - "OR4_D1_N_S6P25TL_C54L04_zero_20260520_164124_043753_R1": { - "elapsed_ms": 6787, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 7393.14, - "stats": { - "num_branches": 83813, - "num_conflicts": 3870, - "num_booleans": 6211, - "wall_time": 6.778239711, - "user_time": 6.778239711 - }, - "objective": 0.0 - }, - "OA211_D1_N_S6P25TL_C54L04_zero_20260520_164042_659347_R1": { - "elapsed_ms": 8828, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 8222.12, - "stats": { - "num_branches": 87329, - "num_conflicts": 3230, - "num_booleans": 6275, - "wall_time": 8.817366837, - "user_time": 8.817366837 - }, - "objective": 0.0 - }, - "INV_D8_N_S6P25TL_C54L04_zero_20260520_163936_594574_R1": { - "elapsed_ms": 10468, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 8372.64, - "stats": { - "num_branches": 75020, - "num_conflicts": 2645, - "num_booleans": 6928, - "wall_time": 10.456212282000001, - "user_time": 10.456212324000001 - }, - "objective": 0.0 - }, - "NAND4_D2_N_S6P25TL_C54L04_zero_20260520_164014_854479_R1": { - "elapsed_ms": 26138, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 10023.2, - "stats": { - "num_branches": 128080, - "num_conflicts": 7475, - "num_booleans": 9069, - "wall_time": 26.123756304, - "user_time": 26.123756304 - }, - "objective": 0.0 - }, - "NOR2_D4_N_S6P25TL_C54L04_zero_20260520_164024_672787_R1": { - "elapsed_ms": 10718, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 10211.5, - "stats": { - "num_branches": 70360, - "num_conflicts": 1491, - "num_booleans": 6690, - "wall_time": 10.7058982, - "user_time": 10.705898283 - }, - "objective": 0.0 - }, - "INV_D1_N_S6P25TL_C54L04_zero_20260520_163919_179783_R1": { - "elapsed_ms": 103, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 103.31, - "stats": { - "num_branches": 5144, - "num_conflicts": 561, - "num_booleans": 742, - "wall_time": 0.10098591700000001, - "user_time": 0.10098591700000001 - }, - "objective": 0.0 - }, - "NAND2_D1_N_S6P25TL_C54L04_zero_20260520_163957_507242_R1": { - "elapsed_ms": 353, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 376.457, - "stats": { - "num_branches": 3767, - "num_conflicts": 132, - "num_booleans": 715, - "wall_time": 0.34886795800000003, - "user_time": 0.34886795800000003 - }, - "objective": 0.0 - }, - "BUF_D2_N_S6P25TL_C54L04_zero_20260520_163847_408601_R1": { - "elapsed_ms": 957, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 817.837, - "stats": { - "num_branches": 11847, - "num_conflicts": 255, - "num_booleans": 1767, - "wall_time": 0.9515240420000001, - "user_time": 0.9515240840000001 - }, - "objective": 0.0 - }, - "NOR2B_D1_N_S6P25TL_C54L04_zero_20260520_164029_253333_R1": { - "elapsed_ms": 1100, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1008.91, - "stats": { - "num_branches": 11160, - "num_conflicts": 414, - "num_booleans": 1750, - "wall_time": 1.0949750420000002, - "user_time": 1.0949750420000002 - }, - "objective": 0.0 - }, - "NAND3_D1_N_S6P25TL_C54L04_zero_20260520_164009_010093_R1": { - "elapsed_ms": 1972, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1458.91, - "stats": { - "num_branches": 13977, - "num_conflicts": 403, - "num_booleans": 1949, - "wall_time": 1.9672415840000002, - "user_time": 1.967241626 - }, - "objective": 0.0 - }, - "OAI31_D1_N_S6P25TL_C54L04_zero_20260520_164117_752872_R1": { - "elapsed_ms": 2855, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 1902.45, - "stats": { - "num_branches": 18240, - "num_conflicts": 655, - "num_booleans": 2652, - "wall_time": 2.8474265020000002, - "user_time": 2.8474265020000002 - }, - "objective": 0.0 - }, - "DLY2_D1_N_S6P25TL_C54L04_zero_20260520_163904_935831_R1": { - "elapsed_ms": 1841, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 2348.92, - "stats": { - "num_branches": 17028, - "num_conflicts": 365, - "num_booleans": 2544, - "wall_time": 1.8343292510000002, - "user_time": 1.834329292 - }, - "objective": 0.0 - }, - "AO1B2_D1_N_S6P25TL_C54L04_zero_20260520_163759_384345_R1": { - "elapsed_ms": 2583, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 2891.81, - "stats": { - "num_branches": 17341, - "num_conflicts": 657, - "num_booleans": 2638, - "wall_time": 2.575738002, - "user_time": 2.575738002 - }, - "objective": 0.0 - }, - "BUF_D4_N_S6P25TL_C54L04_zero_20260520_163852_376889_R1": { - "elapsed_ms": 4547, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 3073.82, - "stats": { - "num_branches": 42217, - "num_conflicts": 2150, - "num_booleans": 4626, - "wall_time": 4.538822086000001, - "user_time": 4.538822127 - }, - "objective": 0.0 - }, - "OAI22_D1_N_S6P25TL_C54L04_zero_20260520_164102_790747_R1": { - "elapsed_ms": 3630, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 3635.02, - "stats": { - "num_branches": 20382, - "num_conflicts": 1253, - "num_booleans": 2950, - "wall_time": 3.6222196540000002, - "user_time": 3.6222196540000002 - }, - "objective": 0.0 - }, - "MXIT2_D1_N_S6P25TL_C54L04_zero_20260520_163949_280871_R1": { - "elapsed_ms": 5091, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4203.63, - "stats": { - "num_branches": 37075, - "num_conflicts": 1365, - "num_booleans": 4648, - "wall_time": 5.082086835, - "user_time": 5.082086835 - }, - "objective": 0.0 - }, - "AND4_D1_N_S6P25TL_C54L04_zero_20260520_163751_228875_R1": { - "elapsed_ms": 6562, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4643.64, - "stats": { - "num_branches": 39496, - "num_conflicts": 1877, - "num_booleans": 4490, - "wall_time": 6.553675795, - "user_time": 6.553675795 - }, - "objective": 0.0 - }, - "DLY2_D2_N_S6P25TL_C54L04_zero_20260520_163908_758705_R1": { - "elapsed_ms": 5718, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 4657.45, - "stats": { - "num_branches": 35242, - "num_conflicts": 777, - "num_booleans": 4840, - "wall_time": 5.709117211000001, - "user_time": 5.709117252 - }, - "objective": 0.0 - }, - "CGENI_D1_N_S6P25TL_C54L04_zero_20260520_163859_865447_R1": { - "elapsed_ms": 5576, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 5277.72, - "stats": { - "num_branches": 44806, - "num_conflicts": 2553, - "num_booleans": 4674, - "wall_time": 5.567317711, - "user_time": 5.567317711 - }, - "objective": 0.0 - }, - "AOI211_D2_N_S6P25TL_C54L04_zero_20260520_163827_509473_R1": { - "elapsed_ms": 10539, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 5800.42, - "stats": { - "num_branches": 61461, - "num_conflicts": 2094, - "num_booleans": 6808, - "wall_time": 10.524750074, - "user_time": 10.524750115 - }, - "objective": 0.0 - }, - "INV_D6_N_S6P25TL_C54L04_zero_20260520_163928_964950_R1": { - "elapsed_ms": 9075, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 6436.83, - "stats": { - "num_branches": 51046, - "num_conflicts": 1921, - "num_booleans": 5520, - "wall_time": 9.065662087, - "user_time": 9.065662171000001 - }, - "objective": 0.0 - }, - "NAND2_D4_N_S6P25TL_C54L04_zero_20260520_164002_198066_R1": { - "elapsed_ms": 11099, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 6693.67, - "stats": { - "num_branches": 65343, - "num_conflicts": 1702, - "num_booleans": 6687, - "wall_time": 11.086316463000001, - "user_time": 11.086316505000001 - }, - "objective": 0.0 - }, - "AOI22_D2_N_S6P25TL_C54L04_zero_20260520_163837_002755_R1": { - "elapsed_ms": 21584, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 7052.16, - "stats": { - "num_branches": 81889, - "num_conflicts": 7183, - "num_booleans": 10383, - "wall_time": 21.569573246, - "user_time": 21.569573287 - }, - "objective": 0.0 - }, - "LATQ_D1_N_S6P25TL_C54L04_zero_20260520_163942_648177_R1": { - "elapsed_ms": 16461, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 10813.4, - "stats": { - "num_branches": 77638, - "num_conflicts": 2816, - "num_booleans": 7447, - "wall_time": 16.446321077, - "user_time": 16.446321119 - }, - "objective": 0.0 - }, - "BUF_D8_N_S6P25TL_C54L04_zero_20260520_163855_871191_R1": { - "elapsed_ms": 30739, - "result": "OPTIMAL", - "matches_raw": true, - "raw_elapsed_ms": 18820, - "stats": { - "num_branches": 109952, - "num_conflicts": 8326, - "num_booleans": 9787, - "wall_time": 30.722211251, - "user_time": 30.722211292 - }, - "objective": 0.0 - } -} diff --git a/input/cpsat-bench/evolve/shared/outliers.json b/input/cpsat-bench/evolve/shared/outliers.json deleted file mode 100644 index 951f103a03..0000000000 --- a/input/cpsat-bench/evolve/shared/outliers.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "stage3_sample": [ - "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", - "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", - "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", - "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", - "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e" - ], - "outliers": { - "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e": { - "residual": 1.2970725496824338, - "elapsed_ms": 5307350.0, - "n_vars": 20881, - "n_cons": 236975 - }, - "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06": { - "residual": 1.2433334003277663, - "elapsed_ms": 4689630.0, - "n_vars": 20881, - "n_cons": 236975 - }, - "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2": { - "residual": 1.2381431698374108, - "elapsed_ms": 5707370.0, - "n_vars": 20867, - "n_cons": 246453 - }, - "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c": { - "residual": 1.133091777448728, - "elapsed_ms": 4481100.0, - "n_vars": 20867, - "n_cons": 246453 - }, - "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e": { - "residual": 1.069007782061628, - "elapsed_ms": 3111920.0, - "n_vars": 20867, - "n_cons": 236494 - }, - "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23": { - "residual": 0.8756390854867613, - "elapsed_ms": 1873900.0, - "n_vars": 20844, - "n_cons": 233581 - }, - "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0": { - "residual": 0.7970804353527665, - "elapsed_ms": 1549180.0, - "n_vars": 20830, - "n_cons": 233076 - }, - "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746": { - "residual": 0.7969822465157113, - "elapsed_ms": 6436.58, - "n_vars": 1979, - "n_cons": 21981 - }, - "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151": { - "residual": 0.7818373624636896, - "elapsed_ms": 1496560.0, - "n_vars": 20830, - "n_cons": 233100 - }, - "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de": { - "residual": 0.773978648305965, - "elapsed_ms": 1482010.0, - "n_vars": 20844, - "n_cons": 233557 - }, - "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91": { - "residual": 0.7622553039424815, - "elapsed_ms": 1443320.0, - "n_vars": 20844, - "n_cons": 233581 - }, - "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955": { - "residual": 0.7430443637073942, - "elapsed_ms": 1380120.0, - "n_vars": 20844, - "n_cons": 233557 - }, - "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0": { - "residual": 0.7188228191471246, - "elapsed_ms": 856786.0, - "n_vars": 17076, - "n_cons": 192805 - }, - "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf": { - "residual": 0.6452098909063135, - "elapsed_ms": 686113.0, - "n_vars": 17058, - "n_cons": 190773 - }, - "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4": { - "residual": 0.6308698262064754, - "elapsed_ms": 837165.0, - "n_vars": 17070, - "n_cons": 199450 - }, - "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd": { - "residual": 0.6033156870934357, - "elapsed_ms": 1312210.0, - "n_vars": 20853, - "n_cons": 245972 - }, - "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a": { - "residual": 0.5798136104655174, - "elapsed_ms": 3530.81, - "n_vars": 1850, - "n_cons": 20766 - }, - "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d": { - "residual": 0.5104993662822994, - "elapsed_ms": 3748.33, - "n_vars": 1850, - "n_cons": 21650 - }, - "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda": { - "residual": 0.45256432545942227, - "elapsed_ms": 2894.64, - "n_vars": 1739, - "n_cons": 20421 - }, - "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce": { - "residual": 0.44623053094988485, - "elapsed_ms": 3311.66, - "n_vars": 1863, - "n_cons": 21835 - }, - "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0": { - "residual": 0.4435643369239455, - "elapsed_ms": 3024.07, - "n_vars": 1674, - "n_cons": 20236 - }, - "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6": { - "residual": 0.43988588482448865, - "elapsed_ms": 3052.7, - "n_vars": 1766, - "n_cons": 20923 - }, - "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728": { - "residual": 0.43851503778542833, - "elapsed_ms": 4920.17, - "n_vars": 2199, - "n_cons": 25921 - }, - "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5": { - "residual": 0.42543640356891776, - "elapsed_ms": 3081.59, - "n_vars": 1850, - "n_cons": 21650 - }, - "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9": { - "residual": 0.4217202793170176, - "elapsed_ms": 180.457, - "n_vars": 715, - "n_cons": 7423 - }, - "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5": { - "residual": 0.41361338316732565, - "elapsed_ms": 4839.59, - "n_vars": 2326, - "n_cons": 26958 - }, - "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4": { - "residual": 0.403130605161544, - "elapsed_ms": 3212.27, - "n_vars": 1977, - "n_cons": 22871 - }, - "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646": { - "residual": 0.39503502501284604, - "elapsed_ms": 2916.72, - "n_vars": 1859, - "n_cons": 21771 - }, - "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c": { - "residual": 0.39114990000400063, - "elapsed_ms": 400652.0, - "n_vars": 17070, - "n_cons": 192562 - }, - "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d": { - "residual": 0.38764579685835177, - "elapsed_ms": 2893.75, - "n_vars": 1863, - "n_cons": 21835 - } - } -} diff --git a/input/cpsat-bench/evolve/shared/stage1_large_sample.json b/input/cpsat-bench/evolve/shared/stage1_large_sample.json deleted file mode 100644 index 3a8e8e6a8f..0000000000 --- a/input/cpsat-bench/evolve/shared/stage1_large_sample.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "selection": "1 top-1 residual outlier(s) from outliers_top.csv (W=8 tuning set)", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e" - ], - "summary": [ - { - "sha": "9c28c175d2cd", - "baseline_result": "OPTIMAL", - "baseline_ms": 5307350.0 - } - ] -} diff --git a/input/cpsat-bench/evolve/shared/stage1_sample.json b/input/cpsat-bench/evolve/shared/stage1_sample.json deleted file mode 100644 index 7e5e126141..0000000000 --- a/input/cpsat-bench/evolve/shared/stage1_sample.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "selection": "10 decisive runtime clusters c1+c2 (fast group)", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78", - "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0", - "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", - "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", - "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", - "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", - "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", - "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3", - "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0", - "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1" - ], - "summary": [ - { - "sha": "daa215241452", - "baseline_result": "OPTIMAL", - "baseline_ms": 1287.87 - }, - { - "sha": "ba0b9ea5e8f2", - "baseline_result": "OPTIMAL", - "baseline_ms": 1315.97 - }, - { - "sha": "aec821f70ed6", - "baseline_result": "OPTIMAL", - "baseline_ms": 1317.35 - }, - { - "sha": "90e1185ded53", - "baseline_result": "OPTIMAL", - "baseline_ms": 1323.68 - }, - { - "sha": "2c283b1f086e", - "baseline_result": "OPTIMAL", - "baseline_ms": 1361.71 - }, - { - "sha": "fa619c63ddf9", - "baseline_result": "OPTIMAL", - "baseline_ms": 1364.16 - }, - { - "sha": "27a639ae4f3c", - "baseline_result": "OPTIMAL", - "baseline_ms": 1373.64 - }, - { - "sha": "eef410430ef1", - "baseline_result": "OPTIMAL", - "baseline_ms": 1380.36 - }, - { - "sha": "3e69d6f5b785", - "baseline_result": "OPTIMAL", - "baseline_ms": 1384.5 - }, - { - "sha": "395b9abdb720", - "baseline_result": "OPTIMAL", - "baseline_ms": 1394.5 - } - ] -} diff --git a/input/cpsat-bench/evolve/shared/stage2_sample.json b/input/cpsat-bench/evolve/shared/stage2_sample.json deleted file mode 100644 index d3b23029ff..0000000000 --- a/input/cpsat-bench/evolve/shared/stage2_sample.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "selection": "10 decisive runtime clusters c3+c4 (mid group)", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702", - "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5", - "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf", - "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5", - "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", - "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", - "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b", - "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57", - "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264", - "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5" - ], - "summary": [ - { - "sha": "9801d683d790", - "baseline_result": "OPTIMAL", - "baseline_ms": 4600.21 - }, - { - "sha": "ec4b042c8f9a", - "baseline_result": "OPTIMAL", - "baseline_ms": 4618.5 - }, - { - "sha": "f78fe695ba9e", - "baseline_result": "OPTIMAL", - "baseline_ms": 4646.35 - }, - { - "sha": "aa6fca326d55", - "baseline_result": "OPTIMAL", - "baseline_ms": 4676.26 - }, - { - "sha": "7228b93c395d", - "baseline_result": "OPTIMAL", - "baseline_ms": 4758.69 - }, - { - "sha": "8b1db26428e4", - "baseline_result": "OPTIMAL", - "baseline_ms": 4787.76 - }, - { - "sha": "49e2fc3d508c", - "baseline_result": "OPTIMAL", - "baseline_ms": 4810.32 - }, - { - "sha": "bd4be90c6f16", - "baseline_result": "OPTIMAL", - "baseline_ms": 4816.56 - }, - { - "sha": "2cf09323b635", - "baseline_result": "OPTIMAL", - "baseline_ms": 4828 - }, - { - "sha": "c4fe2cc04ae7", - "baseline_result": "OPTIMAL", - "baseline_ms": 4839.59 - } - ] -} diff --git a/input/cpsat-bench/evolve/shared/stage3_sample.json b/input/cpsat-bench/evolve/shared/stage3_sample.json deleted file mode 100644 index 501c91cae3..0000000000 --- a/input/cpsat-bench/evolve/shared/stage3_sample.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "selection": "5 outliers from outliers_top.csv nearest 20000ms (tol=5.0x, cap=1500000ms; target 5)", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", - "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", - "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", - "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", - "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e" - ], - "summary": [ - { - "sha": "5f84583fd6d8", - "baseline_result": "OPTIMAL", - "baseline_ms": 6436.58 - }, - { - "sha": "c0a0dc04538c", - "baseline_result": "OPTIMAL", - "baseline_ms": 4920.17 - }, - { - "sha": "c4fe2cc04ae7", - "baseline_result": "OPTIMAL", - "baseline_ms": 4839.59 - }, - { - "sha": "5b8c61f99d31", - "baseline_result": "OPTIMAL", - "baseline_ms": 19871.1 - }, - { - "sha": "0976039f182f", - "baseline_result": "OPTIMAL", - "baseline_ms": 19431.4 - } - ] -} diff --git a/input/cpsat-bench/evolve/shared/stage4_sample.json b/input/cpsat-bench/evolve/shared/stage4_sample.json deleted file mode 100644 index 4669357bf3..0000000000 --- a/input/cpsat-bench/evolve/shared/stage4_sample.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "selection": "20 broad runtime spread, dedup vs stage1-3", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", - "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d", - "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7", - "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", - "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec", - "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", - "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a", - "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", - "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", - "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", - "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", - "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b", - "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2", - "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe", - "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a", - "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", - "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", - "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", - "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723", - "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33" - ], - "summary": [ - { - "sha": "5976726485c2", - "baseline_result": "OPTIMAL", - "baseline_ms": 105.102 - }, - { - "sha": "1da421e66009", - "baseline_result": "OPTIMAL", - "baseline_ms": 623.536 - }, - { - "sha": "568cb19ecec5", - "baseline_result": "OPTIMAL", - "baseline_ms": 969.978 - }, - { - "sha": "915f8918d0b3", - "baseline_result": "OPTIMAL", - "baseline_ms": 1537.86 - }, - { - "sha": "c867ab591447", - "baseline_result": "OPTIMAL", - "baseline_ms": 1564.42 - }, - { - "sha": "2abe830de840", - "baseline_result": "OPTIMAL", - "baseline_ms": 1961.23 - }, - { - "sha": "5248aba6397b", - "baseline_result": "OPTIMAL", - "baseline_ms": 2600.23 - }, - { - "sha": "9c801bcf5dc6", - "baseline_result": "OPTIMAL", - "baseline_ms": 3098.94 - }, - { - "sha": "ca043f0850c1", - "baseline_result": "OPTIMAL", - "baseline_ms": 3101.11 - }, - { - "sha": "ed8349c414d6", - "baseline_result": "OPTIMAL", - "baseline_ms": 3318.12 - }, - { - "sha": "d8130c88625b", - "baseline_result": "OPTIMAL", - "baseline_ms": 3748.33 - }, - { - "sha": "e08d820df1d9", - "baseline_result": "OPTIMAL", - "baseline_ms": 4168.07 - }, - { - "sha": "2a397e2e9ffb", - "baseline_result": "OPTIMAL", - "baseline_ms": 4173.09 - }, - { - "sha": "72f2ec3d785c", - "baseline_result": "OPTIMAL", - "baseline_ms": 5357.91 - }, - { - "sha": "5e03f49283bd", - "baseline_result": "OPTIMAL", - "baseline_ms": 6061.9 - }, - { - "sha": "e5c9e667fbee", - "baseline_result": "OPTIMAL", - "baseline_ms": 6608.39 - }, - { - "sha": "8a3a0575a6af", - "baseline_result": "OPTIMAL", - "baseline_ms": 6624.34 - }, - { - "sha": "c407b925a91b", - "baseline_result": "OPTIMAL", - "baseline_ms": 7808.57 - }, - { - "sha": "a34a2f667fa7", - "baseline_result": "OPTIMAL", - "baseline_ms": 11295.1 - }, - { - "sha": "2ed7c12aa205", - "baseline_result": "OPTIMAL", - "baseline_ms": 16990.7 - } - ] -} diff --git a/input/cpsat-bench/problems.jsonl b/input/cpsat-bench/problems.jsonl index 75241c1345..37d873edf8 100644 --- a/input/cpsat-bench/problems.jsonl +++ b/input/cpsat-bench/problems.jsonl @@ -1,430 +1,82 @@ -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6896.45}, "cpsat_response_stats": {"num_booleans": 7248, "num_conflicts": 3843, "num_branches": 79884, "num_binary_propagations": 4096494, "num_integer_propagations": 1709363, "num_restarts": 36, "wall_time": 6.89489, "user_time": 6.89489, "deterministic_time": 15.5139}, "solution_info": "default_lp", "problem_sha256": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28940}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1619.97}, "cpsat_response_stats": {"num_booleans": 8350, "num_conflicts": 6524, "num_branches": 31795, "num_binary_propagations": 2645824, "num_integer_propagations": 763975, "num_restarts": 15, "wall_time": 1.61877, "user_time": 1.61877, "deterministic_time": 3.34384}, "solution_info": "quick_restart", "problem_sha256": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2818.52}, "cpsat_response_stats": {"num_booleans": 1727, "num_integers": 459, "num_fixed_booleans": 48, "num_conflicts": 466, "num_branches": 10294, "num_binary_propagations": 525933, "num_integer_propagations": 262064, "num_restarts": 3, "num_lp_iterations": 2899, "wall_time": 2.80801, "user_time": 2.80801, "deterministic_time": 1.87483, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44889}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3153.47}, "cpsat_response_stats": {"num_booleans": 5751, "num_conflicts": 2310, "num_branches": 45318, "num_binary_propagations": 3184762, "num_integer_propagations": 1315336, "num_restarts": 18, "wall_time": 3.15121, "user_time": 3.15121, "deterministic_time": 6.42205}, "solution_info": "default_lp", "problem_sha256": "0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 25969, "constraint_breakdown": {"at_most_one": 132, "linear": 10033, "bool_or": 9259, "bool_and": 6545}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4071.48}, "cpsat_response_stats": {"num_booleans": 12567, "num_integers": 608, "num_fixed_booleans": 617, "num_conflicts": 10692, "num_branches": 110220, "num_binary_propagations": 7594700, "num_integer_propagations": 1122186, "num_restarts": 11, "num_lp_iterations": 14324, "wall_time": 4.06633, "user_time": 4.06633, "deterministic_time": 5.38499, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1938, "num_int": 798, "num_constraints": 30419, "constraint_breakdown": {"at_most_one": 135, "linear": 12847, "bool_or": 10433, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1757.49}, "cpsat_response_stats": {"num_booleans": 2436, "num_integers": 595, "num_fixed_booleans": 180, "num_conflicts": 752, "num_branches": 13177, "num_binary_propagations": 987148, "num_integer_propagations": 426363, "num_restarts": 3, "num_lp_iterations": 1088, "wall_time": 1.75482, "user_time": 1.75482, "deterministic_time": 1.81954, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3432.26}, "cpsat_response_stats": {"num_booleans": 2747, "num_integers": 612, "num_fixed_booleans": 181, "num_conflicts": 719, "num_branches": 18056, "num_binary_propagations": 875543, "num_integer_propagations": 428219, "num_restarts": 6, "num_lp_iterations": 1660, "wall_time": 3.41793, "user_time": 3.41793, "deterministic_time": 3.00165, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 36071, "constraint_breakdown": {"at_most_one": 160, "linear": 15128, "bool_or": 12416, "bool_and": 8367}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5832.93}, "cpsat_response_stats": {"num_booleans": 8266, "num_integers": 809, "num_fixed_booleans": 87, "num_conflicts": 6222, "num_branches": 47499, "num_binary_propagations": 5594544, "num_integer_propagations": 1780300, "num_restarts": 17, "num_lp_iterations": 66900, "wall_time": 5.81353, "user_time": 5.81353, "deterministic_time": 5.09695, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 651.086}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.650087, "user_time": 0.650087, "deterministic_time": 0.978946}, "solution_info": "fs_random_no_lp", "problem_sha256": "072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233100}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1496560.0}, "cpsat_response_stats": {"num_booleans": 42651, "num_conflicts": 531653, "num_branches": 2141669, "num_binary_propagations": 773533294, "num_integer_propagations": 191884649, "num_restarts": 2587, "wall_time": 1496.55, "user_time": 1496.55, "deterministic_time": 5148.16}, "solution_info": "no_lp", "problem_sha256": "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 28808, "constraint_breakdown": {"at_most_one": 134, "linear": 11903, "bool_or": 9974, "bool_and": 6797}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2408.23}, "cpsat_response_stats": {"num_booleans": 2719, "num_integers": 605, "num_fixed_booleans": 75, "num_conflicts": 806, "num_branches": 17531, "num_binary_propagations": 909181, "num_integer_propagations": 679402, "num_restarts": 6, "num_lp_iterations": 3471, "wall_time": 2.40006, "user_time": 2.40006, "deterministic_time": 1.88466, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11130, "num_bool": 8496, "num_int": 2634, "num_constraints": 126364, "constraint_breakdown": {"at_most_one": 432, "linear": 56647, "bool_or": 42016, "bool_and": 27269}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 76005.7}, "cpsat_response_stats": {"num_booleans": 16576, "num_integers": 2651, "num_fixed_booleans": 495, "num_conflicts": 21705, "num_branches": 179333, "num_binary_propagations": 23578327, "num_integer_propagations": 7572508, "num_restarts": 113, "num_lp_iterations": 501473, "wall_time": 75.9787, "user_time": 75.9787, "deterministic_time": 96.2732, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190773}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 686113}, "cpsat_response_stats": {"num_booleans": 27870, "num_conflicts": 210392, "num_branches": 952603, "num_binary_propagations": 271814160, "num_integer_propagations": 67147700, "num_restarts": 801, "wall_time": 686.1, "user_time": 686.1, "deterministic_time": 1489.62}, "solution_info": "no_lp", "problem_sha256": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19431.4}, "cpsat_response_stats": {"num_booleans": 8196, "num_integers": 1518, "num_fixed_booleans": 231, "num_conflicts": 18082, "num_branches": 110936, "num_binary_propagations": 11280933, "num_integer_propagations": 3570767, "num_restarts": 104, "num_lp_iterations": 161443, "wall_time": 19.4175, "user_time": 19.4175, "deterministic_time": 28.5748, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2863.91}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 2.86213, "user_time": 2.86213, "deterministic_time": 5.14864}, "solution_info": "fs_random", "problem_sha256": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 791.232}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.790182, "user_time": 0.790182, "deterministic_time": 1.17229}, "solution_info": "default_lp", "problem_sha256": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 49739, "constraint_breakdown": {"at_most_one": 244, "linear": 19145, "bool_or": 17709, "bool_and": 12641}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11540.4}, "cpsat_response_stats": {"num_booleans": 7062, "num_integers": 1315, "num_fixed_booleans": 185, "num_conflicts": 3451, "num_branches": 61663, "num_binary_propagations": 2813582, "num_integer_propagations": 1217187, "num_restarts": 33, "num_lp_iterations": 40536, "wall_time": 11.5217, "user_time": 11.5217, "deterministic_time": 14.9515, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44084}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3376.2}, "cpsat_response_stats": {"num_booleans": 5401, "num_conflicts": 1006, "num_branches": 39304, "num_binary_propagations": 2518627, "num_integer_propagations": 1057719, "num_restarts": 6, "wall_time": 3.37445, "user_time": 3.37445, "deterministic_time": 6.19883}, "solution_info": "fs_random_no_lp", "problem_sha256": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 59452, "constraint_breakdown": {"at_most_one": 272, "linear": 23341, "bool_or": 21239, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21570}, "cpsat_response_stats": {"num_booleans": 11039, "num_integers": 1504, "num_fixed_booleans": 252, "num_conflicts": 20491, "num_branches": 154670, "num_binary_propagations": 12593386, "num_integer_propagations": 3617678, "num_restarts": 90, "num_lp_iterations": 154840, "wall_time": 21.5461, "user_time": 21.5461, "deterministic_time": 39.738, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15283.6}, "cpsat_response_stats": {"num_booleans": 8160, "num_integers": 1518, "num_fixed_booleans": 226, "num_conflicts": 11744, "num_branches": 95041, "num_binary_propagations": 7939396, "num_integer_propagations": 2897633, "num_restarts": 83, "num_lp_iterations": 117062, "wall_time": 15.2729, "user_time": 15.2729, "deterministic_time": 21.2578, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3163.12}, "cpsat_response_stats": {"num_booleans": 2931, "num_integers": 643, "num_fixed_booleans": 71, "num_conflicts": 332, "num_branches": 15805, "num_binary_propagations": 642350, "num_integer_propagations": 304238, "num_restarts": 1, "num_lp_iterations": 409, "wall_time": 3.15026, "user_time": 3.15026, "deterministic_time": 2.86989, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38578}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3179.9}, "cpsat_response_stats": {"num_booleans": 4916, "num_conflicts": 592, "num_branches": 29758, "num_binary_propagations": 1578412, "num_integer_propagations": 621035, "num_restarts": 3, "wall_time": 3.17831, "user_time": 3.17831, "deterministic_time": 5.42069}, "solution_info": "quick_restart_no_lp", "problem_sha256": "0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 58973, "constraint_breakdown": {"at_most_one": 248, "linear": 24942, "bool_or": 20080, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8478.85}, "cpsat_response_stats": {"num_booleans": 7117, "num_integers": 1349, "num_fixed_booleans": 132, "num_conflicts": 1828, "num_branches": 60444, "num_binary_propagations": 3510582, "num_integer_propagations": 1538526, "num_restarts": 15, "num_lp_iterations": 21820, "wall_time": 8.46657, "user_time": 8.46657, "deterministic_time": 8.28154, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1979, "num_bool": 1377, "num_int": 602, "num_constraints": 21981, "constraint_breakdown": {"at_most_one": 104, "linear": 9343, "bool_or": 7511, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1793.37}, "cpsat_response_stats": {"num_booleans": 1593, "num_integers": 453, "num_fixed_booleans": 121, "num_conflicts": 421, "num_branches": 9067, "num_binary_propagations": 586905, "num_integer_propagations": 292198, "num_restarts": 1, "num_lp_iterations": 190, "wall_time": 1.78942, "user_time": 1.78942, "deterministic_time": 1.30256, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3133.96}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.13191, "user_time": 3.13191, "deterministic_time": 6.06757}, "solution_info": "no_lp", "problem_sha256": "0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5920.07}, "cpsat_response_stats": {"num_booleans": 5441, "num_integers": 1044, "num_fixed_booleans": 102, "num_conflicts": 1675, "num_branches": 41046, "num_binary_propagations": 2579043, "num_integer_propagations": 1139512, "num_restarts": 12, "num_lp_iterations": 13190, "wall_time": 5.91196, "user_time": 5.91196, "deterministic_time": 5.62571, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3212.64}, "cpsat_response_stats": {"num_booleans": 3481, "num_integers": 602, "num_fixed_booleans": 522, "num_conflicts": 1944, "num_branches": 23123, "num_binary_propagations": 1420607, "num_integer_propagations": 648288, "num_restarts": 12, "num_lp_iterations": 6399, "wall_time": 3.20744, "user_time": 3.20744, "deterministic_time": 3.16658, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20139, "constraint_breakdown": {"at_most_one": 102, "linear": 8055, "bool_or": 7086, "bool_and": 4896}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 956.451}, "cpsat_response_stats": {"num_booleans": 2166, "num_integers": 464, "num_fixed_booleans": 54, "num_conflicts": 688, "num_branches": 11031, "num_binary_propagations": 465277, "num_integer_propagations": 224108, "num_restarts": 3, "num_lp_iterations": 482, "wall_time": 0.955391, "user_time": 0.955391, "deterministic_time": 0.823945, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4031.48}, "cpsat_response_stats": {"num_booleans": 6866, "num_conflicts": 1735, "num_branches": 58712, "num_binary_propagations": 3011929, "num_integer_propagations": 1300720, "num_restarts": 18, "wall_time": 4.02854, "user_time": 4.02854, "deterministic_time": 8.22221}, "solution_info": "default_lp", "problem_sha256": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8340.34}, "cpsat_response_stats": {"num_booleans": 9405, "num_integers": 1669, "num_fixed_booleans": 179, "num_conflicts": 2182, "num_branches": 67141, "num_binary_propagations": 3574228, "num_integer_propagations": 1430787, "num_restarts": 23, "num_lp_iterations": 21380, "wall_time": 8.30876, "user_time": 8.30876, "deterministic_time": 7.58171, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3673, "num_int": 1637, "num_constraints": 59718, "constraint_breakdown": {"at_most_one": 272, "linear": 23478, "bool_or": 21368, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11915}, "cpsat_response_stats": {"num_booleans": 8095, "num_integers": 1471, "num_fixed_booleans": 439, "num_conflicts": 9685, "num_branches": 111280, "num_binary_propagations": 9147090, "num_integer_propagations": 2667994, "num_restarts": 42, "num_lp_iterations": 79742, "wall_time": 11.9049, "user_time": 11.9049, "deterministic_time": 22.8773, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4358.96}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.35558, "user_time": 4.35558, "deterministic_time": 8.16986}, "solution_info": "default_lp", "problem_sha256": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7334.94}, "cpsat_response_stats": {"num_booleans": 6745, "num_integers": 1368, "num_fixed_booleans": 201, "num_conflicts": 1881, "num_branches": 53873, "num_binary_propagations": 3462648, "num_integer_propagations": 1510233, "num_restarts": 15, "num_lp_iterations": 20061, "wall_time": 7.32372, "user_time": 7.32372, "deterministic_time": 7.7169, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 639.354}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.638422, "user_time": 0.638422, "deterministic_time": 0.780845}, "solution_info": "quick_restart", "problem_sha256": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3673, "num_int": 1637, "num_constraints": 59718, "constraint_breakdown": {"at_most_one": 272, "linear": 23478, "bool_or": 21368, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9272.03}, "cpsat_response_stats": {"num_booleans": 7774, "num_integers": 1471, "num_fixed_booleans": 211, "num_conflicts": 7031, "num_branches": 70527, "num_binary_propagations": 6676084, "num_integer_propagations": 2258527, "num_restarts": 53, "num_lp_iterations": 64838, "wall_time": 9.26111, "user_time": 9.26111, "deterministic_time": 16.1077, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 58767, "constraint_breakdown": {"at_most_one": 268, "linear": 22846, "bool_or": 21176, "bool_and": 14477}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5989.49}, "cpsat_response_stats": {"num_booleans": 7782, "num_integers": 1464, "num_fixed_booleans": 161, "num_conflicts": 2626, "num_branches": 63032, "num_binary_propagations": 4132197, "num_integer_propagations": 1570857, "num_restarts": 27, "num_lp_iterations": 20588, "wall_time": 5.97863, "user_time": 5.97863, "deterministic_time": 8.33573, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13884}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 579.064}, "cpsat_response_stats": {"num_booleans": 963, "num_conflicts": 305, "num_branches": 4852, "num_binary_propagations": 160496, "num_integer_propagations": 89574, "num_restarts": 3, "wall_time": 0.578214, "user_time": 0.578215, "deterministic_time": 0.491991}, "solution_info": "fs_random_no_lp", "problem_sha256": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30201}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.26}, "cpsat_response_stats": {"num_booleans": 2358, "num_conflicts": 633, "num_branches": 15281, "num_binary_propagations": 1057808, "num_integer_propagations": 472948, "num_restarts": 3, "wall_time": 1.49864, "user_time": 1.49864, "deterministic_time": 2.17348}, "solution_info": "default_lp", "problem_sha256": "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 44899, "constraint_breakdown": {"at_most_one": 190, "linear": 19169, "bool_or": 15297, "bool_and": 10243}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6436.84}, "cpsat_response_stats": {"num_booleans": 5016, "num_integers": 1027, "num_fixed_booleans": 99, "num_conflicts": 1543, "num_branches": 44055, "num_binary_propagations": 2670142, "num_integer_propagations": 1196938, "num_restarts": 15, "num_lp_iterations": 15119, "wall_time": 6.42809, "user_time": 6.42809, "deterministic_time": 6.42034, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20792, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7200, "bool_and": 4869}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1075.14}, "cpsat_response_stats": {"num_booleans": 1666, "num_integers": 451, "num_fixed_booleans": 70, "num_conflicts": 472, "num_branches": 9986, "num_binary_propagations": 560383, "num_integer_propagations": 242649, "num_restarts": 1, "num_lp_iterations": 302, "wall_time": 1.07338, "user_time": 1.07338, "deterministic_time": 1.00964, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2288, "num_int": 938, "num_constraints": 36510, "constraint_breakdown": {"at_most_one": 159, "linear": 15668, "bool_or": 12396, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4447.05}, "cpsat_response_stats": {"num_booleans": 5190, "num_integers": 867, "num_fixed_booleans": 283, "num_conflicts": 2759, "num_branches": 36801, "num_binary_propagations": 2623629, "num_integer_propagations": 1037903, "num_restarts": 18, "num_lp_iterations": 17048, "wall_time": 4.44073, "user_time": 4.44073, "deterministic_time": 6.49673, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 26394, "constraint_breakdown": {"at_most_one": 132, "linear": 10245, "bool_or": 9415, "bool_and": 6602}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1852.25}, "cpsat_response_stats": {"num_booleans": 2596, "num_integers": 625, "num_fixed_booleans": 69, "num_conflicts": 560, "num_branches": 15937, "num_binary_propagations": 630686, "num_integer_propagations": 310208, "num_restarts": 6, "num_lp_iterations": 2039, "wall_time": 1.84973, "user_time": 1.84973, "deterministic_time": 1.41769, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2781.61}, "cpsat_response_stats": {"num_booleans": 2641, "num_integers": 628, "num_fixed_booleans": 69, "num_conflicts": 430, "num_branches": 15591, "num_binary_propagations": 597982, "num_integer_propagations": 291988, "num_restarts": 3, "num_lp_iterations": 1062, "wall_time": 2.77268, "user_time": 2.77268, "deterministic_time": 2.72813, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5391.62}, "cpsat_response_stats": {"num_booleans": 4083, "num_integers": 815, "num_fixed_booleans": 234, "num_conflicts": 1172, "num_branches": 28223, "num_binary_propagations": 1652774, "num_integer_propagations": 783554, "num_restarts": 9, "num_lp_iterations": 6294, "wall_time": 5.38428, "user_time": 5.38428, "deterministic_time": 5.21599, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 623.536}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.622872, "user_time": 0.622872, "deterministic_time": 0.856701}, "solution_info": "quick_restart", "problem_sha256": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1941, "num_int": 794, "num_constraints": 30473, "constraint_breakdown": {"at_most_one": 135, "linear": 13009, "bool_or": 10391, "bool_and": 6938}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2326.58}, "cpsat_response_stats": {"num_booleans": 2376, "num_integers": 572, "num_fixed_booleans": 223, "num_conflicts": 851, "num_branches": 12692, "num_binary_propagations": 929982, "num_integer_propagations": 417911, "num_restarts": 3, "num_lp_iterations": 391, "wall_time": 2.32007, "user_time": 2.32007, "deterministic_time": 1.78377, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12651.7}, "cpsat_response_stats": {"num_booleans": 12809, "num_conflicts": 9916, "num_branches": 105448, "num_binary_propagations": 11407742, "num_integer_propagations": 3523778, "num_restarts": 84, "wall_time": 12.649, "user_time": 12.649, "deterministic_time": 40.5777}, "solution_info": "no_lp", "problem_sha256": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63693}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7400.86}, "cpsat_response_stats": {"num_booleans": 9777, "num_conflicts": 4016, "num_branches": 100243, "num_binary_propagations": 5080514, "num_integer_propagations": 2059675, "num_restarts": 42, "wall_time": 7.39644, "user_time": 7.39644, "deterministic_time": 16.5819}, "solution_info": "default_lp", "problem_sha256": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3024.07}, "cpsat_response_stats": {"num_booleans": 1829, "num_integers": 483, "num_fixed_booleans": 51, "num_conflicts": 310, "num_branches": 10067, "num_binary_propagations": 340378, "num_integer_propagations": 170355, "num_restarts": 3, "num_lp_iterations": 1145, "wall_time": 3.0205, "user_time": 3.0205, "deterministic_time": 2.45745, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1752.13}, "cpsat_response_stats": {"num_booleans": 2753, "num_conflicts": 1102, "num_branches": 17773, "num_binary_propagations": 1416000, "num_integer_propagations": 603617, "num_restarts": 6, "wall_time": 1.75121, "user_time": 1.75121, "deterministic_time": 2.87432}, "solution_info": "no_lp", "problem_sha256": "21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14241, "constraint_breakdown": {"at_most_one": 77, "linear": 5527, "bool_or": 5130, "bool_and": 3507}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 473.166}, "cpsat_response_stats": {"num_booleans": 727, "num_integers": 277, "num_fixed_booleans": 21, "num_conflicts": 187, "num_branches": 4573, "num_binary_propagations": 169968, "num_integer_propagations": 99003, "num_restarts": 1, "num_lp_iterations": 186, "wall_time": 0.472282, "user_time": 0.472282, "deterministic_time": 0.369579, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 64265, "constraint_breakdown": {"at_most_one": 300, "linear": 25295, "bool_or": 22675, "bool_and": 15995}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16208.8}, "cpsat_response_stats": {"num_booleans": 9740, "num_integers": 1651, "num_fixed_booleans": 216, "num_conflicts": 4652, "num_branches": 95995, "num_binary_propagations": 4649474, "num_integer_propagations": 1955784, "num_restarts": 51, "num_lp_iterations": 58617, "wall_time": 16.1847, "user_time": 16.1847, "deterministic_time": 16.4779, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7271.21}, "cpsat_response_stats": {"num_booleans": 7912, "num_conflicts": 12081, "num_branches": 81515, "num_binary_propagations": 10554667, "num_integer_propagations": 2782477, "num_restarts": 68, "wall_time": 7.26872, "user_time": 7.26872, "deterministic_time": 23.7767}, "solution_info": "default_lp", "problem_sha256": "256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 182.409}, "cpsat_response_stats": {"num_booleans": 250, "num_integers": 113, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 3, "wall_time": 0.181745, "user_time": 0.181745, "deterministic_time": 0.0310824, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:7'487} gen{mvs:2'655 evals:0} comp{mvs:441 btracks:1'107} #w_updates:12 #perturb:0)", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17076, "num_bool": 13341, "num_int": 3735, "num_constraints": 192805, "constraint_breakdown": {"at_most_one": 618, "linear": 88116, "bool_or": 63144, "bool_and": 40927}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 856786}, "cpsat_response_stats": {"num_booleans": 27997, "num_integers": 3968, "num_fixed_booleans": 1018, "num_conflicts": 218233, "num_branches": 1168305, "num_binary_propagations": 240841668, "num_integer_propagations": 68122509, "num_restarts": 977, "num_lp_iterations": 5407038, "wall_time": 856.747, "user_time": 856.747, "deterministic_time": 1441.38, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 45439.7}, "cpsat_response_stats": {"num_booleans": 12995, "num_integers": 2191, "num_fixed_booleans": 379, "num_conflicts": 23149, "num_branches": 144434, "num_binary_propagations": 19032195, "num_integer_propagations": 5538798, "num_restarts": 150, "num_lp_iterations": 321431, "wall_time": 45.425, "user_time": 45.425, "deterministic_time": 64.4278, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1373.64}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.37189, "user_time": 1.3719, "deterministic_time": 1.17965}, "solution_info": "quick_restart_no_lp", "problem_sha256": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10447}, "cpsat_response_stats": {"num_booleans": 11808, "num_conflicts": 11186, "num_branches": 96516, "num_binary_propagations": 12404481, "num_integer_propagations": 3348409, "num_restarts": 83, "wall_time": 10.4429, "user_time": 10.4429, "deterministic_time": 32.4593}, "solution_info": "default_lp", "problem_sha256": "2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 36127, "constraint_breakdown": {"at_most_one": 160, "linear": 15128, "bool_or": 12472, "bool_and": 8367}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4173.09}, "cpsat_response_stats": {"num_booleans": 3837, "num_integers": 804, "num_fixed_booleans": 86, "num_conflicts": 843, "num_branches": 26130, "num_binary_propagations": 1751422, "num_integer_propagations": 728032, "num_restarts": 6, "num_lp_iterations": 3040, "wall_time": 4.16589, "user_time": 4.16589, "deterministic_time": 4.73902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 14599, "constraint_breakdown": {"at_most_one": 77, "linear": 5899, "bool_or": 5089, "bool_and": 3534}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 540.252}, "cpsat_response_stats": {"num_booleans": 783, "num_integers": 267, "num_fixed_booleans": 19, "num_conflicts": 183, "num_branches": 4384, "num_binary_propagations": 159359, "num_integer_propagations": 96585, "num_restarts": 2, "num_lp_iterations": 247, "wall_time": 0.539297, "user_time": 0.539297, "deterministic_time": 0.336128, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 38711, "constraint_breakdown": {"at_most_one": 187, "linear": 15273, "bool_or": 13654, "bool_and": 9597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5430.81}, "cpsat_response_stats": {"num_booleans": 4908, "num_integers": 960, "num_fixed_booleans": 105, "num_conflicts": 578, "num_branches": 29008, "num_binary_propagations": 1363971, "num_integer_propagations": 577078, "num_restarts": 3, "num_lp_iterations": 1732, "wall_time": 5.41112, "user_time": 5.41112, "deterministic_time": 4.12991, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1961.23}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.95933, "user_time": 1.95933, "deterministic_time": 2.96945}, "solution_info": "quick_restart", "problem_sha256": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 89192}, "cpsat_response_stats": {"num_booleans": 18223, "num_integers": 2724, "num_fixed_booleans": 1307, "num_conflicts": 35393, "num_branches": 255576, "num_binary_propagations": 29779298, "num_integer_propagations": 10453585, "num_restarts": 231, "num_lp_iterations": 606851, "wall_time": 89.1756, "user_time": 89.1756, "deterministic_time": 143.2, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 45101, "constraint_breakdown": {"at_most_one": 190, "linear": 19234, "bool_or": 15379, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6416.71}, "cpsat_response_stats": {"num_booleans": 5732, "num_integers": 1034, "num_fixed_booleans": 114, "num_conflicts": 2508, "num_branches": 46309, "num_binary_propagations": 2967035, "num_integer_propagations": 1304214, "num_restarts": 18, "num_lp_iterations": 23874, "wall_time": 6.40749, "user_time": 6.40749, "deterministic_time": 7.0559, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1924, "num_int": 789, "num_constraints": 30408, "constraint_breakdown": {"at_most_one": 134, "linear": 13055, "bool_or": 10315, "bool_and": 6904}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1809.76}, "cpsat_response_stats": {"num_booleans": 2470, "num_integers": 593, "num_fixed_booleans": 159, "num_conflicts": 712, "num_branches": 13423, "num_binary_propagations": 1019108, "num_integer_propagations": 453081, "num_restarts": 6, "num_lp_iterations": 1724, "wall_time": 1.80827, "user_time": 1.80827, "deterministic_time": 1.76708, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1266, "num_int": 598, "num_constraints": 20886, "constraint_breakdown": {"at_most_one": 103, "linear": 8638, "bool_or": 7236, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1361.71}, "cpsat_response_stats": {"num_booleans": 2250, "num_integers": 457, "num_fixed_booleans": 50, "num_conflicts": 964, "num_branches": 13872, "num_binary_propagations": 639294, "num_integer_propagations": 297959, "num_restarts": 6, "num_lp_iterations": 1167, "wall_time": 1.3595, "user_time": 1.3595, "deterministic_time": 1.28691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11135, "num_bool": 8504, "num_int": 2631, "num_constraints": 126459, "constraint_breakdown": {"at_most_one": 432, "linear": 56388, "bool_or": 42090, "bool_and": 27549}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 47175.5}, "cpsat_response_stats": {"num_booleans": 16286, "num_integers": 2685, "num_fixed_booleans": 441, "num_conflicts": 10043, "num_branches": 145482, "num_binary_propagations": 11077181, "num_integer_propagations": 4714876, "num_restarts": 92, "num_lp_iterations": 246909, "wall_time": 47.1481, "user_time": 47.1481, "deterministic_time": 56.8539, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 35170, "constraint_breakdown": {"at_most_one": 163, "linear": 14720, "bool_or": 12063, "bool_and": 8224}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4828}, "cpsat_response_stats": {"num_booleans": 4397, "num_integers": 896, "num_fixed_booleans": 90, "num_conflicts": 844, "num_branches": 31973, "num_binary_propagations": 1603643, "num_integer_propagations": 734322, "num_restarts": 6, "num_lp_iterations": 6211, "wall_time": 4.81064, "user_time": 4.81064, "deterministic_time": 4.86196, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4467.43}, "cpsat_response_stats": {"num_booleans": 7413, "num_conflicts": 2835, "num_branches": 59220, "num_binary_propagations": 4276450, "num_integer_propagations": 1634222, "num_restarts": 24, "wall_time": 4.46411, "user_time": 4.46411, "deterministic_time": 8.37719}, "solution_info": "no_lp", "problem_sha256": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 695.523}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.694453, "user_time": 0.694453, "deterministic_time": 1.0021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57732, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19786, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11725.9}, "cpsat_response_stats": {"num_booleans": 7526, "num_integers": 1370, "num_fixed_booleans": 172, "num_conflicts": 3735, "num_branches": 74766, "num_binary_propagations": 4375683, "num_integer_propagations": 1834090, "num_restarts": 42, "num_lp_iterations": 41424, "wall_time": 11.703, "user_time": 11.703, "deterministic_time": 13.7156, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 27313, "constraint_breakdown": {"at_most_one": 133, "linear": 10798, "bool_or": 9649, "bool_and": 6733}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3120.77}, "cpsat_response_stats": {"num_booleans": 2803, "num_integers": 620, "num_fixed_booleans": 75, "num_conflicts": 418, "num_branches": 15636, "num_binary_propagations": 769615, "num_integer_propagations": 333030, "num_restarts": 3, "num_lp_iterations": 1399, "wall_time": 3.10924, "user_time": 3.10924, "deterministic_time": 2.72092, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85855, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29431, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16990.7}, "cpsat_response_stats": {"num_booleans": 11817, "num_integers": 1986, "num_fixed_booleans": 429, "num_conflicts": 7633, "num_branches": 97024, "num_binary_propagations": 10115695, "num_integer_propagations": 3020403, "num_restarts": 63, "num_lp_iterations": 106149, "wall_time": 16.973, "user_time": 16.973, "deterministic_time": 30.8048, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 59452, "constraint_breakdown": {"at_most_one": 272, "linear": 23341, "bool_or": 21239, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10429}, "cpsat_response_stats": {"num_booleans": 7893, "num_integers": 1504, "num_fixed_booleans": 191, "num_conflicts": 7701, "num_branches": 75544, "num_binary_propagations": 5947415, "num_integer_propagations": 2090143, "num_restarts": 56, "num_lp_iterations": 68244, "wall_time": 10.4153, "user_time": 10.4153, "deterministic_time": 16.0411, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 20766, "constraint_breakdown": {"at_most_one": 102, "linear": 8617, "bool_or": 7156, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3530.81}, "cpsat_response_stats": {"num_booleans": 2018, "num_integers": 512, "num_fixed_booleans": 55, "num_conflicts": 379, "num_branches": 11971, "num_binary_propagations": 482190, "num_integer_propagations": 259585, "num_restarts": 3, "num_lp_iterations": 772, "wall_time": 3.52585, "user_time": 3.52585, "deterministic_time": 1.76994, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3386.23}, "cpsat_response_stats": {"num_booleans": 7082, "num_conflicts": 4770, "num_branches": 51971, "num_binary_propagations": 4503565, "num_integer_propagations": 1661144, "num_restarts": 36, "wall_time": 3.38319, "user_time": 3.38319, "deterministic_time": 7.21038}, "solution_info": "no_lp", "problem_sha256": "31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40984}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.19}, "cpsat_response_stats": {"num_booleans": 7093, "num_conflicts": 3904, "num_branches": 96041, "num_binary_propagations": 2928204, "num_integer_propagations": 1313715, "num_restarts": 21, "wall_time": 3.47075, "user_time": 3.47075, "deterministic_time": 7.69355}, "solution_info": "no_lp", "problem_sha256": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 694.654}, "cpsat_response_stats": {"num_booleans": 762, "num_integers": 282, "num_fixed_booleans": 21, "num_conflicts": 212, "num_branches": 4812, "num_binary_propagations": 147017, "num_integer_propagations": 92550, "num_restarts": 2, "num_lp_iterations": 414, "wall_time": 0.69344, "user_time": 0.69344, "deterministic_time": 0.646128, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94632, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32476, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14676}, "cpsat_response_stats": {"num_booleans": 12645, "num_integers": 2142, "num_fixed_booleans": 305, "num_conflicts": 6765, "num_branches": 85872, "num_binary_propagations": 9033254, "num_integer_propagations": 2823657, "num_restarts": 63, "num_lp_iterations": 92546, "wall_time": 14.6573, "user_time": 14.6573, "deterministic_time": 24.7064, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57732, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19786, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13176.2}, "cpsat_response_stats": {"num_booleans": 7615, "num_integers": 1370, "num_fixed_booleans": 179, "num_conflicts": 6925, "num_branches": 81417, "num_binary_propagations": 6086825, "num_integer_propagations": 2306779, "num_restarts": 63, "num_lp_iterations": 73727, "wall_time": 13.1504, "user_time": 13.1504, "deterministic_time": 15.7646, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 715.521}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.714553, "user_time": 0.714553, "deterministic_time": 0.84016}, "solution_info": "quick_restart", "problem_sha256": "34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.82}, "cpsat_response_stats": {"num_booleans": 7705, "num_conflicts": 2828, "num_branches": 58028, "num_binary_propagations": 4226539, "num_integer_propagations": 1608385, "num_restarts": 25, "wall_time": 3.95941, "user_time": 3.95941, "deterministic_time": 8.34405}, "solution_info": "default_lp", "problem_sha256": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 23136.9}, "cpsat_response_stats": {"num_booleans": 11959, "num_integers": 2027, "num_fixed_booleans": 333, "num_conflicts": 10910, "num_branches": 107959, "num_binary_propagations": 11267600, "num_integer_propagations": 3603890, "num_restarts": 84, "num_lp_iterations": 143133, "wall_time": 23.1215, "user_time": 23.1215, "deterministic_time": 29.2903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5114, "num_bool": 3610, "num_int": 1504, "num_constraints": 58789, "constraint_breakdown": {"at_most_one": 249, "linear": 24537, "bool_or": 20253, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6175.92}, "cpsat_response_stats": {"num_booleans": 6510, "num_integers": 1335, "num_fixed_booleans": 921, "num_conflicts": 1634, "num_branches": 41974, "num_binary_propagations": 2995751, "num_integer_propagations": 1324442, "num_restarts": 6, "num_lp_iterations": 6852, "wall_time": 6.16383, "user_time": 6.16383, "deterministic_time": 7.64516, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 30392, "constraint_breakdown": {"at_most_one": 135, "linear": 12981, "bool_or": 10338, "bool_and": 6938}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2603.74}, "cpsat_response_stats": {"num_booleans": 2392, "num_integers": 587, "num_fixed_booleans": 78, "num_conflicts": 675, "num_branches": 16106, "num_binary_propagations": 968719, "num_integer_propagations": 464028, "num_restarts": 3, "num_lp_iterations": 1207, "wall_time": 2.59804, "user_time": 2.59804, "deterministic_time": 1.93163, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 35226, "constraint_breakdown": {"at_most_one": 163, "linear": 14720, "bool_or": 12119, "bool_and": 8224}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3772.51}, "cpsat_response_stats": {"num_booleans": 4310, "num_integers": 876, "num_fixed_booleans": 91, "num_conflicts": 751, "num_branches": 29001, "num_binary_propagations": 1669805, "num_integer_propagations": 696164, "num_restarts": 3, "num_lp_iterations": 3447, "wall_time": 3.75625, "user_time": 3.75625, "deterministic_time": 3.78127, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 52982}, "cpsat_response_stats": {"num_booleans": 16910, "num_integers": 2703, "num_fixed_booleans": 477, "num_conflicts": 12391, "num_branches": 168556, "num_binary_propagations": 13248294, "num_integer_propagations": 5599580, "num_restarts": 104, "num_lp_iterations": 361981, "wall_time": 52.9598, "user_time": 52.9598, "deterministic_time": 65.4763, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5112, "num_bool": 3610, "num_int": 1502, "num_constraints": 58744, "constraint_breakdown": {"at_most_one": 249, "linear": 24518, "bool_or": 20237, "bool_and": 13740}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6438.96}, "cpsat_response_stats": {"num_booleans": 8225, "num_integers": 1266, "num_fixed_booleans": 684, "num_conflicts": 4341, "num_branches": 60532, "num_binary_propagations": 4507663, "num_integer_propagations": 1686026, "num_restarts": 14, "num_lp_iterations": 31539, "wall_time": 6.42848, "user_time": 6.42848, "deterministic_time": 8.15447, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1394.5}, "cpsat_response_stats": {"num_booleans": 2857, "num_conflicts": 788, "num_branches": 15786, "num_binary_propagations": 1064689, "num_integer_propagations": 514092, "num_restarts": 3, "wall_time": 1.39259, "user_time": 1.39259, "deterministic_time": 2.14286}, "solution_info": "fs_random", "problem_sha256": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3002.76}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 3.00097, "user_time": 3.00097, "deterministic_time": 5.14887}, "solution_info": "fs_random", "problem_sha256": "39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2334.59}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 2.33214, "user_time": 2.33214, "deterministic_time": 4.11721}, "solution_info": "fs_random", "problem_sha256": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58459, "constraint_breakdown": {"at_most_one": 249, "linear": 24359, "bool_or": 20111, "bool_and": 13740}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8571.61}, "cpsat_response_stats": {"num_booleans": 6077, "num_integers": 1289, "num_fixed_booleans": 129, "num_conflicts": 3506, "num_branches": 52995, "num_binary_propagations": 4127819, "num_integer_propagations": 1574952, "num_restarts": 32, "num_lp_iterations": 40215, "wall_time": 8.54673, "user_time": 8.54673, "deterministic_time": 8.33814, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13896}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 273.786}, "cpsat_response_stats": {"num_booleans": 817, "num_conflicts": 109, "num_branches": 4450, "num_binary_propagations": 137291, "num_integer_propagations": 78951, "num_restarts": 1, "wall_time": 0.273041, "user_time": 0.273041, "deterministic_time": 0.275355}, "solution_info": "fs_random_no_lp", "problem_sha256": "3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6812.85}, "cpsat_response_stats": {"num_booleans": 7246, "num_integers": 1255, "num_fixed_booleans": 130, "num_conflicts": 2229, "num_branches": 58285, "num_binary_propagations": 3586396, "num_integer_propagations": 1506778, "num_restarts": 15, "num_lp_iterations": 25910, "wall_time": 6.80267, "user_time": 6.80267, "deterministic_time": 7.44364, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 626.761}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.625687, "user_time": 0.625687, "deterministic_time": 0.978811}, "solution_info": "fs_random_no_lp", "problem_sha256": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28938}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1384.5}, "cpsat_response_stats": {"num_booleans": 3097, "num_conflicts": 955, "num_branches": 19368, "num_binary_propagations": 1183859, "num_integer_propagations": 557299, "num_restarts": 6, "wall_time": 1.38357, "user_time": 1.38357, "deterministic_time": 2.31893}, "solution_info": "quick_restart", "problem_sha256": "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2204.94}, "cpsat_response_stats": {"num_booleans": 6449, "num_conflicts": 4661, "num_branches": 23327, "num_binary_propagations": 1646864, "num_integer_propagations": 452047, "num_restarts": 6, "wall_time": 2.20345, "user_time": 2.20345, "deterministic_time": 3.42086}, "solution_info": "no_lp", "problem_sha256": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 56210, "constraint_breakdown": {"at_most_one": 245, "linear": 23417, "bool_or": 19268, "bool_and": 13280}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7769.88}, "cpsat_response_stats": {"num_booleans": 7002, "num_integers": 1414, "num_fixed_booleans": 146, "num_conflicts": 1852, "num_branches": 61786, "num_binary_propagations": 3330355, "num_integer_propagations": 1546631, "num_restarts": 18, "num_lp_iterations": 33978, "wall_time": 7.74577, "user_time": 7.74577, "deterministic_time": 8.39234, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 701.966}, "cpsat_response_stats": {"num_booleans": 773, "num_integers": 277, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 30, "wall_time": 0.701014, "user_time": 0.701014, "deterministic_time": 0.141513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:41'741} gen{mvs:15'090 evals:0} comp{mvs:2'718 btracks:6'186} #w_updates:35 #perturb:0)", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44649}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3245.66}, "cpsat_response_stats": {"num_booleans": 5081, "num_conflicts": 1366, "num_branches": 41353, "num_binary_propagations": 2818429, "num_integer_propagations": 1322307, "num_restarts": 12, "wall_time": 3.24271, "user_time": 3.24271, "deterministic_time": 6.65273}, "solution_info": "default_lp", "problem_sha256": "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2662.56}, "cpsat_response_stats": {"num_booleans": 2399, "num_conflicts": 362, "num_branches": 13873, "num_binary_propagations": 692748, "num_integer_propagations": 337883, "num_restarts": 3, "wall_time": 2.66105, "user_time": 2.66105, "deterministic_time": 2.77881}, "solution_info": "default_lp", "problem_sha256": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 45469, "constraint_breakdown": {"at_most_one": 190, "linear": 19687, "bool_or": 15337, "bool_and": 10255}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7075.59}, "cpsat_response_stats": {"num_booleans": 6518, "num_integers": 1045, "num_fixed_booleans": 274, "num_conflicts": 3684, "num_branches": 73635, "num_binary_propagations": 3594311, "num_integer_propagations": 1645562, "num_restarts": 27, "num_lp_iterations": 37263, "wall_time": 7.05641, "user_time": 7.05641, "deterministic_time": 7.57263, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.88}, "cpsat_response_stats": {"num_booleans": 4922, "num_conflicts": 1390, "num_branches": 41486, "num_binary_propagations": 2188776, "num_integer_propagations": 966189, "num_restarts": 15, "wall_time": 3.46984, "user_time": 3.46984, "deterministic_time": 7.61202}, "solution_info": "default_lp", "problem_sha256": "435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20862, "num_bool": 16429, "num_int": 4433, "num_constraints": 236709, "constraint_breakdown": {"at_most_one": 727, "linear": 109833, "bool_or": 76916, "bool_and": 49233}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 71202.6}, "cpsat_response_stats": {"num_booleans": 30765, "num_integers": 4494, "num_fixed_booleans": 1111, "num_conflicts": 9602, "num_branches": 121165, "num_binary_propagations": 14858758, "num_integer_propagations": 3997339, "num_restarts": 47, "num_lp_iterations": 234049, "wall_time": 71.1951, "user_time": 71.1951, "deterministic_time": 66.0884, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28601}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1761.78}, "cpsat_response_stats": {"num_booleans": 2791, "num_conflicts": 826, "num_branches": 18196, "num_binary_propagations": 1045314, "num_integer_propagations": 528080, "num_restarts": 6, "wall_time": 1.7604, "user_time": 1.7604, "deterministic_time": 2.0476}, "solution_info": "quick_restart_no_lp", "problem_sha256": "45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32597.8}, "cpsat_response_stats": {"num_booleans": 16498, "num_conflicts": 15039, "num_branches": 170009, "num_binary_propagations": 16208600, "num_integer_propagations": 6206571, "num_restarts": 135, "wall_time": 32.5913, "user_time": 32.5913, "deterministic_time": 88.9703}, "solution_info": "no_lp", "problem_sha256": "46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3311.66}, "cpsat_response_stats": {"num_booleans": 1785, "num_integers": 466, "num_fixed_booleans": 50, "num_conflicts": 303, "num_branches": 10282, "num_binary_propagations": 415999, "num_integer_propagations": 213023, "num_restarts": 1, "num_lp_iterations": 239, "wall_time": 3.30706, "user_time": 3.30706, "deterministic_time": 2.27321, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44637}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.07}, "cpsat_response_stats": {"num_booleans": 5408, "num_conflicts": 1980, "num_branches": 44483, "num_binary_propagations": 3150386, "num_integer_propagations": 1307464, "num_restarts": 18, "wall_time": 3.26093, "user_time": 3.26093, "deterministic_time": 6.892}, "solution_info": "fs_random_no_lp", "problem_sha256": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380120.0}, "cpsat_response_stats": {"num_booleans": 36217, "num_conflicts": 498838, "num_branches": 1688437, "num_binary_propagations": 773107760, "num_integer_propagations": 152021540, "num_restarts": 1585, "wall_time": 1380.11, "user_time": 1380.11, "deterministic_time": 4132.21}, "solution_info": "no_lp", "problem_sha256": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58090}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.92}, "cpsat_response_stats": {"num_booleans": 6194, "num_conflicts": 2044, "num_branches": 54259, "num_binary_propagations": 3721113, "num_integer_propagations": 1528990, "num_restarts": 18, "wall_time": 3.96189, "user_time": 3.96189, "deterministic_time": 8.29502}, "solution_info": "default_lp", "problem_sha256": "496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3526, "num_bool": 2381, "num_int": 1145, "num_constraints": 41425, "constraint_breakdown": {"at_most_one": 189, "linear": 16915, "bool_or": 14381, "bool_and": 9940}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4810.32}, "cpsat_response_stats": {"num_booleans": 5240, "num_integers": 1037, "num_fixed_booleans": 473, "num_conflicts": 1252, "num_branches": 42558, "num_binary_propagations": 1957383, "num_integer_propagations": 851535, "num_restarts": 6, "num_lp_iterations": 6661, "wall_time": 4.79915, "user_time": 4.79915, "deterministic_time": 7.70899, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 51858, "constraint_breakdown": {"at_most_one": 215, "linear": 22392, "bool_or": 17514, "bool_and": 11737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8176.08}, "cpsat_response_stats": {"num_booleans": 7165, "num_integers": 1243, "num_fixed_booleans": 126, "num_conflicts": 2546, "num_branches": 59699, "num_binary_propagations": 3665901, "num_integer_propagations": 1576243, "num_restarts": 18, "num_lp_iterations": 29063, "wall_time": 8.16516, "user_time": 8.16516, "deterministic_time": 8.33407, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 869, "num_int": 448, "num_constraints": 14660, "constraint_breakdown": {"at_most_one": 77, "linear": 5927, "bool_or": 5120, "bool_and": 3536}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 445.985}, "cpsat_response_stats": {"num_booleans": 708, "num_integers": 266, "num_fixed_booleans": 22, "num_conflicts": 107, "num_branches": 3158, "num_binary_propagations": 156670, "num_integer_propagations": 93672, "num_restarts": 1, "num_lp_iterations": 89, "wall_time": 0.444766, "user_time": 0.444766, "deterministic_time": 0.297181, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49290}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4210.68}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 3008, "num_branches": 60246, "num_binary_propagations": 2979437, "num_integer_propagations": 1260538, "num_restarts": 35, "wall_time": 4.20596, "user_time": 4.20596, "deterministic_time": 8.15272}, "solution_info": "default_lp", "problem_sha256": "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1783, "num_int": 788, "num_constraints": 29248, "constraint_breakdown": {"at_most_one": 133, "linear": 12340, "bool_or": 9996, "bool_and": 6779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2137.43}, "cpsat_response_stats": {"num_booleans": 2925, "num_integers": 661, "num_fixed_booleans": 75, "num_conflicts": 904, "num_branches": 18832, "num_binary_propagations": 1124029, "num_integer_propagations": 521434, "num_restarts": 6, "num_lp_iterations": 3247, "wall_time": 2.12997, "user_time": 2.12997, "deterministic_time": 2.15797, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3021.82}, "cpsat_response_stats": {"num_booleans": 5387, "num_conflicts": 2499, "num_branches": 49481, "num_binary_propagations": 2735742, "num_integer_propagations": 1191031, "num_restarts": 18, "wall_time": 3.01883, "user_time": 3.01883, "deterministic_time": 6.34042}, "solution_info": "default_lp", "problem_sha256": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5044}, "cpsat_response_stats": {"num_booleans": 2833, "num_integers": 612, "num_fixed_booleans": 67, "num_conflicts": 795, "num_branches": 16032, "num_binary_propagations": 673817, "num_integer_propagations": 340109, "num_restarts": 6, "num_lp_iterations": 2493, "wall_time": 5.03826, "user_time": 5.03826, "deterministic_time": 4.34903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 26958, "constraint_breakdown": {"at_most_one": 133, "linear": 10767, "bool_or": 9444, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4414.12}, "cpsat_response_stats": {"num_booleans": 2430, "num_integers": 604, "num_fixed_booleans": 68, "num_conflicts": 364, "num_branches": 13035, "num_binary_propagations": 552071, "num_integer_propagations": 293727, "num_restarts": 3, "num_lp_iterations": 731, "wall_time": 4.40803, "user_time": 4.40803, "deterministic_time": 3.54087, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2330, "num_bool": 1531, "num_int": 799, "num_constraints": 27198, "constraint_breakdown": {"at_most_one": 133, "linear": 10929, "bool_or": 9522, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3844.03}, "cpsat_response_stats": {"num_booleans": 2512, "num_integers": 596, "num_fixed_booleans": 235, "num_conflicts": 495, "num_branches": 12992, "num_binary_propagations": 761431, "num_integer_propagations": 374563, "num_restarts": 3, "num_lp_iterations": 763, "wall_time": 3.83919, "user_time": 3.83919, "deterministic_time": 2.81166, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3107.88}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.10583, "user_time": 3.10583, "deterministic_time": 5.32494}, "solution_info": "quick_restart", "problem_sha256": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94141}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14327.9}, "cpsat_response_stats": {"num_booleans": 13002, "num_conflicts": 11425, "num_branches": 111123, "num_binary_propagations": 12596212, "num_integer_propagations": 3817156, "num_restarts": 90, "wall_time": 14.3225, "user_time": 14.3225, "deterministic_time": 46.945}, "solution_info": "no_lp", "problem_sha256": "4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14481}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 305.266}, "cpsat_response_stats": {"num_booleans": 735, "num_conflicts": 111, "num_branches": 3720, "num_binary_propagations": 160418, "num_integer_propagations": 101919, "num_restarts": 1, "wall_time": 0.304553, "user_time": 0.304553, "deterministic_time": 0.3288}, "solution_info": "quick_restart_no_lp", "problem_sha256": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5114, "num_bool": 3610, "num_int": 1504, "num_constraints": 58789, "constraint_breakdown": {"at_most_one": 249, "linear": 24537, "bool_or": 20253, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5857.53}, "cpsat_response_stats": {"num_booleans": 6432, "num_integers": 1327, "num_fixed_booleans": 749, "num_conflicts": 1724, "num_branches": 50485, "num_binary_propagations": 3154978, "num_integer_propagations": 1415945, "num_restarts": 9, "num_lp_iterations": 13484, "wall_time": 5.84763, "user_time": 5.84763, "deterministic_time": 8.03885, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3216.8}, "cpsat_response_stats": {"num_booleans": 5393, "num_conflicts": 1153, "num_branches": 40430, "num_binary_propagations": 2599295, "num_integer_propagations": 1084690, "num_restarts": 9, "wall_time": 3.21505, "user_time": 3.21505, "deterministic_time": 6.91569}, "solution_info": "default_lp", "problem_sha256": "5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30292}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1799.35}, "cpsat_response_stats": {"num_booleans": 2442, "num_conflicts": 699, "num_branches": 15185, "num_binary_propagations": 1221574, "num_integer_propagations": 758606, "num_restarts": 3, "wall_time": 1.79839, "user_time": 1.79839, "deterministic_time": 2.55558}, "solution_info": "quick_restart", "problem_sha256": "5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9137.48}, "cpsat_response_stats": {"num_booleans": 11965, "num_conflicts": 5533, "num_branches": 109722, "num_binary_propagations": 8413908, "num_integer_propagations": 2896401, "num_restarts": 51, "wall_time": 9.13361, "user_time": 9.13361, "deterministic_time": 24.3041}, "solution_info": "default_lp", "problem_sha256": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58639}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4951.53}, "cpsat_response_stats": {"num_booleans": 6939, "num_conflicts": 2474, "num_branches": 50561, "num_binary_propagations": 4551626, "num_integer_propagations": 1858271, "num_restarts": 20, "wall_time": 4.94701, "user_time": 4.94701, "deterministic_time": 8.24999}, "solution_info": "no_lp", "problem_sha256": "5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 30473, "constraint_breakdown": {"at_most_one": 135, "linear": 13057, "bool_or": 10322, "bool_and": 6959}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2600.23}, "cpsat_response_stats": {"num_booleans": 2466, "num_integers": 598, "num_fixed_booleans": 72, "num_conflicts": 686, "num_branches": 15497, "num_binary_propagations": 1012111, "num_integer_propagations": 497333, "num_restarts": 3, "num_lp_iterations": 1975, "wall_time": 2.58577, "user_time": 2.58577, "deterministic_time": 2.07778, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4129.05}, "cpsat_response_stats": {"num_booleans": 6510, "num_conflicts": 1937, "num_branches": 57423, "num_binary_propagations": 3988739, "num_integer_propagations": 1733389, "num_restarts": 15, "wall_time": 4.1255, "user_time": 4.1255, "deterministic_time": 8.30293}, "solution_info": "default_lp", "problem_sha256": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 33949, "constraint_breakdown": {"at_most_one": 161, "linear": 13438, "bool_or": 12092, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3091.2}, "cpsat_response_stats": {"num_booleans": 3468, "num_integers": 733, "num_fixed_booleans": 419, "num_conflicts": 1072, "num_branches": 27025, "num_binary_propagations": 1289785, "num_integer_propagations": 557187, "num_restarts": 6, "num_lp_iterations": 6202, "wall_time": 3.08385, "user_time": 3.08385, "deterministic_time": 2.68433, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4354.72}, "cpsat_response_stats": {"num_booleans": 6457, "num_conflicts": 4442, "num_branches": 51709, "num_binary_propagations": 4135504, "num_integer_propagations": 1615413, "num_restarts": 36, "wall_time": 4.3525, "user_time": 4.3525, "deterministic_time": 7.15852}, "solution_info": "fs_random_no_lp", "problem_sha256": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5903.16}, "cpsat_response_stats": {"num_booleans": 4616, "num_integers": 983, "num_fixed_booleans": 108, "num_conflicts": 532, "num_branches": 30142, "num_binary_propagations": 1181170, "num_integer_propagations": 513120, "num_restarts": 3, "num_lp_iterations": 3391, "wall_time": 5.88481, "user_time": 5.88481, "deterministic_time": 6.48306, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11165.7}, "cpsat_response_stats": {"num_booleans": 7759, "num_integers": 1359, "num_fixed_booleans": 345, "num_conflicts": 3701, "num_branches": 72784, "num_binary_propagations": 4400308, "num_integer_propagations": 1840205, "num_restarts": 27, "num_lp_iterations": 48721, "wall_time": 11.1528, "user_time": 11.1528, "deterministic_time": 13.4906, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4481100.0}, "cpsat_response_stats": {"num_booleans": 39595, "num_integers": 4937, "num_fixed_booleans": 1515, "num_conflicts": 891686, "num_branches": 3512483, "num_binary_propagations": 1239961259, "num_integer_propagations": 304654974, "num_restarts": 3452, "num_lp_iterations": 27799834, "wall_time": 4481.03, "user_time": 4481.03, "deterministic_time": 7757.25, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19373, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6807, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 969.978}, "cpsat_response_stats": {"num_booleans": 1423, "num_integers": 368, "num_fixed_booleans": 55, "num_conflicts": 248, "num_branches": 7114, "num_binary_propagations": 321268, "num_integer_propagations": 160419, "num_restarts": 1, "num_lp_iterations": 111, "wall_time": 0.968558, "user_time": 0.968559, "deterministic_time": 0.652094, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4231.64}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.22822, "user_time": 4.22822, "deterministic_time": 7.95616}, "solution_info": "quick_restart_no_lp", "problem_sha256": "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3337.57}, "cpsat_response_stats": {"num_booleans": 2916, "num_integers": 649, "num_fixed_booleans": 168, "num_conflicts": 801, "num_branches": 17137, "num_binary_propagations": 949189, "num_integer_propagations": 461149, "num_restarts": 3, "num_lp_iterations": 1998, "wall_time": 3.33172, "user_time": 3.33172, "deterministic_time": 3.11203, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12685.6}, "cpsat_response_stats": {"num_booleans": 9184, "num_integers": 1680, "num_fixed_booleans": 213, "num_conflicts": 2679, "num_branches": 103365, "num_binary_propagations": 3888429, "num_integer_propagations": 1823211, "num_restarts": 30, "num_lp_iterations": 51432, "wall_time": 12.6691, "user_time": 12.6691, "deterministic_time": 14.722, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26307}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1079.47}, "cpsat_response_stats": {"num_booleans": 3237, "num_conflicts": 1269, "num_branches": 28923, "num_binary_propagations": 854241, "num_integer_propagations": 399720, "num_restarts": 9, "wall_time": 1.07836, "user_time": 1.07836, "deterministic_time": 1.56722}, "solution_info": "quick_restart", "problem_sha256": "597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 105.102}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.104788, "user_time": 0.104788, "deterministic_time": 0.0895648}, "solution_info": "no_lp", "problem_sha256": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58639}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3841.35}, "cpsat_response_stats": {"num_booleans": 7038, "num_conflicts": 1311, "num_branches": 55094, "num_binary_propagations": 3742715, "num_integer_propagations": 1575336, "num_restarts": 9, "wall_time": 3.83622, "user_time": 3.83622, "deterministic_time": 8.26568}, "solution_info": "default_lp", "problem_sha256": "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20738, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7166, "bool_and": 4877}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1158.32}, "cpsat_response_stats": {"num_booleans": 1746, "num_integers": 459, "num_fixed_booleans": 49, "num_conflicts": 353, "num_branches": 9988, "num_binary_propagations": 449533, "num_integer_propagations": 230653, "num_restarts": 3, "num_lp_iterations": 615, "wall_time": 1.15683, "user_time": 1.15683, "deterministic_time": 0.909669, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10133.3}, "cpsat_response_stats": {"num_booleans": 9430, "num_conflicts": 4204, "num_branches": 96355, "num_binary_propagations": 4602227, "num_integer_propagations": 1948703, "num_restarts": 48, "wall_time": 10.13, "user_time": 10.13, "deterministic_time": 23.0398}, "solution_info": "default_lp", "problem_sha256": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85727, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29303, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19871.1}, "cpsat_response_stats": {"num_booleans": 11813, "num_integers": 2018, "num_fixed_booleans": 298, "num_conflicts": 11530, "num_branches": 108844, "num_binary_propagations": 11531709, "num_integer_propagations": 3723841, "num_restarts": 90, "num_lp_iterations": 155261, "wall_time": 19.8573, "user_time": 19.8573, "deterministic_time": 32.3834, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4812, "num_bool": 3325, "num_int": 1487, "num_constraints": 56624, "constraint_breakdown": {"at_most_one": 245, "linear": 23685, "bool_or": 19414, "bool_and": 13280}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6474.67}, "cpsat_response_stats": {"num_booleans": 6764, "num_integers": 1392, "num_fixed_booleans": 139, "num_conflicts": 1458, "num_branches": 52985, "num_binary_propagations": 3474698, "num_integer_propagations": 1512590, "num_restarts": 12, "num_lp_iterations": 16950, "wall_time": 6.46598, "user_time": 6.46598, "deterministic_time": 8.2366, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7406.27}, "cpsat_response_stats": {"num_booleans": 7068, "num_integers": 1389, "num_fixed_booleans": 141, "num_conflicts": 3399, "num_branches": 58637, "num_binary_propagations": 3228394, "num_integer_propagations": 1400632, "num_restarts": 38, "num_lp_iterations": 38934, "wall_time": 7.3957, "user_time": 7.3957, "deterministic_time": 7.80385, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 670.551}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.669336, "user_time": 0.669336, "deterministic_time": 0.780983}, "solution_info": "quick_restart", "problem_sha256": "5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 27265, "constraint_breakdown": {"at_most_one": 133, "linear": 10798, "bool_or": 9601, "bool_and": 6733}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4029.71}, "cpsat_response_stats": {"num_booleans": 2868, "num_integers": 637, "num_fixed_booleans": 71, "num_conflicts": 422, "num_branches": 16484, "num_binary_propagations": 682321, "num_integer_propagations": 323261, "num_restarts": 3, "num_lp_iterations": 1465, "wall_time": 4.01685, "user_time": 4.01685, "deterministic_time": 2.60462, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42739}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3438.95}, "cpsat_response_stats": {"num_booleans": 4945, "num_conflicts": 1428, "num_branches": 46037, "num_binary_propagations": 2327466, "num_integer_propagations": 994210, "num_restarts": 12, "wall_time": 3.43749, "user_time": 3.43749, "deterministic_time": 7.29287}, "solution_info": "no_lp", "problem_sha256": "5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 37830, "constraint_breakdown": {"at_most_one": 188, "linear": 14589, "bool_or": 13460, "bool_and": 9593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6061.9}, "cpsat_response_stats": {"num_booleans": 9967, "num_integers": 971, "num_fixed_booleans": 118, "num_conflicts": 6561, "num_branches": 61517, "num_binary_propagations": 2573608, "num_integer_propagations": 985029, "num_restarts": 18, "num_lp_iterations": 23377, "wall_time": 6.0531, "user_time": 6.0531, "deterministic_time": 7.28667, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 61648, "constraint_breakdown": {"at_most_one": 300, "linear": 23701, "bool_or": 21958, "bool_and": 15689}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32885.9}, "cpsat_response_stats": {"num_booleans": 10138, "num_integers": 1662, "num_fixed_booleans": 274, "num_conflicts": 9305, "num_branches": 123328, "num_binary_propagations": 6487781, "num_integer_propagations": 2913619, "num_restarts": 81, "num_lp_iterations": 121430, "wall_time": 32.8604, "user_time": 32.8604, "deterministic_time": 32.1626, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1979, "num_bool": 1377, "num_int": 602, "num_constraints": 21981, "constraint_breakdown": {"at_most_one": 104, "linear": 9343, "bool_or": 7511, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6436.58}, "cpsat_response_stats": {"num_booleans": 1643, "num_integers": 453, "num_fixed_booleans": 47, "num_conflicts": 436, "num_branches": 9745, "num_binary_propagations": 599806, "num_integer_propagations": 293690, "num_restarts": 3, "num_lp_iterations": 813, "wall_time": 6.4326, "user_time": 6.4326, "deterministic_time": 1.9513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3508.55}, "cpsat_response_stats": {"num_booleans": 3365, "num_integers": 747, "num_fixed_booleans": 110, "num_conflicts": 857, "num_branches": 24069, "num_binary_propagations": 1267210, "num_integer_propagations": 535985, "num_restarts": 6, "num_lp_iterations": 4136, "wall_time": 3.50208, "user_time": 3.50208, "deterministic_time": 3.39139, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42739}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4085.09}, "cpsat_response_stats": {"num_booleans": 8905, "num_conflicts": 5788, "num_branches": 70467, "num_binary_propagations": 2857668, "num_integer_propagations": 1282433, "num_restarts": 19, "wall_time": 4.08368, "user_time": 4.08368, "deterministic_time": 7.30942}, "solution_info": "no_lp", "problem_sha256": "6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44889}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.15}, "cpsat_response_stats": {"num_booleans": 5018, "num_conflicts": 1334, "num_branches": 41508, "num_binary_propagations": 2778278, "num_integer_propagations": 1247988, "num_restarts": 12, "wall_time": 3.90672, "user_time": 3.90672, "deterministic_time": 6.01053}, "solution_info": "fs_random_no_lp", "problem_sha256": "612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11005.1}, "cpsat_response_stats": {"num_booleans": 7401, "num_integers": 1416, "num_fixed_booleans": 179, "num_conflicts": 2742, "num_branches": 65991, "num_binary_propagations": 3957020, "num_integer_propagations": 1731493, "num_restarts": 27, "num_lp_iterations": 44635, "wall_time": 10.9931, "user_time": 10.9931, "deterministic_time": 14.2197, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4069.74}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.06692, "user_time": 4.06692, "deterministic_time": 7.95576}, "solution_info": "quick_restart_no_lp", "problem_sha256": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 14603, "constraint_breakdown": {"at_most_one": 77, "linear": 5899, "bool_or": 5091, "bool_and": 3536}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 518.256}, "cpsat_response_stats": {"num_booleans": 840, "num_integers": 272, "num_fixed_booleans": 29, "num_conflicts": 222, "num_branches": 4388, "num_binary_propagations": 159373, "num_integer_propagations": 100047, "num_restarts": 3, "num_lp_iterations": 2862, "wall_time": 0.517281, "user_time": 0.517281, "deterministic_time": 0.312387, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3194.54}, "cpsat_response_stats": {"num_booleans": 2521, "num_integers": 610, "num_fixed_booleans": 87, "num_conflicts": 601, "num_branches": 16127, "num_binary_propagations": 914696, "num_integer_propagations": 449479, "num_restarts": 3, "num_lp_iterations": 2098, "wall_time": 3.18728, "user_time": 3.18728, "deterministic_time": 2.75747, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2893.75}, "cpsat_response_stats": {"num_booleans": 1933, "num_integers": 474, "num_fixed_booleans": 55, "num_conflicts": 382, "num_branches": 10557, "num_binary_propagations": 472961, "num_integer_propagations": 227459, "num_restarts": 3, "num_lp_iterations": 448, "wall_time": 2.8891, "user_time": 2.8891, "deterministic_time": 2.23047, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 43015, "constraint_breakdown": {"at_most_one": 191, "linear": 17867, "bool_or": 14791, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6785.44}, "cpsat_response_stats": {"num_booleans": 4671, "num_integers": 982, "num_fixed_booleans": 99, "num_conflicts": 1010, "num_branches": 38777, "num_binary_propagations": 1872465, "num_integer_propagations": 875450, "num_restarts": 9, "num_lp_iterations": 10049, "wall_time": 6.77757, "user_time": 6.77757, "deterministic_time": 6.0984, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5707370.0}, "cpsat_response_stats": {"num_booleans": 35693, "num_integers": 4939, "num_fixed_booleans": 1395, "num_conflicts": 1489558, "num_branches": 5574793, "num_binary_propagations": 1928527875, "num_integer_propagations": 481837838, "num_restarts": 6126, "num_lp_iterations": 36365330, "wall_time": 5707.34, "user_time": 5707.34, "deterministic_time": 10405.8, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1575.51}, "cpsat_response_stats": {"num_booleans": 1339, "num_integers": 355, "num_fixed_booleans": 47, "num_conflicts": 260, "num_branches": 7247, "num_binary_propagations": 311429, "num_integer_propagations": 153672, "num_restarts": 1, "num_lp_iterations": 255, "wall_time": 1.57354, "user_time": 1.57354, "deterministic_time": 1.11017, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10407, "num_bool": 7751, "num_int": 2656, "num_constraints": 117505, "constraint_breakdown": {"at_most_one": 443, "linear": 51483, "bool_or": 39529, "bool_and": 26050}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 60117.3}, "cpsat_response_stats": {"num_booleans": 17513, "num_integers": 2660, "num_fixed_booleans": 1282, "num_conflicts": 29456, "num_branches": 160280, "num_binary_propagations": 36041087, "num_integer_propagations": 8892996, "num_restarts": 156, "num_lp_iterations": 499299, "wall_time": 60.0958, "user_time": 60.0958, "deterministic_time": 136.939, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3208.92}, "cpsat_response_stats": {"num_booleans": 4386, "num_conflicts": 839, "num_branches": 29713, "num_binary_propagations": 1732122, "num_integer_propagations": 738116, "num_restarts": 6, "wall_time": 3.20745, "user_time": 3.20745, "deterministic_time": 4.43972}, "solution_info": "quick_restart_no_lp", "problem_sha256": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3104.21}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.1019, "user_time": 3.1019, "deterministic_time": 6.06734}, "solution_info": "no_lp", "problem_sha256": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 112.046}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.111736, "user_time": 0.111736, "deterministic_time": 0.0896132}, "solution_info": "no_lp", "problem_sha256": "67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1924, "num_int": 789, "num_constraints": 30412, "constraint_breakdown": {"at_most_one": 134, "linear": 13055, "bool_or": 10317, "bool_and": 6906}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1796.49}, "cpsat_response_stats": {"num_booleans": 2440, "num_integers": 594, "num_fixed_booleans": 395, "num_conflicts": 624, "num_branches": 12812, "num_binary_propagations": 924129, "num_integer_propagations": 413763, "num_restarts": 3, "num_lp_iterations": 816, "wall_time": 1.79398, "user_time": 1.79398, "deterministic_time": 1.73543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 737.151}, "cpsat_response_stats": {"num_booleans": 828, "num_integers": 286, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 22, "wall_time": 0.736233, "user_time": 0.736233, "deterministic_time": 0.216815, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:180'910} gen{mvs:67'347 evals:0} comp{mvs:15'573 btracks:25'887} #w_updates:123 #perturb:0)", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57490}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6172.22}, "cpsat_response_stats": {"num_booleans": 7518, "num_conflicts": 2870, "num_branches": 62515, "num_binary_propagations": 4397768, "num_integer_propagations": 1679969, "num_restarts": 30, "wall_time": 6.17024, "user_time": 6.17024, "deterministic_time": 14.731}, "solution_info": "no_lp", "problem_sha256": "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1266, "num_int": 598, "num_constraints": 20886, "constraint_breakdown": {"at_most_one": 103, "linear": 8638, "bool_or": 7236, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2019.3}, "cpsat_response_stats": {"num_booleans": 1921, "num_integers": 465, "num_fixed_booleans": 55, "num_conflicts": 646, "num_branches": 10998, "num_binary_propagations": 629233, "num_integer_propagations": 296497, "num_restarts": 6, "num_lp_iterations": 1123, "wall_time": 2.01433, "user_time": 2.01433, "deterministic_time": 1.23111, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 45445, "constraint_breakdown": {"at_most_one": 191, "linear": 19313, "bool_or": 15589, "bool_and": 10352}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5416.5}, "cpsat_response_stats": {"num_booleans": 6427, "num_integers": 969, "num_fixed_booleans": 567, "num_conflicts": 4557, "num_branches": 49531, "num_binary_propagations": 3998309, "num_integer_propagations": 1334326, "num_restarts": 15, "num_lp_iterations": 23291, "wall_time": 5.40716, "user_time": 5.40716, "deterministic_time": 6.7395, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20822, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7210, "bool_and": 4889}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1065.54}, "cpsat_response_stats": {"num_booleans": 1734, "num_integers": 457, "num_fixed_booleans": 58, "num_conflicts": 365, "num_branches": 9195, "num_binary_propagations": 513160, "num_integer_propagations": 216686, "num_restarts": 1, "num_lp_iterations": 188, "wall_time": 1.06445, "user_time": 1.06445, "deterministic_time": 0.956687, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7410.33}, "cpsat_response_stats": {"num_booleans": 7016, "num_integers": 1426, "num_fixed_booleans": 136, "num_conflicts": 1826, "num_branches": 58107, "num_binary_propagations": 3257086, "num_integer_propagations": 1501456, "num_restarts": 18, "num_lp_iterations": 30413, "wall_time": 7.39812, "user_time": 7.39812, "deterministic_time": 7.78839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1938, "num_int": 798, "num_constraints": 30419, "constraint_breakdown": {"at_most_one": 135, "linear": 12847, "bool_or": 10433, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1883.75}, "cpsat_response_stats": {"num_booleans": 2541, "num_integers": 597, "num_fixed_booleans": 294, "num_conflicts": 782, "num_branches": 13357, "num_binary_propagations": 1061834, "num_integer_propagations": 470531, "num_restarts": 3, "num_lp_iterations": 801, "wall_time": 1.87956, "user_time": 1.87956, "deterministic_time": 2.07542, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2288, "num_int": 938, "num_constraints": 36510, "constraint_breakdown": {"at_most_one": 159, "linear": 15668, "bool_or": 12396, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6126.11}, "cpsat_response_stats": {"num_booleans": 4096, "num_integers": 869, "num_fixed_booleans": 220, "num_conflicts": 1106, "num_branches": 29478, "num_binary_propagations": 1809516, "num_integer_propagations": 831685, "num_restarts": 6, "num_lp_iterations": 5263, "wall_time": 6.10785, "user_time": 6.10785, "deterministic_time": 6.1997, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14485}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 324.559}, "cpsat_response_stats": {"num_booleans": 926, "num_conflicts": 373, "num_branches": 4195, "num_binary_propagations": 242989, "num_integer_propagations": 131278, "num_restarts": 3, "wall_time": 0.32408, "user_time": 0.32408, "deterministic_time": 0.359571}, "solution_info": "fs_random", "problem_sha256": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1411.02}, "cpsat_response_stats": {"num_booleans": 2466, "num_conflicts": 619, "num_branches": 15735, "num_binary_propagations": 1018146, "num_integer_propagations": 475354, "num_restarts": 3, "wall_time": 1.40969, "user_time": 1.40969, "deterministic_time": 2.30004}, "solution_info": "quick_restart", "problem_sha256": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58433}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5580.53}, "cpsat_response_stats": {"num_booleans": 7290, "num_conflicts": 3493, "num_branches": 67375, "num_binary_propagations": 4697867, "num_integer_propagations": 1882543, "num_restarts": 36, "wall_time": 5.57758, "user_time": 5.57758, "deterministic_time": 15.4415}, "solution_info": "default_lp", "problem_sha256": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6042}, "cpsat_response_stats": {"num_booleans": 5505, "num_integers": 1038, "num_fixed_booleans": 101, "num_conflicts": 1848, "num_branches": 42404, "num_binary_propagations": 2745280, "num_integer_propagations": 1193247, "num_restarts": 15, "num_lp_iterations": 14157, "wall_time": 6.03281, "user_time": 6.03281, "deterministic_time": 6.50539, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2330, "num_bool": 1531, "num_int": 799, "num_constraints": 27198, "constraint_breakdown": {"at_most_one": 133, "linear": 10929, "bool_or": 9522, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3936.7}, "cpsat_response_stats": {"num_booleans": 2480, "num_integers": 596, "num_fixed_booleans": 207, "num_conflicts": 483, "num_branches": 13168, "num_binary_propagations": 742136, "num_integer_propagations": 376936, "num_restarts": 3, "num_lp_iterations": 675, "wall_time": 3.93138, "user_time": 3.93138, "deterministic_time": 3.35132, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3846.75}, "cpsat_response_stats": {"num_booleans": 3619, "num_integers": 740, "num_fixed_booleans": 115, "num_conflicts": 1124, "num_branches": 35050, "num_binary_propagations": 1339139, "num_integer_propagations": 598705, "num_restarts": 7, "num_lp_iterations": 4417, "wall_time": 3.83978, "user_time": 3.83978, "deterministic_time": 3.48767, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37492}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3668.23}, "cpsat_response_stats": {"num_booleans": 9961, "num_conflicts": 2201, "num_branches": 73048, "num_binary_propagations": 1755454, "num_integer_propagations": 864123, "num_restarts": 10, "wall_time": 3.66583, "user_time": 3.66583, "deterministic_time": 6.85616}, "solution_info": "fs_random", "problem_sha256": "7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26295}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1074.74}, "cpsat_response_stats": {"num_booleans": 2583, "num_conflicts": 341, "num_branches": 14652, "num_binary_propagations": 660181, "num_integer_propagations": 302109, "num_restarts": 1, "wall_time": 1.07394, "user_time": 1.07394, "deterministic_time": 1.45079}, "solution_info": "quick_restart_no_lp", "problem_sha256": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4758.69}, "cpsat_response_stats": {"num_booleans": 4741, "num_integers": 827, "num_fixed_booleans": 402, "num_conflicts": 1937, "num_branches": 30801, "num_binary_propagations": 1457588, "num_integer_propagations": 597220, "num_restarts": 18, "num_lp_iterations": 10778, "wall_time": 4.7526, "user_time": 4.7526, "deterministic_time": 4.63674, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63705}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12843.4}, "cpsat_response_stats": {"num_booleans": 10200, "num_conflicts": 9041, "num_branches": 126376, "num_binary_propagations": 7531566, "num_integer_propagations": 3004563, "num_restarts": 87, "wall_time": 12.8393, "user_time": 12.8393, "deterministic_time": 31.9076}, "solution_info": "default_lp", "problem_sha256": "728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58108}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5357.91}, "cpsat_response_stats": {"num_booleans": 6783, "num_conflicts": 1981, "num_branches": 54661, "num_binary_propagations": 3817197, "num_integer_propagations": 1609507, "num_restarts": 15, "wall_time": 5.35437, "user_time": 5.35437, "deterministic_time": 8.33971}, "solution_info": "default_lp", "problem_sha256": "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 19452, "constraint_breakdown": {"at_most_one": 102, "linear": 7566, "bool_or": 6919, "bool_and": 4865}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1401.03}, "cpsat_response_stats": {"num_booleans": 1711, "num_integers": 465, "num_fixed_booleans": 52, "num_conflicts": 283, "num_branches": 8914, "num_binary_propagations": 366012, "num_integer_propagations": 174210, "num_restarts": 2, "num_lp_iterations": 576, "wall_time": 1.39951, "user_time": 1.39951, "deterministic_time": 1.00189, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2149, "num_int": 951, "num_constraints": 34071, "constraint_breakdown": {"at_most_one": 161, "linear": 13494, "bool_or": 12158, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2078.5}, "cpsat_response_stats": {"num_booleans": 3144, "num_integers": 729, "num_fixed_booleans": 1715, "num_conflicts": 567, "num_branches": 13553, "num_binary_propagations": 643522, "num_integer_propagations": 282680, "num_restarts": 2, "num_lp_iterations": 319, "wall_time": 2.07576, "user_time": 2.07576, "deterministic_time": 1.50231, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45114}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3569.97}, "cpsat_response_stats": {"num_booleans": 5941, "num_conflicts": 4115, "num_branches": 60998, "num_binary_propagations": 3973699, "num_integer_propagations": 1344114, "num_restarts": 14, "wall_time": 3.56776, "user_time": 3.56776, "deterministic_time": 6.88747}, "solution_info": "fs_random_no_lp", "problem_sha256": "744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58438, "constraint_breakdown": {"at_most_one": 249, "linear": 24322, "bool_or": 20117, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9298.88}, "cpsat_response_stats": {"num_booleans": 6587, "num_integers": 1358, "num_fixed_booleans": 378, "num_conflicts": 1320, "num_branches": 43497, "num_binary_propagations": 3062944, "num_integer_propagations": 1348134, "num_restarts": 6, "num_lp_iterations": 10342, "wall_time": 9.27655, "user_time": 9.27655, "deterministic_time": 8.21765, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3375, "num_bool": 2442, "num_int": 933, "num_constraints": 37535, "constraint_breakdown": {"at_most_one": 160, "linear": 16353, "bool_or": 12654, "bool_and": 8368}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3310.99}, "cpsat_response_stats": {"num_booleans": 4038, "num_integers": 788, "num_fixed_booleans": 847, "num_conflicts": 1284, "num_branches": 21599, "num_binary_propagations": 1791487, "num_integer_propagations": 708600, "num_restarts": 6, "num_lp_iterations": 2213, "wall_time": 3.30278, "user_time": 3.30278, "deterministic_time": 3.05343, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3072.18}, "cpsat_response_stats": {"num_booleans": 2588, "num_conflicts": 299, "num_branches": 14001, "num_binary_propagations": 574297, "num_integer_propagations": 257383, "num_restarts": 1, "wall_time": 3.07056, "user_time": 3.07056, "deterministic_time": 5.90394}, "solution_info": "default_lp", "problem_sha256": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5087, "num_bool": 3592, "num_int": 1495, "num_constraints": 59195, "constraint_breakdown": {"at_most_one": 247, "linear": 25132, "bool_or": 20160, "bool_and": 13656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5812.56}, "cpsat_response_stats": {"num_booleans": 6819, "num_integers": 1377, "num_fixed_booleans": 135, "num_conflicts": 2816, "num_branches": 52241, "num_binary_propagations": 4238756, "num_integer_propagations": 1690774, "num_restarts": 29, "num_lp_iterations": 29628, "wall_time": 5.79991, "user_time": 5.79991, "deterministic_time": 8.45404, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 56476, "constraint_breakdown": {"at_most_one": 245, "linear": 23503, "bool_or": 19367, "bool_and": 13361}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12361.7}, "cpsat_response_stats": {"num_booleans": 13818, "num_integers": 1483, "num_fixed_booleans": 559, "num_conflicts": 8813, "num_branches": 120664, "num_binary_propagations": 5323157, "num_integer_propagations": 2133573, "num_restarts": 22, "num_lp_iterations": 76146, "wall_time": 12.3501, "user_time": 12.3501, "deterministic_time": 14.9513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85855, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29431, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14663.3}, "cpsat_response_stats": {"num_booleans": 11657, "num_integers": 1986, "num_fixed_booleans": 272, "num_conflicts": 6845, "num_branches": 87740, "num_binary_propagations": 9268770, "num_integer_propagations": 2778536, "num_restarts": 53, "num_lp_iterations": 86691, "wall_time": 14.6475, "user_time": 14.6475, "deterministic_time": 24.6145, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3276.46}, "cpsat_response_stats": {"num_booleans": 4387, "num_conflicts": 709, "num_branches": 29850, "num_binary_propagations": 1662157, "num_integer_propagations": 718337, "num_restarts": 3, "wall_time": 3.27493, "user_time": 3.27493, "deterministic_time": 5.10741}, "solution_info": "fs_random_no_lp", "problem_sha256": "79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3195.98}, "cpsat_response_stats": {"num_booleans": 2904, "num_integers": 678, "num_fixed_booleans": 67, "num_conflicts": 542, "num_branches": 18144, "num_binary_propagations": 904311, "num_integer_propagations": 459113, "num_restarts": 3, "num_lp_iterations": 1217, "wall_time": 3.19074, "user_time": 3.19074, "deterministic_time": 3.25983, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30288}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1216.52}, "cpsat_response_stats": {"num_booleans": 2497, "num_conflicts": 808, "num_branches": 15391, "num_binary_propagations": 1242902, "num_integer_propagations": 595451, "num_restarts": 6, "wall_time": 1.21526, "user_time": 1.21526, "deterministic_time": 2.11419}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40569}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3598.47}, "cpsat_response_stats": {"num_booleans": 4997, "num_conflicts": 1142, "num_branches": 39320, "num_binary_propagations": 2036636, "num_integer_propagations": 913071, "num_restarts": 12, "wall_time": 3.59562, "user_time": 3.59562, "deterministic_time": 7.16565}, "solution_info": "default_lp", "problem_sha256": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 30477, "constraint_breakdown": {"at_most_one": 135, "linear": 13057, "bool_or": 10324, "bool_and": 6961}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2388.08}, "cpsat_response_stats": {"num_booleans": 2439, "num_integers": 596, "num_fixed_booleans": 62, "num_conflicts": 623, "num_branches": 15347, "num_binary_propagations": 962837, "num_integer_propagations": 491010, "num_restarts": 3, "num_lp_iterations": 1970, "wall_time": 2.38291, "user_time": 2.38291, "deterministic_time": 2.11807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2916.72}, "cpsat_response_stats": {"num_booleans": 1835, "num_integers": 475, "num_fixed_booleans": 55, "num_conflicts": 399, "num_branches": 10761, "num_binary_propagations": 460076, "num_integer_propagations": 229866, "num_restarts": 3, "num_lp_iterations": 1229, "wall_time": 2.90661, "user_time": 2.90661, "deterministic_time": 2.09439, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7431, "constraint_breakdown": {"at_most_one": 46, "linear": 2912, "bool_or": 2651, "bool_and": 1822}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 154.832}, "cpsat_response_stats": {"num_booleans": 191, "num_integers": 96, "num_fixed_booleans": 4, "num_conflicts": 31, "num_branches": 985, "num_binary_propagations": 21606, "num_integer_propagations": 20710, "num_restarts": 0, "num_lp_iterations": 34, "wall_time": 0.154282, "user_time": 0.154282, "deterministic_time": 0.0753838, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 506.153}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.505452, "user_time": 0.505452, "deterministic_time": 0.611709}, "solution_info": "no_lp", "problem_sha256": "7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7474.2}, "cpsat_response_stats": {"num_booleans": 8033, "num_conflicts": 9257, "num_branches": 85199, "num_binary_propagations": 8183195, "num_integer_propagations": 2521393, "num_restarts": 51, "wall_time": 7.46993, "user_time": 7.46993, "deterministic_time": 24.3461}, "solution_info": "default_lp", "problem_sha256": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1482010.0}, "cpsat_response_stats": {"num_booleans": 34600, "num_conflicts": 548234, "num_branches": 2019729, "num_binary_propagations": 788206057, "num_integer_propagations": 178268283, "num_restarts": 2288, "wall_time": 1481.99, "user_time": 1481.99, "deterministic_time": 3843.75}, "solution_info": "no_lp", "problem_sha256": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 21823, "constraint_breakdown": {"at_most_one": 104, "linear": 9237, "bool_or": 7459, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1183.34}, "cpsat_response_stats": {"num_booleans": 1625, "num_integers": 455, "num_fixed_booleans": 89, "num_conflicts": 399, "num_branches": 9558, "num_binary_propagations": 515644, "num_integer_propagations": 256466, "num_restarts": 1, "num_lp_iterations": 241, "wall_time": 1.18204, "user_time": 1.18204, "deterministic_time": 0.909728, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3097.71}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 3.09511, "user_time": 3.09511, "deterministic_time": 4.11745}, "solution_info": "fs_random", "problem_sha256": "7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28926}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1649.08}, "cpsat_response_stats": {"num_booleans": 2898, "num_conflicts": 709, "num_branches": 19482, "num_binary_propagations": 1103156, "num_integer_propagations": 526968, "num_restarts": 6, "wall_time": 1.64755, "user_time": 1.64755, "deterministic_time": 2.86391}, "solution_info": "quick_restart", "problem_sha256": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4592, "num_bool": 3316, "num_int": 1276, "num_constraints": 52067, "constraint_breakdown": {"at_most_one": 215, "linear": 22501, "bool_or": 17614, "bool_and": 11737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6437.82}, "cpsat_response_stats": {"num_booleans": 6852, "num_integers": 1232, "num_fixed_booleans": 368, "num_conflicts": 2738, "num_branches": 52199, "num_binary_propagations": 4246025, "num_integer_propagations": 1609300, "num_restarts": 21, "num_lp_iterations": 30847, "wall_time": 6.42759, "user_time": 6.42759, "deterministic_time": 8.05118, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 49835, "constraint_breakdown": {"at_most_one": 244, "linear": 19145, "bool_or": 17805, "bool_and": 12641}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6225.3}, "cpsat_response_stats": {"num_booleans": 6938, "num_integers": 1279, "num_fixed_booleans": 159, "num_conflicts": 2111, "num_branches": 75272, "num_binary_propagations": 2746576, "num_integer_propagations": 1209416, "num_restarts": 21, "num_lp_iterations": 21873, "wall_time": 6.21532, "user_time": 6.21532, "deterministic_time": 7.63856, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1855.33}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.85347, "user_time": 1.85347, "deterministic_time": 3.10161}, "solution_info": "fs_random", "problem_sha256": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45237}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4100.31}, "cpsat_response_stats": {"num_booleans": 5614, "num_conflicts": 2629, "num_branches": 43878, "num_binary_propagations": 3107642, "num_integer_propagations": 1276684, "num_restarts": 18, "wall_time": 4.09662, "user_time": 4.09662, "deterministic_time": 6.32821}, "solution_info": "quick_restart_no_lp", "problem_sha256": "82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 58663, "constraint_breakdown": {"at_most_one": 268, "linear": 22846, "bool_or": 21072, "bool_and": 14477}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9249.91}, "cpsat_response_stats": {"num_booleans": 7982, "num_integers": 1480, "num_fixed_booleans": 161, "num_conflicts": 1749, "num_branches": 67067, "num_binary_propagations": 3442272, "num_integer_propagations": 1400295, "num_restarts": 15, "num_lp_iterations": 11689, "wall_time": 9.22528, "user_time": 9.22528, "deterministic_time": 8.18564, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 117200, "constraint_breakdown": {"at_most_one": 443, "linear": 51374, "bool_or": 39333, "bool_and": 26050}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 104633}, "cpsat_response_stats": {"num_booleans": 17979, "num_integers": 2703, "num_fixed_booleans": 1346, "num_conflicts": 38734, "num_branches": 248491, "num_binary_propagations": 34160293, "num_integer_propagations": 10893253, "num_restarts": 225, "num_lp_iterations": 628428, "wall_time": 104.612, "user_time": 104.612, "deterministic_time": 176.807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3081.59}, "cpsat_response_stats": {"num_booleans": 2383, "num_integers": 517, "num_fixed_booleans": 358, "num_conflicts": 794, "num_branches": 13010, "num_binary_propagations": 566747, "num_integer_propagations": 290602, "num_restarts": 6, "num_lp_iterations": 1756, "wall_time": 3.07796, "user_time": 3.07796, "deterministic_time": 2.23403, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 36358, "constraint_breakdown": {"at_most_one": 159, "linear": 15587, "bool_or": 12325, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5728.96}, "cpsat_response_stats": {"num_booleans": 4059, "num_integers": 877, "num_fixed_booleans": 87, "num_conflicts": 927, "num_branches": 30205, "num_binary_propagations": 1577642, "num_integer_propagations": 750624, "num_restarts": 6, "num_lp_iterations": 5532, "wall_time": 5.72142, "user_time": 5.72142, "deterministic_time": 5.90036, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3036.42}, "cpsat_response_stats": {"num_booleans": 2765, "num_integers": 613, "num_fixed_booleans": 275, "num_conflicts": 777, "num_branches": 15687, "num_binary_propagations": 1055990, "num_integer_propagations": 491170, "num_restarts": 3, "num_lp_iterations": 878, "wall_time": 3.02261, "user_time": 3.02261, "deterministic_time": 3.01651, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19405, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6839, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 795.193}, "cpsat_response_stats": {"num_booleans": 1181, "num_integers": 337, "num_fixed_booleans": 80, "num_conflicts": 255, "num_branches": 5415, "num_binary_propagations": 344260, "num_integer_propagations": 171635, "num_restarts": 1, "num_lp_iterations": 80, "wall_time": 0.794125, "user_time": 0.794125, "deterministic_time": 0.635959, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4825, "num_bool": 3334, "num_int": 1491, "num_constraints": 56887, "constraint_breakdown": {"at_most_one": 245, "linear": 23768, "bool_or": 19513, "bool_and": 13361}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6078.24}, "cpsat_response_stats": {"num_booleans": 7179, "num_integers": 1455, "num_fixed_booleans": 144, "num_conflicts": 1766, "num_branches": 61829, "num_binary_propagations": 3743112, "num_integer_propagations": 1622499, "num_restarts": 15, "num_lp_iterations": 26764, "wall_time": 6.0688, "user_time": 6.0688, "deterministic_time": 8.15386, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24569.5}, "cpsat_response_stats": {"num_booleans": 16136, "num_conflicts": 5451, "num_branches": 107151, "num_binary_propagations": 8128189, "num_integer_propagations": 3495511, "num_restarts": 60, "wall_time": 24.5589, "user_time": 24.5589, "deterministic_time": 32.4269}, "solution_info": "no_lp", "problem_sha256": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 41227, "constraint_breakdown": {"at_most_one": 189, "linear": 16809, "bool_or": 14289, "bool_and": 9940}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6348.77}, "cpsat_response_stats": {"num_booleans": 10296, "num_integers": 1057, "num_fixed_booleans": 106, "num_conflicts": 6997, "num_branches": 74326, "num_binary_propagations": 3215053, "num_integer_propagations": 1250139, "num_restarts": 16, "num_lp_iterations": 28121, "wall_time": 6.33789, "user_time": 6.33789, "deterministic_time": 7.5385, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 33949, "constraint_breakdown": {"at_most_one": 161, "linear": 13438, "bool_or": 12092, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2555.9}, "cpsat_response_stats": {"num_booleans": 3292, "num_integers": 740, "num_fixed_booleans": 95, "num_conflicts": 833, "num_branches": 22856, "num_binary_propagations": 1205185, "num_integer_propagations": 512011, "num_restarts": 6, "num_lp_iterations": 3772, "wall_time": 2.54866, "user_time": 2.54866, "deterministic_time": 2.43486, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 43015, "constraint_breakdown": {"at_most_one": 191, "linear": 17867, "bool_or": 14791, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6350.34}, "cpsat_response_stats": {"num_booleans": 4881, "num_integers": 981, "num_fixed_booleans": 100, "num_conflicts": 1791, "num_branches": 41316, "num_binary_propagations": 2194552, "num_integer_propagations": 986201, "num_restarts": 18, "num_lp_iterations": 20347, "wall_time": 6.34223, "user_time": 6.34223, "deterministic_time": 6.90988, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 36358, "constraint_breakdown": {"at_most_one": 159, "linear": 15587, "bool_or": 12325, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5541.49}, "cpsat_response_stats": {"num_booleans": 4333, "num_integers": 877, "num_fixed_booleans": 398, "num_conflicts": 1466, "num_branches": 31284, "num_binary_propagations": 1713238, "num_integer_propagations": 794110, "num_restarts": 12, "num_lp_iterations": 8142, "wall_time": 5.53055, "user_time": 5.53055, "deterministic_time": 5.09327, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58445}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5309.81}, "cpsat_response_stats": {"num_booleans": 7078, "num_conflicts": 2382, "num_branches": 66426, "num_binary_propagations": 4170088, "num_integer_propagations": 1774282, "num_restarts": 24, "wall_time": 5.30629, "user_time": 5.30629, "deterministic_time": 14.7412}, "solution_info": "default_lp", "problem_sha256": "8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 45468, "constraint_breakdown": {"at_most_one": 190, "linear": 19689, "bool_or": 15336, "bool_and": 10253}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6624.34}, "cpsat_response_stats": {"num_booleans": 5017, "num_integers": 991, "num_fixed_booleans": 274, "num_conflicts": 1748, "num_branches": 41177, "num_binary_propagations": 2422576, "num_integer_propagations": 1078468, "num_restarts": 15, "num_lp_iterations": 14173, "wall_time": 6.60476, "user_time": 6.60476, "deterministic_time": 5.8758, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4787.76}, "cpsat_response_stats": {"num_booleans": 4806, "num_integers": 884, "num_fixed_booleans": 553, "num_conflicts": 2472, "num_branches": 37155, "num_binary_propagations": 2101498, "num_integer_propagations": 932280, "num_restarts": 21, "num_lp_iterations": 22176, "wall_time": 4.78069, "user_time": 4.78069, "deterministic_time": 4.98498, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3475.49}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.4733, "user_time": 3.4733, "deterministic_time": 5.32517}, "solution_info": "quick_restart", "problem_sha256": "8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3044.89}, "cpsat_response_stats": {"num_booleans": 2664, "num_integers": 604, "num_fixed_booleans": 100, "num_conflicts": 901, "num_branches": 16035, "num_binary_propagations": 1095250, "num_integer_propagations": 523822, "num_restarts": 6, "num_lp_iterations": 2463, "wall_time": 3.03932, "user_time": 3.03932, "deterministic_time": 3.18278, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.28}, "cpsat_response_stats": {"num_booleans": 7036, "num_conflicts": 1354, "num_branches": 54858, "num_binary_propagations": 3740107, "num_integer_propagations": 1548593, "num_restarts": 9, "wall_time": 3.90812, "user_time": 3.90812, "deterministic_time": 8.30722}, "solution_info": "default_lp", "problem_sha256": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4449.32}, "cpsat_response_stats": {"num_booleans": 4588, "num_integers": 902, "num_fixed_booleans": 190, "num_conflicts": 1352, "num_branches": 35025, "num_binary_propagations": 1834430, "num_integer_propagations": 811448, "num_restarts": 12, "num_lp_iterations": 12919, "wall_time": 4.4298, "user_time": 4.4298, "deterministic_time": 4.71866, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61088}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7342.41}, "cpsat_response_stats": {"num_booleans": 9164, "num_conflicts": 4363, "num_branches": 91953, "num_binary_propagations": 4615233, "num_integer_propagations": 1945100, "num_restarts": 46, "wall_time": 7.33968, "user_time": 7.33968, "deterministic_time": 15.6115}, "solution_info": "default_lp", "problem_sha256": "8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11819.5}, "cpsat_response_stats": {"num_booleans": 7647, "num_integers": 1379, "num_fixed_booleans": 175, "num_conflicts": 3578, "num_branches": 76643, "num_binary_propagations": 4456087, "num_integer_propagations": 1857859, "num_restarts": 39, "num_lp_iterations": 42485, "wall_time": 11.8103, "user_time": 11.8103, "deterministic_time": 13.8424, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1669.89}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.66796, "user_time": 1.66796, "deterministic_time": 2.7846}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1599.16}, "cpsat_response_stats": {"num_booleans": 2920, "num_conflicts": 1148, "num_branches": 16541, "num_binary_propagations": 1396951, "num_integer_propagations": 623580, "num_restarts": 6, "wall_time": 1.59803, "user_time": 1.59803, "deterministic_time": 2.64948}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3057.05}, "cpsat_response_stats": {"num_booleans": 5699, "num_conflicts": 2050, "num_branches": 42750, "num_binary_propagations": 2908907, "num_integer_propagations": 1220861, "num_restarts": 15, "wall_time": 3.05479, "user_time": 3.05479, "deterministic_time": 6.67817}, "solution_info": "no_lp", "problem_sha256": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 26442, "constraint_breakdown": {"at_most_one": 132, "linear": 10245, "bool_or": 9463, "bool_and": 6602}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1979.49}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 619, "num_fixed_booleans": 71, "num_conflicts": 581, "num_branches": 16233, "num_binary_propagations": 742046, "num_integer_propagations": 340833, "num_restarts": 6, "num_lp_iterations": 1823, "wall_time": 1.97431, "user_time": 1.97431, "deterministic_time": 1.67653, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1323.68}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.32278, "user_time": 1.32278, "deterministic_time": 1.66283}, "solution_info": "no_lp", "problem_sha256": "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55906}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5772.7}, "cpsat_response_stats": {"num_booleans": 9063, "num_conflicts": 5705, "num_branches": 120717, "num_binary_propagations": 5958705, "num_integer_propagations": 2454017, "num_restarts": 20, "wall_time": 5.76998, "user_time": 5.76998, "deterministic_time": 14.8884}, "solution_info": "default_lp", "problem_sha256": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28589}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1537.86}, "cpsat_response_stats": {"num_booleans": 2822, "num_conflicts": 876, "num_branches": 16280, "num_binary_propagations": 1065365, "num_integer_propagations": 496556, "num_restarts": 6, "wall_time": 1.53626, "user_time": 1.53626, "deterministic_time": 2.10021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 50667, "constraint_breakdown": {"at_most_one": 219, "linear": 21417, "bool_or": 17337, "bool_and": 11694}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5312.01}, "cpsat_response_stats": {"num_booleans": 6575, "num_integers": 1236, "num_fixed_booleans": 125, "num_conflicts": 1717, "num_branches": 52956, "num_binary_propagations": 3365844, "num_integer_propagations": 1323177, "num_restarts": 15, "num_lp_iterations": 14066, "wall_time": 5.30172, "user_time": 5.30172, "deterministic_time": 7.43839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2585, "num_bool": 1793, "num_int": 792, "num_constraints": 28922, "constraint_breakdown": {"at_most_one": 134, "linear": 11959, "bool_or": 10032, "bool_and": 6797}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2360.01}, "cpsat_response_stats": {"num_booleans": 2656, "num_integers": 598, "num_fixed_booleans": 234, "num_conflicts": 912, "num_branches": 15157, "num_binary_propagations": 1117887, "num_integer_propagations": 502968, "num_restarts": 6, "num_lp_iterations": 2208, "wall_time": 2.35414, "user_time": 2.35414, "deterministic_time": 1.93857, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 50587, "constraint_breakdown": {"at_most_one": 219, "linear": 21417, "bool_or": 17257, "bool_and": 11694}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7026.39}, "cpsat_response_stats": {"num_booleans": 6689, "num_integers": 1266, "num_fixed_booleans": 125, "num_conflicts": 1692, "num_branches": 52454, "num_binary_propagations": 3074984, "num_integer_propagations": 1307530, "num_restarts": 15, "num_lp_iterations": 16061, "wall_time": 7.01643, "user_time": 7.01643, "deterministic_time": 7.8701, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6499.23}, "cpsat_response_stats": {"num_booleans": 5506, "num_integers": 1069, "num_fixed_booleans": 105, "num_conflicts": 1678, "num_branches": 45114, "num_binary_propagations": 2613355, "num_integer_propagations": 1129347, "num_restarts": 15, "num_lp_iterations": 17573, "wall_time": 6.49021, "user_time": 6.49021, "deterministic_time": 6.78036, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1443320.0}, "cpsat_response_stats": {"num_booleans": 34630, "num_conflicts": 700829, "num_branches": 2655203, "num_binary_propagations": 928474398, "num_integer_propagations": 232999472, "num_restarts": 3060, "wall_time": 1443.29, "user_time": 1443.29, "deterministic_time": 4843.77}, "solution_info": "no_lp", "problem_sha256": "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3578.34}, "cpsat_response_stats": {"num_booleans": 7045, "num_conflicts": 1997, "num_branches": 53648, "num_binary_propagations": 3688139, "num_integer_propagations": 1484517, "num_restarts": 15, "wall_time": 3.57481, "user_time": 3.57481, "deterministic_time": 7.28891}, "solution_info": "fs_random", "problem_sha256": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4050, "num_bool": 2924, "num_int": 1126, "num_constraints": 45133, "constraint_breakdown": {"at_most_one": 190, "linear": 19306, "bool_or": 15394, "bool_and": 10243}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4600.21}, "cpsat_response_stats": {"num_booleans": 5653, "num_integers": 1013, "num_fixed_booleans": 345, "num_conflicts": 2345, "num_branches": 44779, "num_binary_propagations": 3030363, "num_integer_propagations": 1253155, "num_restarts": 18, "num_lp_iterations": 17911, "wall_time": 4.59152, "user_time": 4.59152, "deterministic_time": 6.52967, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14036, "constraint_breakdown": {"at_most_one": 76, "linear": 5477, "bool_or": 4986, "bool_and": 3497}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 422.549}, "cpsat_response_stats": {"num_booleans": 790, "num_integers": 272, "num_fixed_booleans": 21, "num_conflicts": 103, "num_branches": 4068, "num_binary_propagations": 134433, "num_integer_propagations": 78659, "num_restarts": 1, "num_lp_iterations": 100, "wall_time": 0.421683, "user_time": 0.421683, "deterministic_time": 0.26473, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 798.026}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.797012, "user_time": 0.797012, "deterministic_time": 1.18037}, "solution_info": "default_lp", "problem_sha256": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3604, "num_int": 1500, "num_constraints": 59384, "constraint_breakdown": {"at_most_one": 248, "linear": 25207, "bool_or": 20226, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6204.55}, "cpsat_response_stats": {"num_booleans": 6973, "num_integers": 1335, "num_fixed_booleans": 162, "num_conflicts": 1650, "num_branches": 51769, "num_binary_propagations": 3907426, "num_integer_propagations": 1592141, "num_restarts": 12, "num_lp_iterations": 16465, "wall_time": 6.19391, "user_time": 6.19392, "deterministic_time": 8.33136, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28200.8}, "cpsat_response_stats": {"num_booleans": 12120, "num_integers": 2027, "num_fixed_booleans": 325, "num_conflicts": 13095, "num_branches": 128740, "num_binary_propagations": 12954255, "num_integer_propagations": 4000757, "num_restarts": 90, "num_lp_iterations": 171859, "wall_time": 28.1855, "user_time": 28.1855, "deterministic_time": 35.9572, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 51975, "constraint_breakdown": {"at_most_one": 245, "linear": 20574, "bool_or": 18265, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7909.24}, "cpsat_response_stats": {"num_booleans": 6688, "num_integers": 1377, "num_fixed_booleans": 141, "num_conflicts": 969, "num_branches": 45703, "num_binary_propagations": 2324155, "num_integer_propagations": 1016253, "num_restarts": 6, "num_lp_iterations": 7802, "wall_time": 7.89952, "user_time": 7.89952, "deterministic_time": 7.91396, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2149, "num_int": 951, "num_constraints": 34071, "constraint_breakdown": {"at_most_one": 161, "linear": 13494, "bool_or": 12158, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2300.62}, "cpsat_response_stats": {"num_booleans": 3168, "num_integers": 721, "num_fixed_booleans": 1695, "num_conflicts": 684, "num_branches": 14103, "num_binary_propagations": 883450, "num_integer_propagations": 373726, "num_restarts": 2, "num_lp_iterations": 336, "wall_time": 2.29595, "user_time": 2.29595, "deterministic_time": 1.8593, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20881, "num_bool": 16450, "num_int": 4431, "num_constraints": 236975, "constraint_breakdown": {"at_most_one": 727, "linear": 109273, "bool_or": 77125, "bool_and": 49850}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5307350.0}, "cpsat_response_stats": {"num_booleans": 40448, "num_integers": 4906, "num_fixed_booleans": 3570, "num_conflicts": 949858, "num_branches": 3779328, "num_binary_propagations": 1284803830, "num_integer_propagations": 336295337, "num_restarts": 3742, "num_lp_iterations": 30023094, "wall_time": 5307.27, "user_time": 5307.27, "deterministic_time": 10022.4, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20727, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7163, "bool_and": 4869}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1161.53}, "cpsat_response_stats": {"num_booleans": 1732, "num_integers": 464, "num_fixed_booleans": 50, "num_conflicts": 305, "num_branches": 10055, "num_binary_propagations": 416195, "num_integer_propagations": 218999, "num_restarts": 1, "num_lp_iterations": 263, "wall_time": 1.15922, "user_time": 1.15922, "deterministic_time": 0.839053, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4022.2}, "cpsat_response_stats": {"num_booleans": 6836, "num_conflicts": 1777, "num_branches": 58426, "num_binary_propagations": 3669621, "num_integer_propagations": 1600687, "num_restarts": 12, "wall_time": 4.01901, "user_time": 4.01901, "deterministic_time": 8.31302}, "solution_info": "default_lp", "problem_sha256": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1312210.0}, "cpsat_response_stats": {"num_booleans": 35686, "num_integers": 4911, "num_fixed_booleans": 1451, "num_conflicts": 261411, "num_branches": 1407886, "num_binary_propagations": 298239744, "num_integer_propagations": 91900563, "num_restarts": 1400, "num_lp_iterations": 9043153, "wall_time": 1312.16, "user_time": 1312.16, "deterministic_time": 2214.53, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3212.27}, "cpsat_response_stats": {"num_booleans": 1975, "num_integers": 459, "num_fixed_booleans": 274, "num_conflicts": 822, "num_branches": 11048, "num_binary_propagations": 635610, "num_integer_propagations": 304646, "num_restarts": 6, "num_lp_iterations": 1750, "wall_time": 3.20233, "user_time": 3.20233, "deterministic_time": 2.12357, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 29118, "constraint_breakdown": {"at_most_one": 133, "linear": 12261, "bool_or": 9937, "bool_and": 6787}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3098.94}, "cpsat_response_stats": {"num_booleans": 3430, "num_integers": 664, "num_fixed_booleans": 385, "num_conflicts": 1617, "num_branches": 21084, "num_binary_propagations": 1186499, "num_integer_propagations": 545842, "num_restarts": 12, "num_lp_iterations": 8225, "wall_time": 3.09349, "user_time": 3.09349, "deterministic_time": 2.66028, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45225}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4094.81}, "cpsat_response_stats": {"num_booleans": 6659, "num_conflicts": 3832, "num_branches": 89975, "num_binary_propagations": 3557350, "num_integer_propagations": 1497311, "num_restarts": 20, "wall_time": 4.09307, "user_time": 4.09307, "deterministic_time": 7.82779}, "solution_info": "default_lp", "problem_sha256": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20107, "constraint_breakdown": {"at_most_one": 102, "linear": 8055, "bool_or": 7054, "bool_and": 4896}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1034.56}, "cpsat_response_stats": {"num_booleans": 1812, "num_integers": 472, "num_fixed_booleans": 52, "num_conflicts": 351, "num_branches": 10858, "num_binary_propagations": 391284, "num_integer_propagations": 198421, "num_restarts": 3, "num_lp_iterations": 915, "wall_time": 1.03334, "user_time": 1.03334, "deterministic_time": 0.75633, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59864}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7404.83}, "cpsat_response_stats": {"num_booleans": 7765, "num_conflicts": 1468, "num_branches": 61490, "num_binary_propagations": 4217427, "num_integer_propagations": 2866648, "num_restarts": 9, "wall_time": 7.40171, "user_time": 7.40171, "deterministic_time": 14.4768}, "solution_info": "no_lp", "problem_sha256": "9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40996}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3171.96}, "cpsat_response_stats": {"num_booleans": 4956, "num_conflicts": 1193, "num_branches": 38351, "num_binary_propagations": 2029739, "num_integer_propagations": 875626, "num_restarts": 12, "wall_time": 3.17017, "user_time": 3.17017, "deterministic_time": 6.84478}, "solution_info": "default_lp", "problem_sha256": "9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45102}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3351.44}, "cpsat_response_stats": {"num_booleans": 5237, "num_conflicts": 1767, "num_branches": 38543, "num_binary_propagations": 2848460, "num_integer_propagations": 1099648, "num_restarts": 15, "wall_time": 3.34942, "user_time": 3.34942, "deterministic_time": 6.44192}, "solution_info": "fs_random_no_lp", "problem_sha256": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11228.7}, "cpsat_response_stats": {"num_booleans": 7277, "num_integers": 1389, "num_fixed_booleans": 174, "num_conflicts": 5127, "num_branches": 73239, "num_binary_propagations": 3900079, "num_integer_propagations": 1706894, "num_restarts": 42, "num_lp_iterations": 60497, "wall_time": 11.2067, "user_time": 11.2067, "deterministic_time": 13.756, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 640.309}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.639225, "user_time": 0.639225, "deterministic_time": 0.898999}, "solution_info": "fs_random_no_lp", "problem_sha256": "9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2930, "num_int": 1127, "num_constraints": 45699, "constraint_breakdown": {"at_most_one": 190, "linear": 19823, "bool_or": 15433, "bool_and": 10253}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5754.89}, "cpsat_response_stats": {"num_booleans": 4993, "num_integers": 985, "num_fixed_booleans": 168, "num_conflicts": 1585, "num_branches": 40818, "num_binary_propagations": 2603332, "num_integer_propagations": 1108853, "num_restarts": 12, "num_lp_iterations": 12824, "wall_time": 5.74327, "user_time": 5.74327, "deterministic_time": 6.47583, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 850.031}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.848366, "user_time": 0.848366, "deterministic_time": 1.17243}, "solution_info": "default_lp", "problem_sha256": "a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6657.63}, "cpsat_response_stats": {"num_booleans": 8761, "num_integers": 884, "num_fixed_booleans": 953, "num_conflicts": 7110, "num_branches": 91485, "num_binary_propagations": 4004667, "num_integer_propagations": 1658789, "num_restarts": 23, "num_lp_iterations": 42490, "wall_time": 6.63749, "user_time": 6.63749, "deterministic_time": 6.30523, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51635}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3956.08}, "cpsat_response_stats": {"num_booleans": 6640, "num_conflicts": 670, "num_branches": 40595, "num_binary_propagations": 2397835, "num_integer_propagations": 987564, "num_restarts": 1, "wall_time": 3.95297, "user_time": 3.95297, "deterministic_time": 7.45242}, "solution_info": "default_lp", "problem_sha256": "a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27043}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1979.36}, "cpsat_response_stats": {"num_booleans": 2862, "num_conflicts": 334, "num_branches": 15496, "num_binary_propagations": 758699, "num_integer_propagations": 328631, "num_restarts": 1, "wall_time": 1.97852, "user_time": 1.97852, "deterministic_time": 2.57625}, "solution_info": "quick_restart", "problem_sha256": "a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37480}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3366.15}, "cpsat_response_stats": {"num_booleans": 4923, "num_conflicts": 1494, "num_branches": 43537, "num_binary_propagations": 1671019, "num_integer_propagations": 736622, "num_restarts": 15, "wall_time": 3.36304, "user_time": 3.36304, "deterministic_time": 7.2959}, "solution_info": "default_lp", "problem_sha256": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14094}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 316.487}, "cpsat_response_stats": {"num_booleans": 729, "num_conflicts": 166, "num_branches": 4721, "num_binary_propagations": 180169, "num_integer_propagations": 107470, "num_restarts": 1, "wall_time": 0.31602, "user_time": 0.31602, "deterministic_time": 0.38152}, "solution_info": "no_lp", "problem_sha256": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 30268, "constraint_breakdown": {"at_most_one": 134, "linear": 12974, "bool_or": 10254, "bool_and": 6906}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2377.49}, "cpsat_response_stats": {"num_booleans": 3016, "num_integers": 642, "num_fixed_booleans": 175, "num_conflicts": 1266, "num_branches": 30734, "num_binary_propagations": 1099367, "num_integer_propagations": 539843, "num_restarts": 9, "num_lp_iterations": 5805, "wall_time": 2.37055, "user_time": 2.37055, "deterministic_time": 1.95116, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 37902, "constraint_breakdown": {"at_most_one": 188, "linear": 14589, "bool_or": 13532, "bool_and": 9593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5134.63}, "cpsat_response_stats": {"num_booleans": 4379, "num_integers": 944, "num_fixed_booleans": 110, "num_conflicts": 433, "num_branches": 24742, "num_binary_propagations": 1181414, "num_integer_propagations": 490104, "num_restarts": 1, "num_lp_iterations": 478, "wall_time": 5.12805, "user_time": 5.12805, "deterministic_time": 6.26043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 64385, "constraint_breakdown": {"at_most_one": 300, "linear": 25295, "bool_or": 22795, "bool_and": 15995}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11295.1}, "cpsat_response_stats": {"num_booleans": 9287, "num_integers": 1607, "num_fixed_booleans": 207, "num_conflicts": 2482, "num_branches": 78855, "num_binary_propagations": 4198089, "num_integer_propagations": 1668937, "num_restarts": 27, "num_lp_iterations": 31366, "wall_time": 11.2832, "user_time": 11.2832, "deterministic_time": 16.0043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 44292, "constraint_breakdown": {"at_most_one": 194, "linear": 18817, "bool_or": 15092, "bool_and": 10189}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6495.42}, "cpsat_response_stats": {"num_booleans": 6452, "num_integers": 1063, "num_fixed_booleans": 111, "num_conflicts": 3579, "num_branches": 74959, "num_binary_propagations": 3314715, "num_integer_propagations": 1406554, "num_restarts": 24, "num_lp_iterations": 31568, "wall_time": 6.47618, "user_time": 6.47618, "deterministic_time": 7.06788, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10574.9}, "cpsat_response_stats": {"num_booleans": 11806, "num_conflicts": 10534, "num_branches": 98410, "num_binary_propagations": 12226499, "num_integer_propagations": 3370514, "num_restarts": 89, "wall_time": 10.5706, "user_time": 10.5706, "deterministic_time": 32.0729}, "solution_info": "no_lp", "problem_sha256": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 21823, "constraint_breakdown": {"at_most_one": 104, "linear": 9237, "bool_or": 7459, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1840}, "cpsat_response_stats": {"num_booleans": 1689, "num_integers": 455, "num_fixed_booleans": 88, "num_conflicts": 455, "num_branches": 9769, "num_binary_propagations": 518959, "num_integer_propagations": 281275, "num_restarts": 3, "num_lp_iterations": 841, "wall_time": 1.83483, "user_time": 1.83483, "deterministic_time": 1.15662, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57490}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3986.44}, "cpsat_response_stats": {"num_booleans": 7410, "num_conflicts": 2761, "num_branches": 59642, "num_binary_propagations": 4319666, "num_integer_propagations": 1632537, "num_restarts": 27, "wall_time": 3.98372, "user_time": 3.98372, "deterministic_time": 8.21734}, "solution_info": "no_lp", "problem_sha256": "a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30068}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.8}, "cpsat_response_stats": {"num_booleans": 2716, "num_conflicts": 695, "num_branches": 16497, "num_binary_propagations": 1028303, "num_integer_propagations": 482835, "num_restarts": 3, "wall_time": 1.499, "user_time": 1.499, "deterministic_time": 2.08018}, "solution_info": "quick_restart", "problem_sha256": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7423, "constraint_breakdown": {"at_most_one": 46, "linear": 2912, "bool_or": 2643, "bool_and": 1822}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 180.457}, "cpsat_response_stats": {"num_booleans": 751, "num_integers": 110, "num_fixed_booleans": 4, "num_conflicts": 560, "num_branches": 4544, "num_binary_propagations": 30469, "num_integer_propagations": 43812, "num_restarts": 5, "num_lp_iterations": 57, "wall_time": 0.179734, "user_time": 0.179734, "deterministic_time": 0.0901002, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3134.13}, "cpsat_response_stats": {"num_booleans": 2883, "num_integers": 644, "num_fixed_booleans": 307, "num_conflicts": 740, "num_branches": 15627, "num_binary_propagations": 943261, "num_integer_propagations": 454806, "num_restarts": 3, "num_lp_iterations": 839, "wall_time": 3.12816, "user_time": 3.12816, "deterministic_time": 3.02381, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 32565, "constraint_breakdown": {"at_most_one": 158, "linear": 12926, "bool_or": 11459, "bool_and": 8022}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4676.26}, "cpsat_response_stats": {"num_booleans": 4069, "num_integers": 818, "num_fixed_booleans": 90, "num_conflicts": 707, "num_branches": 25709, "num_binary_propagations": 1130167, "num_integer_propagations": 473745, "num_restarts": 6, "num_lp_iterations": 3244, "wall_time": 4.66535, "user_time": 4.66535, "deterministic_time": 3.30281, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1783, "num_int": 788, "num_constraints": 29262, "constraint_breakdown": {"at_most_one": 133, "linear": 12342, "bool_or": 10000, "bool_and": 6787}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3487.46}, "cpsat_response_stats": {"num_booleans": 8428, "num_integers": 648, "num_fixed_booleans": 792, "num_conflicts": 6635, "num_branches": 36704, "num_binary_propagations": 2278556, "num_integer_propagations": 1043110, "num_restarts": 15, "num_lp_iterations": 42244, "wall_time": 3.48091, "user_time": 3.48091, "deterministic_time": 2.86413, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 42433.4}, "cpsat_response_stats": {"num_booleans": 19564, "num_conflicts": 35646, "num_branches": 377527, "num_binary_propagations": 37641950, "num_integer_propagations": 11577509, "num_restarts": 177, "wall_time": 42.4278, "user_time": 42.4278, "deterministic_time": 153.145}, "solution_info": "default_lp", "problem_sha256": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6536.66}, "cpsat_response_stats": {"num_booleans": 4771, "num_integers": 991, "num_fixed_booleans": 99, "num_conflicts": 878, "num_branches": 33840, "num_binary_propagations": 1763246, "num_integer_propagations": 830767, "num_restarts": 6, "num_lp_iterations": 6376, "wall_time": 6.52683, "user_time": 6.52683, "deterministic_time": 6.79979, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1257, "num_int": 594, "num_constraints": 20861, "constraint_breakdown": {"at_most_one": 102, "linear": 8670, "bool_or": 7198, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2168.04}, "cpsat_response_stats": {"num_booleans": 1927, "num_integers": 505, "num_fixed_booleans": 56, "num_conflicts": 414, "num_branches": 11107, "num_binary_propagations": 572703, "num_integer_propagations": 276488, "num_restarts": 3, "num_lp_iterations": 863, "wall_time": 2.16398, "user_time": 2.16398, "deterministic_time": 1.5309, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10397.7}, "cpsat_response_stats": {"num_booleans": 8580, "num_conflicts": 17088, "num_branches": 157373, "num_binary_propagations": 14357683, "num_integer_propagations": 3735788, "num_restarts": 68, "wall_time": 10.3921, "user_time": 10.3921, "deterministic_time": 39.3144}, "solution_info": "default_lp", "problem_sha256": "abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3515.33}, "cpsat_response_stats": {"num_booleans": 6694, "num_conflicts": 1781, "num_branches": 51076, "num_binary_propagations": 3418829, "num_integer_propagations": 1375027, "num_restarts": 18, "wall_time": 3.51264, "user_time": 3.51264, "deterministic_time": 7.59026}, "solution_info": "no_lp", "problem_sha256": "abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56186}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3671.42}, "cpsat_response_stats": {"num_booleans": 7238, "num_conflicts": 2414, "num_branches": 53301, "num_binary_propagations": 3805728, "num_integer_propagations": 1572777, "num_restarts": 21, "wall_time": 3.66675, "user_time": 3.66675, "deterministic_time": 8.1817}, "solution_info": "default_lp", "problem_sha256": "aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2371.29}, "cpsat_response_stats": {"num_booleans": 1774, "num_integers": 469, "num_fixed_booleans": 50, "num_conflicts": 305, "num_branches": 9961, "num_binary_propagations": 411625, "num_integer_propagations": 212322, "num_restarts": 1, "num_lp_iterations": 210, "wall_time": 2.36965, "user_time": 2.36965, "deterministic_time": 1.70667, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4364, "num_bool": 2861, "num_int": 1503, "num_constraints": 52449, "constraint_breakdown": {"at_most_one": 245, "linear": 20892, "bool_or": 18421, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5988.72}, "cpsat_response_stats": {"num_booleans": 6712, "num_integers": 1343, "num_fixed_booleans": 145, "num_conflicts": 1772, "num_branches": 55986, "num_binary_propagations": 3018315, "num_integer_propagations": 1289058, "num_restarts": 18, "num_lp_iterations": 19470, "wall_time": 5.97814, "user_time": 5.97814, "deterministic_time": 8.07535, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14217, "constraint_breakdown": {"at_most_one": 77, "linear": 5527, "bool_or": 5106, "bool_and": 3507}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 590.302}, "cpsat_response_stats": {"num_booleans": 736, "num_integers": 279, "num_fixed_booleans": 21, "num_conflicts": 139, "num_branches": 4506, "num_binary_propagations": 133595, "num_integer_propagations": 87344, "num_restarts": 1, "num_lp_iterations": 123, "wall_time": 0.588404, "user_time": 0.588404, "deterministic_time": 0.34056, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30276}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1317.35}, "cpsat_response_stats": {"num_booleans": 2458, "num_conflicts": 759, "num_branches": 14872, "num_binary_propagations": 1199762, "num_integer_propagations": 545210, "num_restarts": 6, "wall_time": 1.31604, "user_time": 1.31604, "deterministic_time": 2.31358}, "solution_info": "quick_restart_no_lp", "problem_sha256": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 748.329}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.747364, "user_time": 0.747364, "deterministic_time": 1.18051}, "solution_info": "default_lp", "problem_sha256": "af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2732, "num_bool": 1936, "num_int": 796, "num_constraints": 30680, "constraint_breakdown": {"at_most_one": 135, "linear": 13191, "bool_or": 10395, "bool_and": 6959}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1811.58}, "cpsat_response_stats": {"num_booleans": 2408, "num_integers": 595, "num_fixed_booleans": 74, "num_conflicts": 612, "num_branches": 14213, "num_binary_propagations": 1171481, "num_integer_propagations": 537873, "num_restarts": 3, "num_lp_iterations": 1653, "wall_time": 1.81014, "user_time": 1.81014, "deterministic_time": 2.1616, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14106}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 309.44}, "cpsat_response_stats": {"num_booleans": 738, "num_conflicts": 151, "num_branches": 4649, "num_binary_propagations": 175520, "num_integer_propagations": 104166, "num_restarts": 1, "wall_time": 0.308961, "user_time": 0.308961, "deterministic_time": 0.378169}, "solution_info": "quick_restart", "problem_sha256": "afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2732, "num_bool": 1936, "num_int": 796, "num_constraints": 30684, "constraint_breakdown": {"at_most_one": 135, "linear": 13191, "bool_or": 10397, "bool_and": 6961}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2133.87}, "cpsat_response_stats": {"num_booleans": 2959, "num_integers": 589, "num_fixed_booleans": 598, "num_conflicts": 1314, "num_branches": 16008, "num_binary_propagations": 1276645, "num_integer_propagations": 558093, "num_restarts": 6, "num_lp_iterations": 2880, "wall_time": 2.12827, "user_time": 2.12827, "deterministic_time": 2.20437, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85727, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29303, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21205.3}, "cpsat_response_stats": {"num_booleans": 11808, "num_integers": 2018, "num_fixed_booleans": 273, "num_conflicts": 11110, "num_branches": 111181, "num_binary_propagations": 11559087, "num_integer_propagations": 3778702, "num_restarts": 76, "num_lp_iterations": 148419, "wall_time": 21.1917, "user_time": 21.1917, "deterministic_time": 31.961, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3052.7}, "cpsat_response_stats": {"num_booleans": 1864, "num_integers": 478, "num_fixed_booleans": 52, "num_conflicts": 228, "num_branches": 10193, "num_binary_propagations": 374340, "num_integer_propagations": 189319, "num_restarts": 1, "num_lp_iterations": 140, "wall_time": 3.04893, "user_time": 3.04893, "deterministic_time": 2.02794, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57828, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19882, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8842.37}, "cpsat_response_stats": {"num_booleans": 7418, "num_integers": 1343, "num_fixed_booleans": 165, "num_conflicts": 2133, "num_branches": 60233, "num_binary_propagations": 4073305, "num_integer_propagations": 1572270, "num_restarts": 18, "num_lp_iterations": 20991, "wall_time": 8.83197, "user_time": 8.83197, "deterministic_time": 12.7949, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1873900.0}, "cpsat_response_stats": {"num_booleans": 43967, "num_conflicts": 738946, "num_branches": 2570390, "num_binary_propagations": 1196466883, "num_integer_propagations": 267712424, "num_restarts": 3140, "wall_time": 1873.89, "user_time": 1873.89, "deterministic_time": 6668.87}, "solution_info": "no_lp", "problem_sha256": "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58078}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6300.32}, "cpsat_response_stats": {"num_booleans": 7014, "num_conflicts": 3809, "num_branches": 110454, "num_binary_propagations": 4798262, "num_integer_propagations": 1954964, "num_restarts": 24, "wall_time": 6.29768, "user_time": 6.29768, "deterministic_time": 15.1082}, "solution_info": "no_lp", "problem_sha256": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2932, "num_int": 1129, "num_constraints": 45302, "constraint_breakdown": {"at_most_one": 190, "linear": 19343, "bool_or": 15471, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5483.02}, "cpsat_response_stats": {"num_booleans": 6120, "num_integers": 1029, "num_fixed_booleans": 742, "num_conflicts": 4083, "num_branches": 46562, "num_binary_propagations": 3750876, "num_integer_propagations": 1480530, "num_restarts": 26, "num_lp_iterations": 35807, "wall_time": 5.4747, "user_time": 5.4747, "deterministic_time": 6.52935, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55918}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5984.27}, "cpsat_response_stats": {"num_booleans": 13274, "num_conflicts": 7904, "num_branches": 99296, "num_binary_propagations": 5335791, "num_integer_propagations": 2035699, "num_restarts": 18, "wall_time": 5.97987, "user_time": 5.97987, "deterministic_time": 16.3801}, "solution_info": "default_lp", "problem_sha256": "b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19373, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6807, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 959.743}, "cpsat_response_stats": {"num_booleans": 1298, "num_integers": 352, "num_fixed_booleans": 47, "num_conflicts": 308, "num_branches": 7215, "num_binary_propagations": 306966, "num_integer_propagations": 153283, "num_restarts": 3, "num_lp_iterations": 437, "wall_time": 0.958029, "user_time": 0.958029, "deterministic_time": 0.627408, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94488, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32332, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28277.1}, "cpsat_response_stats": {"num_booleans": 12813, "num_integers": 2179, "num_fixed_booleans": 311, "num_conflicts": 11791, "num_branches": 108949, "num_binary_propagations": 11919328, "num_integer_propagations": 3896499, "num_restarts": 90, "num_lp_iterations": 170447, "wall_time": 28.2424, "user_time": 28.2424, "deterministic_time": 39.9897, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59852}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9668}, "cpsat_response_stats": {"num_booleans": 7723, "num_conflicts": 5829, "num_branches": 81909, "num_binary_propagations": 7449164, "num_integer_propagations": 2502230, "num_restarts": 42, "wall_time": 9.66487, "user_time": 9.66487, "deterministic_time": 15.8384}, "solution_info": "no_lp", "problem_sha256": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 45101, "constraint_breakdown": {"at_most_one": 190, "linear": 19234, "bool_or": 15379, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6886.08}, "cpsat_response_stats": {"num_booleans": 6544, "num_integers": 1035, "num_fixed_booleans": 541, "num_conflicts": 3426, "num_branches": 74733, "num_binary_propagations": 3275361, "num_integer_propagations": 1409720, "num_restarts": 24, "num_lp_iterations": 33163, "wall_time": 6.86679, "user_time": 6.86679, "deterministic_time": 6.61894, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1965.09}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.96308, "user_time": 1.96308, "deterministic_time": 2.96967}, "solution_info": "quick_restart", "problem_sha256": "b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45226}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3431.8}, "cpsat_response_stats": {"num_booleans": 6506, "num_conflicts": 4101, "num_branches": 48128, "num_binary_propagations": 4289863, "num_integer_propagations": 1697744, "num_restarts": 34, "wall_time": 3.42854, "user_time": 3.42854, "deterministic_time": 7.43628}, "solution_info": "no_lp", "problem_sha256": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20803, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7203, "bool_and": 4877}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1001.91}, "cpsat_response_stats": {"num_booleans": 1972, "num_integers": 452, "num_fixed_booleans": 67, "num_conflicts": 744, "num_branches": 12584, "num_binary_propagations": 560188, "num_integer_propagations": 258687, "num_restarts": 6, "num_lp_iterations": 1232, "wall_time": 1.00038, "user_time": 1.00038, "deterministic_time": 1.03077, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4531.41}, "cpsat_response_stats": {"num_booleans": 3847, "num_integers": 612, "num_fixed_booleans": 266, "num_conflicts": 2030, "num_branches": 22093, "num_binary_propagations": 897755, "num_integer_propagations": 426584, "num_restarts": 9, "num_lp_iterations": 5930, "wall_time": 4.52606, "user_time": 4.52606, "deterministic_time": 5.07546, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7481.13}, "cpsat_response_stats": {"num_booleans": 9162, "num_integers": 1054, "num_fixed_booleans": 755, "num_conflicts": 6808, "num_branches": 70130, "num_binary_propagations": 4118517, "num_integer_propagations": 1702992, "num_restarts": 28, "num_lp_iterations": 52062, "wall_time": 7.45933, "user_time": 7.45933, "deterministic_time": 7.20177, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51635}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3654.93}, "cpsat_response_stats": {"num_booleans": 6844, "num_conflicts": 1666, "num_branches": 60664, "num_binary_propagations": 2946849, "num_integer_propagations": 1286403, "num_restarts": 18, "wall_time": 3.65272, "user_time": 3.65272, "deterministic_time": 8.20979}, "solution_info": "default_lp", "problem_sha256": "b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 20821, "constraint_breakdown": {"at_most_one": 103, "linear": 8610, "bool_or": 7199, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1315.97}, "cpsat_response_stats": {"num_booleans": 1755, "num_integers": 461, "num_fixed_booleans": 50, "num_conflicts": 408, "num_branches": 10424, "num_binary_propagations": 431442, "num_integer_propagations": 222712, "num_restarts": 3, "num_lp_iterations": 1065, "wall_time": 1.31434, "user_time": 1.31434, "deterministic_time": 1.05133, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 29104, "constraint_breakdown": {"at_most_one": 133, "linear": 12259, "bool_or": 9933, "bool_and": 6779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.35}, "cpsat_response_stats": {"num_booleans": 3023, "num_integers": 671, "num_fixed_booleans": 71, "num_conflicts": 884, "num_branches": 19554, "num_binary_propagations": 991570, "num_integer_propagations": 485349, "num_restarts": 6, "num_lp_iterations": 4484, "wall_time": 3.25003, "user_time": 3.25003, "deterministic_time": 2.58996, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20876, "num_bool": 16436, "num_int": 4440, "num_constraints": 237190, "constraint_breakdown": {"at_most_one": 727, "linear": 109944, "bool_or": 77105, "bool_and": 49414}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 66907.9}, "cpsat_response_stats": {"num_booleans": 30996, "num_integers": 4526, "num_fixed_booleans": 12664, "num_conflicts": 9936, "num_branches": 121156, "num_binary_propagations": 16011530, "num_integer_propagations": 4343120, "num_restarts": 85, "num_lp_iterations": 252850, "wall_time": 66.9021, "user_time": 66.9021, "deterministic_time": 69.7478, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 58781, "constraint_breakdown": {"at_most_one": 247, "linear": 24864, "bool_or": 20014, "bool_and": 13656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12741}, "cpsat_response_stats": {"num_booleans": 6904, "num_integers": 1404, "num_fixed_booleans": 170, "num_conflicts": 8190, "num_branches": 64546, "num_binary_propagations": 6838973, "num_integer_propagations": 2293937, "num_restarts": 35, "num_lp_iterations": 87756, "wall_time": 12.7249, "user_time": 12.7249, "deterministic_time": 15.7151, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4895.28}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.89302, "user_time": 4.89302, "deterministic_time": 8.1702}, "solution_info": "default_lp", "problem_sha256": "baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3262.15}, "cpsat_response_stats": {"num_booleans": 4115, "num_integers": 671, "num_fixed_booleans": 410, "num_conflicts": 2070, "num_branches": 30975, "num_binary_propagations": 1379319, "num_integer_propagations": 709063, "num_restarts": 9, "num_lp_iterations": 8027, "wall_time": 3.25716, "user_time": 3.25716, "deterministic_time": 3.92594, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1017.39}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 1.01615, "user_time": 1.01615, "deterministic_time": 1.26922}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20876, "num_bool": 16436, "num_int": 4440, "num_constraints": 237190, "constraint_breakdown": {"at_most_one": 727, "linear": 109944, "bool_or": 77105, "bool_and": 49414}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 68275}, "cpsat_response_stats": {"num_booleans": 30976, "num_integers": 4526, "num_fixed_booleans": 1308, "num_conflicts": 11901, "num_branches": 119272, "num_binary_propagations": 18423214, "num_integer_propagations": 4473261, "num_restarts": 77, "num_lp_iterations": 244841, "wall_time": 68.2518, "user_time": 68.2518, "deterministic_time": 73.1088, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58438, "constraint_breakdown": {"at_most_one": 249, "linear": 24322, "bool_or": 20117, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11690.6}, "cpsat_response_stats": {"num_booleans": 10367, "num_integers": 1353, "num_fixed_booleans": 806, "num_conflicts": 6207, "num_branches": 130018, "num_binary_propagations": 4330955, "num_integer_propagations": 2030155, "num_restarts": 22, "num_lp_iterations": 85997, "wall_time": 11.6768, "user_time": 11.6768, "deterministic_time": 13.9314, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 40817, "constraint_breakdown": {"at_most_one": 188, "linear": 16672, "bool_or": 14138, "bool_and": 9819}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6444.66}, "cpsat_response_stats": {"num_booleans": 4947, "num_integers": 1041, "num_fixed_booleans": 106, "num_conflicts": 1164, "num_branches": 39616, "num_binary_propagations": 1826019, "num_integer_propagations": 869336, "num_restarts": 12, "num_lp_iterations": 14826, "wall_time": 6.43579, "user_time": 6.43579, "deterministic_time": 6.93193, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 837165}, "cpsat_response_stats": {"num_booleans": 31402, "num_integers": 3986, "num_fixed_booleans": 1018, "num_conflicts": 213359, "num_branches": 1171620, "num_binary_propagations": 249450762, "num_integer_propagations": 71481083, "num_restarts": 923, "num_lp_iterations": 5188093, "wall_time": 837.131, "user_time": 837.131, "deterministic_time": 1353.18, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 502.374}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.50176, "user_time": 0.50176, "deterministic_time": 0.611565}, "solution_info": "no_lp", "problem_sha256": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 44364, "constraint_breakdown": {"at_most_one": 194, "linear": 18817, "bool_or": 15164, "bool_and": 10189}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4816.56}, "cpsat_response_stats": {"num_booleans": 5507, "num_integers": 1041, "num_fixed_booleans": 117, "num_conflicts": 1919, "num_branches": 42736, "num_binary_propagations": 2911740, "num_integer_propagations": 1164657, "num_restarts": 18, "num_lp_iterations": 17728, "wall_time": 4.80768, "user_time": 4.80768, "deterministic_time": 6.62824, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 61768, "constraint_breakdown": {"at_most_one": 300, "linear": 23701, "bool_or": 22078, "bool_and": 15689}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10744.1}, "cpsat_response_stats": {"num_booleans": 9509, "num_integers": 1615, "num_fixed_booleans": 360, "num_conflicts": 3721, "num_branches": 100111, "num_binary_propagations": 4602773, "num_integer_propagations": 2056450, "num_restarts": 39, "num_lp_iterations": 53719, "wall_time": 10.7341, "user_time": 10.7341, "deterministic_time": 16.4477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7530.89}, "cpsat_response_stats": {"num_booleans": 8076, "num_conflicts": 8859, "num_branches": 83041, "num_binary_propagations": 8202624, "num_integer_propagations": 2570750, "num_restarts": 72, "wall_time": 7.52507, "user_time": 7.52507, "deterministic_time": 23.9536}, "solution_info": "default_lp", "problem_sha256": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1132.06}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.1309, "user_time": 1.1309, "deterministic_time": 1.17979}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94141}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11003.3}, "cpsat_response_stats": {"num_booleans": 12814, "num_conflicts": 9050, "num_branches": 97946, "num_binary_propagations": 10764050, "num_integer_propagations": 3395144, "num_restarts": 84, "wall_time": 10.9938, "user_time": 10.9938, "deterministic_time": 32.2612}, "solution_info": "no_lp", "problem_sha256": "c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 25921, "constraint_breakdown": {"at_most_one": 132, "linear": 10033, "bool_or": 9211, "bool_and": 6545}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4920.17}, "cpsat_response_stats": {"num_booleans": 2695, "num_integers": 626, "num_fixed_booleans": 72, "num_conflicts": 712, "num_branches": 19587, "num_binary_propagations": 622076, "num_integer_propagations": 306569, "num_restarts": 9, "num_lp_iterations": 4847, "wall_time": 4.91391, "user_time": 4.91391, "deterministic_time": 4.70544, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 192562, "constraint_breakdown": {"at_most_one": 618, "linear": 88116, "bool_or": 63141, "bool_and": 40687}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 400652}, "cpsat_response_stats": {"num_booleans": 27751, "num_integers": 3879, "num_fixed_booleans": 1165, "num_conflicts": 122197, "num_branches": 544974, "num_binary_propagations": 158611075, "num_integer_propagations": 37718100, "num_restarts": 536, "num_lp_iterations": 2897820, "wall_time": 400.603, "user_time": 400.603, "deterministic_time": 817.73, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1988.07}, "cpsat_response_stats": {"num_booleans": 1808, "num_integers": 464, "num_fixed_booleans": 49, "num_conflicts": 372, "num_branches": 10428, "num_binary_propagations": 444664, "num_integer_propagations": 225857, "num_restarts": 3, "num_lp_iterations": 674, "wall_time": 1.98639, "user_time": 1.98639, "deterministic_time": 1.6284, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 30242, "constraint_breakdown": {"at_most_one": 135, "linear": 12738, "bool_or": 10365, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2431.35}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 607, "num_fixed_booleans": 124, "num_conflicts": 646, "num_branches": 15490, "num_binary_propagations": 1032948, "num_integer_propagations": 491411, "num_restarts": 3, "num_lp_iterations": 1411, "wall_time": 2.42503, "user_time": 2.42503, "deterministic_time": 2.17952, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14493}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 304.492}, "cpsat_response_stats": {"num_booleans": 778, "num_conflicts": 163, "num_branches": 3749, "num_binary_propagations": 173312, "num_integer_propagations": 109162, "num_restarts": 2, "wall_time": 0.303737, "user_time": 0.303737, "deterministic_time": 0.333838}, "solution_info": "no_lp", "problem_sha256": "c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 30242, "constraint_breakdown": {"at_most_one": 135, "linear": 12738, "bool_or": 10365, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2670.68}, "cpsat_response_stats": {"num_booleans": 2462, "num_integers": 604, "num_fixed_booleans": 97, "num_conflicts": 590, "num_branches": 15794, "num_binary_propagations": 901930, "num_integer_propagations": 446933, "num_restarts": 3, "num_lp_iterations": 2116, "wall_time": 2.6649, "user_time": 2.6649, "deterministic_time": 2.03907, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7808.57}, "cpsat_response_stats": {"num_booleans": 7170, "num_integers": 1359, "num_fixed_booleans": 132, "num_conflicts": 2283, "num_branches": 62251, "num_binary_propagations": 3836555, "num_integer_propagations": 1664772, "num_restarts": 21, "num_lp_iterations": 35137, "wall_time": 7.79511, "user_time": 7.79511, "deterministic_time": 7.84759, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 26958, "constraint_breakdown": {"at_most_one": 133, "linear": 10767, "bool_or": 9444, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4839.59}, "cpsat_response_stats": {"num_booleans": 3872, "num_integers": 604, "num_fixed_booleans": 70, "num_conflicts": 2116, "num_branches": 24405, "num_binary_propagations": 946049, "num_integer_propagations": 442534, "num_restarts": 12, "num_lp_iterations": 7805, "wall_time": 4.83433, "user_time": 4.83433, "deterministic_time": 4.23301, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 633.046}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.632124, "user_time": 0.632124, "deterministic_time": 0.856833}, "solution_info": "quick_restart", "problem_sha256": "c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94488, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32332, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 33804.5}, "cpsat_response_stats": {"num_booleans": 12820, "num_integers": 2179, "num_fixed_booleans": 395, "num_conflicts": 18283, "num_branches": 134769, "num_binary_propagations": 15652475, "num_integer_propagations": 4876607, "num_restarts": 148, "num_lp_iterations": 273044, "wall_time": 33.7654, "user_time": 33.7654, "deterministic_time": 56.5736, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4313.07}, "cpsat_response_stats": {"num_booleans": 2654, "num_integers": 635, "num_fixed_booleans": 71, "num_conflicts": 307, "num_branches": 13962, "num_binary_propagations": 503793, "num_integer_propagations": 235016, "num_restarts": 1, "num_lp_iterations": 331, "wall_time": 4.30818, "user_time": 4.30818, "deterministic_time": 5.09543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3883.39}, "cpsat_response_stats": {"num_booleans": 6935, "num_conflicts": 2010, "num_branches": 62433, "num_binary_propagations": 4382597, "num_integer_propagations": 1811844, "num_restarts": 11, "wall_time": 3.88067, "user_time": 3.88067, "deterministic_time": 8.22645}, "solution_info": "default_lp", "problem_sha256": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 58973, "constraint_breakdown": {"at_most_one": 248, "linear": 24942, "bool_or": 20080, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7692.09}, "cpsat_response_stats": {"num_booleans": 7101, "num_integers": 1349, "num_fixed_booleans": 133, "num_conflicts": 1835, "num_branches": 59762, "num_binary_propagations": 3583419, "num_integer_propagations": 1578380, "num_restarts": 18, "num_lp_iterations": 27605, "wall_time": 7.67323, "user_time": 7.67323, "deterministic_time": 8.13808, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30080}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1564.42}, "cpsat_response_stats": {"num_booleans": 2897, "num_conflicts": 951, "num_branches": 16490, "num_binary_propagations": 1114735, "num_integer_propagations": 498581, "num_restarts": 6, "wall_time": 1.56281, "user_time": 1.56281, "deterministic_time": 2.14116}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8928.37}, "cpsat_response_stats": {"num_booleans": 11804, "num_conflicts": 6789, "num_branches": 90678, "num_binary_propagations": 8798320, "num_integer_propagations": 2842544, "num_restarts": 62, "wall_time": 8.92585, "user_time": 8.92585, "deterministic_time": 24.054}, "solution_info": "no_lp", "problem_sha256": "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 19420, "constraint_breakdown": {"at_most_one": 102, "linear": 7566, "bool_or": 6887, "bool_and": 4865}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1152.52}, "cpsat_response_stats": {"num_booleans": 1752, "num_integers": 477, "num_fixed_booleans": 51, "num_conflicts": 172, "num_branches": 8896, "num_binary_propagations": 289873, "num_integer_propagations": 148478, "num_restarts": 1, "num_lp_iterations": 109, "wall_time": 1.1514, "user_time": 1.1514, "deterministic_time": 0.839951, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 38783, "constraint_breakdown": {"at_most_one": 187, "linear": 15273, "bool_or": 13726, "bool_and": 9597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3101.11}, "cpsat_response_stats": {"num_booleans": 4839, "num_integers": 945, "num_fixed_booleans": 105, "num_conflicts": 493, "num_branches": 26836, "num_binary_propagations": 1542282, "num_integer_propagations": 605582, "num_restarts": 1, "num_lp_iterations": 236, "wall_time": 3.09275, "user_time": 3.09275, "deterministic_time": 3.2243, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 51975, "constraint_breakdown": {"at_most_one": 245, "linear": 20574, "bool_or": 18265, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7255.7}, "cpsat_response_stats": {"num_booleans": 6930, "num_integers": 1377, "num_fixed_booleans": 141, "num_conflicts": 3095, "num_branches": 59900, "num_binary_propagations": 3097998, "num_integer_propagations": 1391457, "num_restarts": 39, "num_lp_iterations": 40671, "wall_time": 7.23324, "user_time": 7.23324, "deterministic_time": 8.11072, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 642.02}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.641393, "user_time": 0.641393, "deterministic_time": 0.840026}, "solution_info": "quick_restart", "problem_sha256": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5546.81}, "cpsat_response_stats": {"num_booleans": 5000, "num_integers": 981, "num_fixed_booleans": 106, "num_conflicts": 2328, "num_branches": 42380, "num_binary_propagations": 2790494, "num_integer_propagations": 1121502, "num_restarts": 21, "num_lp_iterations": 24654, "wall_time": 5.53653, "user_time": 5.53653, "deterministic_time": 6.34357, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 987.922}, "cpsat_response_stats": {"num_booleans": 847, "num_integers": 272, "num_fixed_booleans": 20, "num_conflicts": 183, "num_branches": 4481, "num_binary_propagations": 165495, "num_integer_propagations": 99082, "num_restarts": 2, "num_lp_iterations": 193, "wall_time": 0.986715, "user_time": 0.986715, "deterministic_time": 0.725161, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1549180.0}, "cpsat_response_stats": {"num_booleans": 39882, "num_conflicts": 443078, "num_branches": 1855860, "num_binary_propagations": 634174655, "num_integer_propagations": 156622140, "num_restarts": 2195, "wall_time": 1549.16, "user_time": 1549.16, "deterministic_time": 4027.99}, "solution_info": "no_lp", "problem_sha256": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 45373, "constraint_breakdown": {"at_most_one": 191, "linear": 19313, "bool_or": 15517, "bool_and": 10352}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6403.38}, "cpsat_response_stats": {"num_booleans": 5233, "num_integers": 975, "num_fixed_booleans": 121, "num_conflicts": 1734, "num_branches": 40697, "num_binary_propagations": 2391730, "num_integer_propagations": 1008786, "num_restarts": 15, "num_lp_iterations": 12581, "wall_time": 6.39427, "user_time": 6.39427, "deterministic_time": 6.78591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2972.04}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 2.97016, "user_time": 2.97016, "deterministic_time": 4.09745}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 30264, "constraint_breakdown": {"at_most_one": 134, "linear": 12974, "bool_or": 10252, "bool_and": 6904}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2736.12}, "cpsat_response_stats": {"num_booleans": 2925, "num_integers": 637, "num_fixed_booleans": 151, "num_conflicts": 931, "num_branches": 17958, "num_binary_propagations": 994439, "num_integer_propagations": 478092, "num_restarts": 6, "num_lp_iterations": 2989, "wall_time": 2.72245, "user_time": 2.72245, "deterministic_time": 1.97305, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 377.333}, "cpsat_response_stats": {"num_booleans": 1670, "num_conflicts": 1116, "num_branches": 25101, "num_binary_propagations": 323929, "num_integer_propagations": 229686, "num_restarts": 7, "wall_time": 0.376849, "user_time": 0.376849, "deterministic_time": 0.418748}, "solution_info": "quick_restart", "problem_sha256": "cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 636.406}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.635351, "user_time": 0.635351, "deterministic_time": 0.898867}, "solution_info": "fs_random_no_lp", "problem_sha256": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27031}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1605.55}, "cpsat_response_stats": {"num_booleans": 2865, "num_conflicts": 335, "num_branches": 15513, "num_binary_propagations": 749975, "num_integer_propagations": 323890, "num_restarts": 1, "wall_time": 1.60437, "user_time": 1.60437, "deterministic_time": 2.20673}, "solution_info": "default_lp", "problem_sha256": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94632, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32476, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15126.3}, "cpsat_response_stats": {"num_booleans": 12644, "num_integers": 2142, "num_fixed_booleans": 313, "num_conflicts": 6826, "num_branches": 86123, "num_binary_propagations": 9199914, "num_integer_propagations": 2828603, "num_restarts": 65, "num_lp_iterations": 90847, "wall_time": 15.1091, "user_time": 15.1091, "deterministic_time": 24.2877, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1772.15}, "cpsat_response_stats": {"num_booleans": 3453, "num_conflicts": 1612, "num_branches": 16281, "num_binary_propagations": 1266631, "num_integer_propagations": 516584, "num_restarts": 6, "wall_time": 1.77084, "user_time": 1.77084, "deterministic_time": 2.54555}, "solution_info": "fs_random_no_lp", "problem_sha256": "d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56174}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3731.05}, "cpsat_response_stats": {"num_booleans": 7219, "num_conflicts": 1819, "num_branches": 62821, "num_binary_propagations": 3659457, "num_integer_propagations": 1596306, "num_restarts": 18, "wall_time": 3.72777, "user_time": 3.72777, "deterministic_time": 8.34385}, "solution_info": "default_lp", "problem_sha256": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5355.17}, "cpsat_response_stats": {"num_booleans": 5016, "num_integers": 966, "num_fixed_booleans": 105, "num_conflicts": 937, "num_branches": 35168, "num_binary_propagations": 1589397, "num_integer_propagations": 679253, "num_restarts": 9, "num_lp_iterations": 8295, "wall_time": 5.34862, "user_time": 5.34862, "deterministic_time": 4.77691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 974.173}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 0.973139, "user_time": 0.973139, "deterministic_time": 1.26936}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190797}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 241828}, "cpsat_response_stats": {"num_booleans": 27886, "num_conflicts": 113751, "num_branches": 616288, "num_binary_propagations": 138429930, "num_integer_propagations": 38199499, "num_restarts": 521, "wall_time": 241.815, "user_time": 241.815, "deterministic_time": 753.539}, "solution_info": "no_lp", "problem_sha256": "d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7758.26}, "cpsat_response_stats": {"num_booleans": 7414, "num_integers": 1493, "num_fixed_booleans": 142, "num_conflicts": 2512, "num_branches": 61449, "num_binary_propagations": 3643632, "num_integer_propagations": 1558160, "num_restarts": 15, "num_lp_iterations": 28859, "wall_time": 7.74627, "user_time": 7.74627, "deterministic_time": 7.84112, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3732, "num_bool": 2581, "num_int": 1151, "num_constraints": 43342, "constraint_breakdown": {"at_most_one": 191, "linear": 18082, "bool_or": 14903, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5402.52}, "cpsat_response_stats": {"num_booleans": 5481, "num_integers": 964, "num_fixed_booleans": 431, "num_conflicts": 2651, "num_branches": 84649, "num_binary_propagations": 2911236, "num_integer_propagations": 1366860, "num_restarts": 19, "num_lp_iterations": 25977, "wall_time": 5.39512, "user_time": 5.39512, "deterministic_time": 7.43684, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 32621, "constraint_breakdown": {"at_most_one": 158, "linear": 12926, "bool_or": 11515, "bool_and": 8022}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2636.93}, "cpsat_response_stats": {"num_booleans": 3965, "num_integers": 799, "num_fixed_booleans": 90, "num_conflicts": 591, "num_branches": 23984, "num_binary_propagations": 1217090, "num_integer_propagations": 476440, "num_restarts": 3, "num_lp_iterations": 1768, "wall_time": 2.63001, "user_time": 2.63001, "deterministic_time": 2.88591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3496, "num_bool": 2362, "num_int": 1134, "num_constraints": 41015, "constraint_breakdown": {"at_most_one": 188, "linear": 16778, "bool_or": 14230, "bool_and": 9819}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4844.67}, "cpsat_response_stats": {"num_booleans": 4808, "num_integers": 1020, "num_fixed_booleans": 111, "num_conflicts": 897, "num_branches": 33449, "num_binary_propagations": 1909258, "num_integer_propagations": 839189, "num_restarts": 6, "num_lp_iterations": 4405, "wall_time": 4.83731, "user_time": 4.83731, "deterministic_time": 6.95599, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3604, "num_int": 1500, "num_constraints": 59384, "constraint_breakdown": {"at_most_one": 248, "linear": 25207, "bool_or": 20226, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6416.26}, "cpsat_response_stats": {"num_booleans": 7200, "num_integers": 1335, "num_fixed_booleans": 134, "num_conflicts": 1981, "num_branches": 59854, "num_binary_propagations": 4169992, "num_integer_propagations": 1744375, "num_restarts": 15, "num_lp_iterations": 27046, "wall_time": 6.40549, "user_time": 6.40549, "deterministic_time": 8.47782, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1764.03}, "cpsat_response_stats": {"num_booleans": 5046, "num_conflicts": 4158, "num_branches": 57953, "num_binary_propagations": 2732212, "num_integer_propagations": 1222426, "num_restarts": 21, "wall_time": 1.76245, "user_time": 1.76245, "deterministic_time": 2.6842}, "solution_info": "default_lp", "problem_sha256": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 688.182}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.687169, "user_time": 0.687169, "deterministic_time": 1.00223}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3980.14}, "cpsat_response_stats": {"num_booleans": 4163, "num_integers": 837, "num_fixed_booleans": 533, "num_conflicts": 1168, "num_branches": 27661, "num_binary_propagations": 1704118, "num_integer_propagations": 750339, "num_restarts": 6, "num_lp_iterations": 3846, "wall_time": 3.97132, "user_time": 3.97132, "deterministic_time": 4.24827, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3748.33}, "cpsat_response_stats": {"num_booleans": 2188, "num_integers": 517, "num_fixed_booleans": 55, "num_conflicts": 531, "num_branches": 12139, "num_binary_propagations": 533981, "num_integer_propagations": 281523, "num_restarts": 3, "num_lp_iterations": 849, "wall_time": 3.74356, "user_time": 3.74356, "deterministic_time": 2.30902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49278}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4490.47}, "cpsat_response_stats": {"num_booleans": 6764, "num_conflicts": 1914, "num_branches": 57190, "num_binary_propagations": 2673983, "num_integer_propagations": 1138916, "num_restarts": 21, "wall_time": 4.48732, "user_time": 4.48732, "deterministic_time": 8.23222}, "solution_info": "default_lp", "problem_sha256": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11693.6}, "cpsat_response_stats": {"num_booleans": 8101, "num_integers": 1418, "num_fixed_booleans": 208, "num_conflicts": 2652, "num_branches": 73629, "num_binary_propagations": 4497541, "num_integer_propagations": 1845745, "num_restarts": 24, "num_lp_iterations": 33473, "wall_time": 11.6816, "user_time": 11.6816, "deterministic_time": 14.342, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1257, "num_int": 594, "num_constraints": 20861, "constraint_breakdown": {"at_most_one": 102, "linear": 8670, "bool_or": 7198, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1287.87}, "cpsat_response_stats": {"num_booleans": 1884, "num_integers": 505, "num_fixed_booleans": 56, "num_conflicts": 325, "num_branches": 10876, "num_binary_propagations": 545066, "num_integer_propagations": 267248, "num_restarts": 1, "num_lp_iterations": 282, "wall_time": 1.28643, "user_time": 1.28643, "deterministic_time": 1.2279, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3551.33}, "cpsat_response_stats": {"num_booleans": 2471, "num_integers": 592, "num_fixed_booleans": 77, "num_conflicts": 803, "num_branches": 16588, "num_binary_propagations": 971423, "num_integer_propagations": 461010, "num_restarts": 6, "num_lp_iterations": 1893, "wall_time": 3.5441, "user_time": 3.5441, "deterministic_time": 3.23431, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28952}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1895.54}, "cpsat_response_stats": {"num_booleans": 4897, "num_conflicts": 3683, "num_branches": 32229, "num_binary_propagations": 2195853, "num_integer_propagations": 880604, "num_restarts": 21, "wall_time": 1.89449, "user_time": 1.89449, "deterministic_time": 2.78948}, "solution_info": "fs_random", "problem_sha256": "db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58108}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4168.07}, "cpsat_response_stats": {"num_booleans": 6777, "num_conflicts": 1594, "num_branches": 55705, "num_binary_propagations": 3686234, "num_integer_propagations": 1580012, "num_restarts": 9, "wall_time": 4.16523, "user_time": 4.16523, "deterministic_time": 8.38265}, "solution_info": "default_lp", "problem_sha256": "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 37320, "constraint_breakdown": {"at_most_one": 160, "linear": 16219, "bool_or": 12573, "bool_and": 8368}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.49}, "cpsat_response_stats": {"num_booleans": 3993, "num_integers": 831, "num_fixed_booleans": 853, "num_conflicts": 1120, "num_branches": 26394, "num_binary_propagations": 1678885, "num_integer_propagations": 742913, "num_restarts": 6, "num_lp_iterations": 4426, "wall_time": 3.88588, "user_time": 3.88588, "deterministic_time": 3.00747, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38566}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3140.42}, "cpsat_response_stats": {"num_booleans": 8026, "num_conflicts": 5606, "num_branches": 75969, "num_binary_propagations": 3038054, "num_integer_propagations": 1261262, "num_restarts": 25, "wall_time": 3.13839, "user_time": 3.13839, "deterministic_time": 5.024}, "solution_info": "fs_random_no_lp", "problem_sha256": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11336.5}, "cpsat_response_stats": {"num_booleans": 6811, "num_integers": 1298, "num_fixed_booleans": 397, "num_conflicts": 3325, "num_branches": 65832, "num_binary_propagations": 3913696, "num_integer_propagations": 1654533, "num_restarts": 27, "num_lp_iterations": 43175, "wall_time": 11.3117, "user_time": 11.3117, "deterministic_time": 13.2456, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2894.64}, "cpsat_response_stats": {"num_booleans": 1468, "num_integers": 371, "num_fixed_booleans": 55, "num_conflicts": 229, "num_branches": 7101, "num_binary_propagations": 331230, "num_integer_propagations": 163477, "num_restarts": 1, "num_lp_iterations": 77, "wall_time": 2.89066, "user_time": 2.89066, "deterministic_time": 1.82151, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 60202, "constraint_breakdown": {"at_most_one": 247, "linear": 25809, "bool_or": 20421, "bool_and": 13725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16580.1}, "cpsat_response_stats": {"num_booleans": 7803, "num_integers": 1408, "num_fixed_booleans": 234, "num_conflicts": 8747, "num_branches": 86424, "num_binary_propagations": 8099187, "num_integer_propagations": 2652010, "num_restarts": 36, "num_lp_iterations": 82379, "wall_time": 16.554, "user_time": 16.554, "deterministic_time": 22.3038, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6297.97}, "cpsat_response_stats": {"num_booleans": 5076, "num_integers": 1051, "num_fixed_booleans": 106, "num_conflicts": 797, "num_branches": 35952, "num_binary_propagations": 1651104, "num_integer_propagations": 765565, "num_restarts": 6, "num_lp_iterations": 7463, "wall_time": 6.2898, "user_time": 6.2898, "deterministic_time": 6.38374, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26786}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2054.76}, "cpsat_response_stats": {"num_booleans": 2552, "num_conflicts": 500, "num_branches": 14190, "num_binary_propagations": 723215, "num_integer_propagations": 366790, "num_restarts": 3, "wall_time": 2.05358, "user_time": 2.05358, "deterministic_time": 2.89887}, "solution_info": "no_lp", "problem_sha256": "e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5312, "num_bool": 3831, "num_int": 1481, "num_constraints": 60364, "constraint_breakdown": {"at_most_one": 247, "linear": 25865, "bool_or": 20527, "bool_and": 13725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12804.9}, "cpsat_response_stats": {"num_booleans": 7875, "num_integers": 1389, "num_fixed_booleans": 272, "num_conflicts": 5457, "num_branches": 68944, "num_binary_propagations": 7187925, "num_integer_propagations": 2304961, "num_restarts": 39, "num_lp_iterations": 55387, "wall_time": 12.7942, "user_time": 12.7942, "deterministic_time": 14.0536, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 36452, "constraint_breakdown": {"at_most_one": 160, "linear": 15539, "bool_or": 12406, "bool_and": 8347}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5253.12}, "cpsat_response_stats": {"num_booleans": 4689, "num_integers": 820, "num_fixed_booleans": 809, "num_conflicts": 2043, "num_branches": 31440, "num_binary_propagations": 1976347, "num_integer_propagations": 869683, "num_restarts": 15, "num_lp_iterations": 10982, "wall_time": 5.24519, "user_time": 5.24519, "deterministic_time": 4.28569, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2930, "num_int": 1127, "num_constraints": 45640, "constraint_breakdown": {"at_most_one": 190, "linear": 19771, "bool_or": 15424, "bool_and": 10255}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4887.83}, "cpsat_response_stats": {"num_booleans": 5461, "num_integers": 1037, "num_fixed_booleans": 261, "num_conflicts": 2631, "num_branches": 43623, "num_binary_propagations": 3593297, "num_integer_propagations": 1504747, "num_restarts": 21, "num_lp_iterations": 25469, "wall_time": 4.87833, "user_time": 4.87833, "deterministic_time": 7.24441, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6608.39}, "cpsat_response_stats": {"num_booleans": 5213, "num_integers": 1000, "num_fixed_booleans": 261, "num_conflicts": 1763, "num_branches": 39458, "num_binary_propagations": 2473271, "num_integer_propagations": 1097405, "num_restarts": 12, "num_lp_iterations": 12709, "wall_time": 6.58629, "user_time": 6.58629, "deterministic_time": 6.43063, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20757, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7173, "bool_and": 4889}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1117.04}, "cpsat_response_stats": {"num_booleans": 1786, "num_integers": 470, "num_fixed_booleans": 55, "num_conflicts": 286, "num_branches": 9923, "num_binary_propagations": 413494, "num_integer_propagations": 212629, "num_restarts": 1, "num_lp_iterations": 349, "wall_time": 1.11495, "user_time": 1.11495, "deterministic_time": 0.817957, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7970.52}, "cpsat_response_stats": {"num_booleans": 7654, "num_integers": 1379, "num_fixed_booleans": 141, "num_conflicts": 2467, "num_branches": 65020, "num_binary_propagations": 3819270, "num_integer_propagations": 1583355, "num_restarts": 24, "num_lp_iterations": 23832, "wall_time": 7.95906, "user_time": 7.95906, "deterministic_time": 7.82318, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30280}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1251.32}, "cpsat_response_stats": {"num_booleans": 2445, "num_conflicts": 733, "num_branches": 15802, "num_binary_propagations": 1169334, "num_integer_propagations": 540081, "num_restarts": 3, "wall_time": 1.25004, "user_time": 1.25004, "deterministic_time": 2.15822}, "solution_info": "fs_random_no_lp", "problem_sha256": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19405, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6839, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 916.404}, "cpsat_response_stats": {"num_booleans": 1324, "num_integers": 357, "num_fixed_booleans": 140, "num_conflicts": 271, "num_branches": 5748, "num_binary_propagations": 382393, "num_integer_propagations": 187153, "num_restarts": 1, "num_lp_iterations": 83, "wall_time": 0.914853, "user_time": 0.914853, "deterministic_time": 0.718591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20881, "num_bool": 16450, "num_int": 4431, "num_constraints": 236975, "constraint_breakdown": {"at_most_one": 727, "linear": 109273, "bool_or": 77125, "bool_and": 49850}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4689630.0}, "cpsat_response_stats": {"num_booleans": 34725, "num_integers": 4908, "num_fixed_booleans": 1393, "num_conflicts": 1180208, "num_branches": 4605661, "num_binary_propagations": 1460251131, "num_integer_propagations": 383038351, "num_restarts": 5302, "num_lp_iterations": 30955690, "wall_time": 4689.57, "user_time": 4689.57, "deterministic_time": 9645.78, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25694}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2575.79}, "cpsat_response_stats": {"num_booleans": 2564, "num_conflicts": 255, "num_branches": 13536, "num_binary_propagations": 561351, "num_integer_propagations": 250659, "num_restarts": 1, "wall_time": 2.57446, "user_time": 2.57446, "deterministic_time": 4.3558}, "solution_info": "no_lp", "problem_sha256": "eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3548.75}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 3.54466, "user_time": 3.54466, "deterministic_time": 4.09768}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3732, "num_bool": 2581, "num_int": 1151, "num_constraints": 43342, "constraint_breakdown": {"at_most_one": 191, "linear": 18082, "bool_or": 14903, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4618.5}, "cpsat_response_stats": {"num_booleans": 5348, "num_integers": 963, "num_fixed_booleans": 265, "num_conflicts": 2166, "num_branches": 52761, "num_binary_propagations": 2657527, "num_integer_propagations": 1132849, "num_restarts": 12, "num_lp_iterations": 16354, "wall_time": 4.61026, "user_time": 4.61026, "deterministic_time": 6.90447, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 26603}, "cpsat_response_stats": {"num_booleans": 17967, "num_conflicts": 16842, "num_branches": 255182, "num_binary_propagations": 20803592, "num_integer_propagations": 7225733, "num_restarts": 135, "wall_time": 26.5969, "user_time": 26.5969, "deterministic_time": 88.5344}, "solution_info": "no_lp", "problem_sha256": "ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1608.48}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.6071, "user_time": 1.6071, "deterministic_time": 2.78436}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3318.12}, "cpsat_response_stats": {"num_booleans": 6711, "num_conflicts": 4463, "num_branches": 93544, "num_binary_propagations": 3540206, "num_integer_propagations": 1562033, "num_restarts": 23, "wall_time": 3.31652, "user_time": 3.31652, "deterministic_time": 7.18218}, "solution_info": "no_lp", "problem_sha256": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32383.5}, "cpsat_response_stats": {"num_booleans": 12990, "num_integers": 2191, "num_fixed_booleans": 372, "num_conflicts": 15627, "num_branches": 122298, "num_binary_propagations": 14503936, "num_integer_propagations": 4444588, "num_restarts": 119, "num_lp_iterations": 236073, "wall_time": 32.3443, "user_time": 32.3443, "deterministic_time": 43.2025, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2932, "num_int": 1129, "num_constraints": 45302, "constraint_breakdown": {"at_most_one": 190, "linear": 19343, "bool_or": 15471, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4562.37}, "cpsat_response_stats": {"num_booleans": 5335, "num_integers": 1028, "num_fixed_booleans": 430, "num_conflicts": 1402, "num_branches": 41147, "num_binary_propagations": 2712240, "num_integer_propagations": 1153498, "num_restarts": 6, "num_lp_iterations": 7069, "wall_time": 4.55341, "user_time": 4.55341, "deterministic_time": 5.86141, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7673.95}, "cpsat_response_stats": {"num_booleans": 6697, "num_integers": 1363, "num_fixed_booleans": 215, "num_conflicts": 2756, "num_branches": 52996, "num_binary_propagations": 3652200, "num_integer_propagations": 1638316, "num_restarts": 24, "num_lp_iterations": 33119, "wall_time": 7.66122, "user_time": 7.66122, "deterministic_time": 7.88379, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 20766, "constraint_breakdown": {"at_most_one": 102, "linear": 8617, "bool_or": 7156, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380.36}, "cpsat_response_stats": {"num_booleans": 2097, "num_integers": 512, "num_fixed_booleans": 179, "num_conflicts": 497, "num_branches": 11760, "num_binary_propagations": 498136, "num_integer_propagations": 264208, "num_restarts": 3, "num_lp_iterations": 587, "wall_time": 1.37914, "user_time": 1.37914, "deterministic_time": 1.03943, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1974.88}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.97328, "user_time": 1.97328, "deterministic_time": 3.10185}, "solution_info": "fs_random", "problem_sha256": "ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26786}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1667.51}, "cpsat_response_stats": {"num_booleans": 2535, "num_conflicts": 494, "num_branches": 13933, "num_binary_propagations": 686997, "num_integer_propagations": 347568, "num_restarts": 3, "wall_time": 1.66624, "user_time": 1.66624, "deterministic_time": 2.20254}, "solution_info": "no_lp", "problem_sha256": "ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14595.1}, "cpsat_response_stats": {"num_booleans": 12990, "num_conflicts": 13022, "num_branches": 121753, "num_binary_propagations": 13939962, "num_integer_propagations": 4100782, "num_restarts": 111, "wall_time": 14.5923, "user_time": 14.5923, "deterministic_time": 48.0783}, "solution_info": "no_lp", "problem_sha256": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6340.31}, "cpsat_response_stats": {"num_booleans": 5025, "num_integers": 1064, "num_fixed_booleans": 106, "num_conflicts": 876, "num_branches": 36477, "num_binary_propagations": 1730348, "num_integer_propagations": 804974, "num_restarts": 6, "num_lp_iterations": 8274, "wall_time": 6.3299, "user_time": 6.3299, "deterministic_time": 6.44549, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4364, "num_bool": 2861, "num_int": 1503, "num_constraints": 52449, "constraint_breakdown": {"at_most_one": 245, "linear": 20892, "bool_or": 18421, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6043.44}, "cpsat_response_stats": {"num_booleans": 6743, "num_integers": 1343, "num_fixed_booleans": 144, "num_conflicts": 1677, "num_branches": 58474, "num_binary_propagations": 3019970, "num_integer_propagations": 1323561, "num_restarts": 15, "num_lp_iterations": 20265, "wall_time": 6.03092, "user_time": 6.03092, "deterministic_time": 8.10386, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 20821, "constraint_breakdown": {"at_most_one": 103, "linear": 8610, "bool_or": 7199, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1400.94}, "cpsat_response_stats": {"num_booleans": 1872, "num_integers": 469, "num_fixed_booleans": 56, "num_conflicts": 365, "num_branches": 10412, "num_binary_propagations": 451144, "num_integer_propagations": 229653, "num_restarts": 3, "num_lp_iterations": 640, "wall_time": 1.39892, "user_time": 1.39892, "deterministic_time": 0.933528, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5490.98}, "cpsat_response_stats": {"num_booleans": 5186, "num_integers": 992, "num_fixed_booleans": 103, "num_conflicts": 1721, "num_branches": 44355, "num_binary_propagations": 2145324, "num_integer_propagations": 1003383, "num_restarts": 15, "num_lp_iterations": 15050, "wall_time": 5.48341, "user_time": 5.48341, "deterministic_time": 6.24261, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5229.07}, "cpsat_response_stats": {"num_booleans": 4204, "num_integers": 828, "num_fixed_booleans": 313, "num_conflicts": 1162, "num_branches": 27920, "num_binary_propagations": 1625001, "num_integer_propagations": 724805, "num_restarts": 6, "num_lp_iterations": 3118, "wall_time": 5.22275, "user_time": 5.22275, "deterministic_time": 5.07577, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6273.65}, "cpsat_response_stats": {"num_booleans": 5621, "num_integers": 1043, "num_fixed_booleans": 439, "num_conflicts": 2166, "num_branches": 42479, "num_binary_propagations": 2764356, "num_integer_propagations": 1191564, "num_restarts": 18, "num_lp_iterations": 16008, "wall_time": 6.26157, "user_time": 6.26157, "deterministic_time": 6.69212, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3241, "num_bool": 2300, "num_int": 941, "num_constraints": 36541, "constraint_breakdown": {"at_most_one": 160, "linear": 15567, "bool_or": 12467, "bool_and": 8347}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4646.35}, "cpsat_response_stats": {"num_booleans": 4223, "num_integers": 803, "num_fixed_booleans": 546, "num_conflicts": 1577, "num_branches": 27157, "num_binary_propagations": 1978606, "num_integer_propagations": 801923, "num_restarts": 9, "num_lp_iterations": 4865, "wall_time": 4.62909, "user_time": 4.62909, "deterministic_time": 4.01477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11713.1}, "cpsat_response_stats": {"num_booleans": 8110, "num_integers": 1486, "num_fixed_booleans": 205, "num_conflicts": 2608, "num_branches": 83027, "num_binary_propagations": 4012854, "num_integer_propagations": 1638791, "num_restarts": 27, "num_lp_iterations": 26027, "wall_time": 11.7034, "user_time": 11.7034, "deterministic_time": 11.1826, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1523.17}, "cpsat_response_stats": {"num_booleans": 2764, "num_conflicts": 677, "num_branches": 16212, "num_binary_propagations": 1076830, "num_integer_propagations": 508034, "num_restarts": 3, "wall_time": 1.52199, "user_time": 1.52199, "deterministic_time": 2.42093}, "solution_info": "fs_random_no_lp", "problem_sha256": "f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 668.915}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.667998, "user_time": 0.667998, "deterministic_time": 0.713344}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1364.16}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.36307, "user_time": 1.36307, "deterministic_time": 1.66269}, "solution_info": "no_lp", "problem_sha256": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 576.826}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.576211, "user_time": 0.576211, "deterministic_time": 0.713486}, "solution_info": "quick_restart_no_lp", "problem_sha256": "fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 869, "num_int": 448, "num_constraints": 14656, "constraint_breakdown": {"at_most_one": 77, "linear": 5927, "bool_or": 5118, "bool_and": 3534}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 522.676}, "cpsat_response_stats": {"num_booleans": 715, "num_integers": 263, "num_fixed_booleans": 19, "num_conflicts": 146, "num_branches": 3462, "num_binary_propagations": 156717, "num_integer_propagations": 94762, "num_restarts": 1, "num_lp_iterations": 122, "wall_time": 0.521792, "user_time": 0.521792, "deterministic_time": 0.308244, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14012, "constraint_breakdown": {"at_most_one": 76, "linear": 5477, "bool_or": 4962, "bool_and": 3497}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 436.964}, "cpsat_response_stats": {"num_booleans": 819, "num_integers": 280, "num_fixed_booleans": 21, "num_conflicts": 87, "num_branches": 4299, "num_binary_propagations": 109974, "num_integer_propagations": 68570, "num_restarts": 1, "num_lp_iterations": 66, "wall_time": 0.436121, "user_time": 0.436121, "deterministic_time": 0.24253, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16443, "num_int": 4424, "num_constraints": 236494, "constraint_breakdown": {"at_most_one": 727, "linear": 109162, "bool_or": 76936, "bool_and": 49669}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3111920.0}, "cpsat_response_stats": {"num_booleans": 38318, "num_integers": 4881, "num_fixed_booleans": 1701, "num_conflicts": 632852, "num_branches": 2956918, "num_binary_propagations": 774505293, "num_integer_propagations": 240882484, "num_restarts": 3149, "num_lp_iterations": 20666296, "wall_time": 3111.86, "user_time": 3111.86, "deterministic_time": 6244.86, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7010.29}, "cpsat_response_stats": {"num_booleans": 6983, "num_integers": 1275, "num_fixed_booleans": 293, "num_conflicts": 2009, "num_branches": 55718, "num_binary_propagations": 3177086, "num_integer_propagations": 1343137, "num_restarts": 18, "num_lp_iterations": 18369, "wall_time": 6.98713, "user_time": 6.98713, "deterministic_time": 6.805, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8016.85}, "cpsat_response_stats": {"num_booleans": 6990, "num_integers": 1330, "num_fixed_booleans": 144, "num_conflicts": 2704, "num_branches": 66347, "num_binary_propagations": 2807103, "num_integer_propagations": 1221085, "num_restarts": 33, "num_lp_iterations": 32976, "wall_time": 7.99287, "user_time": 7.99287, "deterministic_time": 7.69068, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} -{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57828, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19882, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5931.36}, "cpsat_response_stats": {"num_booleans": 7307, "num_integers": 1343, "num_fixed_booleans": 142, "num_conflicts": 1982, "num_branches": 61712, "num_binary_propagations": 4035943, "num_integer_propagations": 1584674, "num_restarts": 18, "num_lp_iterations": 20439, "wall_time": 5.9214, "user_time": 5.9214, "deterministic_time": 8.19457, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 46300, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15770, "bool_and": 10677}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16676.9, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6226, "num_integers": 1156, "num_fixed_booleans": 3242, "num_conflicts": 3916, "num_branches": 53955, "num_binary_propagations": 3958443, "num_integer_propagations": 1603411, "num_restarts": 31, "num_lp_iterations": 35910, "wall_time": 16.6685, "user_time": 16.6685, "deterministic_time": 13.2451, "gap_integral": 246.491, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "00a438e9a02d3895ebcf5e1eea77b3c1fba28d76ca73723c7befe71f327aae82", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "00a438e9a02d3895ebcf5e1eea77b3c1fba28d76ca73723c7befe71f327aae82.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21892, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7525, "bool_and": 5152}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5990.7, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 9875, "num_integers": 561, "num_fixed_booleans": 9349, "num_conflicts": 10712, "num_branches": 125224, "num_binary_propagations": 5329015, "num_integer_propagations": 1938574, "num_restarts": 43, "num_lp_iterations": 13971, "wall_time": 5.9834, "user_time": 5.9834, "deterministic_time": 7.42965, "gap_integral": 154.876, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 63224, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22432, "bool_and": 15413}, "objective_terms": 238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 34462, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8291, "num_integers": 1655, "num_fixed_booleans": 223, "num_conflicts": 11567, "num_branches": 90118, "num_binary_propagations": 9450729, "num_integer_propagations": 3042140, "num_restarts": 80, "num_lp_iterations": 110911, "wall_time": 34.4444, "user_time": 34.4444, "deterministic_time": 28.4192, "gap_integral": 612.144, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "0114ccef241fb15dac55b5044076da48fb0aae94ced62fb800c6cb80fdb4bece", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0114ccef241fb15dac55b5044076da48fb0aae94ced62fb800c6cb80fdb4bece.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 63224, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22432, "bool_and": 15413}, "objective_terms": 238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 62558.7, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8155, "num_integers": 1655, "num_fixed_booleans": 289, "num_conflicts": 15713, "num_branches": 102256, "num_binary_propagations": 12398222, "num_integer_propagations": 3789306, "num_restarts": 87, "num_lp_iterations": 158907, "wall_time": 62.5414, "user_time": 62.5414, "deterministic_time": 43.3051, "gap_integral": 862.268, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=8.76e-01 s=86 t=0.10 p=1.00 stall=3 h=base) [hint]", "problem_sha256": "01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 48002, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 16146, "bool_and": 10811}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12602.6, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 6865, "num_integers": 1077, "num_fixed_booleans": 872, "num_conflicts": 4517, "num_branches": 55859, "num_binary_propagations": 3707104, "num_integer_propagations": 1644071, "num_restarts": 28, "num_lp_iterations": 37646, "wall_time": 12.5776, "user_time": 12.5776, "deterministic_time": 10.6474, "gap_integral": 224.945, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "03012de510cde9db5046196d7b447fa299e3cfd3ba2cb2c12404376edc1f241a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "03012de510cde9db5046196d7b447fa299e3cfd3ba2cb2c12404376edc1f241a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20663, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7216, "bool_and": 4967}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4041.21, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500204}, "cpsat_response_stats": {"num_booleans": 1495, "num_integers": 406, "num_fixed_booleans": 909, "num_conflicts": 480, "num_branches": 8169, "num_binary_propagations": 407115, "num_integer_propagations": 216335, "num_restarts": 5, "num_lp_iterations": 784, "wall_time": 4.03355, "user_time": 4.03355, "deterministic_time": 2.09488, "gap_integral": 41.6539, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "06b08825173bc966570e184979982304ea8d33a41ce5d64b8c62eaac29c7cd1e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "06b08825173bc966570e184979982304ea8d33a41ce5d64b8c62eaac29c7cd1e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 89169, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30480, "bool_and": 20153}, "objective_terms": 287}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 59835.3, "objective_value": 956250000.0, "best_objective_bound": 956250000.0, "inner_objective_lower_bound": 956250255}, "cpsat_response_stats": {"num_booleans": 12014, "num_integers": 2212, "num_fixed_booleans": 269, "num_conflicts": 10943, "num_branches": 101236, "num_binary_propagations": 12396880, "num_integer_propagations": 3815581, "num_restarts": 91, "num_lp_iterations": 145398, "wall_time": 59.7702, "user_time": 59.7702, "deterministic_time": 46.0915, "gap_integral": 989.452, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_var_lns (d=8.76e-01 s=76 t=0.10 p=1.00 stall=3 h=base)", "problem_sha256": "079937773cba535777985106b2d07c563265fb815d36abdf852940f4585fcf5b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "079937773cba535777985106b2d07c563265fb815d36abdf852940f4585fcf5b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47669, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 16201, "bool_and": 10866}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18896.7, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 10322, "num_integers": 1125, "num_fixed_booleans": 2475, "num_conflicts": 10410, "num_branches": 71086, "num_binary_propagations": 9196934, "num_integer_propagations": 2365971, "num_restarts": 26, "num_lp_iterations": 78864, "wall_time": 18.8873, "user_time": 18.8873, "deterministic_time": 20.2757, "gap_integral": 257.282, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_dec_lns (d=5.00e-01 s=33 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "0b1eb462e501c127119ebaed5477068246bb55d5ff64a25323863488d0b780c3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0b1eb462e501c127119ebaed5477068246bb55d5ff64a25323863488d0b780c3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40623, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14316, "bool_and": 10085}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9935.37, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 5077, "num_integers": 1055, "num_fixed_booleans": 2708, "num_conflicts": 887, "num_branches": 35323, "num_binary_propagations": 1684377, "num_integer_propagations": 777576, "num_restarts": 7, "num_lp_iterations": 5603, "wall_time": 9.92413, "user_time": 9.92413, "deterministic_time": 7.60412, "gap_integral": 159.034, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0b67bf459c1faa274487feb34ff95759660b3032c8a8e8a27b6212252c1b0728", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0b67bf459c1faa274487feb34ff95759660b3032c8a8e8a27b6212252c1b0728.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 62229, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 21104, "bool_and": 14398}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28273, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 10910, "num_integers": 1539, "num_fixed_booleans": 168, "num_conflicts": 6970, "num_branches": 70239, "num_binary_propagations": 5827676, "num_integer_propagations": 3037324, "num_restarts": 35, "num_lp_iterations": 101981, "wall_time": 28.2568, "user_time": 28.2568, "deterministic_time": 22.0618, "gap_integral": 457.746, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "10211eedd813db0025927acaefc67fd413b2d8c2fb60009f35bb49cfc57584e7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "10211eedd813db0025927acaefc67fd413b2d8c2fb60009f35bb49cfc57584e7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 60360, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20676, "bool_and": 14061}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 27032.2, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 7905, "num_integers": 1499, "num_fixed_booleans": 1821, "num_conflicts": 6180, "num_branches": 83848, "num_binary_propagations": 6960554, "num_integer_propagations": 2582532, "num_restarts": 58, "num_lp_iterations": 69677, "wall_time": 27.0169, "user_time": 27.0169, "deterministic_time": 20.6581, "gap_integral": 444.378, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1371ca0e9b6120f558b2f5e1b9c3f335092dda51b0754c072c5033e3f25cc3d5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1371ca0e9b6120f558b2f5e1b9c3f335092dda51b0754c072c5033e3f25cc3d5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 38145, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 13077, "bool_and": 8822}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12309.8, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 5124, "num_integers": 894, "num_fixed_booleans": 3476, "num_conflicts": 3770, "num_branches": 37650, "num_binary_propagations": 2869698, "num_integer_propagations": 1256072, "num_restarts": 35, "num_lp_iterations": 20774, "wall_time": 12.2975, "user_time": 12.2975, "deterministic_time": 10.5399, "gap_integral": 223.063, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "1509ac1acb85d66d0da78b5490196654e1f8b82a4cabf3f550511bcb6681d1ca", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1509ac1acb85d66d0da78b5490196654e1f8b82a4cabf3f550511bcb6681d1ca.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 32190, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10975, "bool_and": 7418}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7733.2, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6974, "num_integers": 663, "num_fixed_booleans": 2076, "num_conflicts": 7164, "num_branches": 78766, "num_binary_propagations": 4973512, "num_integer_propagations": 1887633, "num_restarts": 35, "num_lp_iterations": 18218, "wall_time": 7.72493, "user_time": 7.72493, "deterministic_time": 8.41288, "gap_integral": 175.61, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "1b486cb1a9038477ba0dc44f568c384b38b7f66c62d1d0e27feada15ee63acc6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1b486cb1a9038477ba0dc44f568c384b38b7f66c62d1d0e27feada15ee63acc6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47597, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 16147, "bool_and": 10821}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15121.7, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500205}, "cpsat_response_stats": {"num_booleans": 6742, "num_integers": 1118, "num_fixed_booleans": 532, "num_conflicts": 3716, "num_branches": 58078, "num_binary_propagations": 3714802, "num_integer_propagations": 1686518, "num_restarts": 27, "num_lp_iterations": 35389, "wall_time": 15.1114, "user_time": 15.1114, "deterministic_time": 11.3394, "gap_integral": 239.599, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2107376b09925740dc3a50075ebd92ba4853e79a17d659fb67a1785646a3121f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2107376b09925740dc3a50075ebd92ba4853e79a17d659fb67a1785646a3121f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 32306, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10936, "bool_and": 7342}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7830.82, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6871, "num_integers": 625, "num_fixed_booleans": 4343, "num_conflicts": 6741, "num_branches": 92643, "num_binary_propagations": 5772737, "num_integer_propagations": 1892439, "num_restarts": 38, "num_lp_iterations": 10596, "wall_time": 7.8222, "user_time": 7.8222, "deterministic_time": 8.82547, "gap_integral": 185.059, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "27132094730caf2088c28c764b2146f0bfeceb874b7efa9b456a1ee06c4c3ff9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "27132094730caf2088c28c764b2146f0bfeceb874b7efa9b456a1ee06c4c3ff9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14780, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5216, "bool_and": 3677}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2672.29, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 945, "num_integers": 299, "num_fixed_booleans": 746, "num_conflicts": 230, "num_branches": 4512, "num_binary_propagations": 180863, "num_integer_propagations": 93336, "num_restarts": 3, "num_lp_iterations": 488, "wall_time": 2.6674, "user_time": 2.6674, "deterministic_time": 1.38757, "gap_integral": 27.6029, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "2981bd841805c451cc2932b097f423d5e2dcce99d4c3f5c63eb3eda1fb515539", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2981bd841805c451cc2932b097f423d5e2dcce99d4c3f5c63eb3eda1fb515539.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21994, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7563, "bool_and": 5148}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2877.24, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 1774, "num_integers": 496, "num_fixed_booleans": 710, "num_conflicts": 440, "num_branches": 10242, "num_binary_propagations": 481930, "num_integer_propagations": 251147, "num_restarts": 4, "num_lp_iterations": 1167, "wall_time": 2.87138, "user_time": 2.87138, "deterministic_time": 2.79816, "gap_integral": 56.4058, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "2e958d4f0beadd78d7dff9e9d9f386d3a0f00860ff2703e69b11975d544e3757", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2e958d4f0beadd78d7dff9e9d9f386d3a0f00860ff2703e69b11975d544e3757.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 62282, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21311, "bool_and": 14552}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17916.6, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 7204, "num_integers": 1479, "num_fixed_booleans": 205, "num_conflicts": 1996, "num_branches": 65003, "num_binary_propagations": 3673644, "num_integer_propagations": 1843057, "num_restarts": 12, "num_lp_iterations": 22075, "wall_time": 17.9002, "user_time": 17.9002, "deterministic_time": 11.2137, "gap_integral": 237.342, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "2fa57a166e49216765ff3e9df3a99e51c9a6eb307be9bab396ea75f82f17fabf", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2fa57a166e49216765ff3e9df3a99e51c9a6eb307be9bab396ea75f82f17fabf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 55027, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 19251, "bool_and": 13573}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 49854.2, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 14920, "num_integers": 1511, "num_fixed_booleans": 2933, "num_conflicts": 13604, "num_branches": 185339, "num_binary_propagations": 9076776, "num_integer_propagations": 3592423, "num_restarts": 64, "num_lp_iterations": 121768, "wall_time": 49.8436, "user_time": 49.8436, "deterministic_time": 44.9072, "gap_integral": 764.792, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43563, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 15047, "bool_and": 10468}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13875.9, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 9714, "num_integers": 1152, "num_fixed_booleans": 291, "num_conflicts": 5832, "num_branches": 65228, "num_binary_propagations": 2817981, "num_integer_propagations": 1223601, "num_restarts": 10, "num_lp_iterations": 47762, "wall_time": 13.8481, "user_time": 13.8481, "deterministic_time": 11.6098, "gap_integral": 246.183, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "3a0d61445e568f2995e6d3e7330d339f92d94e14d5ee89b2abf2ed96e86a3c70", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3a0d61445e568f2995e6d3e7330d339f92d94e14d5ee89b2abf2ed96e86a3c70.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20663, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7216, "bool_and": 4967}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3662.35, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500204}, "cpsat_response_stats": {"num_booleans": 1337, "num_integers": 382, "num_fixed_booleans": 771, "num_conflicts": 391, "num_branches": 8725, "num_binary_propagations": 373516, "num_integer_propagations": 188246, "num_restarts": 4, "num_lp_iterations": 896, "wall_time": 3.6573, "user_time": 3.6573, "deterministic_time": 2.31202, "gap_integral": 46.5064, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "3bc12c2cf7bd6010001c8a460cc0184aed048ae950e55078fd9428a3b8d1fc95", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3bc12c2cf7bd6010001c8a460cc0184aed048ae950e55078fd9428a3b8d1fc95.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21983, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7560, "bool_and": 5140}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5144.56, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 1984, "num_integers": 502, "num_fixed_booleans": 1382, "num_conflicts": 754, "num_branches": 12829, "num_binary_propagations": 592943, "num_integer_propagations": 300959, "num_restarts": 6, "num_lp_iterations": 1852, "wall_time": 5.13016, "user_time": 5.13016, "deterministic_time": 3.74204, "gap_integral": 77.0396, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "pseudo_costs", "problem_sha256": "41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 62421, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 21170, "bool_and": 14445}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28480.7, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 11031, "num_integers": 1473, "num_fixed_booleans": 464, "num_conflicts": 7879, "num_branches": 107429, "num_binary_propagations": 7431610, "num_integer_propagations": 3026298, "num_restarts": 40, "num_lp_iterations": 82368, "wall_time": 28.4674, "user_time": 28.4674, "deterministic_time": 22.3727, "gap_integral": 463.453, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "45edc06cca416c89589b5bbf4dd6e3beca7b1fd3f3ceb4d58e0fa4af5fea29e2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "45edc06cca416c89589b5bbf4dd6e3beca7b1fd3f3ceb4d58e0fa4af5fea29e2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 36351, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12833, "bool_and": 8753}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10430, "objective_value": 956253000.0, "best_objective_bound": 956253000.0, "inner_objective_lower_bound": 956252755}, "cpsat_response_stats": {"num_booleans": 6956, "num_integers": 807, "num_fixed_booleans": 1459, "num_conflicts": 5154, "num_branches": 142175, "num_binary_propagations": 4315509, "num_integer_propagations": 1890957, "num_restarts": 22, "num_lp_iterations": 13264, "wall_time": 10.4192, "user_time": 10.4192, "deterministic_time": 7.39399, "gap_integral": 154.468, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "4b47d1f4093903ddae684d0c12f44befa58c593196420a6eb9aed30add89ba31", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4b47d1f4093903ddae684d0c12f44befa58c593196420a6eb9aed30add89ba31.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 23113, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7868, "bool_and": 5304}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5148.21, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 5314, "num_integers": 487, "num_fixed_booleans": 3970, "num_conflicts": 4754, "num_branches": 35523, "num_binary_propagations": 1912681, "num_integer_propagations": 797941, "num_restarts": 18, "num_lp_iterations": 5911, "wall_time": 5.14189, "user_time": 5.14189, "deterministic_time": 5.83089, "gap_integral": 121.132, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "4bf5333887900fa3b5ff5811f12d1f5c9c0bb0574018566d4538a620dad14e3b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4bf5333887900fa3b5ff5811f12d1f5c9c0bb0574018566d4538a620dad14e3b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38398, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12974, "bool_and": 8732}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11764, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8186, "num_integers": 957, "num_fixed_booleans": 1025, "num_conflicts": 6564, "num_branches": 84399, "num_binary_propagations": 3888748, "num_integer_propagations": 1648379, "num_restarts": 40, "num_lp_iterations": 29554, "wall_time": 11.7529, "user_time": 11.7529, "deterministic_time": 10.75, "gap_integral": 227.487, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "59703dbe66412fd1ab21a7c83351814914d6a3dbbedfe41041b8faf435dd4011", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "59703dbe66412fd1ab21a7c83351814914d6a3dbbedfe41041b8faf435dd4011.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 21165, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7399, "bool_and": 5137}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3606.39, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 1940, "num_integers": 517, "num_fixed_booleans": 1632, "num_conflicts": 391, "num_branches": 11835, "num_binary_propagations": 1160126, "num_integer_propagations": 431224, "num_restarts": 3, "num_lp_iterations": 1043, "wall_time": 3.60027, "user_time": 3.60027, "deterministic_time": 2.73636, "gap_integral": 55.6155, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "5f996769b676f0b952adf679945d3e9b66e463dfccc488f12f6eb14b863657a3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5f996769b676f0b952adf679945d3e9b66e463dfccc488f12f6eb14b863657a3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21892, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7525, "bool_and": 5152}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6177.95, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 9243, "num_integers": 561, "num_fixed_booleans": 6570, "num_conflicts": 9621, "num_branches": 78066, "num_binary_propagations": 6887232, "num_integer_propagations": 1730879, "num_restarts": 32, "num_lp_iterations": 13734, "wall_time": 6.17033, "user_time": 6.17033, "deterministic_time": 7.52872, "gap_integral": 156.977, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30868, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10495, "bool_and": 7171}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8337.47, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8139, "num_integers": 719, "num_fixed_booleans": 5379, "num_conflicts": 8099, "num_branches": 54889, "num_binary_propagations": 5646540, "num_integer_propagations": 2142701, "num_restarts": 40, "num_lp_iterations": 27928, "wall_time": 8.33059, "user_time": 8.33059, "deterministic_time": 9.44203, "gap_integral": 198.215, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "6afa1f30ddaf73d8dfed7146c9365683a3a702aee80c07ab24b35a83bbf815a4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6afa1f30ddaf73d8dfed7146c9365683a3a702aee80c07ab24b35a83bbf815a4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 60360, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20676, "bool_and": 14061}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25432.1, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8583, "num_integers": 1499, "num_fixed_booleans": 737, "num_conflicts": 6756, "num_branches": 89096, "num_binary_propagations": 7679490, "num_integer_propagations": 2739683, "num_restarts": 52, "num_lp_iterations": 67979, "wall_time": 25.4191, "user_time": 25.4191, "deterministic_time": 21.9653, "gap_integral": 473.224, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "6c96fe64d8a7e248bb211262d15a9e02c33afd67841b876ec22da92430ea1d4a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6c96fe64d8a7e248bb211262d15a9e02c33afd67841b876ec22da92430ea1d4a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38398, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12974, "bool_and": 8732}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11102, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8985, "num_integers": 951, "num_fixed_booleans": 1154, "num_conflicts": 8139, "num_branches": 51136, "num_binary_propagations": 5148527, "num_integer_propagations": 1884853, "num_restarts": 41, "num_lp_iterations": 36694, "wall_time": 11.0885, "user_time": 11.0885, "deterministic_time": 10.2641, "gap_integral": 216.96, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "6dc3e7cdbc74f23ff22a0eecbde5e1ed26d05cf56459a1ae169419068718c3c4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6dc3e7cdbc74f23ff22a0eecbde5e1ed26d05cf56459a1ae169419068718c3c4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 59330, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 20278, "bool_and": 13982}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 35243, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 12048, "num_integers": 1544, "num_fixed_booleans": 1418, "num_conflicts": 8004, "num_branches": 101869, "num_binary_propagations": 6336776, "num_integer_propagations": 2918735, "num_restarts": 37, "num_lp_iterations": 75249, "wall_time": 35.2313, "user_time": 35.2313, "deterministic_time": 27.7665, "gap_integral": 597.789, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "6e93a1a5f114fdfc007b30330e24aa1325660433aaa0794f76ef4848de4580d5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6e93a1a5f114fdfc007b30330e24aa1325660433aaa0794f76ef4848de4580d5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30688, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10560, "bool_and": 7191}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7005.63, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 7619, "num_integers": 660, "num_fixed_booleans": 6949, "num_conflicts": 7454, "num_branches": 30337, "num_binary_propagations": 4416362, "num_integer_propagations": 1452377, "num_restarts": 32, "num_lp_iterations": 16851, "wall_time": 6.98568, "user_time": 6.98568, "deterministic_time": 7.26527, "gap_integral": 149.018, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "724e539c591651e646f2e89f9000b6a040742aa2d989582166ac52e3e7b4a6e0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "724e539c591651e646f2e89f9000b6a040742aa2d989582166ac52e3e7b4a6e0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39592, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13286, "bool_and": 8853}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11335.8, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 9122, "num_integers": 908, "num_fixed_booleans": 1315, "num_conflicts": 7197, "num_branches": 73086, "num_binary_propagations": 5204804, "num_integer_propagations": 1866421, "num_restarts": 23, "num_lp_iterations": 16889, "wall_time": 11.3274, "user_time": 11.3274, "deterministic_time": 10.5849, "gap_integral": 223.47, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "76e68a1cce648c8d73748c810c88f2507f97759063e97d60bdeba8b7450c75d4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "76e68a1cce648c8d73748c810c88f2507f97759063e97d60bdeba8b7450c75d4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 34339, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 12032, "bool_and": 8417}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7324.51, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 5155, "num_integers": 904, "num_fixed_booleans": 3615, "num_conflicts": 2652, "num_branches": 42931, "num_binary_propagations": 1946745, "num_integer_propagations": 854913, "num_restarts": 23, "num_lp_iterations": 17930, "wall_time": 7.30246, "user_time": 7.30246, "deterministic_time": 6.39323, "gap_integral": 133.243, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "80d93f459a3aba9b087940fc2f7fbb31d50402f34005177a89face29ebb3adb8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "80d93f459a3aba9b087940fc2f7fbb31d50402f34005177a89face29ebb3adb8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52655, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18647, "bool_and": 13283}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14852.3, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 6997, "num_integers": 1452, "num_fixed_booleans": 149, "num_conflicts": 2578, "num_branches": 54841, "num_binary_propagations": 2742398, "num_integer_propagations": 1270922, "num_restarts": 30, "num_lp_iterations": 30180, "wall_time": 14.8424, "user_time": 14.8424, "deterministic_time": 10.5804, "gap_integral": 224.24, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "835ae7284c43b2522947ad7ad0b1f26429793b7fff94b7a612ea3a1dc548df57", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "835ae7284c43b2522947ad7ad0b1f26429793b7fff94b7a612ea3a1dc548df57.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67897, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23841, "bool_and": 16791}, "objective_terms": 266}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19100.3, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 9423, "num_integers": 1836, "num_fixed_booleans": 187, "num_conflicts": 1969, "num_branches": 65039, "num_binary_propagations": 3811230, "num_integer_propagations": 1643157, "num_restarts": 18, "num_lp_iterations": 17747, "wall_time": 19.0765, "user_time": 19.0765, "deterministic_time": 11.3871, "gap_integral": 239.607, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "83b70413e9333ce9f4929c450b14e28d2b6e4ec28401d68b4b7d59c76c82d8ee", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "83b70413e9333ce9f4929c450b14e28d2b6e4ec28401d68b4b7d59c76c82d8ee.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7765, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2760, "bool_and": 1909}, "objective_terms": 42}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 486.785, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 1060, "num_integers": 126, "num_fixed_booleans": 33, "num_conflicts": 857, "num_branches": 20375, "num_binary_propagations": 57143, "num_integer_propagations": 80770, "num_restarts": 15, "num_lp_iterations": 104, "wall_time": 0.485707, "user_time": 0.485707, "deterministic_time": 0.227804, "gap_integral": 4.29839, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "865f1171e901d275edb5a10c40d9288ec08619127220e643e36ae1ebee2903b2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "865f1171e901d275edb5a10c40d9288ec08619127220e643e36ae1ebee2903b2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28510, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9950, "bool_and": 6968}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8341.89, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 7634, "num_integers": 662, "num_fixed_booleans": 1601, "num_conflicts": 6602, "num_branches": 46102, "num_binary_propagations": 3617505, "num_integer_propagations": 1419584, "num_restarts": 21, "num_lp_iterations": 17273, "wall_time": 8.33418, "user_time": 8.33419, "deterministic_time": 8.95567, "gap_integral": 188.19, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "86b1bf9b38f98be62d7509c448ea0dfd7197af45620ba4b50960bf15254309bf", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "86b1bf9b38f98be62d7509c448ea0dfd7197af45620ba4b50960bf15254309bf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14985, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5360, "bool_and": 3687}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1085.03, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 782, "num_integers": 293, "num_fixed_booleans": 592, "num_conflicts": 160, "num_branches": 4817, "num_binary_propagations": 145754, "num_integer_propagations": 115445, "num_restarts": 1, "num_lp_iterations": 355, "wall_time": 1.08385, "user_time": 1.08385, "deterministic_time": 0.865913, "gap_integral": 16.7213, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "8897295c1a1d2153b3e64712ad6cf8fef4812ff8f7419cf217ba26f03e246f24", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8897295c1a1d2153b3e64712ad6cf8fef4812ff8f7419cf217ba26f03e246f24.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 98356, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33646, "bool_and": 22355}, "objective_terms": 315}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 77312.6, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 13276, "num_integers": 2391, "num_fixed_booleans": 2372, "num_conflicts": 11524, "num_branches": 137190, "num_binary_propagations": 13566181, "num_integer_propagations": 4231812, "num_restarts": 74, "num_lp_iterations": 157022, "wall_time": 77.287, "user_time": 77.287, "deterministic_time": 54.7198, "gap_integral": 1007.37, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "8d20d7075f0bbe969941be96f336c7f87d3f16fbdb80ed42d6c64c0ff25da1ad", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8d20d7075f0bbe969941be96f336c7f87d3f16fbdb80ed42d6c64c0ff25da1ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 61389, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 22021, "bool_and": 15180}, "objective_terms": 238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24823.8, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 8375, "num_integers": 1638, "num_fixed_booleans": 4768, "num_conflicts": 4444, "num_branches": 94321, "num_binary_propagations": 5484446, "num_integer_propagations": 2327612, "num_restarts": 41, "num_lp_iterations": 42599, "wall_time": 24.8116, "user_time": 24.8116, "deterministic_time": 18.7105, "gap_integral": 402.779, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "8da21152ae4db83b1c03c6d8f8c508ef8b8aa00294095638c498f2bef8daa862", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8da21152ae4db83b1c03c6d8f8c508ef8b8aa00294095638c498f2bef8daa862.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 22013, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7570, "bool_and": 5160}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3357.48, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 2495, "num_integers": 513, "num_fixed_booleans": 2004, "num_conflicts": 1421, "num_branches": 14200, "num_binary_propagations": 778877, "num_integer_propagations": 374467, "num_restarts": 11, "num_lp_iterations": 3156, "wall_time": 3.35004, "user_time": 3.35004, "deterministic_time": 2.76743, "gap_integral": 56.2501, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "pseudo_costs", "problem_sha256": "9184e368c0e97d4bc93704357120e76ef97fe5f9a0e72f3c148784d450c7723e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9184e368c0e97d4bc93704357120e76ef97fe5f9a0e72f3c148784d450c7723e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 89169, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30480, "bool_and": 20153}, "objective_terms": 287}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 93615.6, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 12282, "num_integers": 2212, "num_fixed_booleans": 4366, "num_conflicts": 14401, "num_branches": 129633, "num_binary_propagations": 17408996, "num_integer_propagations": 4957576, "num_restarts": 95, "num_lp_iterations": 193448, "wall_time": 93.5704, "user_time": 93.5704, "deterministic_time": 60.1845, "gap_integral": 1254.32, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "924038c95c7634a971a91a5ad72819fc2977c87790d06360e0ec5b38be4a219e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "924038c95c7634a971a91a5ad72819fc2977c87790d06360e0ec5b38be4a219e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47669, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 16201, "bool_and": 10866}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18427, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8451, "num_integers": 1126, "num_fixed_booleans": 5745, "num_conflicts": 8165, "num_branches": 62016, "num_binary_propagations": 6515569, "num_integer_propagations": 2598661, "num_restarts": 38, "num_lp_iterations": 46785, "wall_time": 18.4035, "user_time": 18.4035, "deterministic_time": 19.6842, "gap_integral": 255.226, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_var_lns (d=5.00e-01 s=30 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "986e408097d63dbe93210883d12efbd11c7ebfd37fec6e3462bb8a72dd4ade05", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "986e408097d63dbe93210883d12efbd11c7ebfd37fec6e3462bb8a72dd4ade05.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 23113, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7868, "bool_and": 5304}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5661.77, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 6141, "num_integers": 486, "num_fixed_booleans": 5760, "num_conflicts": 5929, "num_branches": 37247, "num_binary_propagations": 3076112, "num_integer_propagations": 1099396, "num_restarts": 20, "num_lp_iterations": 5205, "wall_time": 5.65583, "user_time": 5.65583, "deterministic_time": 6.91608, "gap_integral": 144.127, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "98c32f98b1912de97866905f8af956745db6c16dde00e157b0d4e45577755233", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "98c32f98b1912de97866905f8af956745db6c16dde00e157b0d4e45577755233.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32387, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10920, "bool_and": 7363}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8748.41, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 4110, "num_integers": 644, "num_fixed_booleans": 3122, "num_conflicts": 2681, "num_branches": 20896, "num_binary_propagations": 1927637, "num_integer_propagations": 966761, "num_restarts": 14, "num_lp_iterations": 7116, "wall_time": 8.74061, "user_time": 8.74061, "deterministic_time": 6.80237, "gap_integral": 140.212, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9aba10c5fadecdd17c301a45ddbcef5534a25c861b0a0a9b4943331de602ad8e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9aba10c5fadecdd17c301a45ddbcef5534a25c861b0a0a9b4943331de602ad8e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45679, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15629, "bool_and": 10734}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12996.9, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 6851, "num_integers": 1079, "num_fixed_booleans": 346, "num_conflicts": 4620, "num_branches": 70053, "num_binary_propagations": 3513163, "num_integer_propagations": 1571469, "num_restarts": 23, "num_lp_iterations": 28443, "wall_time": 12.9718, "user_time": 12.9718, "deterministic_time": 11.007, "gap_integral": 233.223, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "9b58888c473818a77ecb1aaf2c1032bc87b909c80f837100403b5a83a75cbc87", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9b58888c473818a77ecb1aaf2c1032bc87b909c80f837100403b5a83a75cbc87.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30854, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10491, "bool_and": 7163}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7945.18, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 7083, "num_integers": 731, "num_fixed_booleans": 5116, "num_conflicts": 7879, "num_branches": 36986, "num_binary_propagations": 4924236, "num_integer_propagations": 1933008, "num_restarts": 42, "num_lp_iterations": 30746, "wall_time": 7.93496, "user_time": 7.93496, "deterministic_time": 9.37835, "gap_integral": 196.668, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9eda5addedbb8f1c5a6ea9bd5fe469814755a8ecdebb998f9c2598bc4e2308c7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9eda5addedbb8f1c5a6ea9bd5fe469814755a8ecdebb998f9c2598bc4e2308c7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36752, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12604, "bool_and": 8619}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12021.2, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 4932, "num_integers": 974, "num_fixed_booleans": 97, "num_conflicts": 4413, "num_branches": 43700, "num_binary_propagations": 3971250, "num_integer_propagations": 1514445, "num_restarts": 33, "num_lp_iterations": 40511, "wall_time": 12.0096, "user_time": 12.0096, "deterministic_time": 10.8944, "gap_integral": 230.103, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "a01db04d1c0cefeec5fe077d42d9b84d55e54bf00cc689787f11200b6f817d36", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a01db04d1c0cefeec5fe077d42d9b84d55e54bf00cc689787f11200b6f817d36.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28749, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 10083, "bool_and": 7067}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7205.38, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 2994, "num_integers": 699, "num_fixed_booleans": 965, "num_conflicts": 447, "num_branches": 17377, "num_binary_propagations": 714971, "num_integer_propagations": 366913, "num_restarts": 3, "num_lp_iterations": 1314, "wall_time": 7.19751, "user_time": 7.19751, "deterministic_time": 4.16838, "gap_integral": 85.3978, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "a0a55fdea86a6868a302e54eadbfe25574d413fdc83eb469675ed9df3568a1db", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a0a55fdea86a6868a302e54eadbfe25574d413fdc83eb469675ed9df3568a1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 62282, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21311, "bool_and": 14552}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25758.6, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6769, "num_integers": 1471, "num_fixed_booleans": 3247, "num_conflicts": 2437, "num_branches": 61291, "num_binary_propagations": 4030511, "num_integer_propagations": 1877879, "num_restarts": 17, "num_lp_iterations": 30256, "wall_time": 25.7421, "user_time": 25.7421, "deterministic_time": 15.616, "gap_integral": 324.44, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_var_lns (d=5.00e-01 s=22 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 22077, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7596, "bool_and": 5180}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6289.21, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 3194, "num_integers": 518, "num_fixed_booleans": 2340, "num_conflicts": 2402, "num_branches": 15308, "num_binary_propagations": 954615, "num_integer_propagations": 419754, "num_restarts": 10, "num_lp_iterations": 4868, "wall_time": 6.28361, "user_time": 6.28361, "deterministic_time": 4.90447, "gap_integral": 101.468, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 43153, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14896, "bool_and": 10347}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18428.8, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 8243, "num_integers": 1140, "num_fixed_booleans": 4927, "num_conflicts": 7145, "num_branches": 81271, "num_binary_propagations": 4296578, "num_integer_propagations": 1803938, "num_restarts": 23, "num_lp_iterations": 43182, "wall_time": 18.4217, "user_time": 18.4217, "deterministic_time": 18.8471, "gap_integral": 284.313, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=5.00e-01 s=23 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "b37ba1c4e6c4fd6e50b67a7d1cba5d5c41b1c9837b2f020d6174c1459665a756", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b37ba1c4e6c4fd6e50b67a7d1cba5d5c41b1c9837b2f020d6174c1459665a756.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 65280, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 23124, "bool_and": 16485}, "objective_terms": 266}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19149.4, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 8724, "num_integers": 1847, "num_fixed_booleans": 195, "num_conflicts": 2225, "num_branches": 62641, "num_binary_propagations": 3524781, "num_integer_propagations": 1573238, "num_restarts": 25, "num_lp_iterations": 20997, "wall_time": 19.1259, "user_time": 19.1259, "deterministic_time": 10.8972, "gap_integral": 229.776, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "b5e191a84337537481ab49001854e27b03a9ccded205fe88b9150bfa45529915", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b5e191a84337537481ab49001854e27b03a9ccded205fe88b9150bfa45529915.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59596, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20377, "bool_and": 14063}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 46683.7, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 10272, "num_integers": 1615, "num_fixed_booleans": 6939, "num_conflicts": 9931, "num_branches": 192717, "num_binary_propagations": 9019253, "num_integer_propagations": 3631940, "num_restarts": 41, "num_lp_iterations": 116903, "wall_time": 46.6693, "user_time": 46.6693, "deterministic_time": 42.0754, "gap_integral": 754.658, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20478, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7232, "bool_and": 5106}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5405.46, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 5031, "num_integers": 524, "num_fixed_booleans": 4213, "num_conflicts": 3722, "num_branches": 41473, "num_binary_propagations": 1509038, "num_integer_propagations": 625152, "num_restarts": 15, "num_lp_iterations": 3690, "wall_time": 5.40156, "user_time": 5.40156, "deterministic_time": 3.32815, "gap_integral": 68.2433, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63650, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21511, "bool_and": 14467}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 27636.9, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 7823, "num_integers": 1541, "num_fixed_booleans": 190, "num_conflicts": 6118, "num_branches": 70915, "num_binary_propagations": 6681694, "num_integer_propagations": 2472616, "num_restarts": 59, "num_lp_iterations": 72270, "wall_time": 27.6252, "user_time": 27.6252, "deterministic_time": 21.8517, "gap_integral": 465.818, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "b87e2b0d6dcc9cc59a03ed6cede32988b1f7db99692b635f75e32f763776d979", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b87e2b0d6dcc9cc59a03ed6cede32988b1f7db99692b635f75e32f763776d979.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15565, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5395, "bool_and": 3744}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25129, "objective_value": 318753000.0, "best_objective_bound": 318753000.0, "inner_objective_lower_bound": 318752704}, "cpsat_response_stats": {"num_booleans": 1068, "num_integers": 288, "num_fixed_booleans": 490, "num_conflicts": 567, "num_branches": 5512, "num_binary_propagations": 237329, "num_integer_propagations": 138397, "num_restarts": 5, "num_lp_iterations": 1205, "wall_time": 25.1247, "user_time": 25.1247, "deterministic_time": 6.13448, "gap_integral": 123.24, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38656, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 13095, "bool_and": 8812}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9286.06, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8194, "num_integers": 901, "num_fixed_booleans": 2036, "num_conflicts": 6167, "num_branches": 110297, "num_binary_propagations": 3899584, "num_integer_propagations": 1697487, "num_restarts": 36, "num_lp_iterations": 20716, "wall_time": 9.27728, "user_time": 9.27728, "deterministic_time": 9.87776, "gap_integral": 208.456, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "bd199a3871502160bd893d35533b1c4526edf27d6ed9d60ab786ed7aded632ec", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bd199a3871502160bd893d35533b1c4526edf27d6ed9d60ab786ed7aded632ec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15569, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5397, "bool_and": 3746}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2147.91, "objective_value": 318753000.0, "best_objective_bound": 318753000.0, "inner_objective_lower_bound": 318752704}, "cpsat_response_stats": {"num_booleans": 1234, "num_integers": 287, "num_fixed_booleans": 924, "num_conflicts": 714, "num_branches": 5426, "num_binary_propagations": 313007, "num_integer_propagations": 147766, "num_restarts": 6, "num_lp_iterations": 1085, "wall_time": 2.14494, "user_time": 2.14494, "deterministic_time": 1.85308, "gap_integral": 37.239, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "be13cfc10b1e19807faf591c4d8070d5a8e843abc31efe3c38fd508fda6b56a6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "be13cfc10b1e19807faf591c4d8070d5a8e843abc31efe3c38fd508fda6b56a6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 48003, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 16147, "bool_and": 10813}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19894.8, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8619, "num_integers": 1143, "num_fixed_booleans": 5948, "num_conflicts": 6507, "num_branches": 67477, "num_binary_propagations": 5478016, "num_integer_propagations": 2278486, "num_restarts": 34, "num_lp_iterations": 45871, "wall_time": 19.8855, "user_time": 19.8855, "deterministic_time": 17.726, "gap_integral": 278.565, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c0c9ef6c22ed1654a88a14f6196e5e6f4540bcf3faa203510aaeeeeb7431a1bc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c0c9ef6c22ed1654a88a14f6196e5e6f4540bcf3faa203510aaeeeeb7431a1bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54716, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18427, "bool_and": 12366}, "objective_terms": 189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22874.8, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 9259, "num_integers": 1358, "num_fixed_booleans": 4162, "num_conflicts": 5733, "num_branches": 74285, "num_binary_propagations": 5764366, "num_integer_propagations": 2313050, "num_restarts": 32, "num_lp_iterations": 57031, "wall_time": 22.8642, "user_time": 22.8642, "deterministic_time": 19.6757, "gap_integral": 409.144, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c3fc601be3277e3d77c7d55dbe0f58cfc37e877c76121c066e353be4cf3f9f65", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c3fc601be3277e3d77c7d55dbe0f58cfc37e877c76121c066e353be4cf3f9f65.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45679, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15629, "bool_and": 10734}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13631.5, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 7493, "num_integers": 1076, "num_fixed_booleans": 282, "num_conflicts": 5415, "num_branches": 62615, "num_binary_propagations": 3531404, "num_integer_propagations": 1558831, "num_restarts": 23, "num_lp_iterations": 39794, "wall_time": 13.6088, "user_time": 13.6088, "deterministic_time": 11.0635, "gap_integral": 234.321, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c7f14795eb4a64323fdf24caec0e981f42cf07ab79ecaa858de35afe90adb53b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c7f14795eb4a64323fdf24caec0e981f42cf07ab79ecaa858de35afe90adb53b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47873, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16315, "bool_and": 10900}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11764.5, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 6640, "num_integers": 1074, "num_fixed_booleans": 529, "num_conflicts": 4064, "num_branches": 54561, "num_binary_propagations": 3824914, "num_integer_propagations": 1462074, "num_restarts": 28, "num_lp_iterations": 28150, "wall_time": 11.7548, "user_time": 11.7548, "deterministic_time": 10.3379, "gap_integral": 218.215, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "cb16513bfbe2809b67cf939736abc19e5d403dcabadcae9b3aae756b2f6b1e29", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cb16513bfbe2809b67cf939736abc19e5d403dcabadcae9b3aae756b2f6b1e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 136453, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44686, "bool_and": 28971}, "objective_terms": 364}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 422905, "objective_value": 956250000.0, "best_objective_bound": 956250000.0, "inner_objective_lower_bound": 956250459}, "cpsat_response_stats": {"num_booleans": 16944, "num_integers": 2994, "num_fixed_booleans": 2857, "num_conflicts": 35669, "num_branches": 198723, "num_binary_propagations": 48620016, "num_integer_propagations": 12323899, "num_restarts": 122, "num_lp_iterations": 714157, "wall_time": 422.883, "user_time": 422.883, "deterministic_time": 307.613, "gap_integral": 4966.92, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=9.85e-01 s=1361 t=0.10 p=0.53 stall=10 h=stalling) [hint] [combined with: graph_cst_lns (d=9.8...]", "problem_sha256": "cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 122534, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 41078, "bool_and": 27271}, "objective_terms": 385}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 573378, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 18089, "num_integers": 2980, "num_fixed_booleans": 2895, "num_conflicts": 40296, "num_branches": 230447, "num_binary_propagations": 43086273, "num_integer_propagations": 12921477, "num_restarts": 188, "num_lp_iterations": 585597, "wall_time": 573.341, "user_time": 573.341, "deterministic_time": 306.123, "gap_integral": 5692.6, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_dec_lns (d=9.88e-01 s=1458 t=0.10 p=0.53 stall=10 h=base) [hint]", "problem_sha256": "d1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 36351, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12833, "bool_and": 8753}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7713.8, "objective_value": 956253000.0, "best_objective_bound": 956253000.0, "inner_objective_lower_bound": 956252755}, "cpsat_response_stats": {"num_booleans": 3389, "num_integers": 796, "num_fixed_booleans": 2426, "num_conflicts": 1016, "num_branches": 19591, "num_binary_propagations": 1122015, "num_integer_propagations": 508435, "num_restarts": 3, "num_lp_iterations": 1135, "wall_time": 7.7057, "user_time": 7.7057, "deterministic_time": 5.27028, "gap_integral": 108.029, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "d2736553fba0f9ea5c93118c1e35641595afe997e883759b1ada665c9859deb6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d2736553fba0f9ea5c93118c1e35641595afe997e883759b1ada665c9859deb6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52885, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 18026, "bool_and": 12243}, "objective_terms": 189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18205, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 6857, "num_integers": 1378, "num_fixed_booleans": 6125, "num_conflicts": 2648, "num_branches": 61557, "num_binary_propagations": 3858335, "num_integer_propagations": 1780847, "num_restarts": 28, "num_lp_iterations": 32929, "wall_time": 18.1953, "user_time": 18.1953, "deterministic_time": 13.1361, "gap_integral": 248.327, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=5.00e-01 s=29 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 62235, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 21281, "bool_and": 14522}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25169.9, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8946, "num_integers": 1399, "num_fixed_booleans": 681, "num_conflicts": 6731, "num_branches": 148858, "num_binary_propagations": 5981141, "num_integer_propagations": 2488771, "num_restarts": 44, "num_lp_iterations": 62036, "wall_time": 25.1518, "user_time": 25.1518, "deterministic_time": 22.114, "gap_integral": 477.892, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "d43568fb51736eb3ba5d256ed2aa63198910e645a62dbc336dbdee29a98d1df0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d43568fb51736eb3ba5d256ed2aa63198910e645a62dbc336dbdee29a98d1df0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27405, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9693, "bool_and": 6879}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7036.23, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 4581, "num_integers": 691, "num_fixed_booleans": 3734, "num_conflicts": 2673, "num_branches": 61472, "num_binary_propagations": 1353817, "num_integer_propagations": 589948, "num_restarts": 17, "num_lp_iterations": 9026, "wall_time": 7.0195, "user_time": 7.0195, "deterministic_time": 5.02013, "gap_integral": 104.09, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "d519e83718e688a924bdbc74e37419567b29b2fad0995ec7bbdd857926592fef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d519e83718e688a924bdbc74e37419567b29b2fad0995ec7bbdd857926592fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 40030, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 14170, "bool_and": 10081}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12282.4, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 6931, "num_integers": 1072, "num_fixed_booleans": 5858, "num_conflicts": 3621, "num_branches": 99415, "num_binary_propagations": 2206266, "num_integer_propagations": 1062917, "num_restarts": 23, "num_lp_iterations": 16780, "wall_time": 12.2739, "user_time": 12.2739, "deterministic_time": 10.5022, "gap_integral": 222.807, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "da79ad0e3d13908a25c0a97e051b6e6bcc675cdb0311c8a8699a76a6eba6a056", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "da79ad0e3d13908a25c0a97e051b6e6bcc675cdb0311c8a8699a76a6eba6a056.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27686, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9865, "bool_and": 6936}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4397.47, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 2729, "num_integers": 683, "num_fixed_booleans": 1824, "num_conflicts": 583, "num_branches": 16446, "num_binary_propagations": 658148, "num_integer_propagations": 349589, "num_restarts": 6, "num_lp_iterations": 2154, "wall_time": 4.39002, "user_time": 4.39002, "deterministic_time": 3.74854, "gap_integral": 76.7321, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "db2bfd25d3ddd29864d7c63649b740c31f3a212ecd5c39951b7db2cf2daaf71e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "db2bfd25d3ddd29864d7c63649b740c31f3a212ecd5c39951b7db2cf2daaf71e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 32190, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10975, "bool_and": 7418}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7494.29, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 3888, "num_integers": 654, "num_fixed_booleans": 2937, "num_conflicts": 2823, "num_branches": 22565, "num_binary_propagations": 1904088, "num_integer_propagations": 879070, "num_restarts": 20, "num_lp_iterations": 9760, "wall_time": 7.48783, "user_time": 7.48783, "deterministic_time": 7.50629, "gap_integral": 156.8, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "dd4063e9bca83aceee4a80f854ea7955dce420f547cfb34cec970cdb88755053", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "dd4063e9bca83aceee4a80f854ea7955dce420f547cfb34cec970cdb88755053.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28510, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9950, "bool_and": 6968}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7159.5, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 8501, "num_integers": 662, "num_fixed_booleans": 5890, "num_conflicts": 7538, "num_branches": 79867, "num_binary_propagations": 4954005, "num_integer_propagations": 1426603, "num_restarts": 20, "num_lp_iterations": 18718, "wall_time": 7.15237, "user_time": 7.15237, "deterministic_time": 9.08225, "gap_integral": 190.878, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "e2f7812832351c2fe6745cd57d8cf525ea0afde5e0ae3b84c74a7dbc2d59779c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2f7812832351c2fe6745cd57d8cf525ea0afde5e0ae3b84c74a7dbc2d59779c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 22077, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7596, "bool_and": 5180}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4927.81, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 1911, "num_integers": 500, "num_fixed_booleans": 1439, "num_conflicts": 855, "num_branches": 12860, "num_binary_propagations": 577972, "num_integer_propagations": 309289, "num_restarts": 7, "num_lp_iterations": 2910, "wall_time": 4.92199, "user_time": 4.92199, "deterministic_time": 3.75989, "gap_integral": 77.3949, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e4cbb10b880925006b58b8a9c14a80444228f8939ef41242f9a011c6538e16ad", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e4cbb10b880925006b58b8a9c14a80444228f8939ef41242f9a011c6538e16ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 55027, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 19251, "bool_and": 13573}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15933.1, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 6941, "num_integers": 1511, "num_fixed_booleans": 143, "num_conflicts": 2634, "num_branches": 54078, "num_binary_propagations": 3204824, "num_integer_propagations": 1475280, "num_restarts": 31, "num_lp_iterations": 31976, "wall_time": 15.9219, "user_time": 15.9219, "deterministic_time": 11.0553, "gap_integral": 233.907, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "e81927a0d98c976258a99ea66dd94ce946c76779650be126de769c6ad4a9e15c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e81927a0d98c976258a99ea66dd94ce946c76779650be126de769c6ad4a9e15c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32391, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10922, "bool_and": 7365}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5916.7, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 4026, "num_integers": 643, "num_fixed_booleans": 2548, "num_conflicts": 2901, "num_branches": 21875, "num_binary_propagations": 2091185, "num_integer_propagations": 944343, "num_restarts": 18, "num_lp_iterations": 11653, "wall_time": 5.90672, "user_time": 5.90672, "deterministic_time": 5.78252, "gap_integral": 118.824, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "pseudo_costs", "problem_sha256": "e8318822b535ba3dc52423e86eaa33c82b3f68e5a91241746f8ff3fa0dd8a53f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e8318822b535ba3dc52423e86eaa33c82b3f68e5a91241746f8ff3fa0dd8a53f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 98356, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33646, "bool_and": 22355}, "objective_terms": 315}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 70036, "objective_value": 956250000.0, "best_objective_bound": 956250000.0, "inner_objective_lower_bound": 956250255}, "cpsat_response_stats": {"num_booleans": 13048, "num_integers": 2391, "num_fixed_booleans": 279, "num_conflicts": 9208, "num_branches": 95695, "num_binary_propagations": 11406824, "num_integer_propagations": 3660082, "num_restarts": 79, "num_lp_iterations": 134242, "wall_time": 70.0157, "user_time": 70.0157, "deterministic_time": 46.2971, "gap_integral": 876.194, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_cst_lns (d=8.76e-01 s=72 t=0.10 p=1.00 stall=3 h=base) [hint]", "problem_sha256": "f1973192d144d907a3890ee014f52cb62047655870311695ad526ee60808e8e2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f1973192d144d907a3890ee014f52cb62047655870311695ad526ee60808e8e2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 32178, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10850, "bool_and": 7308}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7826.01, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 7992, "num_integers": 694, "num_fixed_booleans": 5222, "num_conflicts": 7591, "num_branches": 59883, "num_binary_propagations": 4874663, "num_integer_propagations": 1774717, "num_restarts": 39, "num_lp_iterations": 16388, "wall_time": 7.81948, "user_time": 7.81948, "deterministic_time": 9.39498, "gap_integral": 196.887, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f28d9607dae499e9f824abf7851621947030db7dd2223dd4057f9beb407fade1", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f28d9607dae499e9f824abf7851621947030db7dd2223dd4057f9beb407fade1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 32182, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10852, "bool_and": 7310}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8743.69, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 9766, "num_integers": 698, "num_fixed_booleans": 742, "num_conflicts": 9702, "num_branches": 30783, "num_binary_propagations": 6049273, "num_integer_propagations": 2529894, "num_restarts": 32, "num_lp_iterations": 16158, "wall_time": 8.73172, "user_time": 8.73172, "deterministic_time": 9.40277, "gap_integral": 197.223, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "fe9cad7ebe07a2af022824a9236ea6e13d00ce8de4b91efb3b17286fc456823e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "fe9cad7ebe07a2af022824a9236ea6e13d00ce8de4b91efb3b17286fc456823e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 62421, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 21170, "bool_and": 14445}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25898.4, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 11055, "num_integers": 1482, "num_fixed_booleans": 362, "num_conflicts": 7017, "num_branches": 171780, "num_binary_propagations": 6656520, "num_integer_propagations": 3049838, "num_restarts": 42, "num_lp_iterations": 75134, "wall_time": 25.8858, "user_time": 25.8858, "deterministic_time": 22.7093, "gap_integral": 490.421, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "ffb5ffbbf9774b8bec1dc190efdafb362fde347b8ad03b8a5c27ba1b09d5b562", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ffb5ffbbf9774b8bec1dc190efdafb362fde347b8ad03b8a5c27ba1b09d5b562.cpsat.pb"} diff --git a/input/run_phase.sh b/input/run_phase.sh index 3ff51707eb..daeba666cc 100755 --- a/input/run_phase.sh +++ b/input/run_phase.sh @@ -327,17 +327,28 @@ run_one_phase() { return 0 fi - # Unified-prep on the last phase - if [ "$phase" -eq "$LAST_PHASE" ] && [ -n "${UNIFIED_PREPARE_SCRIPT:-}" ]; then + # Unified-prep: materialize a phase's EVOLVE-BLOCK from prior-phase winners. + # Fires before the configured UNIFIED_PREPARE_BEFORE_DIR (so a later phase + # can still follow the unified phase); falls back to the last phase when the + # key is unset (legacy benches with the unified phase terminal). + local prep_here=0 + if [ -n "${UNIFIED_PREPARE_SCRIPT:-}" ]; then + if [ -n "${UNIFIED_PREPARE_BEFORE_DIR:-}" ]; then + [ "$dir" = "$UNIFIED_PREPARE_BEFORE_DIR" ] && prep_here=1 + elif [ "$phase" -eq "$LAST_PHASE" ]; then + prep_here=1 + fi + fi + if [ "$prep_here" = "1" ]; then local missing=0 - for ((i = 1; i < LAST_PHASE; i++)); do + for ((i = 1; i < phase; i++)); do if [ ! -f "$ROOT/shared/phase${i}_best.json" ]; then - echo "phase $LAST_PHASE requires shared/phase${i}_best.json (run phase $i first)" >&2 + echo "phase $phase ($dir) requires shared/phase${i}_best.json (run phase $i first)" >&2 missing=1 fi done [ "$missing" = "1" ] && return 1 - echo "[run_phase] materializing phase$LAST_PHASE EVOLVE-BLOCK via $UNIFIED_PREPARE_SCRIPT..." + echo "[run_phase] materializing $dir EVOLVE-BLOCK via $UNIFIED_PREPARE_SCRIPT..." python "$ROOT/$UNIFIED_PREPARE_SCRIPT" fi diff --git a/openevolve/controller.py b/openevolve/controller.py index 01ffec73c3..3e5de9c007 100644 --- a/openevolve/controller.py +++ b/openevolve/controller.py @@ -205,6 +205,10 @@ def _setup_logging(self) -> None: ) root_logger.addHandler(file_handler) + # Expose resolved path so worker processes can attach their own + # FileHandler to the same file (see process_parallel._worker_init). + self.log_file = log_file + # Add console handler console_handler = logging.StreamHandler() console_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) @@ -334,6 +338,10 @@ async def run( self.evolution_tracer, file_suffix=self.config.file_suffix, ) + # Forward resolved log file so workers can append DEBUG output + # (LLM thinking, prompts, etc.) to the same file the controller + # writes to. Without this, worker logs only reach stderr. + self.parallel_controller.log_file = getattr(self, "log_file", None) # Set up signal handlers for graceful shutdown def signal_handler(signum, frame): diff --git a/openevolve/iteration.py b/openevolve/iteration.py index 7afaff75b5..4682f5189e 100644 --- a/openevolve/iteration.py +++ b/openevolve/iteration.py @@ -88,12 +88,30 @@ async def run_iteration_with_shared_db( result = Result(parent=parent) iteration_start = time.time() + logger.debug( + f"[iter {iteration+1}] parent={parent.id[:8]} " + f"island={parent_island} " + f"prompt_sys_chars={len(prompt['system'])} " + f"prompt_user_chars={len(prompt['user'])}" + ) + logger.debug( + f"[iter {iteration+1}] prompt.user head:\n{prompt['user'][:1500]}" + ) + # Generate code modification llm_response = await llm_ensemble.generate_with_context( system_message=prompt["system"], messages=[{"role": "user", "content": prompt["user"]}], ) + logger.debug( + f"[iter {iteration+1}] llm_response chars={len(llm_response) if llm_response else 0}" + ) + if llm_response: + logger.debug( + f"[iter {iteration+1}] llm_response head:\n{llm_response[:2000]}" + ) + # Parse the response if config.diff_based_evolution: diff_blocks = extract_diffs(llm_response, config.diff_pattern) @@ -142,6 +160,10 @@ async def run_iteration_with_shared_db( max_line_len=config.prompt.diff_summary_max_line_len, max_lines=config.prompt.diff_summary_max_lines, ) + logger.debug( + f"[iter {iteration+1}] diff_blocks={len(diff_blocks)} " + f"changes_summary:\n{changes_summary}" + ) else: # Parse full rewrite new_code = parse_full_rewrite(llm_response, config.language) diff --git a/openevolve/llm/claude_code.py b/openevolve/llm/claude_code.py index 7a07912892..391ec891c6 100644 --- a/openevolve/llm/claude_code.py +++ b/openevolve/llm/claude_code.py @@ -106,6 +106,10 @@ async def _query_once( TextBlock, query, ) + try: + from claude_agent_sdk import ThinkingBlock + except ImportError: + ThinkingBlock = None # older SDK opts_kwargs: Dict[str, Any] = { "max_turns": 4, @@ -126,11 +130,28 @@ async def _query_once( opts_kwargs["cli_path"] = self.cli_path if self.cwd is not None: opts_kwargs["cwd"] = self.cwd + # When reasoning is requested (effort or max_thinking_tokens), default + # to adaptive thinking with `display=summarized` so ThinkingBlock + # actually carries text — Opus 4.7+ defaults display to "omitted" + # (signature-only), which would zero-out our DEBUG reasoning log. + # User can still override via claude_code_options.thinking. + if (effort is not None or self.max_thinking_tokens is not None) \ + and "thinking" not in self.extra_sdk_options: + opts_kwargs["thinking"] = {"type": "adaptive", "display": "summarized"} opts_kwargs.update(self.extra_sdk_options) options = ClaudeAgentOptions(**opts_kwargs) + logger.debug( + f"[claude_code] query model={self.model} " + f"prompt_chars={len(prompt_text)} " + f"sys_chars={len(system_message) if system_message else 0} " + f"effort={opts_kwargs.get('effort')} " + f"max_thinking_tokens={opts_kwargs.get('max_thinking_tokens')}" + ) + text_chunks: List[str] = [] + thinking_chunks: List[str] = [] result_text: Optional[str] = None async for msg in query(prompt=prompt_text, options=options): @@ -138,11 +159,18 @@ async def _query_once( for block in msg.content: if isinstance(block, TextBlock): text_chunks.append(block.text) + elif ThinkingBlock is not None and isinstance(block, ThinkingBlock): + thinking_chunks.append(block.thinking) elif isinstance(msg, ResultMessage): result_text = getattr(msg, "result", None) or result_text final = result_text if result_text else "".join(text_chunks) - logger.debug(f"[claude_code] response chars={len(final)}") + thinking = "".join(thinking_chunks) + logger.debug( + f"[claude_code] response chars={len(final)} thinking_chars={len(thinking)}" + ) + if thinking and logger.isEnabledFor(logging.DEBUG): + logger.debug(f"[claude_code] thinking:\n{thinking}") return final @staticmethod diff --git a/openevolve/process_parallel.py b/openevolve/process_parallel.py index a2fd6592a9..56b837da36 100644 --- a/openevolve/process_parallel.py +++ b/openevolve/process_parallel.py @@ -44,6 +44,37 @@ def _worker_init(config_dict: dict, evaluation_file: str, parent_env: dict = Non if parent_env: os.environ.update(parent_env) + # Workers spawn with default WARNING root logger, so DEBUG/INFO from + # iteration.py / llm code never fire unless we configure here. Mirror the + # controller's log_level and attach handlers so logs surface in the + # run_phase.sh terminal AND get appended to the controller's log file + # (LLM thinking / prompts / param deltas otherwise live only on stderr). + _wlvl = getattr(logging, str(config_dict.get("log_level", "INFO")).upper(), logging.INFO) + _root = logging.getLogger() + _root.setLevel(_wlvl) + _fmt = logging.Formatter( + f"%(asctime)s - pid{os.getpid()} - %(name)s - %(levelname)s - %(message)s" + ) + if not any( + isinstance(h, logging.StreamHandler) and not isinstance(h, logging.FileHandler) + for h in _root.handlers + ): + _sh = logging.StreamHandler() + _sh.setFormatter(_fmt) + _root.addHandler(_sh) + _log_file = config_dict.get("log_file") + if _log_file and not any( + isinstance(h, logging.FileHandler) + and getattr(h, "baseFilename", None) == os.path.abspath(_log_file) + for h in _root.handlers + ): + try: + _fh = logging.FileHandler(_log_file) + _fh.setFormatter(_fmt) + _root.addHandler(_fh) + except OSError: + pass # worker can't write — fall back to stderr only + global _worker_config global _worker_evaluation_file global _worker_evaluator @@ -84,7 +115,7 @@ def _worker_init(config_dict: dict, evaluation_file: str, parent_env: dict = Non **{ k: v for k, v in config_dict.items() - if k not in ["llm", "prompt", "database", "evaluator"] + if k not in ["llm", "prompt", "database", "evaluator", "log_file"] }, ) _worker_evaluation_file = evaluation_file @@ -386,6 +417,7 @@ def _serialize_config(self, config: Config) -> dict: "checkpoint_interval": config.checkpoint_interval, "log_level": config.log_level, "log_dir": config.log_dir, + "log_file": getattr(self, "log_file", None), "random_seed": config.random_seed, "diff_based_evolution": config.diff_based_evolution, "max_code_length": config.max_code_length, diff --git a/pyproject.toml b/pyproject.toml index a36690f4a3..db8c8fd1d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,12 @@ dev = [ ] claude-code = [ "claude-agent-sdk>=0.2.82", + # claude-agent-sdk's subprocess_cli imports `opentelemetry` to inject W3C + # trace context into the spawned CLI. The import is wrapped in try/except, + # so a missing module is non-fatal at runtime, BUT under log_level=DEBUG + # the SDK logs the full ModuleNotFoundError traceback every call. Pull in + # the API package to silence the noise (no exporters needed for no-op). + "opentelemetry-api>=1.20.0", ] [tool.black] diff --git a/scripts/docker-init-claude.sh b/scripts/docker-init-claude.sh index 9fa871517e..17adfab14d 100755 --- a/scripts/docker-init-claude.sh +++ b/scripts/docker-init-claude.sh @@ -64,6 +64,21 @@ else fi fi +# 3b. opentelemetry-api: SDK's subprocess_cli.py imports `opentelemetry` to +# inject W3C trace context; missing module is non-fatal but logs a full +# traceback at DEBUG every call. Ensure present regardless of whether step 3 +# ran a fresh install (existing containers may have SDK but not OTEL). +if python -c "import opentelemetry" 2>/dev/null; then + log "opentelemetry-api present" +else + log "opentelemetry-api missing -> pip install opentelemetry-api" + if pip install --quiet "opentelemetry-api>=1.20.0"; then + log "installed opentelemetry-api" + else + warn "pip install opentelemetry-api failed; DEBUG logs will show OTEL traceback" + fi +fi + # 4. Auth sanity check if [[ -n "${CLAUDE_CODE_OAUTH_TOKEN:-}${ANTHROPIC_API_KEY:-}${ANTHROPIC_AUTH_TOKEN:-}" ]]; then log "auth env var present" From 4dc2be8c2c444cb6664e7f3a76cff82c5ff37c09 Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 28 May 2026 18:25:07 +0900 Subject: [PATCH 35/42] [docs] update slides --- docs/openevolve-intro/index.html | 200 +++++++++++------------- docs/openevolve-intro/slides.html | 246 +++++++++++++++--------------- 2 files changed, 208 insertions(+), 238 deletions(-) diff --git a/docs/openevolve-intro/index.html b/docs/openevolve-intro/index.html index 104fdc8d7c..f2054cbe58 100644 --- a/docs/openevolve-intro/index.html +++ b/docs/openevolve-intro/index.html @@ -31,7 +31,7 @@

목차

  • 한 iteration의 생애
  • LLM이 어떻게 적용되나
  • Z3 파라미터 최적화 — 실제 결과
  • -
  • 실전 예시: CP-SAT phase2 진화 로그 읽기
  • +
  • 실전 예시: CP-SAT 3-Phase 진화 로그 읽기
  • repo 활용: z3-bench / cpsat-bench
  • 새 솔버에 적용하려면
  • 용어 미니 사전
  • @@ -707,164 +707,142 @@

    6. Z3 파라미터 최적화 — 실제 결과

    -

    7. 실전 예시 — CP-SAT phase2 진화 로그 읽기

    +

    7. 실전 예시 — CP-SAT 3-Phase 진화 로그 읽기

    - 여기까지가 이론. 이제 실제 로그를 따라가며 LLM이 어떻게 CP-SAT 파라미터를 튜닝하는지 본다. 로그 출처: input/cpsat-bench/evolve/phase2_presolve/openevolve_output/logs/openevolve_20260527_154008.log. Phase2는 phase1의 best 결과를 물려받아 presolve/probing 표면을 미세 조정하는 단계. + 여기까지가 이론. 이제 실제 로그를 따라가며 LLM이 어떻게 CP-SAT 파라미터를 튜닝하는지, 그리고 phase 체이닝이 이득과 regression을 동시에 전달하는 모습을 본다. 로그 출처: input/cpsat-bench/evolve/phase{1,2,3}_*/openevolve_output/logs/. 각 phase는 직전 phase의 best를 물려받아 다른 파라미터 표면을 튜닝한다 (phase1 search/subsolvers → phase2 presolve/probing → phase3 LP/cuts).

    -

    7.1 실행 환경

    +

    7.1 공통 실행 환경 (3 phase 동일)

    - - - - - - + + + + +
    항목
    LLM Ensembleclaude-sonnet-4-6 (weight 0.80) + claude-haiku-4-5 (weight 0.20)
    Random seed42 (재현성 확보)
    Island3개
    총 iteration20
    고정(LOCKED) 파라미터random_seed=0, num_search_workers=1 — LLM이 못 건드림
    샘플 문제stage1=10개, stage2=10개, stage3=outlier (cascade 평가)
    Phase 위치phase1 best 상속 → presolve 표면 튜닝
    Random seed / Island42 (재현성) / 3개
    phase당 iteration40
    고정(LOCKED) 파라미터random_seed=0, num_search_workers=1 (phase1/2) / 8 (phase3) — LLM이 못 건드림
    Cascade 평가stage1(10) → stage2(10) → [stage3 outlier, phase3+] → stage4(20)
    Phase 체이닝phaseN best → phase(N+1) initial_program.py로 상속
    -

    7.2 시작점 — 이미 높은 baseline (score 0.9976)

    +

    7.2 Phase 1 — search / subsolvers: 큰 도약 (0.71 → 1.46)

    - Phase2의 초기 initial_program.py는 phase1에서 검증된 minimum 설정만 들고 있다. Phase1이 다양한 search 옵션을 시도한 뒤 살아남은 핵심 파라미터: + Phase1은 가장 큰 표면(search 전략 + subsolver 조합)을 단독으로 탐색한다. 초기 config는 탐색이 무거워 deterministic_time은 느리지만 branch/conflict 수는 적다(efficiency 2.25).

    -
    GLOBAL_OVERRIDES = {
    -    "cp_model_probing_level": 1,
    -}
    +  
    initial: combined_score=0.7123  geomean_speedup=0.5436  efficiency=2.2518  (solved 10/10)
    +winner : combined_score=1.4582  geomean_speedup=1.1786  efficiency=1.8948  (solved 20/20)
    +         🌟 new best @ iter 1, 4, 31
    -SIZE_BUCKETS = [ - (50_000, {}), - (150_000, {}), - (float("inf"), {}), -] +

    winner가 채택한 핵심 — feasibility 휴리스틱:

    +
    GLOBAL_OVERRIDES = { "use_feasibility_pump": True }   # 작은/중간 문제 dtime 단축
    +SIZE_BUCKETS[large] = { "use_feasibility_jump": True, "use_feasibility_pump": True }
    +STAGE3_OVERRIDES = { "repair_hint": True, "hint_conflict_limit": 50 }
    -STAGE3_OVERRIDES = {}
    +
    + 결과. deterministic_time 17.9% 단축 (geomean_speedup 1.1786), stage4까지 통과해 20/20 OPTIMAL. 큰 탐색 공간이라 점수가 0.71 → 1.46으로 크게 도약. (LLM 생성 timeout 10회 — claude_code 3-retry 후 skip.) +
    +
    + 복선. winner가 켠 use_feasibility_jump/pump가 phase2 initial_program.py로 상속되며 곧바로 문제를 일으킨다. +
    -

    평가 결과:

    -
    combined_score = 0.9976
    -geomean_speedup = 1.0409          ← deterministic_time 4.1% 단축
    -geomean_wall_speedup = 1.2351     ← wall time 23.5% 빠름
    -solved_rate = 1.0 (10/10 OPTIMAL)
    -efficiency = 0.8802               ← 일부 문제에서 conflicts 약간 증가 (88점)
    +

    7.3 Phase 2 시작 — 상속이 깨졌다 (score 0.0000)

    +

    + Phase2(presolve/probing)는 phase1 winner를 상속한다. 그런데 초기 평가가 0점. phase1에서 켠 use_feasibility_jump=Truenum_search_workers=1 환경에서 사실상 유일 solver로 돌면서 한 문제에서 feasibility를 잃었다. +

    +
    initial c69923ed: combined_score=0.0000  solved_rate=0.0000
    +artifact.result_mismatch = {
    +    "sha": "b5e191a8...", "baseline_result": "OPTIMAL", "got_result": "UNKNOWN"
    +}
    +artifact.suggestion = "Variant lost feasibility on a problem baseline reached optimal.
    +    Revert params that disable a needed subsolver or shorten search."
    -
    - Phase1과의 큰 차이. Phase1은 score=0에서 출발했지만 Phase2는 시작부터 0.9976. 즉 phase1이 잘 작동해 미세 조정만 남은 상태. 큰 도약 대신 점진적 개선이 목표. +
    + 체이닝의 양날. phase 체이닝은 이득뿐 아니라 regression도 전달한다. 단 하나의 OPTIMAL→UNKNOWN이 solved_rate=0을 만들고, score 식의 solved_rate² 항이 combined_score를 0으로 떨군다. 하지만 evaluator가 돌려준 result_mismatch + suggestion artifact가 다음 iteration들의 단서가 된다.
    -

    7.3 Iteration 1 — SIZE_BUCKETS와 STAGE3_OVERRIDES 채움 (score 1.0)

    +

    7.4 Phase 2 회복 — 안전하지만 느린 곡선

    - Iteration 1에서 ensemble이 claude-haiku-4-5를 샘플링. LLM thinking 로그를 한국어로 요약하면: + 이후 iteration들은 "일단 다 풀리게" 만드는 보수적 변형으로 점진 회복한다. solved 10/10이지만 dtime은 baseline보다 느리다(speedup < 1).

    - +
    iter 1 (4a07c113): combined_score=0.8807  geomean_speedup=0.881   solved 10/10
    +iter 3 (2fa91fef): combined_score=0.9771  geomean_speedup=0.901
    +iter 9 (5e2691fb): combined_score=0.9905  geomean_speedup=0.946
    - LLM 사고 요약 (번역): -
      -
    1. "현재 score 0.9976 — 이미 매우 높음. 큰 점프 대신 점진적 개선이 필요하다."
    2. -
    3. "Phase2는 presolve/probing 튜닝 단계. cp_model_probing_level=1이 글로벌 기본인데, 작은 문제(<50k)는 SAT-유사 특성이라 probing을 더 높게 가져도 안전하다."
    4. -
    5. "SIZE_BUCKETS의 첫 버킷에 cp_model_probing_level: 2 추가. 중/대 버킷은 그대로 두어 LP-heavy 인스턴스 회귀 방지."
    6. -
    7. "Outlier(stage3 전용)에는 더 공격적으로 — cp_model_probing_level: 3, symmetry_level: 3, probing_num_combinations_limit: 35000. STAGE3_OVERRIDES는 outlier에만 적용되니 일반 stage1/2 성능 손해 없음."
    8. -
    + 국소 최적의 함정. regression은 사라졌지만(solved 10/10) 모두 geomean_speedup < 1.0 — baseline보다 dtime을 더 쓴다. LLM은 "안전한 0.9x"에 머물러 0점은 피했으나 phase1 수준(1.18)엔 못 미치고, stage1 gate를 못 넘어 stage2로도 진입하지 못한다.
    +

    7.5 Phase 2 돌파 — iter 23, 근본 원인 진단 (1.4582)

    - LLM이 적용한 새 EVOLVE-BLOCK: + iter 23에서 LLM이 thinking 로그에 root cause를 적고 직접 고친다:

    - +
    + "Phase1 winner가 use_feasibility_jump=True를 켠 듯하다. W=1에서는 이게 유일 solver로 돌아 LP-heavy 문제에서 optimality 증명 없이 FEASIBLE로 끝난다. 조기 종료를 유발하는 두 휴리스틱을 명시적으로 끈다." +
    GLOBAL_OVERRIDES = {
    -    "cp_model_probing_level": 1,    # 글로벌은 보수적으로 유지
    +    "cp_model_probing_level": 2, "symmetry_level": 1,
    +    "use_feasibility_jump": False,   # ← root-cause fix
    +    "use_feasibility_pump": False,
    +    "stop_after_first_solution": False, "use_lns_only": False,
     }
    -
     SIZE_BUCKETS = [
    -    (50000,  {"cp_model_probing_level": 2}),   # 작은 문제 — probing 올림
    -    (150000, {}),                              # 중간 — 그대로
    -    (inf,    {}),                              # 큰 문제 — 그대로 (LP-heavy 보호)
    -]
    -
    -STAGE3_OVERRIDES = {
    -    "cp_model_probing_level": 3,               # outlier 전용 — 강력
    -    "symmetry_level": 3,
    -    "probing_num_combinations_limit": 35000,
    -}
    - -

    평가 결과:

    -
    iter 1: combined_score = 1.0000  (0.9976 → 1.0000, +0.0024)
    -        solved_rate = 1.0  (10/10 OPTIMAL)
    -        geomean_speedup = 1.0000
    -        geomean_wall_speedup = 1.1226
    -        efficiency = 1.0000           ← efficiency 페널티 사라짐
    -        🌟 New best solution found at iteration 1
    - + (50_000, {probing2, cut_level1, add_mir_cuts, add_zero_half_cuts}), # 작은 문제 + (150_000, {probing2, cut_level1}), # 중간 + (inf, {probing1, linearization_level1}), # 큰 LP-heavy +]
    - 주목할 점. wall_speedup은 1.2351 → 1.1226으로 살짝 하락. 하지만 combined_score증가. 이유는 efficiency 0.88 → 1.00. score 식이 wall만 보지 않고 efficiency까지 가중치를 두기 때문에, "솔버가 더 적은 일을 해서 같은 결과를 얻은 변형"이 더 높은 점수를 받는다. + 돌파. stage1 gate 통과 → 전체 cascade(stage4, 20문제) 진입. combined_score=1.4582, geomean_speedup=1.1786 (+17.9%), efficiency=1.8948. phase1과 동일한 속도 수준을 더 안전한 config로 회복 — 즉 phase2의 본질은 "신규 이득"이 아니라 체이닝이 만든 regression을 진단·복구한 것.
    -

    7.4 Iteration 5~6 — 욕심내다 efficiency 페널티

    +

    7.6 Phase 2 실패들 — 좁은 표면의 대가

    - Iteration 5, 6에서 LLM이 더 공격적인 presolve 옵션을 시도. 결과는 의외: + presolve/probing 표면은 이미 잘 도는 baseline 위라 변형 여지가 좁다. 한 발만 잘못 디뎌도 OPTIMAL→UNKNOWN이 나고, 돌파 이후에도 다른 가지에서 같은 종류의 regression이 반복된다.

    -
    iter 5: combined_score=0.7969  geomean_speedup=0.8460  efficiency=0.8356
    -iter 6: combined_score=0.6964  geomean_speedup=0.7689  efficiency=0.7427
    -

    - OPTIMAL은 다 맞췄지만 (solved_rate=1.0) score는 큰 폭으로 하락. 원인은 두 가지: -

    -
      -
    • geomean_speedup < 1.0 — variant가 baseline보다 deterministic_time을 더 많이
    • -
    • efficiency 하락 — conflicts 5,221 → 7,817~8,670개로 증가. 솔버가 헤맴.
    • -
    - -
    - 학습 포인트. 이미 score 1.0인 상태에서 추가 개선은 매우 어렵다. 어설픈 욕심이 오히려 후퇴. score 식 자체가 "더 빠르거나 더 효율적이면 보상, 양쪽 다 나쁘면 페널티" 구조라 stable한 변형이 valuable. +
    iter 25, 32: combined_score=0.0000
    +             error="result regression on dd4063e9bc: baseline=OPTIMAL got=UNKNOWN"
    +LLM 생성 timeout: iter 5,10,12,18,19,22,30,35  (claude_code 3-retry 후 skip)
    +
    + 그래도 수렴하는 이유. MAP-Elites + island가 0점 가지를 버리고, artifact의 result_mismatch가 LLM을 반복적으로 안전 영역으로 끌어와 iter 23 돌파를 가능케 했다. 점수만 줬다면 불가능한 인과적 디버깅 — artifact 피드백의 가치다.
    -

    7.5 Iteration 7~13 — Regression 폭주와 같은 문제 반복

    +

    7.7 Phase 3 — LP / cuts (W=8): 평탄한 표면

    - Iteration 7, 8, 10, 11, 12, 13 모두 같은 에러: + Phase3는 phase1+2 winner를 상속하고 8-worker로 LP/cuts 표면을 튠다. 시작부터 이미 baseline 수준(상속 config가 강함).

    -
    combined_score = 0.0000
    -error = "result regression on 3e69d6f5b7: baseline=OPTIMAL got=UNKNOWN"
    +
    initial c2e091f9: combined_score=0.9930  geomean_speedup=0.9930  (solved 10/10, W=8)
    +winner  620d4019: combined_score=1.0225  geomean_speedup=0.9778  efficiency=1.1437
    +         🌟 new best @ iter 3, 27
    +

    winner config (요약):

    +
    GLOBAL: max_num_cuts=6000, root_lp_iterations=3500, symmetry_level=3,
    +        interleave_search=True, share_glue_clauses=True, solution_pool_size=8
    +SIZE_BUCKETS[small]: probing3 + linearization2 + cut_level2
    +SIZE_BUCKETS[large]: root_lp_iterations=5000 + MIR/zero-half cuts
    +

    - 같은 문제(SHA 3e69d6f5b7, num_constraints=28938)에서 반복적으로 OPTIMAL → UNKNOWN. LLM이 매번 다른 변형을 시도하는데 자꾸 이 한 문제가 무너진다. 이 문제는 phase1에서 무난히 풀던 문제 — phase2의 presolve 튜닝이 이 문제의 핵심 구조를 깬다는 의미. + 그런데 winner의 combined_score 1.0225는 speedup가 아니라 efficiency factor가 끌어올린 값이다:

    - +
    combined_score = geomean_speedup × efficiency^STATS_WEIGHT × solved_rate²
    +              ≈   0.9778        × 1.1437^0.333
    +              ≈   0.9778        × 1.046              ≈ 1.0225
    - Phase2의 어려움. Phase1과 달리 phase2의 가능한 변형 공간이 이미 잘 작동하는 baseline에 비해 좁다. 한 발만 잘못 디뎌도 OPTIMAL → UNKNOWN. LLM이 conservative 영역에서 surf해야 함. + 한계 효용(diminishing returns). deterministic_time(0.978)은 오히려 baseline보다 2.2% 느리다. 줄어든 branch/conflict(efficiency 1.14)가 점수를 1 위로 들어올렸을 뿐, 실질 속도 개선이 아니다. 쉬운 이득은 phase1/2가 이미 가져갔고 LP/cuts 표면은 이 시점에 거의 평탄하다. score 숫자를 해석할 땐 어떤 항이 들어올렸는지 봐야 한다.
    -

    7.6 Iteration 14 — 복구 (score 0.969)

    -

    - 여러 차례 regression 후 iter 14에서 다시 OPTIMAL 회복: -

    -
    iter 14: combined_score = 0.9690
    -         geomean_speedup = 1.0113
    -         geomean_wall_speedup = 1.2008
    -         efficiency = 0.8794
    -         solved_rate = 1.0
    -

    - Parent는 iter 4 (04718c2f, score 0.7969)의 자식이지만 iter 1의 검증된 SIZE_BUCKETS 패턴으로 회귀. 즉 LLM이 artifact를 통해 "3e69d6f5b7에서 무엇이 깨졌는지" 학습 후 안전한 영역으로 복귀. -

    - -

    7.7 종합 — Phase2가 보여주는 OpenEvolve 동작 양상

    +

    7.8 종합 — 3-Phase가 보여주는 OpenEvolve 동작 양상

    - + - - - - - - - + + +
    특징이 로그에서 확인된 증거
    Phase표면 / Winitialwinnergeomean_speedup (dtime)양상
    Phase 체이닝phase1 best (cp_model_probing_level=1)이 phase2 initial로 import. 시작 점수 이미 0.9976.
    점진적 개선iter 1: 0.9976 → 1.0000 (+0.0024). 점프가 아닌 미세 조정.
    Efficiency vs Wall 트레이드오프iter 1은 wall은 약간 느려졌지만 efficiency가 좋아져 종합 점수 상승.
    STAGE3_OVERRIDES 활용LLM이 "outlier 전용 공격적 설정"을 분리 — stage1/2 안전, stage3에만 적용.
    반복적 동일 문제 실패iter 7~13: 같은 문제(3e69d6f5b7)에서 반복 UNKNOWN — phase2 변형이 이 문제 구조를 깸.
    Artifact 학습 복구iter 14에서 LLM이 regression 메시지를 보고 안전 영역으로 회귀.
    Cascade 평가모든 iteration이 stage1만 평가됨 — 점수 1.0 이상 도달 못 해 stage2 진입 못 함 (phase2의 한계).
    1search/subsolvers · W10.71231.45821.1786 (+17.9%)탐색 — 큰 도약
    2presolve/probing · W10.00001.45821.1786진단·복구 — root-cause fix
    3lp/cuts · W80.99301.02250.9778 (−2.2%)평탄 — 한계 효용
    -

    - 20 iteration 후 phase2의 best 변형은 iter 1 (combined_score=1.0000, SIZE_BUCKETS + STAGE3_OVERRIDES 추가). 이 best가 추출돼 phase3의 initial_program.py로 import되고 다음 표면(LP/cuts) 튜닝이 시작된다. -

    -
    - Phase1 vs Phase2 비교. Phase1은 score 0 → 1.0822로 큰 도약 (탐색). Phase2는 0.9976 → 1.0000으로 미세 조정 (수렴). 두 phase의 진화 양상이 본질적으로 다르며, 이게 OpenEvolve의 multi-phase cascade가 단계마다 적절한 최적화를 하는 이유. +
      +
    1. 체이닝은 이득과 regression을 함께 전달한다. phase2 시작 0점은 phase1이 켠 휴리스틱 탓 — artifact가 LLM의 root-cause 진단을 가능케 했다.
    2. +
    3. score 식 해석에 주의. phase3는 dtime<1인데도 efficiency factor가 combined_score를 1 위로 들어올린다. 숫자 하나만 보면 오해할 수 있다.
    4. +
    5. 모든 phase가 이득을 내진 않는다. phase3는 평탄 — 그게 정상이고, cascade는 "어디서 멈출지"를 보여준다.
    6. +
    diff --git a/docs/openevolve-intro/slides.html b/docs/openevolve-intro/slides.html index 19865ec40f..b40a4cb522 100644 --- a/docs/openevolve-intro/slides.html +++ b/docs/openevolve-intro/slides.html @@ -456,6 +456,16 @@

    OpenEvolve

    사람이 "더 좋게 만들어줘"라고 코드를 직접 짜지 않음. EVOLVE-BLOCK 영역을 LLM이 반복 변형, 자동 평가, 비교.

    + +
    + "코드"의 넓은 의미. LLM이 수정 가능한 textual / symbolic representation이면 사실상 코드처럼 최적화 가능. 회로 데이터·좌표도 코드가 된다. +
      +
    • placement → 좌표(coordinates)
    • +
    • routing → graph
    • +
    • standard cell synthesis
    • +
    +
    +

    OpenEvolve = Google DeepMind AlphaEvolve의 오픈소스 구현.

    1. TL;DR
    2 / 35
    @@ -891,216 +901,198 @@

    실험 조건

    6. Z3 최적화 결과
    19 / 35
    - +
    -
    7. 실전 로그

    CP-SAT phase2 진화 로그 읽기

    +
    7. 실전 로그

    CP-SAT 3-Phase 진화 로그 읽기

    -

    이론은 끝. 실제 phase2 로그를 따라가며 LLM이 CP-SAT presolve 파라미터를 미세 조정하는 과정 관찰.

    +

    이론은 끝. phase1 → phase2 → phase3 실제 로그를 따라가며 LLM이 CP-SAT 파라미터를 어떻게 튜닝하는지, 그리고 phase 체이닝이 이득과 regression을 동시에 전달하는 모습을 관찰.

    - 로그: input/cpsat-bench/evolve/phase2_presolve/openevolve_output/logs/openevolve_20260527_154008.log + 로그: input/cpsat-bench/evolve/phase{1,2,3}_*/openevolve_output/logs/

    -

    실행 환경

    +

    공통 실행 환경 (3 phase 동일)

    - - - - - + + + + +
    LLM Ensembleclaude-sonnet-4-6 (0.80) + claude-haiku-4-5 (0.20)
    Random seed42 (재현성)
    Island3개
    총 iteration20
    LOCKED 파라미터random_seed=0, num_search_workers=1
    Phase 위치phase1 best 상속 → presolve 표면 튜닝
    Random seed / Island42 / 3개
    phase당 iteration40
    LOCKED 파라미터random_seed=0, num_search_workers=1 (phase1/2), 8 (phase3)
    Cascade 평가stage1(10) → stage2(10) → [stage3 outlier] → stage4(20)
    Phase 체이닝phaseN best → phase(N+1) initial_program.py로 상속
    7. 실전 로그
    20 / 35
    - +
    -
    7.2 시작점

    이미 높은 baseline — score 0.9976

    +
    7.1 Phase1

    search / subsolvers — 큰 도약 (0.71 → 1.46)

    -

    Phase2 초기 프로그램은 phase1에서 검증된 minimum 설정만 들고 시작.

    +

    Phase1은 가장 큰 표면(search 전략 + subsolver 조합)을 단독으로 탐색. 초기 config는 탐색이 무거워 dtime은 느리지만 branch/conflict는 적다.

    -
    GLOBAL_OVERRIDES = {
    -    "cp_model_probing_level": 1,
    -}
    -
    -SIZE_BUCKETS = [
    -    (50_000,         {}),
    -    (150_000,        {}),
    -    (float("inf"),   {}),
    -]
    +
    initial: combined_score=0.7123  geomean_speedup=0.5436  efficiency=2.2518
    +winner : combined_score=1.4582  geomean_speedup=1.1786  efficiency=1.8948  (solved 20/20)
    +         🌟 new best @ iter 1, 4, 31
    -STAGE3_OVERRIDES = {}
    +

    winner가 채택한 핵심 — feasibility 휴리스틱:

    +
    GLOBAL_OVERRIDES = { "use_feasibility_pump": True }   # 작은/중간 문제 dtime 단축
    +SIZE_BUCKETS[large] = { "use_feasibility_jump": True, "use_feasibility_pump": True }
    +STAGE3_OVERRIDES = { "repair_hint": True, "hint_conflict_limit": 50 }
    - 평가 결과:
    - combined_score = 0.9976 (시작부터 매우 높음)
    - geomean_speedup = 1.0409 (dtime 4.1% 단축)
    - geomean_wall_speedup = 1.2351 (wall 23.5% 빠름)
    - solved_rate = 1.0 (10/10 OPTIMAL)
    - efficiency = 0.8802 (일부 문제 conflicts 약간 증가) + 결과. deterministic_time 17.9% 단축 (geomean_speedup 1.1786), 20/20 OPTIMAL. 큰 탐색 공간 → 큰 점프. (LLM 생성 timeout 10회 — claude_code 3-retry 후 skip)
    +

    주의: winner가 켠 use_feasibility_jump/pump가 phase2로 상속되며 문제를 일으킨다 →

    -
    7.2 시작점
    21 / 35
    +
    7.1 Phase1
    21 / 35
    - +
    -
    7.2 시작점

    Phase1과의 큰 차이

    +
    7.2 Phase2 시작

    상속이 깨졌다 — score 0.0000

    - - - - - - - - -
    항목Phase1Phase2
    초기 점수0.0000 (망가짐)0.9976 (이미 좋음)
    탐색 공간search/subsolvers (큰 공간)presolve/probing (좁은 공간)
    변형 방향"근본 수정" (멀티워커 옵션 제거)"미세 조정" (SIZE_BUCKETS 채우기)
    기대 진행큰 점프 (0→1.0)점진적 (0.9976→1.0)
    +

    Phase2(presolve/probing)는 phase1 winner를 상속. 그런데 초기 평가가 0점. phase1에서 켠 use_feasibility_jump=True가 W=1 단독 실행 시 한 문제에서 feasibility를 잃었다.

    -
    - Phase2의 본질. phase1이 잘 작동해 미세 조정만 남은 상태. 어설픈 욕심은 오히려 regression. LLM은 conservative 영역에서 surf해야 함. +
    initial c69923ed: combined_score=0.0000  solved_rate=0.0000
    +artifact.result_mismatch = {
    +    "sha": "b5e191a8...", "baseline_result": "OPTIMAL", "got_result": "UNKNOWN"
    +}
    +artifact.suggestion = "Variant lost feasibility on a problem baseline reached
    +    optimal. Revert params that disable a needed subsolver or shorten search."
    + +
    + 체이닝의 양날. phase 체이닝은 이득뿐 아니라 regression도 전달한다. 단 하나의 OPTIMAL→UNKNOWN이 solved_rate=0을 만들어 combined_score를 0으로 떨군다 (score 식의 solved_rate² 항).
    +

    하지만 evaluator가 돌려준 result_mismatch + suggestion artifact가 다음 iteration들의 단서가 된다.

    -
    7.2 시작점
    22 / 35
    +
    7.2 Phase2 시작
    22 / 35
    - +
    -
    7.3 Iteration 1

    LLM의 진단 (thinking 로그 번역)

    +
    7.3 Phase2 회복

    안전하지만 느린 회복

    +

    이후 iteration들은 "일단 다 풀리게" 만드는 보수적 변형으로 점진 회복. solved 10/10이지만 dtime은 baseline보다 느림(speedup < 1).

    + +
    iter 1 (4a07c113): combined_score=0.8807  geomean_speedup=0.881   solved 10/10
    +iter 3 (2fa91fef): combined_score=0.9771  geomean_speedup=0.901
    +iter 9 (5e2691fb): combined_score=0.9905  geomean_speedup=0.946
    +
    -
      -
    1. "score 0.9976 — 이미 매우 높음. 큰 점프 대신 점진적 개선이 필요."
    2. -
    3. "cp_model_probing_level=1은 글로벌 기본인데, 작은 문제(<50k)는 SAT-유사라 probing을 더 높게 가져도 안전."
    4. -
    5. "SIZE_BUCKETS 첫 버킷에 cp_model_probing_level: 2 추가. 중/대 버킷은 그대로 — LP-heavy 인스턴스 회귀 방지."
    6. -
    7. "Outlier(stage3 전용)는 더 공격적: probing_level: 3, symmetry_level: 3. STAGE3_OVERRIDES는 outlier에만 적용되니 stage1/2 손해 없음."
    8. -
    + 국소 최적의 함정. regression은 사라졌지만(solved 10/10) 모두 geomean_speedup < 1.0 — baseline보다 dtime을 더 쓴다. LLM은 "안전한 0.9x"에 머물러 0점은 피했지만 phase1 수준(1.18)엔 못 미침. stage1 gate를 못 넘어 stage2로도 못 간다.
    -

    LLM이 buckets별로 다른 강도를 적용하는 layered tuning 전략 채택.

    -
    7.3 Iteration 1
    23 / 35
    +
    7.3 Phase2 회복
    23 / 35
    - +
    -
    7.3 Iteration 1

    변형 적용 → 미세 개선

    +
    7.4 Phase2 돌파

    iter 23 — 근본 원인 진단으로 돌파

    +

    iter 23에서 LLM이 thinking 로그에 root cause를 적고 직접 고친다:

    +
    + "Phase1 winner가 use_feasibility_jump=True를 켠 듯. W=1에서는 이게 유일 solver로 돌아 LP-heavy 문제에서 optimality 증명 없이 FEASIBLE로 끝난다. 두 early-exit 휴리스틱을 명시적으로 끈다." +
    GLOBAL_OVERRIDES = {
    -    "cp_model_probing_level": 1,    # 글로벌 보수적 유지
    +    "cp_model_probing_level": 2, "symmetry_level": 1,
    +    "use_feasibility_jump": False,   # ← root-cause fix
    +    "use_feasibility_pump": False,
    +    "stop_after_first_solution": False, "use_lns_only": False,
     }
    -
    -SIZE_BUCKETS = [
    -    (50000,  {"cp_model_probing_level": 2}),   # 작은 문제만 올림
    -    (150000, {}),                              # 중간 — 그대로
    -    (inf,    {}),                              # 큰 문제 — 그대로
    -]
    -
    -STAGE3_OVERRIDES = {
    -    "cp_model_probing_level": 3,               # outlier — 강력
    -    "symmetry_level": 3,
    -    "probing_num_combinations_limit": 35000,
    -}
    +# SIZE_BUCKETS: small=probing2+MIR/zero-half cuts, mid=probing2+cut1, large=probing1+lin1
    - 평가 결과:
    - combined_score: 0.9976 → 1.0000 (+0.0024)
    - efficiency: 0.8802 → 1.0000 (페널티 사라짐)
    - wall_speedup 1.2351 → 1.1226 (살짝 하락하지만 score는 상승)
    - 🌟 New best solution found at iteration 1 + 돌파. stage1 gate 통과 → 전체 cascade(stage4, 20문제) 진입. combined_score=1.4582, geomean_speedup=1.1786 (+17.9%). phase1과 동일 수준을 더 안전한 config로 회복 — 체이닝이 만든 regression을 진단·복구한 것.
    -
    7.3 Iteration 1
    24 / 35
    +
    7.4 Phase2 돌파
    24 / 35
    - +
    -
    7.4 Iter 5~6

    욕심내다 efficiency 페널티

    +
    7.5 Phase2 실패

    돌파 전후의 실패들

    -
    iter 5: combined_score=0.7969  geomean_speedup=0.8460  efficiency=0.8356
    -iter 6: combined_score=0.6964  geomean_speedup=0.7689  efficiency=0.7427
    +

    좁은 변형 공간에서 한 발만 잘못 디뎌도 OPTIMAL→UNKNOWN. 돌파 이후에도 다른 가지에서 같은 종류의 regression이 반복.

    -

    OPTIMAL은 다 맞췄는데 점수 큰 폭 하락. 원인 둘:

    +
    iter 25, 32: combined_score=0.0000
    +             error="result regression on dd4063e9bc: baseline=OPTIMAL got=UNKNOWN"
    +LLM 생성 timeout: iter 5,10,12,18,19,22,30,35  (claude_code 3-retry 후 skip)
    -
      -
    • geomean_speedup < 1.0 — variant가 baseline보다 dtime 더 씀
    • -
    • efficiency 하락 — conflicts 5,221 → 7,817~8,670 (솔버 헤맴)
    • -
    - -
    - 학습 포인트. 이미 1.0인 상태에서 추가 개선은 매우 어렵다. 어설픈 욕심이 오히려 후퇴. Score 식 자체가 안정성을 강조. +
    + 왜 0점이 자꾸 나오나. presolve/probing 표면은 이미 잘 도는 baseline 위라 변형 여지가 좁다. 그래도 MAP-Elites + island가 0점 가지를 버리고, artifact의 result_mismatch가 LLM을 안전 영역으로 끌어와 iter 23 돌파를 가능케 했다.
    -
    7.4 Iter 5~6
    25 / 35
    +
    7.5 Phase2 실패
    25 / 35
    - +
    -
    7.5 Iter 7~13

    Regression 폭주 — 같은 문제 반복

    +
    7.6 Phase3

    lp / cuts (W=8) — 평탄한 표면

    -
    iter 7:  combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
    -iter 8:  combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
    -iter 10: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
    -iter 11: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
    -iter 12: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
    -iter 13: combined_score=0.0000  error="3e69d6f5b7: OPTIMAL→UNKNOWN"
    +

    Phase3는 phase1+2 winner를 상속하고 8-worker로 LP/cuts 표면을 튠. 시작부터 이미 baseline 수준 (상속 config가 강함).

    -

    같은 문제(SHA 3e69d6f5b7, constraints=28938)에서 반복적 OPTIMAL → UNKNOWN. 매 iteration LLM이 다른 변형 시도하지만 자꾸 이 한 문제가 무너짐.

    +
    initial c2e091f9: combined_score=0.9930  geomean_speedup=0.9930  (solved 10/10, W=8)
    +winner  620d4019: combined_score=1.0225  geomean_speedup=0.9778  efficiency=1.1437
    +         🌟 new best @ iter 3, 27
    -
    - Phase2의 어려움. 가능한 변형 공간이 이미 좋은 baseline에 비해 좁다. 한 발만 잘못 디뎌도 핵심 문제 구조를 깬다. LLM이 conservative 영역에서 surf해야 함. +

    winner config (요약):

    +
    GLOBAL: max_num_cuts=6000, root_lp_iterations=3500, symmetry_level=3,
    +        interleave_search=True, share_glue_clauses=True, solution_pool_size=8
    +SIZE_BUCKETS[small]: probing3 + linearization2 + cut_level2
    +SIZE_BUCKETS[large]: root_lp_iterations=5000 + MIR/zero-half cuts
    + +
    + 관찰. 8개 워커 portfolio에 무거운 LP/cuts를 더해도 geomean_speedup=0.9778 — dtime은 오히려 2.2% 느려짐.
    -
    7.5 Iter 7~13
    26 / 35
    +
    7.6 Phase3
    26 / 35
    - +
    -
    7.6 Iter 14

    Artifact 학습으로 복구

    +
    7.7 Phase3 해석

    score > 1 인데 왜 dtime은 느린가

    -
    iter 14: combined_score = 0.9690
    -         geomean_speedup = 1.0113
    -         geomean_wall_speedup = 1.2008
    -         efficiency = 0.8794
    -         solved_rate = 1.0
    -         parent = iter 4 (04718c2f, score=0.7969)
    +

    winner의 combined_score 1.0225는 speedup가 아니라 efficiency factor가 끌어올린 값:

    -

    여러 차례 regression 후 iter 14에서 다시 OPTIMAL 회복. Parent는 iter 4의 자식이지만 iter 1의 검증된 SIZE_BUCKETS 패턴으로 회귀.

    +
    combined_score = geomean_speedup × efficiency^STATS_WEIGHT × solved_rate²
    +              ≈   0.9778        × 1.1437^0.333
    +              ≈   0.9778        × 1.046              ≈ 1.0225
    -
    - 핵심. LLM이 artifact error 메시지("3e69d6f5b7: OPTIMAL→UNKNOWN")를 반복적으로 보면서 "이 영역은 위험"이라는 신호를 학습. 안전 영역으로 자율 회귀. +

    즉 dtime(0.978)은 baseline보다 느린데, branch/conflict가 줄어든 efficiency(1.14)가 점수를 1 위로 들어올린 것.

    + +
    + 한계 효용(diminishing returns). 쉬운 이득은 phase1/2가 이미 가져갔다. LP/cuts 표면은 이 시점에 거의 평탄 — 점수 1.02는 "실질 속도 개선"이 아니다. score 숫자를 해석할 때 어떤 항이 들어올렸는지 봐야 함.
    -

    점수만 줬을 때는 불가능한 인과적 디버깅 — artifact 피드백의 가치 실증.

    +

    artifact 피드백 + 분해 가능한 score = 점수만 봤을 때 놓칠 인과를 드러냄.

    -
    7.6 Iter 14
    27 / 35
    +
    7.7 Phase3 해석
    27 / 35
    - +
    -
    7.7 종합

    Phase2 로그가 보여준 동작 양상

    +
    7.8 종합

    3-Phase가 보여준 동작 양상

    - + - - - - - - + + +
    특징로그 증거
    Phase표면 / Winitialwinnergeomean_speedup양상
    Phase 체이닝phase1 best이 phase2 initial로 import. 시작 점수 이미 0.9976
    점진적 개선iter 1: 0.9976 → 1.0000. 점프 아닌 미세 조정
    Efficiency vs Walliter 1: wall 살짝 느려도 efficiency 개선으로 종합 점수 상승
    Layered tuningSIZE_BUCKETS + STAGE3_OVERRIDES로 문제 크기별/outlier별 분리 적용
    반복 동일 실패iter 7~13: 같은 문제(3e69d6f5b7) 반복 UNKNOWN
    Artifact 학습 복구iter 14에서 LLM이 위험 영역 회피, 안전 영역으로 자율 회귀
    1search/subsolvers · W10.71231.45821.1786 (+17.9%)탐색 — 큰 도약
    2presolve/probing · W10.00001.45821.1786진단·복구 — root-cause fix
    3lp/cuts · W80.99301.02250.9778 (−2.2%)평탄 — 한계 효용
    -

    20 iteration 후 best = iter 1 (combined_score=1.0000). 이 best가 phase3의 시작점으로 import.

    - -
    - Phase1 vs Phase2. Phase1은 0 → 1.0822 큰 도약 (탐색). Phase2는 0.9976 → 1.0000 미세 조정 (수렴). multi-phase cascade가 단계마다 다른 최적화 양상을 보임. +
    +
      +
    1. 체이닝은 이득과 regression을 함께 전달. phase2 시작 0점은 phase1이 켠 휴리스틱 탓 — artifact가 LLM의 root-cause 진단을 가능케 함.
    2. +
    3. score 식 해석 주의. phase3는 dtime<1인데 efficiency factor가 score를 1 위로 들어올림.
    4. +
    5. 모든 phase가 이득을 내진 않는다. phase3는 평탄 — cascade가 "어디서 멈출지"를 보여줌.
    6. +
    -
    7.7 종합
    28 / 35
    +
    7.8 종합
    28 / 35
    From 35e87cf1a4c691c04364eda2810a6074f2b9b92b Mon Sep 17 00:00:00 2001 From: hdson Date: Thu, 28 May 2026 18:25:28 +0900 Subject: [PATCH 36/42] [feat] add small profile mode --- input/cpsat-bench/evolve/README.md | 142 +++- input/cpsat-bench/evolve/build_samples.py | 74 +- input/cpsat-bench/evolve/rebaseline_local.py | 70 +- input/cpsat-bench/evolve/shared/evaluator.py | 214 +++-- input/cpsat-bench/evolve/shared/score.py | 9 +- input/cpsat-bench/problems.jsonl | 773 +++++++++++++++++++ input/run_phase.sh | 10 +- 7 files changed, 1146 insertions(+), 146 deletions(-) diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md index 294eab78a9..881cd9b9e6 100644 --- a/input/cpsat-bench/evolve/README.md +++ b/input/cpsat-bench/evolve/README.md @@ -23,7 +23,7 @@ input/cpsat-bench/ ├── config.yaml # OpenEvolve config + custom knobs ├── run_phase.sh # phase runner (chmod +x) ├── build_samples.py # stage{1..4} sample selection - ├── extract_best.py # per-phase winner extraction + ├── extract_best.py # per-phase winner extraction (1..4) ├── prepare_phase_unified.py # materializes phase4 EVOLVE-BLOCK ├── rebaseline_local.py # measure baseline on local box ├── shared/ @@ -36,39 +36,40 @@ input/cpsat-bench/ │ ├── stage{1..4}_sample.json # small profile (cascade staging) │ ├── stage1_large_sample.json # large profile (single hardest outlier) │ └── local_baseline.json # built by rebaseline_local.py - └── phase{1..4}_/ - └── initial_program.py # EVOLVE-BLOCK + ├── phase{1..4}_/ + │ └── initial_program.py # EVOLVE-BLOCK (top-level param tuning) + └── phase5_custom_subsolvers/ + └── initial_program.py # EVOLVE-BLOCK (adds custom subsolvers) ``` ## Evaluation flow (cascade) +The cascade differs by profile — see [Profiles](#profiles-small-vs-large). +The **small** profile (default) is: + ``` LLM-mutated initial_program.py ↓ evaluator.py: 1. get_params(problem=None, stage=...) → global dict (workers/locked) 2. LOCKED-violation check (random_seed, num_search_workers, timeout_sec) - 3. stage1 (10 problems, runtime Q1+Q2 cluster centers): + 3. stage1 (10 problems, runtime c1+c2 cluster centers): get_params(problem=p, stage="stage1") per problem - invalid_param triggers early 0 + each solve repeated 10× and averaged (dtime); invalid_param → early 0 score → gate (cascade_thresholds[0]) → stage2 - 4. stage2 (10 problems, runtime Q3+Q4 cluster centers): same - 5. stage3 (5 OUTLIER problems, stratified small/mid/large @ cap=1.5M ms, - phase3/4 only — phase1/2 skips stage3 and goes direct to stage4): - get_params(problem=p, stage="stage3") — STAGE3_OVERRIDES applied - on top of GLOBAL_OVERRIDES + SIZE_BUCKETS match - score → gate (cascade_thresholds[2]) → stage4 (chained inside stage3) - 6. stage4 (20 broad-runtime problems): final metrics + artifacts + 4. stage2 (10 problems, runtime c3+c4 cluster centers): same + 5. stage3 slot = _finalize_small(): merge cached stage1 + stage2 results + into ONE combined final score. No outlier stage3, no broad stage4. ``` -### Why phase1/2 skip stage3 +Non-feasible variants are NOT aborted — their real (slow) timeout ratio plus +a `solved_rate` drop is the penalty. Scoring uses `deterministic_time`. -Stage3 holds outlier problems whose recorded baseline came from W=8 runs -(median ~25min). Running them at W=1 (phase1/2 PHASE_LOCKED) takes ~10× -longer with no useful signal — phase1/2 tune knobs (presolve, single-worker -search) that the outliers don't really exercise. `evaluate_stage3` checks -`_peek_workers(program_path)` and, when W=1, returns stage4 metrics -directly with a `stage3_policy=skipped` artifact note. +> The **large** profile bypasses staging entirely: every cascade entry point +> evaluates a single hardest-outlier set once (cache-backed). The default +> `build_samples.py` (no `--small`) still emits a 4-stage layout +> (stage3=outliers, stage4=broad) for ad-hoc analysis / `evaluate_stage4`, +> but the small cascade ignores stage3/4. ### Per-problem param resolution @@ -89,6 +90,58 @@ STAGE3_OVERRIDES (gated) → PHASE_LOCKED`. from `Statistics/outliers_top.csv`. Reference for valid CP-SAT param names: `shared/cpsat_params_reference.md` (275 fields, grouped by category). +## Phase 5: custom subsolvers + +Phases 1–4 tune **top-level** CP-SAT parameters. Phase 5 instead adds **custom +subsolvers** to the portfolio, leaving the inherited top-level config (phase4 +winner) untouched. + +Why a separate mechanism: a top-level param applies to *every* subsolver, +including the LNS workers. An expensive propagation technique enabled top-level +also fires inside LNS, making it useless; an objective-requiring config on an +objective-less model makes CP-SAT drop most/all subsolvers. Isolating the knob +in a single extra subsolver bounds the downside — if it doesn't help only that +one worker is slow; if it helps, that worker shares solutions / variable bounds +with the rest of the portfolio. + +Evolve surface (`phase5_custom_subsolvers/initial_program.py` EVOLVE-BLOCK): + +| Surface | Applied when | Purpose | +|---|---|---| +| `CUSTOM_SUBSOLVERS` | every problem | portfolio additions for all problems | +| `STAGE3_CUSTOM_SUBSOLVERS` | `stage == "stage3"` AND `problem.is_outlier` | extra subsolvers for long-tail outliers | + +Each entry is a dict: + +```python +{ + "name": "max_lp_heavy", # required, unique + "params": {"linearization_level": 2, "add_mir_cuts": True}, + "needs_objective": False, # optional; skip on objective-less models + "min_constraints": 50000, # optional inclusive lower gate + "max_constraints": None, # optional exclusive upper gate +} +``` + +`get_params()` turns eligible entries into `subsolver_params` (a named +`SatParameters` set per subsolver) plus `extra_subsolvers` names, on top of the +inherited phase4 config. `needs_objective` entries are dropped when the model +has no objective (`shared/has_objective_cache.json`), avoiding portfolio +collapse. Locks: `random_seed=0`, `num_search_workers=8`, +`interleave_search=True` (the cross-worker sharing that makes an isolated +subsolver pay off requires it). + +The worker (`shared/_cpsat_solve_worker.py`) builds params on a standalone +`sat_parameters_pb2.SatParameters` proto and assigns it wholesale, so nested +`subsolver_params` messages apply on recent ortools (9.15+) where in-place +mutation of repeated messages is unsupported. Invalid subsolver fields surface +as `invalid_param: subsolver_params.`. + +Phase 5 is the terminal phase (no extract step). Phase 4 is therefore no longer +terminal: `run_phase.sh` materializes its EVOLVE-BLOCK before it runs (config +key `unified_prepare_before_dir`) and extracts `phase4_best.json` after, which +phase 5 inherits. + ## Quick start ```bash @@ -109,13 +162,17 @@ python input/cpsat-bench/evolve/rebaseline_local.py ./input/run_phase.sh cpsat-bench 1 ./input/run_phase.sh cpsat-bench 2 ./input/run_phase.sh cpsat-bench 3 -./input/run_phase.sh cpsat-bench 4 +./input/run_phase.sh cpsat-bench 4 # unified refinement (top-level params) +./input/run_phase.sh cpsat-bench 5 # custom subsolvers (inherits phase4_best) # or all phases at once: ./input/run_phase.sh cpsat-bench ``` -After each non-final phase, `run_phase.sh` calls `extract_best.py` to write -`shared/phaseN_best.json`, which the next phase's `initial_program.py` loads. +After each non-final phase (1–4), `run_phase.sh` calls `extract_best.py` to +write `shared/phaseN_best.json`, which the next phase's `initial_program.py` +loads. Phase 5 is terminal (no extract). Running phase 5 standalone requires +`shared/phase4_best.json` — produced by phase 4, or regenerate with +`./input/run_phase.sh cpsat-bench 4 --extract-only`. ## Profiles (`small` vs `large`) @@ -124,23 +181,44 @@ tuning tracks: | | small (default) | large | |---|---|---| -| sample files | `stage{1..4}_sample.json` (cascade staging) | `stage1_large_sample.json` (single sample) | +| sample files | `stage1/2_sample.json` (stage3/4 empty) | `stage1_large_sample.json` (single sample) | | phase1/2 workers | 1 | 8 | | phase3/4 workers | 8 | 8 | -| evaluation | cascade stage1 → 2 → 3 → 4 | single eval on all stages (cache-backed) | -| problem set | clustered fast/mid + outliers + broad spread | top-`STAGE1_LARGE_N` residual outlier(s) from `Statistics/outliers_top.csv` | +| cascade | stage1 → stage2 → **combined final** (no stage3/4) | single eval on all stages (cache-backed) | +| solve repeats | **10× per problem, averaged** | 1× | +| problem set | clustered fast (c1+c2) + mid (c3+c4) | top-`STAGE1_LARGE_N` outlier(s) sorted by `STAGE1_LARGE_SORT_BY` | | output dir | `openevolve_output/` | `openevolve_output_large/` | +Both profiles use **deterministic_time** as the primary score metric (wall is +diagnostic only) and treat a **non-feasible variant's real measured time** as +its ratio — a timed-out solve contributes its slow timeout ratio + a +`solved_rate` drop, never a fixed `1e-6` sentinel and never an abort. + Profile sets `OPENEVOLVE_PROFILE` env var that: -- `evaluator.py` reads to pick sample file + dispatch every cascade stage - entry point (`evaluate_stage{1..4}`) to a single `_evaluate_large()` for - large profile (cache-backed so 3-stage cascade only runs 1 real eval). -- `rebaseline_local.py` reads to rebaseline only the large sample set. +- `evaluator.py` reads to pick sample files and route the cascade: + - **small** → `evaluate_stage1` (stage1), `evaluate_stage2` (stage2), + `evaluate_stage3` = `_finalize_small()` which merges the cached stage1 + + stage2 per-problem results into one combined score (no stage3/4). Each + solve runs `N_REPEATS_SMALL` (=10) times and averages dtime/wall/counters + to damp multi-worker jitter (`OPENEVOLVE_SOLVE_REPEATS` overrides). + - **large** → every entry point dispatches to a single `_evaluate_large()` + over the outlier set (cache-backed, 1× solve). +- `rebaseline_local.py` reads to rebaseline only the active profile's sample set. - `phase{1,2}_*/initial_program.py` reads to override `PHASE_LOCKED` `num_search_workers=8` (default 1). -Adjust `STAGE1_LARGE_N` in `build_samples.py` to widen the outlier set. +Build samples per profile: + +```bash +python build_samples.py # default: all 4 stages (stage3=outliers, stage4=broad) +python build_samples.py --small # small: stage1+stage2 only, stage3/4 empty +python build_samples.py --optimize-only # restrict pool to objective-bearing problems +``` + +`run_phase.sh --profile small` auto-passes `--small` to the build step. +Adjust `STAGE1_LARGE_N` / `STAGE1_LARGE_SORT_BY` in `build_samples.py` to +widen or re-rank the large outlier set. ```bash # large profile (all phases W=8, single hardest outlier) @@ -220,7 +298,9 @@ time_ratio = baseline_dtime / variant_dtime (primary) ## Locked params -`random_seed=0`, `num_search_workers` (per-phase: 1 in phase1/2, 8 in phase3/4). +`random_seed=0`, `num_search_workers` (per-phase: 1 in phase1/2, 8 in +phase3/4/5). Phase 5 additionally locks `interleave_search=True` (required for +the cross-worker sharing a custom subsolver depends on). Modifying any locked key in `get_params()` returns `combined_score=0` plus a `locked_violated` artifact identifying the offending key. Per-problem diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py index d61b98bc94..978be19d3c 100644 --- a/input/cpsat-bench/evolve/build_samples.py +++ b/input/cpsat-bench/evolve/build_samples.py @@ -433,6 +433,13 @@ def main(): "an objective (drops pure-feasibility models). Default off — " "keep all problems.", ) + ap.add_argument( + "--small", + action="store_true", + help="small-profile build: generate stage1 + stage2 only and leave " + "stage3 / stage4 empty (small cascade runs stage1+stage2). " + "Default off — generate all four stages.", + ) args = ap.parse_args() rows = _scan_raw() @@ -496,45 +503,54 @@ def _bucket_range(b): s1 = _pick(STAGE1_STRATEGY, pool_c12, STAGE1_N) s2 = _pick(STAGE2_STRATEGY, pool_c34, STAGE2_N) - # Stage3: target-ms outlier pick from Statistics/outliers_top.csv — - # outliers whose baseline_ms is closest to STAGE3_TARGET_MS (within - # STAGE3_TARGET_TOL_RATIO). Keeps stage3 runtime variance low so cascade - # score is dominated by signal, not noise from a 1500ms vs 1500000ms split. - # Fallback to slow-cluster center pick if csv missing. + # outliers_top.csv feeds outliers.json (is_outlier flag + large-profile + # pick source) and, when generating all stages, the stage3 sample. rows_by_sha = {_id_key(d): d for d in rows} outliers_csv = _find_outliers_csv() s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv, all_rows=rows) \ if outliers_csv else (None, []) - if s3_outliers: - s3 = s3_outliers - stage3_criteria = ( - f"outliers from {outliers_csv.name} nearest " - f"{STAGE3_TARGET_MS}ms (tol={STAGE3_TARGET_TOL_RATIO}x, " - f"cap={STAGE3_MAX_BASELINE_MS}ms; target {STAGE3_N})" - ) + + if args.small: + # small-profile build: stage1 + stage2 only. stage3 (outliers → large + # profile) and stage4 (broad spread) left empty; the small cascade in + # evaluator merges stage1+stage2. + _write_outliers_json([], csv_all) + _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") + _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") + _write_sample(_STAGE3, [], "stage3", "EMPTY — --small build (stage1+stage2 cascade)") + _write_sample(_STAGE4, [], "stage4", "EMPTY — --small build (stage1+stage2 cascade)") + printed_stages = (("stage1", s1), ("stage2", s2)) else: - s3 = _center_pick(pool_c5, STAGE3_N) - stage3_criteria = ("FALLBACK: decisive runtime cluster c5 " - "(outliers_top.csv unavailable or empty)") + # Default build: all four stages. + if s3_outliers: + s3 = s3_outliers + stage3_criteria = ( + f"outliers from {outliers_csv.name} nearest " + f"{STAGE3_TARGET_MS}ms (tol={STAGE3_TARGET_TOL_RATIO}x, " + f"cap={STAGE3_MAX_BASELINE_MS}ms; target {STAGE3_N})" + ) + else: + s3 = _center_pick(pool_c5, STAGE3_N) + stage3_criteria = ("FALLBACK: decisive runtime cluster c5 " + "(outliers_top.csv unavailable or empty)") - _write_outliers_json(s3 if s3_outliers else [], csv_all) + _write_outliers_json(s3 if s3_outliers else [], csv_all) - # Stage4: broad spread across full decisive pool, dedup vs stage1-3. - used = {_id_key(d) for d in (s1 + s2 + s3)} - broad = sorted( - (d for d in candidates if _id_key(d) not in used), - key=_runtime_key, - ) - s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) + used = {_id_key(d) for d in (s1 + s2 + s3)} + broad = sorted( + (d for d in candidates if _id_key(d) not in used), + key=_runtime_key, + ) + s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) - _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") - _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") - _write_sample(_STAGE3, s3, "stage3", stage3_criteria) - _write_sample(_STAGE4, s4, "stage4", "broad runtime spread, dedup vs stage1-3") + _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") + _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") + _write_sample(_STAGE3, s3, "stage3", stage3_criteria) + _write_sample(_STAGE4, s4, "stage4", "broad runtime spread, dedup vs stage1-3") + printed_stages = (("stage1", s1), ("stage2", s2), ("stage3", s3), ("stage4", s4)) - for label, picks in (("stage1", s1), ("stage2", s2), - ("stage3", s3), ("stage4", s4)): + for label, picks in printed_stages: print(f"\n{label}:") for d in picks: print(f" {_id_key(d)[:12]} " diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py index 4e3c23501c..07e8849e48 100644 --- a/input/cpsat-bench/evolve/rebaseline_local.py +++ b/input/cpsat-bench/evolve/rebaseline_local.py @@ -90,6 +90,63 @@ def _stage_sample(stage_num): REBASELINE_TIMEOUT_S = 3600 +# Match the evaluator: small profile averages N repeats per solve so the +# baseline is measured the SAME way variants are (fair dtime ratio). large +# profile measures once. OPENEVOLVE_SOLVE_REPEATS overrides. +N_REPEATS_SMALL = 10 + + +def _solve_repeats(): + env = os.environ.get("OPENEVOLVE_SOLVE_REPEATS") + if env: + try: + return max(1, int(env)) + except ValueError: + pass + return N_REPEATS_SMALL if _profile() == "small" else 1 + + +def _average_runs(runs): + """Mean elapsed_ms / stats / objective over N run_cpsat dicts. Mirrors + evaluator._average_runs so baseline + variant are averaged identically.""" + import collections + import statistics + + if not runs: + return {"result": "Unknown", "elapsed_ms": 0, "stats": {}} + for r in runs: + if "invalid_param" in r: + return r + if len(runs) == 1: + return runs[0] + + results = [r.get("result") for r in runs] + result = collections.Counter(results).most_common(1)[0][0] + elapsed = statistics.mean(r.get("elapsed_ms", 0) for r in runs) + timeout_any = any(r.get("timeout") for r in runs) + + stat_keys = set() + for r in runs: + stat_keys |= set((r.get("stats") or {}).keys()) + stats = {} + for k in stat_keys: + vals = [(r.get("stats") or {}).get(k) for r in runs] + vals = [v for v in vals if isinstance(v, (int, float))] + if vals: + stats[k] = statistics.mean(vals) + + out = { + "result": result, + "elapsed_ms": int(elapsed), + "timeout": timeout_any, + "stats": stats, + "n_repeats": len(runs), + } + objs = [r.get("objective") for r in runs if r.get("objective") is not None] + if objs: + out["objective"] = statistics.mean(objs) + return out + def _load_problem_index(): idx = {} @@ -211,14 +268,21 @@ def _fmt(b): return ",".join(str(x) for x in b) return str(b) if b is not None else "-" - print(f" workers={w}: parallel={n_parallel} blocks={[_fmt(b) for b in blocks]}", - flush=True) + repeats = _solve_repeats() + print(f" workers={w}: parallel={n_parallel} repeats={repeats} " + f"blocks={[_fmt(b) for b in blocks]}", flush=True) def _solve(task): i, meta, path = task block = pool.get() try: - res = run_cpsat(path, params, REBASELINE_TIMEOUT_S, cpu_core=block) + runs = [] + for _ in range(repeats): + rr = run_cpsat(path, params, REBASELINE_TIMEOUT_S, cpu_core=block) + runs.append(rr) + if "invalid_param" in rr: + break + res = _average_runs(runs) finally: pool.put(block) return i, meta, res, block diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py index 9abc934899..107b7aec98 100644 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ b/input/cpsat-bench/evolve/shared/evaluator.py @@ -39,6 +39,12 @@ TIMEOUT_FACTOR = 1.3 MIN_TIMEOUT_S = 5 +# small profile repeats each solve N times and averages (deterministic_time +# + wall + counters) to damp multi-worker run-to-run variance. large profile +# (single huge outlier) runs once — repeating a ~10 min solve 10× is wasteful. +# Override with OPENEVOLVE_SOLVE_REPEATS. +N_REPEATS_SMALL = 10 + _HERE = pathlib.Path(__file__).resolve().parent sys.path.insert(0, str(_HERE)) @@ -46,7 +52,7 @@ from score import score # noqa: E402 from cpsat_runner import run_cpsat # noqa: E402 from runtime import ( # noqa: E402 - parallel_solvers, cascade_threshold, core_range, alloc_core_blocks, + parallel_solvers, core_range, alloc_core_blocks, ) from openevolve.evaluation_result import EvaluationResult # noqa: E402 @@ -93,6 +99,9 @@ def _load_outlier_shas(): _PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") +# Raw per-problem results cache (small profile). {(program_path, stage): [recs]} +_SMALL_RESULTS_CACHE: dict = {} + _KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", "wall_time", "user_time", "deterministic_time") _DECISIVE = ("OPTIMAL", "FEASIBLE") @@ -105,6 +114,64 @@ def _load_program(path): return module +def _solve_repeats(): + """How many times to run each solve before averaging. small profile → 10 + (damps multi-worker variance), large → 1. OPENEVOLVE_SOLVE_REPEATS env + overrides.""" + env = os.environ.get("OPENEVOLVE_SOLVE_REPEATS") + if env: + try: + return max(1, int(env)) + except ValueError: + pass + return N_REPEATS_SMALL if _profile() == "small" else 1 + + +def _average_runs(runs): + """Collapse N run_cpsat dicts into one with mean elapsed_ms / stats / + objective. Repeated runs of the same params are near-identical except for + multi-worker timing jitter, so the mean is the stable estimate. A run that + surfaced invalid_param short-circuits (config error, not a timing sample). + result = modal label; timeout = any run timed out.""" + import collections + import statistics + + if not runs: + return {"result": "Unknown", "elapsed_ms": 0, "stats": {}} + for r in runs: + if "invalid_param" in r: + return r + if len(runs) == 1: + return runs[0] + + results = [r.get("result") for r in runs] + result = collections.Counter(results).most_common(1)[0][0] + elapsed = statistics.mean(r.get("elapsed_ms", 0) for r in runs) + timeout_any = any(r.get("timeout") for r in runs) + + stat_keys = set() + for r in runs: + stat_keys |= set((r.get("stats") or {}).keys()) + stats = {} + for k in stat_keys: + vals = [(r.get("stats") or {}).get(k) for r in runs] + vals = [v for v in vals if isinstance(v, (int, float))] + if vals: + stats[k] = statistics.mean(vals) + + out = { + "result": result, + "elapsed_ms": int(elapsed), + "timeout": timeout_any, + "stats": stats, + "n_repeats": len(runs), + } + objs = [r.get("objective") for r in runs if r.get("objective") is not None] + if objs: + out["objective"] = statistics.mean(objs) + return out + + def _pick_local_baseline(lo_entry, workers): """Select the right local baseline entry for `workers`. @@ -183,13 +250,6 @@ def _filter_stage2(problems): return [p for p in problems if p["sha"] in keep] -def _filter_stage3(problems): - if not _STAGE3_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE3_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - def _filter_stage4(problems): if not _STAGE4_SAMPLE.exists(): return problems @@ -360,6 +420,8 @@ def _evaluate(program_path, problems, stage_name): for _b in _blocks: _core_pool.put(_b) + repeats = _solve_repeats() + def _solve(idx_p): idx, p = idx_p input_path = _RAW_DIR / p["input_file"] @@ -388,21 +450,18 @@ def _solve(idx_p): ) core = _core_pool.get() try: - r = run_cpsat(input_path, per_params, timeout_s, - python_bin=_PYTHON_BIN, cpu_core=core) + runs = [] + for _ in range(repeats): + rr = run_cpsat(input_path, per_params, timeout_s, + python_bin=_PYTHON_BIN, cpu_core=core) + runs.append(rr) + if "invalid_param" in rr: + break # config error — no point repeating + r = _average_runs(runs) finally: _core_pool.put(core) return idx, p, r, core, timeout_s - def _is_regression(p, r): - # cost mode: baseline OPTIMAL → variant must reach OPTIMAL or FEASIBLE. - # bailing to UNKNOWN/INFEASIBLE/MODEL_INVALID on an OPTIMAL baseline = regression. - if "invalid_param" in r: - return False - if p["baseline_result"] not in _DECISIVE: - return False - return r.get("result") not in _DECISIVE - def _invalid_err(r): return _err_result( {"error": f"invalid param: {r['invalid_param']}"}, @@ -411,24 +470,6 @@ def _invalid_err(r): "suggestion": "Remove or fix this key in get_params()."}, ) - def _regression_err(p, r): - return _err_result( - {"error": f"result regression on {p['sha'][:10]}: " - f"baseline={p['baseline_result']} got={r.get('result')}"}, - { - "result_mismatch": { - "sha": p["sha"][:12], - "baseline_result": p["baseline_result"], - "got_result": r.get("result"), - "elapsed_ms": r.get("elapsed_ms"), - "timeout": bool(r.get("timeout")), - }, - "stage": stage_name, - "suggestion": "Variant lost feasibility on a problem baseline reached optimal. " - "Revert params that disable a needed subsolver or shorten search.", - }, - ) - def _fmt_core(c): if c is None: return "-" @@ -437,8 +478,14 @@ def _fmt_core(c): return str(c) print(f" [{stage_name}] workers/solve={workers_per_solve} " + f"repeats={repeats} " f"core_blocks={[_fmt_core(b) for b in _blocks]}", flush=True) + # Non-feasible variants are NO LONGER aborted/zeroed — the variant's real + # measured time (≈ timeout when it ran the full budget) flows into the + # score, so a regression is penalized by its true slowdown + solved_rate + # drop, not by a 1e-6 sentinel. Only invalid_param (a config error, not a + # timing sample) still aborts the whole evaluation. by_idx = {} abort = None if n_parallel == 1: @@ -449,10 +496,6 @@ def _fmt_core(c): f"(core={_fmt_core(core)})", flush=True) if "invalid_param" in r: return _invalid_err(r) - if _is_regression(p, r): - print(f" [{stage_name}] regression — aborting remaining " - f"{len(problems) - idx - 1}", flush=True) - return _regression_err(p, r) by_idx[idx] = (p, r) else: from concurrent.futures import ThreadPoolExecutor, as_completed @@ -468,10 +511,7 @@ def _fmt_core(c): f"(core={_fmt_core(core)})", flush=True) if "invalid_param" in r: abort = ("invalid", p, r) - elif _is_regression(p, r): - abort = ("regression", p, r) - if abort is not None: - print(f" [{stage_name}] {abort[0]} — cancelling pending " + print(f" [{stage_name}] invalid_param — cancelling pending " f"(in-flight workers will drain)", flush=True) for f in futures: f.cancel() @@ -479,7 +519,7 @@ def _fmt_core(c): by_idx[idx] = (p, r) if abort is not None: kind, p, r = abort - return _invalid_err(r) if kind == "invalid" else _regression_err(p, r) + return _invalid_err(r) results = [] for idx in range(len(problems)): @@ -495,6 +535,11 @@ def _fmt_core(c): rec["objective"] = r["objective"] results.append(rec) + # Cache raw per-problem results so the small cascade can merge stage1 + + # stage2 into one combined final score (see evaluate_stage3). Keyed by + # program_path + stage; overwritten each cascade so no stale leakage. + _SMALL_RESULTS_CACHE[(str(program_path), stage_name)] = results + metrics = score(results) metrics["stage"] = stage_name @@ -617,42 +662,53 @@ def evaluate_stage2(program_path): return _evaluate(program_path, _filter_stage2(_load_problems(w)), "stage2") +def _finalize_small(program_path): + """Small-profile final cascade slot. The cascade runs stage1 then stage2; + this merges their cached per-problem results into ONE combined score over + stage1 ∪ stage2. No stage3 (outliers live in the large profile) and no + stage4. Falls back to re-running a stage if its cache entry is absent.""" + key = str(program_path) + r1 = _SMALL_RESULTS_CACHE.get((key, "stage1")) + if r1 is None: + res = evaluate_stage1(program_path) + if not isinstance(res, EvaluationResult): + return res + r1 = _SMALL_RESULTS_CACHE.get((key, "stage1"), []) + r2 = _SMALL_RESULTS_CACHE.get((key, "stage2")) + if r2 is None: + res = evaluate_stage2(program_path) + if not isinstance(res, EvaluationResult): + return res + r2 = _SMALL_RESULTS_CACHE.get((key, "stage2"), []) + + combined = list(r1) + list(r2) + if not combined: + return _evaluate(program_path, [], "small_final") # empty pass-through + + metrics = score(combined) + metrics["stage"] = "small_final" + for k in _KEY_STATS: + metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in combined)) + artifacts = { + "stage": "small_final", + "summary": ( + f"combined stage1+stage2 ({len(combined)} problems) " + f"solved={metrics['solved']}/{metrics['total']} " + f"regressions={metrics['regressions']} " + f"geomean_dtime={metrics['geomean_speedup']:.3f} " + f"score={metrics['combined_score']:.3f}" + ), + } + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + def evaluate_stage3(program_path): if _profile() == "large": return _evaluate_large(program_path) - # openevolve cascade hardcodes 3 stages, so user-stage4 (broad runtime - # sample) is chained inside stage3 via the runtime cascade_threshold gate. - # - # Phase1/2 (W=1) policy: SKIP stage3 entirely. Stage3 holds outlier - # problems whose baseline is W=8-equivalent (raw-data was recorded with - # workers=8); running them at W=1 takes ≥10× longer with no signal — - # phase1/2 tune knobs that are irrelevant at W=1 anyway (subsolver mix, - # cuts). For W=1 phases, skip stage3 and go straight to stage4 as the - # final cascade step. - w = _peek_workers(program_path) - if w == 1: - problems4 = _filter_stage4(_load_problems(w)) - r4 = _evaluate(program_path, problems4, "stage4") - if isinstance(r4, EvaluationResult): - r4.artifacts["stage3_policy"] = ( - "skipped: phase has num_search_workers=1 — outlier stage3 " - "is W=8-only (see evaluator.evaluate_stage3 docstring)") - return r4 - - problems3 = _filter_stage3(_load_problems(w)) - r3 = _evaluate(program_path, problems3, "stage3") - if not isinstance(r3, EvaluationResult): - return r3 - gate = cascade_threshold(2, default=1.03) - if r3.metrics.get("combined_score", 0.0) < gate: - return r3 - problems4 = _filter_stage4(_load_problems(w)) - r4 = _evaluate(program_path, problems4, "stage4") - if not isinstance(r4, EvaluationResult): - return r4 - merged_metrics = {**r3.metrics, **r4.metrics} - merged_artifacts = {**r3.artifacts, **r4.artifacts} - return EvaluationResult(metrics=merged_metrics, artifacts=merged_artifacts) + # small profile: cascade is stage1 → stage2 only. This final slot merges + # cached stage1 + stage2 results into one combined score. stage3 (outliers) + # and stage4 (broad spread) are no longer part of the small cascade. + return _finalize_small(program_path) def evaluate_stage4(program_path): diff --git a/input/cpsat-bench/evolve/shared/score.py b/input/cpsat-bench/evolve/shared/score.py index 2041cc0e39..826aaa4881 100644 --- a/input/cpsat-bench/evolve/shared/score.py +++ b/input/cpsat-bench/evolve/shared/score.py @@ -154,8 +154,13 @@ def _score_cost(per_problem): ratios.append(time_r) wall_ratios.append(wall_r) else: - ratios.append(1e-6) - wall_ratios.append(1e-6) + # Non-decisive variant (UNKNOWN/INFEASIBLE on a decisive baseline). + # Use its REAL measured time_ratio instead of a 1e-6 sentinel — a + # variant that exhausted the timeout contributes its (slow) timeout + # ratio, not a fixed penalty. solved_rate (squared in combined) + # still drops, so a lost solve is penalized via that channel. + ratios.append(time_r) + wall_ratios.append(wall_r) regressions += 1 if not ratios: return 1.0, 1.0, 0.0, 0, 0, 0, 0, 0 diff --git a/input/cpsat-bench/problems.jsonl b/input/cpsat-bench/problems.jsonl index 37d873edf8..3d0f980fba 100644 --- a/input/cpsat-bench/problems.jsonl +++ b/input/cpsat-bench/problems.jsonl @@ -1,82 +1,855 @@ +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6896.45}, "cpsat_response_stats": {"num_booleans": 7248, "num_conflicts": 3843, "num_branches": 79884, "num_binary_propagations": 4096494, "num_integer_propagations": 1709363, "num_restarts": 36, "wall_time": 6.89489, "user_time": 6.89489, "deterministic_time": 15.5139}, "solution_info": "default_lp", "problem_sha256": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 46300, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15770, "bool_and": 10677}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16676.9, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6226, "num_integers": 1156, "num_fixed_booleans": 3242, "num_conflicts": 3916, "num_branches": 53955, "num_binary_propagations": 3958443, "num_integer_propagations": 1603411, "num_restarts": 31, "num_lp_iterations": 35910, "wall_time": 16.6685, "user_time": 16.6685, "deterministic_time": 13.2451, "gap_integral": 246.491, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "00a438e9a02d3895ebcf5e1eea77b3c1fba28d76ca73723c7befe71f327aae82", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "00a438e9a02d3895ebcf5e1eea77b3c1fba28d76ca73723c7befe71f327aae82.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21892, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7525, "bool_and": 5152}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5990.7, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 9875, "num_integers": 561, "num_fixed_booleans": 9349, "num_conflicts": 10712, "num_branches": 125224, "num_binary_propagations": 5329015, "num_integer_propagations": 1938574, "num_restarts": 43, "num_lp_iterations": 13971, "wall_time": 5.9834, "user_time": 5.9834, "deterministic_time": 7.42965, "gap_integral": 154.876, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 63224, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22432, "bool_and": 15413}, "objective_terms": 238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 34462, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8291, "num_integers": 1655, "num_fixed_booleans": 223, "num_conflicts": 11567, "num_branches": 90118, "num_binary_propagations": 9450729, "num_integer_propagations": 3042140, "num_restarts": 80, "num_lp_iterations": 110911, "wall_time": 34.4444, "user_time": 34.4444, "deterministic_time": 28.4192, "gap_integral": 612.144, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "0114ccef241fb15dac55b5044076da48fb0aae94ced62fb800c6cb80fdb4bece", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0114ccef241fb15dac55b5044076da48fb0aae94ced62fb800c6cb80fdb4bece.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28940}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1619.97}, "cpsat_response_stats": {"num_booleans": 8350, "num_conflicts": 6524, "num_branches": 31795, "num_binary_propagations": 2645824, "num_integer_propagations": 763975, "num_restarts": 15, "wall_time": 1.61877, "user_time": 1.61877, "deterministic_time": 3.34384}, "solution_info": "quick_restart", "problem_sha256": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "018944a5119d79b5bdb7d0f820725cb3e77a31d5a38971d95a209aada532a096.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 63224, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22432, "bool_and": 15413}, "objective_terms": 238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 62558.7, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8155, "num_integers": 1655, "num_fixed_booleans": 289, "num_conflicts": 15713, "num_branches": 102256, "num_binary_propagations": 12398222, "num_integer_propagations": 3789306, "num_restarts": 87, "num_lp_iterations": 158907, "wall_time": 62.5414, "user_time": 62.5414, "deterministic_time": 43.3051, "gap_integral": 862.268, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=8.76e-01 s=86 t=0.10 p=1.00 stall=3 h=base) [hint]", "problem_sha256": "01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2818.52}, "cpsat_response_stats": {"num_booleans": 1727, "num_integers": 459, "num_fixed_booleans": 48, "num_conflicts": 466, "num_branches": 10294, "num_binary_propagations": 525933, "num_integer_propagations": 262064, "num_restarts": 3, "num_lp_iterations": 2899, "wall_time": 2.80801, "user_time": 2.80801, "deterministic_time": 1.87483, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.82415, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000256271, "user_time": 0.000256311, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6789.17}, "cpsat_response_stats": {"num_booleans": 2230, "num_integers": 459, "num_fixed_booleans": 234, "num_conflicts": 1324, "num_branches": 12679, "num_binary_propagations": 779970, "num_integer_propagations": 361599, "num_restarts": 0, "num_lp_iterations": 4528, "wall_time": 6.78022, "user_time": 6.78022, "deterministic_time": 4.06783, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11121}, "cpsat_response_stats": {"num_booleans": 3890, "num_integers": 3459, "num_fixed_booleans": 1446, "num_conflicts": 1185, "num_branches": 21776, "num_binary_propagations": 1899290, "num_integer_propagations": 2033121, "num_restarts": 23, "num_lp_iterations": 21838, "wall_time": 11.1146, "user_time": 11.1146, "deterministic_time": 4.07521, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4582.35}, "cpsat_response_stats": {"num_booleans": 1651, "num_integers": 1564, "num_fixed_booleans": 189, "num_conflicts": 707, "num_branches": 25905, "num_binary_propagations": 1504813, "num_integer_propagations": 1789256, "num_restarts": 23, "num_lp_iterations": 19825, "wall_time": 4.57099, "user_time": 4.57099, "deterministic_time": 3.89028, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 48002, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 16146, "bool_and": 10811}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12602.6, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 6865, "num_integers": 1077, "num_fixed_booleans": 872, "num_conflicts": 4517, "num_branches": 55859, "num_binary_propagations": 3707104, "num_integer_propagations": 1644071, "num_restarts": 28, "num_lp_iterations": 37646, "wall_time": 12.5776, "user_time": 12.5776, "deterministic_time": 10.6474, "gap_integral": 224.945, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "03012de510cde9db5046196d7b447fa299e3cfd3ba2cb2c12404376edc1f241a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "03012de510cde9db5046196d7b447fa299e3cfd3ba2cb2c12404376edc1f241a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44889}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3153.47}, "cpsat_response_stats": {"num_booleans": 5751, "num_conflicts": 2310, "num_branches": 45318, "num_binary_propagations": 3184762, "num_integer_propagations": 1315336, "num_restarts": 18, "wall_time": 3.15121, "user_time": 3.15121, "deterministic_time": 6.42205}, "solution_info": "default_lp", "problem_sha256": "0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0324fb5c1ded91eeb6343304c5b7ec103f1475463de93455f7e05db48fc927e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 25969, "constraint_breakdown": {"at_most_one": 132, "linear": 10033, "bool_or": 9259, "bool_and": 6545}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4071.48}, "cpsat_response_stats": {"num_booleans": 12567, "num_integers": 608, "num_fixed_booleans": 617, "num_conflicts": 10692, "num_branches": 110220, "num_binary_propagations": 7594700, "num_integer_propagations": 1122186, "num_restarts": 11, "num_lp_iterations": 14324, "wall_time": 4.06633, "user_time": 4.06633, "deterministic_time": 5.38499, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "03290f094ddaee42319d3fce34ebe0773ab0c7b9178d512c34a7a674fa6df88b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1938, "num_int": 798, "num_constraints": 30419, "constraint_breakdown": {"at_most_one": 135, "linear": 12847, "bool_or": 10433, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1757.49}, "cpsat_response_stats": {"num_booleans": 2436, "num_integers": 595, "num_fixed_booleans": 180, "num_conflicts": 752, "num_branches": 13177, "num_binary_propagations": 987148, "num_integer_propagations": 426363, "num_restarts": 3, "num_lp_iterations": 1088, "wall_time": 1.75482, "user_time": 1.75482, "deterministic_time": 1.81954, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "053c5aa97705ce165e112c926e29a13534fbff557d9b76ed1a39c7e200ca3dbe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3432.26}, "cpsat_response_stats": {"num_booleans": 2747, "num_integers": 612, "num_fixed_booleans": 181, "num_conflicts": 719, "num_branches": 18056, "num_binary_propagations": 875543, "num_integer_propagations": 428219, "num_restarts": 6, "num_lp_iterations": 1660, "wall_time": 3.41793, "user_time": 3.41793, "deterministic_time": 3.00165, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.06998, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000249487, "user_time": 0.000249531, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7360.7}, "cpsat_response_stats": {"num_booleans": 3921, "num_integers": 612, "num_fixed_booleans": 604, "num_conflicts": 3420, "num_branches": 26322, "num_binary_propagations": 1919028, "num_integer_propagations": 751025, "num_restarts": 0, "num_lp_iterations": 15874, "wall_time": 7.34516, "user_time": 7.34516, "deterministic_time": 4.61384, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16568.8}, "cpsat_response_stats": {"num_booleans": 4955, "num_integers": 4424, "num_fixed_booleans": 1304, "num_conflicts": 1195, "num_branches": 19977, "num_binary_propagations": 1582927, "num_integer_propagations": 1638946, "num_restarts": 31, "num_lp_iterations": 24601, "wall_time": 16.5573, "user_time": 16.5573, "deterministic_time": 4.67892, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30380, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10406, "bool_and": 7037}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7370.01}, "cpsat_response_stats": {"num_booleans": 2557, "num_integers": 2405, "num_fixed_booleans": 96, "num_conflicts": 818, "num_branches": 30347, "num_binary_propagations": 1569969, "num_integer_propagations": 2077754, "num_restarts": 30, "num_lp_iterations": 21876, "wall_time": 7.36018, "user_time": 7.36018, "deterministic_time": 4.86451, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "064e7f90eab7005c302ae3626c590ea2ea39dbf29fbfe2e34ce291c2df2ce620.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20663, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7216, "bool_and": 4967}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4041.21, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500204}, "cpsat_response_stats": {"num_booleans": 1495, "num_integers": 406, "num_fixed_booleans": 909, "num_conflicts": 480, "num_branches": 8169, "num_binary_propagations": 407115, "num_integer_propagations": 216335, "num_restarts": 5, "num_lp_iterations": 784, "wall_time": 4.03355, "user_time": 4.03355, "deterministic_time": 2.09488, "gap_integral": 41.6539, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "06b08825173bc966570e184979982304ea8d33a41ce5d64b8c62eaac29c7cd1e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "06b08825173bc966570e184979982304ea8d33a41ce5d64b8c62eaac29c7cd1e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 36071, "constraint_breakdown": {"at_most_one": 160, "linear": 15128, "bool_or": 12416, "bool_and": 8367}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5832.93}, "cpsat_response_stats": {"num_booleans": 8266, "num_integers": 809, "num_fixed_booleans": 87, "num_conflicts": 6222, "num_branches": 47499, "num_binary_propagations": 5594544, "num_integer_propagations": 1780300, "num_restarts": 17, "num_lp_iterations": 66900, "wall_time": 5.81353, "user_time": 5.81353, "deterministic_time": 5.09695, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "06fbcfd06f4072d8d6f383d95876de2effc910f204c4919171cc0133cc4c61b9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 651.086}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.650087, "user_time": 0.650087, "deterministic_time": 0.978946}, "solution_info": "fs_random_no_lp", "problem_sha256": "072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "072937c5444c0281a85dd5a43662dc4191d5103b014c7ff6a20acb50e48d8db2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233100}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1496560.0}, "cpsat_response_stats": {"num_booleans": 42651, "num_conflicts": 531653, "num_branches": 2141669, "num_binary_propagations": 773533294, "num_integer_propagations": 191884649, "num_restarts": 2587, "wall_time": 1496.55, "user_time": 1496.55, "deterministic_time": 5148.16}, "solution_info": "no_lp", "problem_sha256": "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "073ef8ba3455034f551b19285f0e25708263e1fbe2bbb1bbcdeb5bc650889151.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 28808, "constraint_breakdown": {"at_most_one": 134, "linear": 11903, "bool_or": 9974, "bool_and": 6797}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2408.23}, "cpsat_response_stats": {"num_booleans": 2719, "num_integers": 605, "num_fixed_booleans": 75, "num_conflicts": 806, "num_branches": 17531, "num_binary_propagations": 909181, "num_integer_propagations": 679402, "num_restarts": 6, "num_lp_iterations": 3471, "wall_time": 2.40006, "user_time": 2.40006, "deterministic_time": 1.88466, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "07455570bdf201ce07c60133a216975122a176ca884afa8c1807cb3f4dbdf806.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11130, "num_bool": 8496, "num_int": 2634, "num_constraints": 126364, "constraint_breakdown": {"at_most_one": 432, "linear": 56647, "bool_or": 42016, "bool_and": 27269}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 76005.7}, "cpsat_response_stats": {"num_booleans": 16576, "num_integers": 2651, "num_fixed_booleans": 495, "num_conflicts": 21705, "num_branches": 179333, "num_binary_propagations": 23578327, "num_integer_propagations": 7572508, "num_restarts": 113, "num_lp_iterations": 501473, "wall_time": 75.9787, "user_time": 75.9787, "deterministic_time": 96.2732, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 89169, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30480, "bool_and": 20153}, "objective_terms": 287}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 59835.3, "objective_value": 956250000.0, "best_objective_bound": 956250000.0, "inner_objective_lower_bound": 956250255}, "cpsat_response_stats": {"num_booleans": 12014, "num_integers": 2212, "num_fixed_booleans": 269, "num_conflicts": 10943, "num_branches": 101236, "num_binary_propagations": 12396880, "num_integer_propagations": 3815581, "num_restarts": 91, "num_lp_iterations": 145398, "wall_time": 59.7702, "user_time": 59.7702, "deterministic_time": 46.0915, "gap_integral": 989.452, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_var_lns (d=8.76e-01 s=76 t=0.10 p=1.00 stall=3 h=base)", "problem_sha256": "079937773cba535777985106b2d07c563265fb815d36abdf852940f4585fcf5b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "079937773cba535777985106b2d07c563265fb815d36abdf852940f4585fcf5b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190773}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 686113}, "cpsat_response_stats": {"num_booleans": 27870, "num_conflicts": 210392, "num_branches": 952603, "num_binary_propagations": 271814160, "num_integer_propagations": 67147700, "num_restarts": 801, "wall_time": 686.1, "user_time": 686.1, "deterministic_time": 1489.62}, "solution_info": "no_lp", "problem_sha256": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "083beb025bc59908b1bdace2fac047f8f204cdb3fc4f947c0af0327a928abdcf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19431.4}, "cpsat_response_stats": {"num_booleans": 8196, "num_integers": 1518, "num_fixed_booleans": 231, "num_conflicts": 18082, "num_branches": 110936, "num_binary_propagations": 11280933, "num_integer_propagations": 3570767, "num_restarts": 104, "num_lp_iterations": 161443, "wall_time": 19.4175, "user_time": 19.4175, "deterministic_time": 28.5748, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.14899, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00026129, "user_time": 0.000261336, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 47780.1}, "cpsat_response_stats": {"num_booleans": 8144, "num_integers": 1518, "num_fixed_booleans": 213, "num_conflicts": 12094, "num_branches": 92573, "num_binary_propagations": 8778250, "num_integer_propagations": 2845206, "num_restarts": 0, "num_lp_iterations": 123384, "wall_time": 47.7646, "user_time": 47.7646, "deterministic_time": 32.6083, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 40468.4}, "cpsat_response_stats": {"num_booleans": 12859, "num_integers": 11522, "num_fixed_booleans": 2637, "num_conflicts": 2604, "num_branches": 67996, "num_binary_propagations": 5508658, "num_integer_propagations": 5884100, "num_restarts": 68, "num_lp_iterations": 58656, "wall_time": 40.4531, "user_time": 40.4531, "deterministic_time": 20.8493, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 40217.9}, "cpsat_response_stats": {"num_booleans": 7944, "num_integers": 7414, "num_fixed_booleans": 244, "num_conflicts": 1718, "num_branches": 74620, "num_binary_propagations": 4172304, "num_integer_propagations": 5976072, "num_restarts": 77, "num_lp_iterations": 58598, "wall_time": 40.1756, "user_time": 40.1756, "deterministic_time": 22.594, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "0976039f182f3d2a82c23ebc237b080434e5f24b43329696d42000dc1865231e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2863.91}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 2.86213, "user_time": 2.86213, "deterministic_time": 5.14864}, "solution_info": "fs_random", "problem_sha256": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "09b3336890b5addd1fa433349acab7d0176679c2f186defa993924904829995b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 791.232}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.790182, "user_time": 0.790182, "deterministic_time": 1.17229}, "solution_info": "default_lp", "problem_sha256": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0a450b93bbd0545e214c9a793193351e259a1e32771d669a198d0fba1efb72cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 49739, "constraint_breakdown": {"at_most_one": 244, "linear": 19145, "bool_or": 17709, "bool_and": 12641}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11540.4}, "cpsat_response_stats": {"num_booleans": 7062, "num_integers": 1315, "num_fixed_booleans": 185, "num_conflicts": 3451, "num_branches": 61663, "num_binary_propagations": 2813582, "num_integer_propagations": 1217187, "num_restarts": 33, "num_lp_iterations": 40536, "wall_time": 11.5217, "user_time": 11.5217, "deterministic_time": 14.9515, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0a65b64b80dcebb76c352dc449f577b4714d5ecc4a7ab1636d9e5af952bea067.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44084}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3376.2}, "cpsat_response_stats": {"num_booleans": 5401, "num_conflicts": 1006, "num_branches": 39304, "num_binary_propagations": 2518627, "num_integer_propagations": 1057719, "num_restarts": 6, "wall_time": 3.37445, "user_time": 3.37445, "deterministic_time": 6.19883}, "solution_info": "fs_random_no_lp", "problem_sha256": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0aacd1b2a9a7a61f87d99ef0728de2625def376d3645fe070371a3420c7a589a.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47669, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 16201, "bool_and": 10866}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18896.7, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 10322, "num_integers": 1125, "num_fixed_booleans": 2475, "num_conflicts": 10410, "num_branches": 71086, "num_binary_propagations": 9196934, "num_integer_propagations": 2365971, "num_restarts": 26, "num_lp_iterations": 78864, "wall_time": 18.8873, "user_time": 18.8873, "deterministic_time": 20.2757, "gap_integral": 257.282, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_dec_lns (d=5.00e-01 s=33 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "0b1eb462e501c127119ebaed5477068246bb55d5ff64a25323863488d0b780c3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0b1eb462e501c127119ebaed5477068246bb55d5ff64a25323863488d0b780c3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 59452, "constraint_breakdown": {"at_most_one": 272, "linear": 23341, "bool_or": 21239, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21570}, "cpsat_response_stats": {"num_booleans": 11039, "num_integers": 1504, "num_fixed_booleans": 252, "num_conflicts": 20491, "num_branches": 154670, "num_binary_propagations": 12593386, "num_integer_propagations": 3617678, "num_restarts": 90, "num_lp_iterations": 154840, "wall_time": 21.5461, "user_time": 21.5461, "deterministic_time": 39.738, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0b5a5d8fe6093b3e6c45425af340542f2a3bd34542ee682b454a49b4aa67705c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40623, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14316, "bool_and": 10085}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9935.37, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 5077, "num_integers": 1055, "num_fixed_booleans": 2708, "num_conflicts": 887, "num_branches": 35323, "num_binary_propagations": 1684377, "num_integer_propagations": 777576, "num_restarts": 7, "num_lp_iterations": 5603, "wall_time": 9.92413, "user_time": 9.92413, "deterministic_time": 7.60412, "gap_integral": 159.034, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0b67bf459c1faa274487feb34ff95759660b3032c8a8e8a27b6212252c1b0728", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0b67bf459c1faa274487feb34ff95759660b3032c8a8e8a27b6212252c1b0728.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15283.6}, "cpsat_response_stats": {"num_booleans": 8160, "num_integers": 1518, "num_fixed_booleans": 226, "num_conflicts": 11744, "num_branches": 95041, "num_binary_propagations": 7939396, "num_integer_propagations": 2897633, "num_restarts": 83, "num_lp_iterations": 117062, "wall_time": 15.2729, "user_time": 15.2729, "deterministic_time": 21.2578, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.86965, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000235843, "user_time": 0.000235867, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 62946.4}, "cpsat_response_stats": {"num_booleans": 8233, "num_integers": 1518, "num_fixed_booleans": 242, "num_conflicts": 15222, "num_branches": 108498, "num_binary_propagations": 10518637, "num_integer_propagations": 3335164, "num_restarts": 0, "num_lp_iterations": 160226, "wall_time": 62.9282, "user_time": 62.9282, "deterministic_time": 44.6711, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 39787.6}, "cpsat_response_stats": {"num_booleans": 12880, "num_integers": 11554, "num_fixed_booleans": 2674, "num_conflicts": 2537, "num_branches": 67565, "num_binary_propagations": 5468066, "num_integer_propagations": 5850967, "num_restarts": 65, "num_lp_iterations": 56815, "wall_time": 39.7666, "user_time": 39.7666, "deterministic_time": 21.3319, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 62598, "constraint_breakdown": {"at_most_one": 272, "linear": 25107, "bool_or": 22119, "bool_and": 15100}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 47666.3}, "cpsat_response_stats": {"num_booleans": 8027, "num_integers": 7410, "num_fixed_booleans": 306, "num_conflicts": 2449, "num_branches": 83540, "num_binary_propagations": 4847526, "num_integer_propagations": 6757353, "num_restarts": 150, "num_lp_iterations": 117586, "wall_time": 47.6517, "user_time": 47.6517, "deterministic_time": 36.6839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "0bee8fdc0a4660e484baf6cff49eabb8f4a2c3168c967946e6db71687d0511bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3163.12}, "cpsat_response_stats": {"num_booleans": 2931, "num_integers": 643, "num_fixed_booleans": 71, "num_conflicts": 332, "num_branches": 15805, "num_binary_propagations": 642350, "num_integer_propagations": 304238, "num_restarts": 1, "num_lp_iterations": 409, "wall_time": 3.15026, "user_time": 3.15026, "deterministic_time": 2.86989, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.86371, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00020645, "user_time": 0.000206487, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9238.64}, "cpsat_response_stats": {"num_booleans": 3668, "num_integers": 643, "num_fixed_booleans": 404, "num_conflicts": 3242, "num_branches": 33326, "num_binary_propagations": 1607140, "num_integer_propagations": 723311, "num_restarts": 0, "num_lp_iterations": 20445, "wall_time": 9.23122, "user_time": 9.23122, "deterministic_time": 5.44025, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9251.37}, "cpsat_response_stats": {"num_booleans": 5507, "num_integers": 4705, "num_fixed_booleans": 1356, "num_conflicts": 1020, "num_branches": 20675, "num_binary_propagations": 1392192, "num_integer_propagations": 1645100, "num_restarts": 24, "num_lp_iterations": 25636, "wall_time": 9.2451, "user_time": 9.2451, "deterministic_time": 4.60443, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28441, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 9929, "bool_and": 6913}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7245.9}, "cpsat_response_stats": {"num_booleans": 2854, "num_integers": 2525, "num_fixed_booleans": 86, "num_conflicts": 570, "num_branches": 36398, "num_binary_propagations": 1507197, "num_integer_propagations": 2034956, "num_restarts": 21, "num_lp_iterations": 22308, "wall_time": 7.23999, "user_time": 7.23999, "deterministic_time": 5.62218, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "0c68f43a998e91f6c74281e46e857667f366541be2284fd71fc4c1ffd82996a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38578}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3179.9}, "cpsat_response_stats": {"num_booleans": 4916, "num_conflicts": 592, "num_branches": 29758, "num_binary_propagations": 1578412, "num_integer_propagations": 621035, "num_restarts": 3, "wall_time": 3.17831, "user_time": 3.17831, "deterministic_time": 5.42069}, "solution_info": "quick_restart_no_lp", "problem_sha256": "0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0ccee639439a7f01de07d3403b825b7544b7f26135afdff0360ce08772e3dcff.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 58973, "constraint_breakdown": {"at_most_one": 248, "linear": 24942, "bool_or": 20080, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8478.85}, "cpsat_response_stats": {"num_booleans": 7117, "num_integers": 1349, "num_fixed_booleans": 132, "num_conflicts": 1828, "num_branches": 60444, "num_binary_propagations": 3510582, "num_integer_propagations": 1538526, "num_restarts": 15, "num_lp_iterations": 21820, "wall_time": 8.46657, "user_time": 8.46657, "deterministic_time": 8.28154, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0cf8551fd210cf5de103cc4a8d940381b56720edb72d5d99de9b58aa2f2569ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1979, "num_bool": 1377, "num_int": 602, "num_constraints": 21981, "constraint_breakdown": {"at_most_one": 104, "linear": 9343, "bool_or": 7511, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1793.37}, "cpsat_response_stats": {"num_booleans": 1593, "num_integers": 453, "num_fixed_booleans": 121, "num_conflicts": 421, "num_branches": 9067, "num_binary_propagations": 586905, "num_integer_propagations": 292198, "num_restarts": 1, "num_lp_iterations": 190, "wall_time": 1.78942, "user_time": 1.78942, "deterministic_time": 1.30256, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "0f76b306846b01e1e74c68b600f2ba9fe1e5d46af433f651fa2f0ce318f7727f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3133.96}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.13191, "user_time": 3.13191, "deterministic_time": 6.06757}, "solution_info": "no_lp", "problem_sha256": "0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "0f9d15a24c955761f758c013de78aff07607ff19742191782f36b8c2fae2168d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5920.07}, "cpsat_response_stats": {"num_booleans": 5441, "num_integers": 1044, "num_fixed_booleans": 102, "num_conflicts": 1675, "num_branches": 41046, "num_binary_propagations": 2579043, "num_integer_propagations": 1139512, "num_restarts": 12, "num_lp_iterations": 13190, "wall_time": 5.91196, "user_time": 5.91196, "deterministic_time": 5.62571, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.21695, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000254214, "user_time": 0.000254242, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14106.5}, "cpsat_response_stats": {"num_booleans": 6657, "num_integers": 1044, "num_fixed_booleans": 814, "num_conflicts": 4882, "num_branches": 48913, "num_binary_propagations": 4242957, "num_integer_propagations": 1650649, "num_restarts": 0, "num_lp_iterations": 42104, "wall_time": 14.0867, "user_time": 14.0867, "deterministic_time": 10.011, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12542.1}, "cpsat_response_stats": {"num_booleans": 8378, "num_integers": 7423, "num_fixed_booleans": 1747, "num_conflicts": 1621, "num_branches": 40870, "num_binary_propagations": 3383457, "num_integer_propagations": 3583259, "num_restarts": 21, "num_lp_iterations": 16419, "wall_time": 12.5313, "user_time": 12.5313, "deterministic_time": 6.73896, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11304.8}, "cpsat_response_stats": {"num_booleans": 5057, "num_integers": 4646, "num_fixed_booleans": 114, "num_conflicts": 908, "num_branches": 45298, "num_binary_propagations": 2571904, "num_integer_propagations": 3893366, "num_restarts": 22, "num_lp_iterations": 18120, "wall_time": 11.2945, "user_time": 11.2945, "deterministic_time": 7.74486, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "101813dbc2cd82c9225e1d67ae8811a9df8e03a45923d78f1d21c83cb40e3dfa.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 62229, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 21104, "bool_and": 14398}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28273, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 10910, "num_integers": 1539, "num_fixed_booleans": 168, "num_conflicts": 6970, "num_branches": 70239, "num_binary_propagations": 5827676, "num_integer_propagations": 3037324, "num_restarts": 35, "num_lp_iterations": 101981, "wall_time": 28.2568, "user_time": 28.2568, "deterministic_time": 22.0618, "gap_integral": 457.746, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "10211eedd813db0025927acaefc67fd413b2d8c2fb60009f35bb49cfc57584e7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "10211eedd813db0025927acaefc67fd413b2d8c2fb60009f35bb49cfc57584e7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3212.64}, "cpsat_response_stats": {"num_booleans": 3481, "num_integers": 602, "num_fixed_booleans": 522, "num_conflicts": 1944, "num_branches": 23123, "num_binary_propagations": 1420607, "num_integer_propagations": 648288, "num_restarts": 12, "num_lp_iterations": 6399, "wall_time": 3.20744, "user_time": 3.20744, "deterministic_time": 3.16658, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.05937, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000269429, "user_time": 0.000269473, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15902.4}, "cpsat_response_stats": {"num_booleans": 10393, "num_integers": 602, "num_fixed_booleans": 6165, "num_conflicts": 9558, "num_branches": 27944, "num_binary_propagations": 4116844, "num_integer_propagations": 1487982, "num_restarts": 0, "num_lp_iterations": 12117, "wall_time": 15.8813, "user_time": 15.8813, "deterministic_time": 5.79848, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7445.77}, "cpsat_response_stats": {"num_booleans": 4801, "num_integers": 4257, "num_fixed_booleans": 1326, "num_conflicts": 1346, "num_branches": 19184, "num_binary_propagations": 1780702, "num_integer_propagations": 1811814, "num_restarts": 28, "num_lp_iterations": 22052, "wall_time": 7.43897, "user_time": 7.43897, "deterministic_time": 4.82011, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32083, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10768, "bool_and": 7211}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7332.39}, "cpsat_response_stats": {"num_booleans": 2417, "num_integers": 2285, "num_fixed_booleans": 362, "num_conflicts": 1068, "num_branches": 25217, "num_binary_propagations": 1516046, "num_integer_propagations": 1766765, "num_restarts": 40, "num_lp_iterations": 25646, "wall_time": 7.32452, "user_time": 7.32452, "deterministic_time": 4.79636, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "11aca2d6d83b06bda52d2422b0e2b6b838e96a546f38dc6ebc30ac2e06d5a4e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20139, "constraint_breakdown": {"at_most_one": 102, "linear": 8055, "bool_or": 7086, "bool_and": 4896}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 956.451}, "cpsat_response_stats": {"num_booleans": 2166, "num_integers": 464, "num_fixed_booleans": 54, "num_conflicts": 688, "num_branches": 11031, "num_binary_propagations": 465277, "num_integer_propagations": 224108, "num_restarts": 3, "num_lp_iterations": 482, "wall_time": 0.955391, "user_time": 0.955391, "deterministic_time": 0.823945, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "126d36a0c356addecc5d63023bcb7bc80dea30317e5aba3571793a5c61ebaf9c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51623}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4031.48}, "cpsat_response_stats": {"num_booleans": 6866, "num_conflicts": 1735, "num_branches": 58712, "num_binary_propagations": 3011929, "num_integer_propagations": 1300720, "num_restarts": 18, "wall_time": 4.02854, "user_time": 4.02854, "deterministic_time": 8.22221}, "solution_info": "default_lp", "problem_sha256": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "12e68b0b5089d173f44977d0bc3a9a85c4639b3691b74fce9d76d473e3231d38.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 60360, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20676, "bool_and": 14061}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 27032.2, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 7905, "num_integers": 1499, "num_fixed_booleans": 1821, "num_conflicts": 6180, "num_branches": 83848, "num_binary_propagations": 6960554, "num_integer_propagations": 2582532, "num_restarts": 58, "num_lp_iterations": 69677, "wall_time": 27.0169, "user_time": 27.0169, "deterministic_time": 20.6581, "gap_integral": 444.378, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1371ca0e9b6120f558b2f5e1b9c3f335092dda51b0754c072c5033e3f25cc3d5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1371ca0e9b6120f558b2f5e1b9c3f335092dda51b0754c072c5033e3f25cc3d5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8340.34}, "cpsat_response_stats": {"num_booleans": 9405, "num_integers": 1669, "num_fixed_booleans": 179, "num_conflicts": 2182, "num_branches": 67141, "num_binary_propagations": 3574228, "num_integer_propagations": 1430787, "num_restarts": 23, "num_lp_iterations": 21380, "wall_time": 8.30876, "user_time": 8.30876, "deterministic_time": 7.58171, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 3.03519, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000356785, "user_time": 0.000356843, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 68016.2}, "cpsat_response_stats": {"num_booleans": 10659, "num_integers": 1669, "num_fixed_booleans": 279, "num_conflicts": 10437, "num_branches": 138350, "num_binary_propagations": 7707503, "num_integer_propagations": 3167152, "num_restarts": 0, "num_lp_iterations": 142355, "wall_time": 67.9935, "user_time": 67.9935, "deterministic_time": 43.9378, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 48277.6}, "cpsat_response_stats": {"num_booleans": 14309, "num_integers": 12368, "num_fixed_booleans": 2701, "num_conflicts": 2573, "num_branches": 73779, "num_binary_propagations": 5482500, "num_integer_propagations": 5740320, "num_restarts": 71, "num_lp_iterations": 77159, "wall_time": 48.2577, "user_time": 48.2577, "deterministic_time": 28.5832, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67205, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23495, "bool_and": 16445}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 54288.1}, "cpsat_response_stats": {"num_booleans": 9271, "num_integers": 8053, "num_fixed_booleans": 331, "num_conflicts": 2125, "num_branches": 90521, "num_binary_propagations": 4867002, "num_integer_propagations": 6824101, "num_restarts": 131, "num_lp_iterations": 143815, "wall_time": 54.2568, "user_time": 54.2568, "deterministic_time": 51.4397, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "146c661d0892f93dc45fe43d3bdf5e9dac1b905efe3b42cd4d7e009969203e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3673, "num_int": 1637, "num_constraints": 59718, "constraint_breakdown": {"at_most_one": 272, "linear": 23478, "bool_or": 21368, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11915}, "cpsat_response_stats": {"num_booleans": 8095, "num_integers": 1471, "num_fixed_booleans": 439, "num_conflicts": 9685, "num_branches": 111280, "num_binary_propagations": 9147090, "num_integer_propagations": 2667994, "num_restarts": 42, "num_lp_iterations": 79742, "wall_time": 11.9049, "user_time": 11.9049, "deterministic_time": 22.8773, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "14e56e8a3ffccdd8d7dee84a4b0c7beff6e12fcc60194b80f09f4f7d76cada03.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4358.96}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.35558, "user_time": 4.35558, "deterministic_time": 8.16986}, "solution_info": "default_lp", "problem_sha256": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "14ea5ccece18b8bffb5947b963c7d0f9e5a2f1c56d1ccd70e1493be39380ba78.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 38145, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 13077, "bool_and": 8822}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12309.8, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 5124, "num_integers": 894, "num_fixed_booleans": 3476, "num_conflicts": 3770, "num_branches": 37650, "num_binary_propagations": 2869698, "num_integer_propagations": 1256072, "num_restarts": 35, "num_lp_iterations": 20774, "wall_time": 12.2975, "user_time": 12.2975, "deterministic_time": 10.5399, "gap_integral": 223.063, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "1509ac1acb85d66d0da78b5490196654e1f8b82a4cabf3f550511bcb6681d1ca", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1509ac1acb85d66d0da78b5490196654e1f8b82a4cabf3f550511bcb6681d1ca.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7334.94}, "cpsat_response_stats": {"num_booleans": 6745, "num_integers": 1368, "num_fixed_booleans": 201, "num_conflicts": 1881, "num_branches": 53873, "num_binary_propagations": 3462648, "num_integer_propagations": 1510233, "num_restarts": 15, "num_lp_iterations": 20061, "wall_time": 7.32372, "user_time": 7.32372, "deterministic_time": 7.7169, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.12064, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000251948, "user_time": 0.000251993, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19102.1}, "cpsat_response_stats": {"num_booleans": 6854, "num_integers": 1368, "num_fixed_booleans": 238, "num_conflicts": 2714, "num_branches": 49155, "num_binary_propagations": 3745411, "num_integer_propagations": 1573300, "num_restarts": 0, "num_lp_iterations": 32402, "wall_time": 19.087, "user_time": 19.087, "deterministic_time": 11.4714, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22861.2}, "cpsat_response_stats": {"num_booleans": 11075, "num_integers": 9881, "num_fixed_booleans": 3051, "num_conflicts": 2573, "num_branches": 55325, "num_binary_propagations": 4981676, "num_integer_propagations": 5216860, "num_restarts": 56, "num_lp_iterations": 39053, "wall_time": 22.8447, "user_time": 22.8447, "deterministic_time": 13.4268, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 20208.5}, "cpsat_response_stats": {"num_booleans": 6576, "num_integers": 6133, "num_fixed_booleans": 790, "num_conflicts": 1685, "num_branches": 60521, "num_binary_propagations": 3843268, "num_integer_propagations": 5141477, "num_restarts": 65, "num_lp_iterations": 43890, "wall_time": 20.1821, "user_time": 20.1821, "deterministic_time": 13.7241, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "168f8a25314745f152b4c4d27441a8a1d4c98e6b6fef5fe601d482eab77bafd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 639.354}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.638422, "user_time": 0.638422, "deterministic_time": 0.780845}, "solution_info": "quick_restart", "problem_sha256": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "16ddfc872fb328839f72f9bd7d6d59da1d99fd679081747c6254398c487fb1dc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3673, "num_int": 1637, "num_constraints": 59718, "constraint_breakdown": {"at_most_one": 272, "linear": 23478, "bool_or": 21368, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9272.03}, "cpsat_response_stats": {"num_booleans": 7774, "num_integers": 1471, "num_fixed_booleans": 211, "num_conflicts": 7031, "num_branches": 70527, "num_binary_propagations": 6676084, "num_integer_propagations": 2258527, "num_restarts": 53, "num_lp_iterations": 64838, "wall_time": 9.26111, "user_time": 9.26111, "deterministic_time": 16.1077, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "184cec13061b02fc944b3ee3d77582c469339ff6a52e0dc4a832626fd13442fd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 58767, "constraint_breakdown": {"at_most_one": 268, "linear": 22846, "bool_or": 21176, "bool_and": 14477}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5989.49}, "cpsat_response_stats": {"num_booleans": 7782, "num_integers": 1464, "num_fixed_booleans": 161, "num_conflicts": 2626, "num_branches": 63032, "num_binary_propagations": 4132197, "num_integer_propagations": 1570857, "num_restarts": 27, "num_lp_iterations": 20588, "wall_time": 5.97863, "user_time": 5.97863, "deterministic_time": 8.33573, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "19248a80fe2178fd62092756a8cc72ade4d6558a05e6b272bc0f5a48812762ed.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13884}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 579.064}, "cpsat_response_stats": {"num_booleans": 963, "num_conflicts": 305, "num_branches": 4852, "num_binary_propagations": 160496, "num_integer_propagations": 89574, "num_restarts": 3, "wall_time": 0.578214, "user_time": 0.578215, "deterministic_time": 0.491991}, "solution_info": "fs_random_no_lp", "problem_sha256": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "19935b04b1afdc8890b51f69ff535944eee70782e95845e9762310d6aa40eec1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30201}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.26}, "cpsat_response_stats": {"num_booleans": 2358, "num_conflicts": 633, "num_branches": 15281, "num_binary_propagations": 1057808, "num_integer_propagations": 472948, "num_restarts": 3, "wall_time": 1.49864, "user_time": 1.49864, "deterministic_time": 2.17348}, "solution_info": "default_lp", "problem_sha256": "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1a1c06a66af7443f6136b4ba851fd267ab7fff909953005391a5e81fc0a57af0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 44899, "constraint_breakdown": {"at_most_one": 190, "linear": 19169, "bool_or": 15297, "bool_and": 10243}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6436.84}, "cpsat_response_stats": {"num_booleans": 5016, "num_integers": 1027, "num_fixed_booleans": 99, "num_conflicts": 1543, "num_branches": 44055, "num_binary_propagations": 2670142, "num_integer_propagations": 1196938, "num_restarts": 15, "num_lp_iterations": 15119, "wall_time": 6.42809, "user_time": 6.42809, "deterministic_time": 6.42034, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1ad17a6edd2a5346387af674a30925c64333696d3516ead1e2523db8f70164f2.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 32190, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10975, "bool_and": 7418}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7733.2, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6974, "num_integers": 663, "num_fixed_booleans": 2076, "num_conflicts": 7164, "num_branches": 78766, "num_binary_propagations": 4973512, "num_integer_propagations": 1887633, "num_restarts": 35, "num_lp_iterations": 18218, "wall_time": 7.72493, "user_time": 7.72493, "deterministic_time": 8.41288, "gap_integral": 175.61, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "1b486cb1a9038477ba0dc44f568c384b38b7f66c62d1d0e27feada15ee63acc6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1b486cb1a9038477ba0dc44f568c384b38b7f66c62d1d0e27feada15ee63acc6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20792, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7200, "bool_and": 4869}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1075.14}, "cpsat_response_stats": {"num_booleans": 1666, "num_integers": 451, "num_fixed_booleans": 70, "num_conflicts": 472, "num_branches": 9986, "num_binary_propagations": 560383, "num_integer_propagations": 242649, "num_restarts": 1, "num_lp_iterations": 302, "wall_time": 1.07338, "user_time": 1.07338, "deterministic_time": 1.00964, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1b7b53e5826b74b03f9dc2164811a7f976f22d2cfe33eafa2359179b8a91b6f0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2288, "num_int": 938, "num_constraints": 36510, "constraint_breakdown": {"at_most_one": 159, "linear": 15668, "bool_or": 12396, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4447.05}, "cpsat_response_stats": {"num_booleans": 5190, "num_integers": 867, "num_fixed_booleans": 283, "num_conflicts": 2759, "num_branches": 36801, "num_binary_propagations": 2623629, "num_integer_propagations": 1037903, "num_restarts": 18, "num_lp_iterations": 17048, "wall_time": 4.44073, "user_time": 4.44073, "deterministic_time": 6.49673, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 26394, "constraint_breakdown": {"at_most_one": 132, "linear": 10245, "bool_or": 9415, "bool_and": 6602}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1852.25}, "cpsat_response_stats": {"num_booleans": 2596, "num_integers": 625, "num_fixed_booleans": 69, "num_conflicts": 560, "num_branches": 15937, "num_binary_propagations": 630686, "num_integer_propagations": 310208, "num_restarts": 6, "num_lp_iterations": 2039, "wall_time": 1.84973, "user_time": 1.84973, "deterministic_time": 1.41769, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1bcfca2846ceffabd1af6106173e4ac515273c3cd36e3f223a7a622745a941ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2781.61}, "cpsat_response_stats": {"num_booleans": 2641, "num_integers": 628, "num_fixed_booleans": 69, "num_conflicts": 430, "num_branches": 15591, "num_binary_propagations": 597982, "num_integer_propagations": 291988, "num_restarts": 3, "num_lp_iterations": 1062, "wall_time": 2.77268, "user_time": 2.77268, "deterministic_time": 2.72813, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 3.71295, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00037453, "user_time": 0.000374593, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5990.16}, "cpsat_response_stats": {"num_booleans": 3112, "num_integers": 628, "num_fixed_booleans": 360, "num_conflicts": 3545, "num_branches": 34405, "num_binary_propagations": 1540834, "num_integer_propagations": 731094, "num_restarts": 0, "num_lp_iterations": 22861, "wall_time": 5.9805, "user_time": 5.9805, "deterministic_time": 4.19177, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9232.93}, "cpsat_response_stats": {"num_booleans": 5245, "num_integers": 4640, "num_fixed_booleans": 1350, "num_conflicts": 1016, "num_branches": 20144, "num_binary_propagations": 1299305, "num_integer_propagations": 1421852, "num_restarts": 21, "num_lp_iterations": 24870, "wall_time": 9.22654, "user_time": 9.22654, "deterministic_time": 4.83543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27378, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9711, "bool_and": 6782}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6841.39}, "cpsat_response_stats": {"num_booleans": 2580, "num_integers": 2468, "num_fixed_booleans": 90, "num_conflicts": 674, "num_branches": 34596, "num_binary_propagations": 1371568, "num_integer_propagations": 1776740, "num_restarts": 27, "num_lp_iterations": 25380, "wall_time": 6.8358, "user_time": 6.8358, "deterministic_time": 4.50129, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "1c4137672b9f46074a8bea1111d80bb4049b3297d0b47be31ce79efd1df60327.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5391.62}, "cpsat_response_stats": {"num_booleans": 4083, "num_integers": 815, "num_fixed_booleans": 234, "num_conflicts": 1172, "num_branches": 28223, "num_binary_propagations": 1652774, "num_integer_propagations": 783554, "num_restarts": 9, "num_lp_iterations": 6294, "wall_time": 5.38428, "user_time": 5.38428, "deterministic_time": 5.21599, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.23475, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000272409, "user_time": 0.000272448, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11410.2}, "cpsat_response_stats": {"num_booleans": 5280, "num_integers": 815, "num_fixed_booleans": 810, "num_conflicts": 4328, "num_branches": 37707, "num_binary_propagations": 3046320, "num_integer_propagations": 1109086, "num_restarts": 0, "num_lp_iterations": 26955, "wall_time": 11.4029, "user_time": 11.4029, "deterministic_time": 8.65825, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10276.1}, "cpsat_response_stats": {"num_booleans": 6746, "num_integers": 6014, "num_fixed_booleans": 1570, "num_conflicts": 1385, "num_branches": 30184, "num_binary_propagations": 2428035, "num_integer_propagations": 2545089, "num_restarts": 25, "num_lp_iterations": 23165, "wall_time": 10.2655, "user_time": 10.2655, "deterministic_time": 5.83729, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 37775, "constraint_breakdown": {"at_most_one": 160, "linear": 16086, "bool_or": 12892, "bool_and": 8637}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9063.27}, "cpsat_response_stats": {"num_booleans": 3891, "num_integers": 3602, "num_fixed_booleans": 94, "num_conflicts": 923, "num_branches": 33182, "num_binary_propagations": 1822486, "num_integer_propagations": 2480385, "num_restarts": 34, "num_lp_iterations": 23167, "wall_time": 9.05423, "user_time": 9.05423, "deterministic_time": 6.51477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 623.536}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.622872, "user_time": 0.622872, "deterministic_time": 0.856701}, "solution_info": "quick_restart", "problem_sha256": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1da421e660098ad22f7cf645e4955a7d621856372d3d89ace5722c48699b9b5d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1941, "num_int": 794, "num_constraints": 30473, "constraint_breakdown": {"at_most_one": 135, "linear": 13009, "bool_or": 10391, "bool_and": 6938}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2326.58}, "cpsat_response_stats": {"num_booleans": 2376, "num_integers": 572, "num_fixed_booleans": 223, "num_conflicts": 851, "num_branches": 12692, "num_binary_propagations": 929982, "num_integer_propagations": 417911, "num_restarts": 3, "num_lp_iterations": 391, "wall_time": 2.32007, "user_time": 2.32007, "deterministic_time": 1.78377, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "1dbf42ee67c4b55c5a86c29d821e82932d84939a718d266e518494e0ffd44caf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12651.7}, "cpsat_response_stats": {"num_booleans": 12809, "num_conflicts": 9916, "num_branches": 105448, "num_binary_propagations": 11407742, "num_integer_propagations": 3523778, "num_restarts": 84, "wall_time": 12.649, "user_time": 12.649, "deterministic_time": 40.5777}, "solution_info": "no_lp", "problem_sha256": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1e97b710f28cc2ce69da71bcd101dcb4bd35a9030f0a0b6d1955e36a58b0b65b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63693}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7400.86}, "cpsat_response_stats": {"num_booleans": 9777, "num_conflicts": 4016, "num_branches": 100243, "num_binary_propagations": 5080514, "num_integer_propagations": 2059675, "num_restarts": 42, "wall_time": 7.39644, "user_time": 7.39644, "deterministic_time": 16.5819}, "solution_info": "default_lp", "problem_sha256": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "1f71e23e551c8ed60353acbeaeb177c66d93eba8dd1d4127d654ea0aa634ce54.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3024.07}, "cpsat_response_stats": {"num_booleans": 1829, "num_integers": 483, "num_fixed_booleans": 51, "num_conflicts": 310, "num_branches": 10067, "num_binary_propagations": 340378, "num_integer_propagations": 170355, "num_restarts": 3, "num_lp_iterations": 1145, "wall_time": 3.0205, "user_time": 3.0205, "deterministic_time": 2.45745, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.82656, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000236993, "user_time": 0.00023702, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4289.43}, "cpsat_response_stats": {"num_booleans": 2336, "num_integers": 483, "num_fixed_booleans": 57, "num_conflicts": 757, "num_branches": 14010, "num_binary_propagations": 359308, "num_integer_propagations": 191102, "num_restarts": 0, "num_lp_iterations": 1245, "wall_time": 4.2829, "user_time": 4.2829, "deterministic_time": 2.36024, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7716.79}, "cpsat_response_stats": {"num_booleans": 4059, "num_integers": 3637, "num_fixed_booleans": 1301, "num_conflicts": 858, "num_branches": 23497, "num_binary_propagations": 1294287, "num_integer_propagations": 1448025, "num_restarts": 21, "num_lp_iterations": 26389, "wall_time": 7.71239, "user_time": 7.71239, "deterministic_time": 4.3092, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20236, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7111, "bool_and": 4985}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6438.65}, "cpsat_response_stats": {"num_booleans": 1775, "num_integers": 1686, "num_fixed_booleans": 64, "num_conflicts": 472, "num_branches": 38238, "num_binary_propagations": 1282216, "num_integer_propagations": 1851071, "num_restarts": 24, "num_lp_iterations": 23601, "wall_time": 6.42924, "user_time": 6.42924, "deterministic_time": 4.02568, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "202fbcb0eaf3a2173b0d1f86dc29d0d1f31403f91ef9ffc3b4539a004d4291d0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47597, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 16147, "bool_and": 10821}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15121.7, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500205}, "cpsat_response_stats": {"num_booleans": 6742, "num_integers": 1118, "num_fixed_booleans": 532, "num_conflicts": 3716, "num_branches": 58078, "num_binary_propagations": 3714802, "num_integer_propagations": 1686518, "num_restarts": 27, "num_lp_iterations": 35389, "wall_time": 15.1114, "user_time": 15.1114, "deterministic_time": 11.3394, "gap_integral": 239.599, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2107376b09925740dc3a50075ebd92ba4853e79a17d659fb67a1785646a3121f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2107376b09925740dc3a50075ebd92ba4853e79a17d659fb67a1785646a3121f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1752.13}, "cpsat_response_stats": {"num_booleans": 2753, "num_conflicts": 1102, "num_branches": 17773, "num_binary_propagations": 1416000, "num_integer_propagations": 603617, "num_restarts": 6, "wall_time": 1.75121, "user_time": 1.75121, "deterministic_time": 2.87432}, "solution_info": "no_lp", "problem_sha256": "21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "21b4ac699ad2cbd802516f108e297eae44fcaa4fa6917198659e3bf8d0f2324b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14241, "constraint_breakdown": {"at_most_one": 77, "linear": 5527, "bool_or": 5130, "bool_and": 3507}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 473.166}, "cpsat_response_stats": {"num_booleans": 727, "num_integers": 277, "num_fixed_booleans": 21, "num_conflicts": 187, "num_branches": 4573, "num_binary_propagations": 169968, "num_integer_propagations": 99003, "num_restarts": 1, "num_lp_iterations": 186, "wall_time": 0.472282, "user_time": 0.472282, "deterministic_time": 0.369579, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2370931b8c81ddd151a53b0df69696c2453222fb8710bd50c12646f411267648.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 64265, "constraint_breakdown": {"at_most_one": 300, "linear": 25295, "bool_or": 22675, "bool_and": 15995}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16208.8}, "cpsat_response_stats": {"num_booleans": 9740, "num_integers": 1651, "num_fixed_booleans": 216, "num_conflicts": 4652, "num_branches": 95995, "num_binary_propagations": 4649474, "num_integer_propagations": 1955784, "num_restarts": 51, "num_lp_iterations": 58617, "wall_time": 16.1847, "user_time": 16.1847, "deterministic_time": 16.4779, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "25142c3ac9e62f0301845be186d7838f243977b50106dcdb7b7269608537967d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7271.21}, "cpsat_response_stats": {"num_booleans": 7912, "num_conflicts": 12081, "num_branches": 81515, "num_binary_propagations": 10554667, "num_integer_propagations": 2782477, "num_restarts": 68, "wall_time": 7.26872, "user_time": 7.26872, "deterministic_time": 23.7767}, "solution_info": "default_lp", "problem_sha256": "256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "256f7a0f25c2590dd389f9974a8fb93c3d0b1d4b98149a7b04e290b770a21d17.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 182.409}, "cpsat_response_stats": {"num_booleans": 250, "num_integers": 113, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 3, "wall_time": 0.181745, "user_time": 0.181745, "deterministic_time": 0.0310824, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:7'487} gen{mvs:2'655 evals:0} comp{mvs:441 btracks:1'107} #w_updates:12 #perturb:0)", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.77551, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000298584, "user_time": 0.000298641, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 335.852}, "cpsat_response_stats": {"num_booleans": 265, "num_integers": 113, "num_fixed_booleans": 1, "num_conflicts": 7, "num_branches": 73, "num_binary_propagations": 626, "num_integer_propagations": 620, "num_restarts": 0, "num_lp_iterations": 24, "wall_time": 0.334178, "user_time": 0.334178, "deterministic_time": 0.0911611, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 828.89}, "cpsat_response_stats": {"num_booleans": 1234, "num_integers": 1037, "num_fixed_booleans": 679, "num_conflicts": 184, "num_branches": 2448, "num_binary_propagations": 109772, "num_integer_propagations": 120823, "num_restarts": 2, "num_lp_iterations": 929, "wall_time": 0.827434, "user_time": 0.827434, "deterministic_time": 0.425285, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "max_lp", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7651, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2703, "bool_and": 1852}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 183.553}, "cpsat_response_stats": {"num_booleans": 250, "num_integers": 244, "num_fixed_booleans": 4, "num_conflicts": 4, "num_branches": 496, "num_binary_propagations": 4975, "num_integer_propagations": 6961, "num_restarts": 0, "num_lp_iterations": 41, "wall_time": 0.182868, "user_time": 0.182868, "deterministic_time": 0.0330626, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:7'487} gen{mvs:2'655 evals:0} comp{mvs:441 btracks:1'107} #w_updates:12 #perturb:0)", "problem_sha256": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "26f1613b2617a48822770702a0bbac8cc1c0384a271769c883357b944c5ebe8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17076, "num_bool": 13341, "num_int": 3735, "num_constraints": 192805, "constraint_breakdown": {"at_most_one": 618, "linear": 88116, "bool_or": 63144, "bool_and": 40927}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 856786}, "cpsat_response_stats": {"num_booleans": 27997, "num_integers": 3968, "num_fixed_booleans": 1018, "num_conflicts": 218233, "num_branches": 1168305, "num_binary_propagations": 240841668, "num_integer_propagations": 68122509, "num_restarts": 977, "num_lp_iterations": 5407038, "wall_time": 856.747, "user_time": 856.747, "deterministic_time": 1441.38, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "26f53ed6235393586f5beac50e9c02ddb551c8112f394470fa9f3c1764d3c5b0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 32306, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10936, "bool_and": 7342}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7830.82, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6871, "num_integers": 625, "num_fixed_booleans": 4343, "num_conflicts": 6741, "num_branches": 92643, "num_binary_propagations": 5772737, "num_integer_propagations": 1892439, "num_restarts": 38, "num_lp_iterations": 10596, "wall_time": 7.8222, "user_time": 7.8222, "deterministic_time": 8.82547, "gap_integral": 185.059, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "27132094730caf2088c28c764b2146f0bfeceb874b7efa9b456a1ee06c4c3ff9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "27132094730caf2088c28c764b2146f0bfeceb874b7efa9b456a1ee06c4c3ff9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 45439.7}, "cpsat_response_stats": {"num_booleans": 12995, "num_integers": 2191, "num_fixed_booleans": 379, "num_conflicts": 23149, "num_branches": 144434, "num_binary_propagations": 19032195, "num_integer_propagations": 5538798, "num_restarts": 150, "num_lp_iterations": 321431, "wall_time": 45.425, "user_time": 45.425, "deterministic_time": 64.4278, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.7391, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00021595, "user_time": 0.000215988, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 97818.6}, "cpsat_response_stats": {"num_booleans": 13000, "num_integers": 2191, "num_fixed_booleans": 388, "num_conflicts": 18320, "num_branches": 130897, "num_binary_propagations": 17036840, "num_integer_propagations": 5256107, "num_restarts": 0, "num_lp_iterations": 314242, "wall_time": 97.7909, "user_time": 97.7909, "deterministic_time": 89.2143, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 79077.4}, "cpsat_response_stats": {"num_booleans": 19177, "num_integers": 16571, "num_fixed_booleans": 3256, "num_conflicts": 3563, "num_branches": 85168, "num_binary_propagations": 7215363, "num_integer_propagations": 7235981, "num_restarts": 119, "num_lp_iterations": 115897, "wall_time": 79.0581, "user_time": 79.0581, "deterministic_time": 57.2027, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 99421.1}, "cpsat_response_stats": {"num_booleans": 13101, "num_integers": 11480, "num_fixed_booleans": 425, "num_conflicts": 2692, "num_branches": 100535, "num_binary_propagations": 6070214, "num_integer_propagations": 10721004, "num_restarts": 151, "num_lp_iterations": 149055, "wall_time": 99.3963, "user_time": 99.3963, "deterministic_time": 73.7653, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1373.64}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.37189, "user_time": 1.3719, "deterministic_time": 1.17965}, "solution_info": "quick_restart_no_lp", "problem_sha256": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "27a639ae4f3c7b232b758f7a4b7a8193bbdf2375bc6ad9f0ed832df3259ed18c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10447}, "cpsat_response_stats": {"num_booleans": 11808, "num_conflicts": 11186, "num_branches": 96516, "num_binary_propagations": 12404481, "num_integer_propagations": 3348409, "num_restarts": 83, "wall_time": 10.4429, "user_time": 10.4429, "deterministic_time": 32.4593}, "solution_info": "default_lp", "problem_sha256": "2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2915f65a6cfc4ccf2288beea5e5ebb3d1feee0493a7b8fb1b0bbe6115110f04c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14780, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5216, "bool_and": 3677}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2672.29, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 945, "num_integers": 299, "num_fixed_booleans": 746, "num_conflicts": 230, "num_branches": 4512, "num_binary_propagations": 180863, "num_integer_propagations": 93336, "num_restarts": 3, "num_lp_iterations": 488, "wall_time": 2.6674, "user_time": 2.6674, "deterministic_time": 1.38757, "gap_integral": 27.6029, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "2981bd841805c451cc2932b097f423d5e2dcce99d4c3f5c63eb3eda1fb515539", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2981bd841805c451cc2932b097f423d5e2dcce99d4c3f5c63eb3eda1fb515539.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3243, "num_bool": 2301, "num_int": 942, "num_constraints": 36127, "constraint_breakdown": {"at_most_one": 160, "linear": 15128, "bool_or": 12472, "bool_and": 8367}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4173.09}, "cpsat_response_stats": {"num_booleans": 3837, "num_integers": 804, "num_fixed_booleans": 86, "num_conflicts": 843, "num_branches": 26130, "num_binary_propagations": 1751422, "num_integer_propagations": 728032, "num_restarts": 6, "num_lp_iterations": 3040, "wall_time": 4.16589, "user_time": 4.16589, "deterministic_time": 4.73902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a397e2e9ffb11e6b1bdd4bd271d454a5d960113f85ee54f45618eca730a98b2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 14599, "constraint_breakdown": {"at_most_one": 77, "linear": 5899, "bool_or": 5089, "bool_and": 3534}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 540.252}, "cpsat_response_stats": {"num_booleans": 783, "num_integers": 267, "num_fixed_booleans": 19, "num_conflicts": 183, "num_branches": 4384, "num_binary_propagations": 159359, "num_integer_propagations": 96585, "num_restarts": 2, "num_lp_iterations": 247, "wall_time": 0.539297, "user_time": 0.539297, "deterministic_time": 0.336128, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a3d88962c8df3c83dccaa767c32c47d92ce214b908873271a271a052038d528.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 38711, "constraint_breakdown": {"at_most_one": 187, "linear": 15273, "bool_or": 13654, "bool_and": 9597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5430.81}, "cpsat_response_stats": {"num_booleans": 4908, "num_integers": 960, "num_fixed_booleans": 105, "num_conflicts": 578, "num_branches": 29008, "num_binary_propagations": 1363971, "num_integer_propagations": 577078, "num_restarts": 3, "num_lp_iterations": 1732, "wall_time": 5.41112, "user_time": 5.41112, "deterministic_time": 4.12991, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2a6fe0572eb447f61b2b572c3baf70606f1ce4104009bbe1ecf2db6e0554834a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1961.23}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.95933, "user_time": 1.95933, "deterministic_time": 2.96945}, "solution_info": "quick_restart", "problem_sha256": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2abe830de840839cc8700da827e94f67e8231e6dbc5fdba2042dc0a5cfc022ff.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 89192}, "cpsat_response_stats": {"num_booleans": 18223, "num_integers": 2724, "num_fixed_booleans": 1307, "num_conflicts": 35393, "num_branches": 255576, "num_binary_propagations": 29779298, "num_integer_propagations": 10453585, "num_restarts": 231, "num_lp_iterations": 606851, "wall_time": 89.1756, "user_time": 89.1756, "deterministic_time": 143.2, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.8334, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00023651, "user_time": 0.000236552, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 285427}, "cpsat_response_stats": {"num_booleans": 18312, "num_integers": 2724, "num_fixed_booleans": 1335, "num_conflicts": 45653, "num_branches": 264606, "num_binary_propagations": 38296345, "num_integer_propagations": 11975371, "num_restarts": 0, "num_lp_iterations": 701778, "wall_time": 285.399, "user_time": 285.399, "deterministic_time": 232.705, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 236557}, "cpsat_response_stats": {"num_booleans": 25930, "num_integers": 20834, "num_fixed_booleans": 5091, "num_conflicts": 5292, "num_branches": 125636, "num_binary_propagations": 10959282, "num_integer_propagations": 10448118, "num_restarts": 287, "num_lp_iterations": 321804, "wall_time": 236.512, "user_time": 236.512, "deterministic_time": 178.024, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 121524, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 40573, "bool_and": 26766}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 174124}, "cpsat_response_stats": {"num_booleans": 18159, "num_integers": 14447, "num_fixed_booleans": 1237, "num_conflicts": 3800, "num_branches": 152090, "num_binary_propagations": 9618167, "num_integer_propagations": 11139418, "num_restarts": 221, "num_lp_iterations": 228296, "wall_time": 174.089, "user_time": 174.089, "deterministic_time": 104.01, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "2b23fb6ce337942ebf3b5f99dddf477b2018725b28bccdc7e9a216501a3e1be8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 45101, "constraint_breakdown": {"at_most_one": 190, "linear": 19234, "bool_or": 15379, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6416.71}, "cpsat_response_stats": {"num_booleans": 5732, "num_integers": 1034, "num_fixed_booleans": 114, "num_conflicts": 2508, "num_branches": 46309, "num_binary_propagations": 2967035, "num_integer_propagations": 1304214, "num_restarts": 18, "num_lp_iterations": 23874, "wall_time": 6.40749, "user_time": 6.40749, "deterministic_time": 7.0559, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2b46c9bcb4db1d88bc5550d8ed871f0057565ff847c85dc046ff6685df86097d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1924, "num_int": 789, "num_constraints": 30408, "constraint_breakdown": {"at_most_one": 134, "linear": 13055, "bool_or": 10315, "bool_and": 6904}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1809.76}, "cpsat_response_stats": {"num_booleans": 2470, "num_integers": 593, "num_fixed_booleans": 159, "num_conflicts": 712, "num_branches": 13423, "num_binary_propagations": 1019108, "num_integer_propagations": 453081, "num_restarts": 6, "num_lp_iterations": 1724, "wall_time": 1.80827, "user_time": 1.80827, "deterministic_time": 1.76708, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c03def2b6183b004d5bef89a2575278be78259c02e94ea24efac5475d14ed39.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1266, "num_int": 598, "num_constraints": 20886, "constraint_breakdown": {"at_most_one": 103, "linear": 8638, "bool_or": 7236, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1361.71}, "cpsat_response_stats": {"num_booleans": 2250, "num_integers": 457, "num_fixed_booleans": 50, "num_conflicts": 964, "num_branches": 13872, "num_binary_propagations": 639294, "num_integer_propagations": 297959, "num_restarts": 6, "num_lp_iterations": 1167, "wall_time": 1.3595, "user_time": 1.3595, "deterministic_time": 1.28691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11135, "num_bool": 8504, "num_int": 2631, "num_constraints": 126459, "constraint_breakdown": {"at_most_one": 432, "linear": 56388, "bool_or": 42090, "bool_and": 27549}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 47175.5}, "cpsat_response_stats": {"num_booleans": 16286, "num_integers": 2685, "num_fixed_booleans": 441, "num_conflicts": 10043, "num_branches": 145482, "num_binary_propagations": 11077181, "num_integer_propagations": 4714876, "num_restarts": 92, "num_lp_iterations": 246909, "wall_time": 47.1481, "user_time": 47.1481, "deterministic_time": 56.8539, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2c48be2530d7932fabd485c4b3ece1fca3639c6cf6d593f0c44e0b8e56601c3b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 35170, "constraint_breakdown": {"at_most_one": 163, "linear": 14720, "bool_or": 12063, "bool_and": 8224}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4828}, "cpsat_response_stats": {"num_booleans": 4397, "num_integers": 896, "num_fixed_booleans": 90, "num_conflicts": 844, "num_branches": 31973, "num_binary_propagations": 1603643, "num_integer_propagations": 734322, "num_restarts": 6, "num_lp_iterations": 6211, "wall_time": 4.81064, "user_time": 4.81064, "deterministic_time": 4.86196, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2cf09323b6357707934b8bab13217c744b0633a6bf11f0d7b51b0961f33f9264.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4467.43}, "cpsat_response_stats": {"num_booleans": 7413, "num_conflicts": 2835, "num_branches": 59220, "num_binary_propagations": 4276450, "num_integer_propagations": 1634222, "num_restarts": 24, "wall_time": 4.46411, "user_time": 4.46411, "deterministic_time": 8.37719}, "solution_info": "no_lp", "problem_sha256": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2cff9dca070f35f4b8632474dbe9ed80dff49bec7ad39db8f3dd1046c4d6acb4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 695.523}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.694453, "user_time": 0.694453, "deterministic_time": 1.0021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "2d527c24410310a430c63e56560a9f6346660fde96829775a284645f63c86f17.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57732, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19786, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11725.9}, "cpsat_response_stats": {"num_booleans": 7526, "num_integers": 1370, "num_fixed_booleans": 172, "num_conflicts": 3735, "num_branches": 74766, "num_binary_propagations": 4375683, "num_integer_propagations": 1834090, "num_restarts": 42, "num_lp_iterations": 41424, "wall_time": 11.703, "user_time": 11.703, "deterministic_time": 13.7156, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2d8643eec9c4c62aeac7390db2bd48954a840858967aad0bbeb00b0424328b76.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 27313, "constraint_breakdown": {"at_most_one": 133, "linear": 10798, "bool_or": 9649, "bool_and": 6733}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3120.77}, "cpsat_response_stats": {"num_booleans": 2803, "num_integers": 620, "num_fixed_booleans": 75, "num_conflicts": 418, "num_branches": 15636, "num_binary_propagations": 769615, "num_integer_propagations": 333030, "num_restarts": 3, "num_lp_iterations": 1399, "wall_time": 3.10924, "user_time": 3.10924, "deterministic_time": 2.72092, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2e8cdd720fcb4ef0bb3bacbef8633ae847d1bca269122e5c51a98e830b9d03bf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21994, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7563, "bool_and": 5148}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2877.24, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 1774, "num_integers": 496, "num_fixed_booleans": 710, "num_conflicts": 440, "num_branches": 10242, "num_binary_propagations": 481930, "num_integer_propagations": 251147, "num_restarts": 4, "num_lp_iterations": 1167, "wall_time": 2.87138, "user_time": 2.87138, "deterministic_time": 2.79816, "gap_integral": 56.4058, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "2e958d4f0beadd78d7dff9e9d9f386d3a0f00860ff2703e69b11975d544e3757", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2e958d4f0beadd78d7dff9e9d9f386d3a0f00860ff2703e69b11975d544e3757.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85855, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29431, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16990.7}, "cpsat_response_stats": {"num_booleans": 11817, "num_integers": 1986, "num_fixed_booleans": 429, "num_conflicts": 7633, "num_branches": 97024, "num_binary_propagations": 10115695, "num_integer_propagations": 3020403, "num_restarts": 63, "num_lp_iterations": 106149, "wall_time": 16.973, "user_time": 16.973, "deterministic_time": 30.8048, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2ed7c12aa205b907de5d68f8daaa7fed1802f93aaad89e247b789fffd4c42d33.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5306, "num_bool": 3673, "num_int": 1633, "num_constraints": 59452, "constraint_breakdown": {"at_most_one": 272, "linear": 23341, "bool_or": 21239, "bool_and": 14600}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10429}, "cpsat_response_stats": {"num_booleans": 7893, "num_integers": 1504, "num_fixed_booleans": 191, "num_conflicts": 7701, "num_branches": 75544, "num_binary_propagations": 5947415, "num_integer_propagations": 2090143, "num_restarts": 56, "num_lp_iterations": 68244, "wall_time": 10.4153, "user_time": 10.4153, "deterministic_time": 16.0411, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "2f5479c6c8eed384098dac360bc532cf1934e9f1efb2b3686c5e03c680ba178d.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 62282, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21311, "bool_and": 14552}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17916.6, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 7204, "num_integers": 1479, "num_fixed_booleans": 205, "num_conflicts": 1996, "num_branches": 65003, "num_binary_propagations": 3673644, "num_integer_propagations": 1843057, "num_restarts": 12, "num_lp_iterations": 22075, "wall_time": 17.9002, "user_time": 17.9002, "deterministic_time": 11.2137, "gap_integral": 237.342, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "2fa57a166e49216765ff3e9df3a99e51c9a6eb307be9bab396ea75f82f17fabf", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2fa57a166e49216765ff3e9df3a99e51c9a6eb307be9bab396ea75f82f17fabf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 55027, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 19251, "bool_and": 13573}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 49854.2, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 14920, "num_integers": 1511, "num_fixed_booleans": 2933, "num_conflicts": 13604, "num_branches": 185339, "num_binary_propagations": 9076776, "num_integer_propagations": 3592423, "num_restarts": 64, "num_lp_iterations": 121768, "wall_time": 49.8436, "user_time": 49.8436, "deterministic_time": 44.9072, "gap_integral": 764.792, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 20766, "constraint_breakdown": {"at_most_one": 102, "linear": 8617, "bool_or": 7156, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3530.81}, "cpsat_response_stats": {"num_booleans": 2018, "num_integers": 512, "num_fixed_booleans": 55, "num_conflicts": 379, "num_branches": 11971, "num_binary_propagations": 482190, "num_integer_propagations": 259585, "num_restarts": 3, "num_lp_iterations": 772, "wall_time": 3.52585, "user_time": 3.52585, "deterministic_time": 1.76994, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3386.23}, "cpsat_response_stats": {"num_booleans": 7082, "num_conflicts": 4770, "num_branches": 51971, "num_binary_propagations": 4503565, "num_integer_propagations": 1661144, "num_restarts": 36, "wall_time": 3.38319, "user_time": 3.38319, "deterministic_time": 7.21038}, "solution_info": "no_lp", "problem_sha256": "31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "31ef7d4aea2e6b1e902710d43ae9fc51e98680924221e5c4362ef1ef4651eaa3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40984}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.19}, "cpsat_response_stats": {"num_booleans": 7093, "num_conflicts": 3904, "num_branches": 96041, "num_binary_propagations": 2928204, "num_integer_propagations": 1313715, "num_restarts": 21, "wall_time": 3.47075, "user_time": 3.47075, "deterministic_time": 7.69355}, "solution_info": "no_lp", "problem_sha256": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "321b859ee1b2e3f9874968cf86a89765dcc94f1daa4f4081f8ad231b50911dd7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 694.654}, "cpsat_response_stats": {"num_booleans": 762, "num_integers": 282, "num_fixed_booleans": 21, "num_conflicts": 212, "num_branches": 4812, "num_binary_propagations": 147017, "num_integer_propagations": 92550, "num_restarts": 2, "num_lp_iterations": 414, "wall_time": 0.69344, "user_time": 0.69344, "deterministic_time": 0.646128, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.08901, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000277717, "user_time": 0.000277762, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1435.5}, "cpsat_response_stats": {"num_booleans": 758, "num_integers": 282, "num_fixed_booleans": 1, "num_conflicts": 39, "num_branches": 215, "num_binary_propagations": 3911, "num_integer_propagations": 12177, "num_restarts": 0, "num_lp_iterations": 139, "wall_time": 1.4314, "user_time": 1.4314, "deterministic_time": 0.545046, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2121.56}, "cpsat_response_stats": {"num_booleans": 2283, "num_integers": 1976, "num_fixed_booleans": 809, "num_conflicts": 412, "num_branches": 6537, "num_binary_propagations": 413559, "num_integer_propagations": 455686, "num_restarts": 1, "num_lp_iterations": 891, "wall_time": 2.11734, "user_time": 2.11734, "deterministic_time": 1.24625, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14805, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5270, "bool_and": 3597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1552.55}, "cpsat_response_stats": {"num_booleans": 752, "num_integers": 704, "num_fixed_booleans": 22, "num_conflicts": 310, "num_branches": 11286, "num_binary_propagations": 338601, "num_integer_propagations": 454601, "num_restarts": 13, "num_lp_iterations": 7738, "wall_time": 1.54915, "user_time": 1.54915, "deterministic_time": 1.11812, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "327885af89164e64baa11fb9e8e4b9af8e7ab53c427d41ad23c216f3877453d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94632, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32476, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14676}, "cpsat_response_stats": {"num_booleans": 12645, "num_integers": 2142, "num_fixed_booleans": 305, "num_conflicts": 6765, "num_branches": 85872, "num_binary_propagations": 9033254, "num_integer_propagations": 2823657, "num_restarts": 63, "num_lp_iterations": 92546, "wall_time": 14.6573, "user_time": 14.6573, "deterministic_time": 24.7064, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3368a03f50cb20d1ca1ec5365507aa3096295da9a97f1688543cb9200aa911c0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57732, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19786, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13176.2}, "cpsat_response_stats": {"num_booleans": 7615, "num_integers": 1370, "num_fixed_booleans": 179, "num_conflicts": 6925, "num_branches": 81417, "num_binary_propagations": 6086825, "num_integer_propagations": 2306779, "num_restarts": 63, "num_lp_iterations": 73727, "wall_time": 13.1504, "user_time": 13.1504, "deterministic_time": 15.7646, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "33aca880c9efd51e3b11c9b865a5d96e10f7bf573ab2b76d1f56c929dad9b12b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 715.521}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.714553, "user_time": 0.714553, "deterministic_time": 0.84016}, "solution_info": "quick_restart", "problem_sha256": "34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "34d64d3b3f09c059453e8a7eb2aa2d691cce300d5dbc94e1dd4bae24698c6a06.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57478}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.82}, "cpsat_response_stats": {"num_booleans": 7705, "num_conflicts": 2828, "num_branches": 58028, "num_binary_propagations": 4226539, "num_integer_propagations": 1608385, "num_restarts": 25, "wall_time": 3.95941, "user_time": 3.95941, "deterministic_time": 8.34405}, "solution_info": "default_lp", "problem_sha256": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "36c5b829921f254af40d517a9f1455da914471d2a17d7e9286d869735e1f7646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 23136.9}, "cpsat_response_stats": {"num_booleans": 11959, "num_integers": 2027, "num_fixed_booleans": 333, "num_conflicts": 10910, "num_branches": 107959, "num_binary_propagations": 11267600, "num_integer_propagations": 3603890, "num_restarts": 84, "num_lp_iterations": 143133, "wall_time": 23.1215, "user_time": 23.1215, "deterministic_time": 29.2903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.89387, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000237123, "user_time": 0.000237164, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 80463.1}, "cpsat_response_stats": {"num_booleans": 11962, "num_integers": 2027, "num_fixed_booleans": 297, "num_conflicts": 12827, "num_branches": 112015, "num_binary_propagations": 12964595, "num_integer_propagations": 3997018, "num_restarts": 0, "num_lp_iterations": 179079, "wall_time": 80.4381, "user_time": 80.4381, "deterministic_time": 55.9322, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 51755.8}, "cpsat_response_stats": {"num_booleans": 17929, "num_integers": 15581, "num_fixed_booleans": 3204, "num_conflicts": 2900, "num_branches": 73664, "num_binary_propagations": 6184526, "num_integer_propagations": 6341751, "num_restarts": 46, "num_lp_iterations": 53807, "wall_time": 51.736, "user_time": 51.736, "deterministic_time": 28.8909, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 63527.6}, "cpsat_response_stats": {"num_booleans": 11991, "num_integers": 10571, "num_fixed_booleans": 321, "num_conflicts": 2245, "num_branches": 91050, "num_binary_propagations": 5554685, "num_integer_propagations": 8938838, "num_restarts": 89, "num_lp_iterations": 77354, "wall_time": 63.5038, "user_time": 63.5038, "deterministic_time": 37.9035, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "3707720aa7119866f34152927dba916a89b9b4980bc74daf4a4ce04c7c83a74e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5114, "num_bool": 3610, "num_int": 1504, "num_constraints": 58789, "constraint_breakdown": {"at_most_one": 249, "linear": 24537, "bool_or": 20253, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6175.92}, "cpsat_response_stats": {"num_booleans": 6510, "num_integers": 1335, "num_fixed_booleans": 921, "num_conflicts": 1634, "num_branches": 41974, "num_binary_propagations": 2995751, "num_integer_propagations": 1324442, "num_restarts": 6, "num_lp_iterations": 6852, "wall_time": 6.16383, "user_time": 6.16383, "deterministic_time": 7.64516, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "379dc9168e43d8e9d0b62890fa2e276bb4107c588e6360ee40d3c7cdfb1de6f1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 30392, "constraint_breakdown": {"at_most_one": 135, "linear": 12981, "bool_or": 10338, "bool_and": 6938}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2603.74}, "cpsat_response_stats": {"num_booleans": 2392, "num_integers": 587, "num_fixed_booleans": 78, "num_conflicts": 675, "num_branches": 16106, "num_binary_propagations": 968719, "num_integer_propagations": 464028, "num_restarts": 3, "num_lp_iterations": 1207, "wall_time": 2.59804, "user_time": 2.59804, "deterministic_time": 1.93163, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "37f84b16de74e01a63c4bdcf999c82d18ebf6d0e03406bd9ee65adb21ae54b71.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 35226, "constraint_breakdown": {"at_most_one": 163, "linear": 14720, "bool_or": 12119, "bool_and": 8224}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3772.51}, "cpsat_response_stats": {"num_booleans": 4310, "num_integers": 876, "num_fixed_booleans": 91, "num_conflicts": 751, "num_branches": 29001, "num_binary_propagations": 1669805, "num_integer_propagations": 696164, "num_restarts": 3, "num_lp_iterations": 3447, "wall_time": 3.75625, "user_time": 3.75625, "deterministic_time": 3.78127, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "38b4c712ec417b25f8c1fd58752402dfff72d8f346edac6d35c10d02d216bcd4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 52982}, "cpsat_response_stats": {"num_booleans": 16910, "num_integers": 2703, "num_fixed_booleans": 477, "num_conflicts": 12391, "num_branches": 168556, "num_binary_propagations": 13248294, "num_integer_propagations": 5599580, "num_restarts": 104, "num_lp_iterations": 361981, "wall_time": 52.9598, "user_time": 52.9598, "deterministic_time": 65.4763, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.13063, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000246966, "user_time": 0.000247011, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 118894}, "cpsat_response_stats": {"num_booleans": 16918, "num_integers": 2703, "num_fixed_booleans": 437, "num_conflicts": 10146, "num_branches": 154641, "num_binary_propagations": 11787402, "num_integer_propagations": 4967503, "num_restarts": 0, "num_lp_iterations": 294219, "wall_time": 118.851, "user_time": 118.851, "deterministic_time": 78.0282, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 160124}, "cpsat_response_stats": {"num_booleans": 23978, "num_integers": 20661, "num_fixed_booleans": 3774, "num_conflicts": 5141, "num_branches": 134167, "num_binary_propagations": 10626321, "num_integer_propagations": 11007751, "num_restarts": 275, "num_lp_iterations": 352681, "wall_time": 160.096, "user_time": 160.096, "deterministic_time": 148.88, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 135485, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44202, "bool_and": 28487}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 98562}, "cpsat_response_stats": {"num_booleans": 16918, "num_integers": 14929, "num_fixed_booleans": 534, "num_conflicts": 3157, "num_branches": 136740, "num_binary_propagations": 7450526, "num_integer_propagations": 12937019, "num_restarts": 204, "num_lp_iterations": 258878, "wall_time": 98.5014, "user_time": 98.5014, "deterministic_time": 116.619, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5112, "num_bool": 3610, "num_int": 1502, "num_constraints": 58744, "constraint_breakdown": {"at_most_one": 249, "linear": 24518, "bool_or": 20237, "bool_and": 13740}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6438.96}, "cpsat_response_stats": {"num_booleans": 8225, "num_integers": 1266, "num_fixed_booleans": 684, "num_conflicts": 4341, "num_branches": 60532, "num_binary_propagations": 4507663, "num_integer_propagations": 1686026, "num_restarts": 14, "num_lp_iterations": 31539, "wall_time": 6.42848, "user_time": 6.42848, "deterministic_time": 8.15447, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3921ba5449869b9fca2c8b7808e99e3816492dbfbe55f3956019cbea156ed88d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1394.5}, "cpsat_response_stats": {"num_booleans": 2857, "num_conflicts": 788, "num_branches": 15786, "num_binary_propagations": 1064689, "num_integer_propagations": 514092, "num_restarts": 3, "wall_time": 1.39259, "user_time": 1.39259, "deterministic_time": 2.14286}, "solution_info": "fs_random", "problem_sha256": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "395b9abdb72014e256f558ea722b7df71fedf88a40e4bf0f70b34ed75d3e7ce1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3239, "num_bool": 2301, "num_int": 938, "num_constraints": 35861}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3002.76}, "cpsat_response_stats": {"num_booleans": 4017, "num_conflicts": 973, "num_branches": 27904, "num_binary_propagations": 1801465, "num_integer_propagations": 753055, "num_restarts": 6, "wall_time": 3.00097, "user_time": 3.00097, "deterministic_time": 5.14887}, "solution_info": "fs_random", "problem_sha256": "39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "39ad61e32e7f3ecfed4123371232df4c15298efd0c20d9d3dd956c69d772db27.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43563, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 15047, "bool_and": 10468}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13875.9, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 9714, "num_integers": 1152, "num_fixed_booleans": 291, "num_conflicts": 5832, "num_branches": 65228, "num_binary_propagations": 2817981, "num_integer_propagations": 1223601, "num_restarts": 10, "num_lp_iterations": 47762, "wall_time": 13.8481, "user_time": 13.8481, "deterministic_time": 11.6098, "gap_integral": 246.183, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "3a0d61445e568f2995e6d3e7330d339f92d94e14d5ee89b2abf2ed96e86a3c70", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3a0d61445e568f2995e6d3e7330d339f92d94e14d5ee89b2abf2ed96e86a3c70.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2334.59}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 2.33214, "user_time": 2.33214, "deterministic_time": 4.11721}, "solution_info": "fs_random", "problem_sha256": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3b522f278d5967449cb3fc8dcdcf198cc3ecd7bd5f5c03cec433b4bb332433c0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20663, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7216, "bool_and": 4967}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3662.35, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500204}, "cpsat_response_stats": {"num_booleans": 1337, "num_integers": 382, "num_fixed_booleans": 771, "num_conflicts": 391, "num_branches": 8725, "num_binary_propagations": 373516, "num_integer_propagations": 188246, "num_restarts": 4, "num_lp_iterations": 896, "wall_time": 3.6573, "user_time": 3.6573, "deterministic_time": 2.31202, "gap_integral": 46.5064, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "3bc12c2cf7bd6010001c8a460cc0184aed048ae950e55078fd9428a3b8d1fc95", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3bc12c2cf7bd6010001c8a460cc0184aed048ae950e55078fd9428a3b8d1fc95.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58459, "constraint_breakdown": {"at_most_one": 249, "linear": 24359, "bool_or": 20111, "bool_and": 13740}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8571.61}, "cpsat_response_stats": {"num_booleans": 6077, "num_integers": 1289, "num_fixed_booleans": 129, "num_conflicts": 3506, "num_branches": 52995, "num_binary_propagations": 4127819, "num_integer_propagations": 1574952, "num_restarts": 32, "num_lp_iterations": 40215, "wall_time": 8.54673, "user_time": 8.54673, "deterministic_time": 8.33814, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3cbde998e188f4dfded4b435da864ce8b877c66367a6160132a29208b67f19e3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1236, "num_bool": 794, "num_int": 442, "num_constraints": 13896}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 273.786}, "cpsat_response_stats": {"num_booleans": 817, "num_conflicts": 109, "num_branches": 4450, "num_binary_propagations": 137291, "num_integer_propagations": 78951, "num_restarts": 1, "wall_time": 0.273041, "user_time": 0.273041, "deterministic_time": 0.275355}, "solution_info": "fs_random_no_lp", "problem_sha256": "3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3cf489848cf21fe1a27e0cdecd87845ba3e67495375dc33d4fc861f33c6039f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6812.85}, "cpsat_response_stats": {"num_booleans": 7246, "num_integers": 1255, "num_fixed_booleans": 130, "num_conflicts": 2229, "num_branches": 58285, "num_binary_propagations": 3586396, "num_integer_propagations": 1506778, "num_restarts": 15, "num_lp_iterations": 25910, "wall_time": 6.80267, "user_time": 6.80267, "deterministic_time": 7.44364, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.02891, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000226715, "user_time": 0.000226759, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21371.2}, "cpsat_response_stats": {"num_booleans": 7184, "num_integers": 1255, "num_fixed_booleans": 349, "num_conflicts": 2928, "num_branches": 51408, "num_binary_propagations": 3908976, "num_integer_propagations": 1545884, "num_restarts": 0, "num_lp_iterations": 29242, "wall_time": 21.3543, "user_time": 21.3543, "deterministic_time": 11.4567, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14319.5}, "cpsat_response_stats": {"num_booleans": 10694, "num_integers": 9194, "num_fixed_booleans": 2198, "num_conflicts": 1750, "num_branches": 50740, "num_binary_propagations": 4284420, "num_integer_propagations": 4439058, "num_restarts": 9, "num_lp_iterations": 10803, "wall_time": 14.3023, "user_time": 14.3023, "deterministic_time": 7.41719, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54218, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18178, "bool_and": 12117}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18472.1}, "cpsat_response_stats": {"num_booleans": 6690, "num_integers": 5804, "num_fixed_booleans": 173, "num_conflicts": 1553, "num_branches": 61955, "num_binary_propagations": 3849587, "num_integer_propagations": 5526527, "num_restarts": 66, "num_lp_iterations": 41112, "wall_time": 18.4564, "user_time": 18.4564, "deterministic_time": 13.9642, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "3d58d5670d05e6b5f03761602fe37e31f464f8e740d8b5d658f543f2e56ca9ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20575}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 626.761}, "cpsat_response_stats": {"num_booleans": 1712, "num_conflicts": 326, "num_branches": 9895, "num_binary_propagations": 510030, "num_integer_propagations": 245954, "num_restarts": 1, "wall_time": 0.625687, "user_time": 0.625687, "deterministic_time": 0.978811}, "solution_info": "fs_random_no_lp", "problem_sha256": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e2b36379a2919afebb3b79a5e34bd8fd946fbc28059edd6a832ad467f412fc3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28938}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1384.5}, "cpsat_response_stats": {"num_booleans": 3097, "num_conflicts": 955, "num_branches": 19368, "num_binary_propagations": 1183859, "num_integer_propagations": 557299, "num_restarts": 6, "wall_time": 1.38357, "user_time": 1.38357, "deterministic_time": 2.31893}, "solution_info": "quick_restart", "problem_sha256": "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3e69d6f5b7856ea1d07e24a00ad14594b6ba146d0685bdb57e54a8483065b9d0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2204.94}, "cpsat_response_stats": {"num_booleans": 6449, "num_conflicts": 4661, "num_branches": 23327, "num_binary_propagations": 1646864, "num_integer_propagations": 452047, "num_restarts": 6, "wall_time": 2.20345, "user_time": 2.20345, "deterministic_time": 3.42086}, "solution_info": "no_lp", "problem_sha256": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "3edc7a438782c8c667a53e1e8de98b1335e55876bdc718a1196ba66d8824b9f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 56210, "constraint_breakdown": {"at_most_one": 245, "linear": 23417, "bool_or": 19268, "bool_and": 13280}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7769.88}, "cpsat_response_stats": {"num_booleans": 7002, "num_integers": 1414, "num_fixed_booleans": 146, "num_conflicts": 1852, "num_branches": 61786, "num_binary_propagations": 3330355, "num_integer_propagations": 1546631, "num_restarts": 18, "num_lp_iterations": 33978, "wall_time": 7.74577, "user_time": 7.74577, "deterministic_time": 8.39234, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "3f9aacb091d6566f953a6f7bc9c46073305546a98e45d4e798ad1c3b2bafdff4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 701.966}, "cpsat_response_stats": {"num_booleans": 773, "num_integers": 277, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 30, "wall_time": 0.701014, "user_time": 0.701014, "deterministic_time": 0.141513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:41'741} gen{mvs:15'090 evals:0} comp{mvs:2'718 btracks:6'186} #w_updates:35 #perturb:0)", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.06552, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000265515, "user_time": 0.00026556, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1005.82}, "cpsat_response_stats": {"num_booleans": 829, "num_integers": 277, "num_fixed_booleans": 40, "num_conflicts": 218, "num_branches": 4695, "num_binary_propagations": 170872, "num_integer_propagations": 107148, "num_restarts": 0, "num_lp_iterations": 380, "wall_time": 1.00464, "user_time": 1.00464, "deterministic_time": 0.55262, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5598.65}, "cpsat_response_stats": {"num_booleans": 2106, "num_integers": 1810, "num_fixed_booleans": 709, "num_conflicts": 777, "num_branches": 12260, "num_binary_propagations": 958811, "num_integer_propagations": 1021433, "num_restarts": 23, "num_lp_iterations": 14306, "wall_time": 5.58462, "user_time": 5.58462, "deterministic_time": 2.24434, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15389, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5307, "bool_and": 3656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 535.993}, "cpsat_response_stats": {"num_booleans": 773, "num_integers": 758, "num_fixed_booleans": 19, "num_conflicts": 17, "num_branches": 1525, "num_binary_propagations": 30760, "num_integer_propagations": 38752, "num_restarts": 0, "num_lp_iterations": 100, "wall_time": 0.535101, "user_time": 0.535101, "deterministic_time": 0.150639, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:41'741} gen{mvs:15'090 evals:0} comp{mvs:2'718 btracks:6'186} #w_updates:35 #perturb:0)", "problem_sha256": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "3f9eb14b64530ab041bc300966e5f7fa1a44b578d0360f41468139f57fb9b6d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44649}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3245.66}, "cpsat_response_stats": {"num_booleans": 5081, "num_conflicts": 1366, "num_branches": 41353, "num_binary_propagations": 2818429, "num_integer_propagations": 1322307, "num_restarts": 12, "wall_time": 3.24271, "user_time": 3.24271, "deterministic_time": 6.65273}, "solution_info": "default_lp", "problem_sha256": "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21983, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7560, "bool_and": 5140}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5144.56, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 1984, "num_integers": 502, "num_fixed_booleans": 1382, "num_conflicts": 754, "num_branches": 12829, "num_binary_propagations": 592943, "num_integer_propagations": 300959, "num_restarts": 6, "num_lp_iterations": 1852, "wall_time": 5.13016, "user_time": 5.13016, "deterministic_time": 3.74204, "gap_integral": 77.0396, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "pseudo_costs", "problem_sha256": "41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26774}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2662.56}, "cpsat_response_stats": {"num_booleans": 2399, "num_conflicts": 362, "num_branches": 13873, "num_binary_propagations": 692748, "num_integer_propagations": 337883, "num_restarts": 3, "wall_time": 2.66105, "user_time": 2.66105, "deterministic_time": 2.77881}, "solution_info": "default_lp", "problem_sha256": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4248a692d844a140c65947d9334b1b07f2b57b9d6ca9bbefd3d11a7bc76d1ef4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 45469, "constraint_breakdown": {"at_most_one": 190, "linear": 19687, "bool_or": 15337, "bool_and": 10255}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7075.59}, "cpsat_response_stats": {"num_booleans": 6518, "num_integers": 1045, "num_fixed_booleans": 274, "num_conflicts": 3684, "num_branches": 73635, "num_binary_propagations": 3594311, "num_integer_propagations": 1645562, "num_restarts": 27, "num_lp_iterations": 37263, "wall_time": 7.05641, "user_time": 7.05641, "deterministic_time": 7.57263, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "42af128a10b50d2ba614168ff1e913357115bba1cd35e3a7e93b5bebc8ba2456.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3472.88}, "cpsat_response_stats": {"num_booleans": 4922, "num_conflicts": 1390, "num_branches": 41486, "num_binary_propagations": 2188776, "num_integer_propagations": 966189, "num_restarts": 15, "wall_time": 3.46984, "user_time": 3.46984, "deterministic_time": 7.61202}, "solution_info": "default_lp", "problem_sha256": "435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "435a351b429715b8e1cd5932672f1f7a52fd843f3599ce90c7127f27a5906ab1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20862, "num_bool": 16429, "num_int": 4433, "num_constraints": 236709, "constraint_breakdown": {"at_most_one": 727, "linear": 109833, "bool_or": 76916, "bool_and": 49233}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 71202.6}, "cpsat_response_stats": {"num_booleans": 30765, "num_integers": 4494, "num_fixed_booleans": 1111, "num_conflicts": 9602, "num_branches": 121165, "num_binary_propagations": 14858758, "num_integer_propagations": 3997339, "num_restarts": 47, "num_lp_iterations": 234049, "wall_time": 71.1951, "user_time": 71.1951, "deterministic_time": 66.0884, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "458c6b0e91f3e132ee1877e7eaa1d6e887bfe937db034ec7c79e5c13067e57a0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28601}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1761.78}, "cpsat_response_stats": {"num_booleans": 2791, "num_conflicts": 826, "num_branches": 18196, "num_binary_propagations": 1045314, "num_integer_propagations": 528080, "num_restarts": 6, "wall_time": 1.7604, "user_time": 1.7604, "deterministic_time": 2.0476}, "solution_info": "quick_restart_no_lp", "problem_sha256": "45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "45b13b7a52849e075a4815eff8fce183160b2507b29f5f44276bd5b283cce180.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 62421, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 21170, "bool_and": 14445}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28480.7, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 11031, "num_integers": 1473, "num_fixed_booleans": 464, "num_conflicts": 7879, "num_branches": 107429, "num_binary_propagations": 7431610, "num_integer_propagations": 3026298, "num_restarts": 40, "num_lp_iterations": 82368, "wall_time": 28.4674, "user_time": 28.4674, "deterministic_time": 22.3727, "gap_integral": 463.453, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "45edc06cca416c89589b5bbf4dd6e3beca7b1fd3f3ceb4d58e0fa4af5fea29e2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "45edc06cca416c89589b5bbf4dd6e3beca7b1fd3f3ceb4d58e0fa4af5fea29e2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32597.8}, "cpsat_response_stats": {"num_booleans": 16498, "num_conflicts": 15039, "num_branches": 170009, "num_binary_propagations": 16208600, "num_integer_propagations": 6206571, "num_restarts": 135, "wall_time": 32.5913, "user_time": 32.5913, "deterministic_time": 88.9703}, "solution_info": "no_lp", "problem_sha256": "46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "46c0155e6d81759ee93e16aa244b6dbf0a7349c44a245165b83dfd4ef442ff9c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3311.66}, "cpsat_response_stats": {"num_booleans": 1785, "num_integers": 466, "num_fixed_booleans": 50, "num_conflicts": 303, "num_branches": 10282, "num_binary_propagations": 415999, "num_integer_propagations": 213023, "num_restarts": 1, "num_lp_iterations": 239, "wall_time": 3.30706, "user_time": 3.30706, "deterministic_time": 2.27321, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.88126, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000246727, "user_time": 0.000246773, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3775.84}, "cpsat_response_stats": {"num_booleans": 1792, "num_integers": 466, "num_fixed_booleans": 56, "num_conflicts": 373, "num_branches": 11216, "num_binary_propagations": 442395, "num_integer_propagations": 226575, "num_restarts": 0, "num_lp_iterations": 467, "wall_time": 3.76316, "user_time": 3.76316, "deterministic_time": 2.67802, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10456.7}, "cpsat_response_stats": {"num_booleans": 4079, "num_integers": 3563, "num_fixed_booleans": 1301, "num_conflicts": 900, "num_branches": 14102, "num_binary_propagations": 945501, "num_integer_propagations": 1008628, "num_restarts": 19, "num_lp_iterations": 18617, "wall_time": 10.452, "user_time": 10.452, "deterministic_time": 3.80544, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6040.51}, "cpsat_response_stats": {"num_booleans": 1779, "num_integers": 1664, "num_fixed_booleans": 63, "num_conflicts": 616, "num_branches": 32886, "num_binary_propagations": 1463849, "num_integer_propagations": 1860404, "num_restarts": 27, "num_lp_iterations": 22323, "wall_time": 6.03507, "user_time": 6.03507, "deterministic_time": 3.43484, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "471adab20a3091cc680bb5711324febc0100c3a3ef98bc2c30d1f5812cff17ce.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4040, "num_bool": 2924, "num_int": 1116, "num_constraints": 44637}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.07}, "cpsat_response_stats": {"num_booleans": 5408, "num_conflicts": 1980, "num_branches": 44483, "num_binary_propagations": 3150386, "num_integer_propagations": 1307464, "num_restarts": 18, "wall_time": 3.26093, "user_time": 3.26093, "deterministic_time": 6.892}, "solution_info": "fs_random_no_lp", "problem_sha256": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "47888d1b56a42fa20c5c9457a9527199b1d09ec2b5528820a793234e19f5328e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380120.0}, "cpsat_response_stats": {"num_booleans": 36217, "num_conflicts": 498838, "num_branches": 1688437, "num_binary_propagations": 773107760, "num_integer_propagations": 152021540, "num_restarts": 1585, "wall_time": 1380.11, "user_time": 1380.11, "deterministic_time": 4132.21}, "solution_info": "no_lp", "problem_sha256": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "484ac3f3201370073c6a5c037e22b9f57078489440e357c56a6d9520b4c08955.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58090}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3964.92}, "cpsat_response_stats": {"num_booleans": 6194, "num_conflicts": 2044, "num_branches": 54259, "num_binary_propagations": 3721113, "num_integer_propagations": 1528990, "num_restarts": 18, "wall_time": 3.96189, "user_time": 3.96189, "deterministic_time": 8.29502}, "solution_info": "default_lp", "problem_sha256": "496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "496c320b8ef688332fdb62ad282e05824ed7c6897f1e1782de65658d4f17aa51.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3526, "num_bool": 2381, "num_int": 1145, "num_constraints": 41425, "constraint_breakdown": {"at_most_one": 189, "linear": 16915, "bool_or": 14381, "bool_and": 9940}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4810.32}, "cpsat_response_stats": {"num_booleans": 5240, "num_integers": 1037, "num_fixed_booleans": 473, "num_conflicts": 1252, "num_branches": 42558, "num_binary_propagations": 1957383, "num_integer_propagations": 851535, "num_restarts": 6, "num_lp_iterations": 6661, "wall_time": 4.79915, "user_time": 4.79915, "deterministic_time": 7.70899, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "49e2fc3d508cdb66bff21c054a927b03b334d0a849540dffb80c05d3fb77e18b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 51858, "constraint_breakdown": {"at_most_one": 215, "linear": 22392, "bool_or": 17514, "bool_and": 11737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8176.08}, "cpsat_response_stats": {"num_booleans": 7165, "num_integers": 1243, "num_fixed_booleans": 126, "num_conflicts": 2546, "num_branches": 59699, "num_binary_propagations": 3665901, "num_integer_propagations": 1576243, "num_restarts": 18, "num_lp_iterations": 29063, "wall_time": 8.16516, "user_time": 8.16516, "deterministic_time": 8.33407, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "49f5aba306220ddb56df3e237238e80ae4455ad2d41ef43856f5175dd6de48fa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 869, "num_int": 448, "num_constraints": 14660, "constraint_breakdown": {"at_most_one": 77, "linear": 5927, "bool_or": 5120, "bool_and": 3536}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 445.985}, "cpsat_response_stats": {"num_booleans": 708, "num_integers": 266, "num_fixed_booleans": 22, "num_conflicts": 107, "num_branches": 3158, "num_binary_propagations": 156670, "num_integer_propagations": 93672, "num_restarts": 1, "num_lp_iterations": 89, "wall_time": 0.444766, "user_time": 0.444766, "deterministic_time": 0.297181, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4a009d145752df05b177c81952c03a84a9ddae56fd662e856e212d32cd60dcee.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 36351, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12833, "bool_and": 8753}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10430, "objective_value": 956253000.0, "best_objective_bound": 956253000.0, "inner_objective_lower_bound": 956252755}, "cpsat_response_stats": {"num_booleans": 6956, "num_integers": 807, "num_fixed_booleans": 1459, "num_conflicts": 5154, "num_branches": 142175, "num_binary_propagations": 4315509, "num_integer_propagations": 1890957, "num_restarts": 22, "num_lp_iterations": 13264, "wall_time": 10.4192, "user_time": 10.4192, "deterministic_time": 7.39399, "gap_integral": 154.468, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "4b47d1f4093903ddae684d0c12f44befa58c593196420a6eb9aed30add89ba31", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4b47d1f4093903ddae684d0c12f44befa58c593196420a6eb9aed30add89ba31.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49290}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4210.68}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 3008, "num_branches": 60246, "num_binary_propagations": 2979437, "num_integer_propagations": 1260538, "num_restarts": 35, "wall_time": 4.20596, "user_time": 4.20596, "deterministic_time": 8.15272}, "solution_info": "default_lp", "problem_sha256": "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4b5c183b293875eb4e0b73aabd4581cbd17ba882b436d0dd49299632ccbbc661.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1783, "num_int": 788, "num_constraints": 29248, "constraint_breakdown": {"at_most_one": 133, "linear": 12340, "bool_or": 9996, "bool_and": 6779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2137.43}, "cpsat_response_stats": {"num_booleans": 2925, "num_integers": 661, "num_fixed_booleans": 75, "num_conflicts": 904, "num_branches": 18832, "num_binary_propagations": 1124029, "num_integer_propagations": 521434, "num_restarts": 6, "num_lp_iterations": 3247, "wall_time": 2.12997, "user_time": 2.12997, "deterministic_time": 2.15797, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4bec91f2bc8464588c77cbc76d4f59803f890548d8fc74c8a3346ff20c5dab37.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 23113, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7868, "bool_and": 5304}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5148.21, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 5314, "num_integers": 487, "num_fixed_booleans": 3970, "num_conflicts": 4754, "num_branches": 35523, "num_binary_propagations": 1912681, "num_integer_propagations": 797941, "num_restarts": 18, "num_lp_iterations": 5911, "wall_time": 5.14189, "user_time": 5.14189, "deterministic_time": 5.83089, "gap_integral": 121.132, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "4bf5333887900fa3b5ff5811f12d1f5c9c0bb0574018566d4538a620dad14e3b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4bf5333887900fa3b5ff5811f12d1f5c9c0bb0574018566d4538a620dad14e3b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3021.82}, "cpsat_response_stats": {"num_booleans": 5387, "num_conflicts": 2499, "num_branches": 49481, "num_binary_propagations": 2735742, "num_integer_propagations": 1191031, "num_restarts": 18, "wall_time": 3.01883, "user_time": 3.01883, "deterministic_time": 6.34042}, "solution_info": "default_lp", "problem_sha256": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5044}, "cpsat_response_stats": {"num_booleans": 2833, "num_integers": 612, "num_fixed_booleans": 67, "num_conflicts": 795, "num_branches": 16032, "num_binary_propagations": 673817, "num_integer_propagations": 340109, "num_restarts": 6, "num_lp_iterations": 2493, "wall_time": 5.03826, "user_time": 5.03826, "deterministic_time": 4.34903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.24686, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00029533, "user_time": 0.000295375, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8812.32}, "cpsat_response_stats": {"num_booleans": 4467, "num_integers": 612, "num_fixed_booleans": 1097, "num_conflicts": 4012, "num_branches": 48665, "num_binary_propagations": 3648981, "num_integer_propagations": 1308559, "num_restarts": 0, "num_lp_iterations": 22249, "wall_time": 8.79704, "user_time": 8.79704, "deterministic_time": 6.85314, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12609.5}, "cpsat_response_stats": {"num_booleans": 4780, "num_integers": 4287, "num_fixed_booleans": 1300, "num_conflicts": 930, "num_branches": 22739, "num_binary_propagations": 1315080, "num_integer_propagations": 1544538, "num_restarts": 18, "num_lp_iterations": 22537, "wall_time": 12.6034, "user_time": 12.6034, "deterministic_time": 5.15482, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6942.91}, "cpsat_response_stats": {"num_booleans": 2374, "num_integers": 2263, "num_fixed_booleans": 84, "num_conflicts": 479, "num_branches": 30592, "num_binary_propagations": 1281690, "num_integer_propagations": 1851457, "num_restarts": 18, "num_lp_iterations": 20919, "wall_time": 6.93512, "user_time": 6.93512, "deterministic_time": 5.25343, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "4d103dff0316dc6ba3d27838f49dd311510147101f6f497b97412b98eec9dae5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 26958, "constraint_breakdown": {"at_most_one": 133, "linear": 10767, "bool_or": 9444, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4414.12}, "cpsat_response_stats": {"num_booleans": 2430, "num_integers": 604, "num_fixed_booleans": 68, "num_conflicts": 364, "num_branches": 13035, "num_binary_propagations": 552071, "num_integer_propagations": 293727, "num_restarts": 3, "num_lp_iterations": 731, "wall_time": 4.40803, "user_time": 4.40803, "deterministic_time": 3.54087, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4d5a013b0cfc8432770fee3b3594f7a67323a3f280da178bb34e7332743f96a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2330, "num_bool": 1531, "num_int": 799, "num_constraints": 27198, "constraint_breakdown": {"at_most_one": 133, "linear": 10929, "bool_or": 9522, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3844.03}, "cpsat_response_stats": {"num_booleans": 2512, "num_integers": 596, "num_fixed_booleans": 235, "num_conflicts": 495, "num_branches": 12992, "num_binary_propagations": 761431, "num_integer_propagations": 374563, "num_restarts": 3, "num_lp_iterations": 763, "wall_time": 3.83919, "user_time": 3.83919, "deterministic_time": 2.81166, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "4dc032eadf8f2c84d493c917a5356a18eb9633a34763a134563923b85548d7ba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3107.88}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.10583, "user_time": 3.10583, "deterministic_time": 5.32494}, "solution_info": "quick_restart", "problem_sha256": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e4bc1ad622d2addafb58df0886f20fabf9c872e18cba83057410255a6e2f356.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94141}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14327.9}, "cpsat_response_stats": {"num_booleans": 13002, "num_conflicts": 11425, "num_branches": 111123, "num_binary_propagations": 12596212, "num_integer_propagations": 3817156, "num_restarts": 90, "wall_time": 14.3225, "user_time": 14.3225, "deterministic_time": 46.945}, "solution_info": "no_lp", "problem_sha256": "4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e6c3b06b6ba4421cdf19aa4425c5ba46ca6421a9b95557cbfcf7c23f95673c8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14481}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 305.266}, "cpsat_response_stats": {"num_booleans": 735, "num_conflicts": 111, "num_branches": 3720, "num_binary_propagations": 160418, "num_integer_propagations": 101919, "num_restarts": 1, "wall_time": 0.304553, "user_time": 0.304553, "deterministic_time": 0.3288}, "solution_info": "quick_restart_no_lp", "problem_sha256": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "4e8c7686d89bded81fddef4fc8ea2e0b4ad22cb6b922a354bdaa316218669561.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5114, "num_bool": 3610, "num_int": 1504, "num_constraints": 58789, "constraint_breakdown": {"at_most_one": 249, "linear": 24537, "bool_or": 20253, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5857.53}, "cpsat_response_stats": {"num_booleans": 6432, "num_integers": 1327, "num_fixed_booleans": 749, "num_conflicts": 1724, "num_branches": 50485, "num_binary_propagations": 3154978, "num_integer_propagations": 1415945, "num_restarts": 9, "num_lp_iterations": 13484, "wall_time": 5.84763, "user_time": 5.84763, "deterministic_time": 8.03885, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "505e49204f509b76db5e8fa0ecb2bc04befc0982ac388ed84d9f004e9d08a70a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3920, "num_bool": 2783, "num_int": 1137, "num_constraints": 44096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3216.8}, "cpsat_response_stats": {"num_booleans": 5393, "num_conflicts": 1153, "num_branches": 40430, "num_binary_propagations": 2599295, "num_integer_propagations": 1084690, "num_restarts": 9, "wall_time": 3.21505, "user_time": 3.21505, "deterministic_time": 6.91569}, "solution_info": "default_lp", "problem_sha256": "5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5085cb22f613e8a3f67099037e603983140390c5fcb8244df5383b667978713f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30292}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1799.35}, "cpsat_response_stats": {"num_booleans": 2442, "num_conflicts": 699, "num_branches": 15185, "num_binary_propagations": 1221574, "num_integer_propagations": 758606, "num_restarts": 3, "wall_time": 1.79839, "user_time": 1.79839, "deterministic_time": 2.55558}, "solution_info": "quick_restart", "problem_sha256": "5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5128497ce49b3c14f96b33bfecec456cd44208259435d5457c8c779c7f382bcb.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9137.48}, "cpsat_response_stats": {"num_booleans": 11965, "num_conflicts": 5533, "num_branches": 109722, "num_binary_propagations": 8413908, "num_integer_propagations": 2896401, "num_restarts": 51, "wall_time": 9.13361, "user_time": 9.13361, "deterministic_time": 24.3041}, "solution_info": "default_lp", "problem_sha256": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5216fc2158f95b1730c1fd3689b0b5a0d9415f13f1dee52b6266266215e21ed9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58639}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4951.53}, "cpsat_response_stats": {"num_booleans": 6939, "num_conflicts": 2474, "num_branches": 50561, "num_binary_propagations": 4551626, "num_integer_propagations": 1858271, "num_restarts": 20, "wall_time": 4.94701, "user_time": 4.94701, "deterministic_time": 8.24999}, "solution_info": "no_lp", "problem_sha256": "5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5228181749e5d9e41dbf585a386a3b46df5239edc6c9e853f3c4bfba86708de8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 30473, "constraint_breakdown": {"at_most_one": 135, "linear": 13057, "bool_or": 10322, "bool_and": 6959}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2600.23}, "cpsat_response_stats": {"num_booleans": 2466, "num_integers": 598, "num_fixed_booleans": 72, "num_conflicts": 686, "num_branches": 15497, "num_binary_propagations": 1012111, "num_integer_propagations": 497333, "num_restarts": 3, "num_lp_iterations": 1975, "wall_time": 2.58577, "user_time": 2.58577, "deterministic_time": 2.07778, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5248aba6397b3d34d16c24463aa8e1a7a3591f670a094a30becd777ecf915a9a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4129.05}, "cpsat_response_stats": {"num_booleans": 6510, "num_conflicts": 1937, "num_branches": 57423, "num_binary_propagations": 3988739, "num_integer_propagations": 1733389, "num_restarts": 15, "wall_time": 4.1255, "user_time": 4.1255, "deterministic_time": 8.30293}, "solution_info": "default_lp", "problem_sha256": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "53f9fe6243b44776260bb4960e2aab00cd17c495f0d955d618c7a7ded01a48ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 33949, "constraint_breakdown": {"at_most_one": 161, "linear": 13438, "bool_or": 12092, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3091.2}, "cpsat_response_stats": {"num_booleans": 3468, "num_integers": 733, "num_fixed_booleans": 419, "num_conflicts": 1072, "num_branches": 27025, "num_binary_propagations": 1289785, "num_integer_propagations": 557187, "num_restarts": 6, "num_lp_iterations": 6202, "wall_time": 3.08385, "user_time": 3.08385, "deterministic_time": 2.68433, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "548bd4883b8031f78a5996556af64afcade4691492c8df8ed78f8df468cc652f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4354.72}, "cpsat_response_stats": {"num_booleans": 6457, "num_conflicts": 4442, "num_branches": 51709, "num_binary_propagations": 4135504, "num_integer_propagations": 1615413, "num_restarts": 36, "wall_time": 4.3525, "user_time": 4.3525, "deterministic_time": 7.15852}, "solution_info": "fs_random_no_lp", "problem_sha256": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "55194630a32dfef1e51e9adc4cd97e19a58f98d99e9d0668428a70b57f0539e5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5903.16}, "cpsat_response_stats": {"num_booleans": 4616, "num_integers": 983, "num_fixed_booleans": 108, "num_conflicts": 532, "num_branches": 30142, "num_binary_propagations": 1181170, "num_integer_propagations": 513120, "num_restarts": 3, "num_lp_iterations": 3391, "wall_time": 5.88481, "user_time": 5.88481, "deterministic_time": 6.48306, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.00807, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000227387, "user_time": 0.000227433, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13538.5}, "cpsat_response_stats": {"num_booleans": 5158, "num_integers": 983, "num_fixed_booleans": 118, "num_conflicts": 3834, "num_branches": 50951, "num_binary_propagations": 2269575, "num_integer_propagations": 1030181, "num_restarts": 0, "num_lp_iterations": 41765, "wall_time": 13.5304, "user_time": 13.5304, "deterministic_time": 10.3287, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18649.8}, "cpsat_response_stats": {"num_booleans": 7817, "num_integers": 7067, "num_fixed_booleans": 1723, "num_conflicts": 1231, "num_branches": 32251, "num_binary_propagations": 2061143, "num_integer_propagations": 2255359, "num_restarts": 17, "num_lp_iterations": 23976, "wall_time": 18.5998, "user_time": 18.5998, "deterministic_time": 6.68736, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 39594, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 13952, "bool_and": 9863}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9745.95}, "cpsat_response_stats": {"num_booleans": 4503, "num_integers": 4253, "num_fixed_booleans": 118, "num_conflicts": 569, "num_branches": 35359, "num_binary_propagations": 1413451, "num_integer_propagations": 1975072, "num_restarts": 17, "num_lp_iterations": 24874, "wall_time": 9.73566, "user_time": 9.73566, "deterministic_time": 7.41857, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "55dbffbe3c3057d4a4cebcd6be12812ec51a731ee21cade11d5bdc09035f083b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11165.7}, "cpsat_response_stats": {"num_booleans": 7759, "num_integers": 1359, "num_fixed_booleans": 345, "num_conflicts": 3701, "num_branches": 72784, "num_binary_propagations": 4400308, "num_integer_propagations": 1840205, "num_restarts": 27, "num_lp_iterations": 48721, "wall_time": 11.1528, "user_time": 11.1528, "deterministic_time": 13.4906, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.58772, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000256256, "user_time": 0.000256303, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22683.6}, "cpsat_response_stats": {"num_booleans": 7289, "num_integers": 1359, "num_fixed_booleans": 157, "num_conflicts": 3197, "num_branches": 52614, "num_binary_propagations": 4044535, "num_integer_propagations": 1644583, "num_restarts": 0, "num_lp_iterations": 38838, "wall_time": 22.6706, "user_time": 22.6706, "deterministic_time": 11.5043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22941}, "cpsat_response_stats": {"num_booleans": 11154, "num_integers": 9587, "num_fixed_booleans": 2249, "num_conflicts": 2267, "num_branches": 56782, "num_binary_propagations": 4934277, "num_integer_propagations": 5239350, "num_restarts": 42, "num_lp_iterations": 35914, "wall_time": 22.9279, "user_time": 22.9279, "deterministic_time": 13.6936, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19546.1}, "cpsat_response_stats": {"num_booleans": 6976, "num_integers": 6156, "num_fixed_booleans": 173, "num_conflicts": 1626, "num_branches": 62551, "num_binary_propagations": 4042168, "num_integer_propagations": 6770646, "num_restarts": 72, "num_lp_iterations": 41540, "wall_time": 19.5301, "user_time": 19.5301, "deterministic_time": 15.2393, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "561e359c0dfd474aef398b08edbcaa429b63f38953cd73fb76d42e34595d7066.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4481100.0}, "cpsat_response_stats": {"num_booleans": 39595, "num_integers": 4937, "num_fixed_booleans": 1515, "num_conflicts": 891686, "num_branches": 3512483, "num_binary_propagations": 1239961259, "num_integer_propagations": 304654974, "num_restarts": 3452, "num_lp_iterations": 27799834, "wall_time": 4481.03, "user_time": 4481.03, "deterministic_time": 7757.25, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.51428, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000316479, "user_time": 0.000316524, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16038000.0}, "cpsat_response_stats": {"num_booleans": 36006, "num_integers": 4937, "num_fixed_booleans": 1394, "num_conflicts": 1569581, "num_branches": 5291914, "num_binary_propagations": 2128308634, "num_integer_propagations": 514663988, "num_restarts": 0, "num_lp_iterations": 40947164, "wall_time": 16037.9, "user_time": 16037.9, "deterministic_time": 16974.9, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7612750.0}, "cpsat_response_stats": {"num_booleans": 38286, "num_integers": 29439, "num_fixed_booleans": 1698, "num_conflicts": 95315, "num_branches": 2284530, "num_binary_propagations": 264550172, "num_integer_propagations": 219470060, "num_restarts": 8744, "num_lp_iterations": 10684967, "wall_time": 7612.63, "user_time": 7612.63, "deterministic_time": 8263.45, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "5651d412c1f0510a7ff1b43da9e22935ec2c616c7ad6d2f15b7d8cb00930480c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19373, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6807, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 969.978}, "cpsat_response_stats": {"num_booleans": 1423, "num_integers": 368, "num_fixed_booleans": 55, "num_conflicts": 248, "num_branches": 7114, "num_binary_propagations": 321268, "num_integer_propagations": 160419, "num_restarts": 1, "num_lp_iterations": 111, "wall_time": 0.968558, "user_time": 0.968559, "deterministic_time": 0.652094, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "568cb19ecec5f12612462493e54e7af582f6b43606359e934281a90751fda3c7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4231.64}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.22822, "user_time": 4.22822, "deterministic_time": 7.95616}, "solution_info": "quick_restart_no_lp", "problem_sha256": "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "57b21c3f6c8f3ceb646f5ce6950949114d86bc1a225d6db5437e6f654821a6c6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3337.57}, "cpsat_response_stats": {"num_booleans": 2916, "num_integers": 649, "num_fixed_booleans": 168, "num_conflicts": 801, "num_branches": 17137, "num_binary_propagations": 949189, "num_integer_propagations": 461149, "num_restarts": 3, "num_lp_iterations": 1998, "wall_time": 3.33172, "user_time": 3.33172, "deterministic_time": 3.11203, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.98459, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000253424, "user_time": 0.00025345, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7737.58}, "cpsat_response_stats": {"num_booleans": 6076, "num_integers": 649, "num_fixed_booleans": 1461, "num_conflicts": 6286, "num_branches": 31517, "num_binary_propagations": 3343780, "num_integer_propagations": 1107339, "num_restarts": 0, "num_lp_iterations": 27056, "wall_time": 7.72957, "user_time": 7.72957, "deterministic_time": 5.66092, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8678.9}, "cpsat_response_stats": {"num_booleans": 5035, "num_integers": 4461, "num_fixed_booleans": 1292, "num_conflicts": 1368, "num_branches": 21686, "num_binary_propagations": 1817232, "num_integer_propagations": 1838564, "num_restarts": 29, "num_lp_iterations": 26797, "wall_time": 8.66894, "user_time": 8.66894, "deterministic_time": 4.63071, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31874, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10698, "bool_and": 7156}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6985.62}, "cpsat_response_stats": {"num_booleans": 2711, "num_integers": 2552, "num_fixed_booleans": 290, "num_conflicts": 1003, "num_branches": 33727, "num_binary_propagations": 2068252, "num_integer_propagations": 2396713, "num_restarts": 25, "num_lp_iterations": 20626, "wall_time": 6.97899, "user_time": 6.97899, "deterministic_time": 4.77755, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "57b759f315f04cd49b38987b95a953459c7c29e4f53de8dd7a16f65c5057c92b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12685.6}, "cpsat_response_stats": {"num_booleans": 9184, "num_integers": 1680, "num_fixed_booleans": 213, "num_conflicts": 2679, "num_branches": 103365, "num_binary_propagations": 3888429, "num_integer_propagations": 1823211, "num_restarts": 30, "num_lp_iterations": 51432, "wall_time": 12.6691, "user_time": 12.6691, "deterministic_time": 14.722, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 3.08171, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000315364, "user_time": 0.000315427, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 57042.5}, "cpsat_response_stats": {"num_booleans": 10671, "num_integers": 1680, "num_fixed_booleans": 271, "num_conflicts": 9673, "num_branches": 132363, "num_binary_propagations": 7152017, "num_integer_propagations": 3127962, "num_restarts": 0, "num_lp_iterations": 145400, "wall_time": 57.027, "user_time": 57.027, "deterministic_time": 44.4706, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14827}, "cpsat_response_stats": {"num_booleans": 13398, "num_integers": 12157, "num_fixed_booleans": 2608, "num_conflicts": 1763, "num_branches": 58359, "num_binary_propagations": 4145550, "num_integer_propagations": 4519043, "num_restarts": 4, "num_lp_iterations": 11212, "wall_time": 14.8122, "user_time": 14.8122, "deterministic_time": 7.18691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 64588, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 22778, "bool_and": 16139}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 80851.6}, "cpsat_response_stats": {"num_booleans": 8410, "num_integers": 7839, "num_fixed_booleans": 332, "num_conflicts": 2452, "num_branches": 90982, "num_binary_propagations": 4746828, "num_integer_propagations": 6764718, "num_restarts": 171, "num_lp_iterations": 198699, "wall_time": 80.8329, "user_time": 80.8329, "deterministic_time": 71.9978, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38398, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12974, "bool_and": 8732}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11764, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8186, "num_integers": 957, "num_fixed_booleans": 1025, "num_conflicts": 6564, "num_branches": 84399, "num_binary_propagations": 3888748, "num_integer_propagations": 1648379, "num_restarts": 40, "num_lp_iterations": 29554, "wall_time": 11.7529, "user_time": 11.7529, "deterministic_time": 10.75, "gap_integral": 227.487, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "59703dbe66412fd1ab21a7c83351814914d6a3dbbedfe41041b8faf435dd4011", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "59703dbe66412fd1ab21a7c83351814914d6a3dbbedfe41041b8faf435dd4011.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26307}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1079.47}, "cpsat_response_stats": {"num_booleans": 3237, "num_conflicts": 1269, "num_branches": 28923, "num_binary_propagations": 854241, "num_integer_propagations": 399720, "num_restarts": 9, "wall_time": 1.07836, "user_time": 1.07836, "deterministic_time": 1.56722}, "solution_info": "quick_restart", "problem_sha256": "597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "597355ebc6ef3cf4559ca40bef67472ce681fc7773899b3e6d151cf06282e67c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 105.102}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.104788, "user_time": 0.104788, "deterministic_time": 0.0895648}, "solution_info": "no_lp", "problem_sha256": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58639}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3841.35}, "cpsat_response_stats": {"num_booleans": 7038, "num_conflicts": 1311, "num_branches": 55094, "num_binary_propagations": 3742715, "num_integer_propagations": 1575336, "num_restarts": 9, "wall_time": 3.83622, "user_time": 3.83622, "deterministic_time": 8.26568}, "solution_info": "default_lp", "problem_sha256": "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20738, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7166, "bool_and": 4877}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1158.32}, "cpsat_response_stats": {"num_booleans": 1746, "num_integers": 459, "num_fixed_booleans": 49, "num_conflicts": 353, "num_branches": 9988, "num_binary_propagations": 449533, "num_integer_propagations": 230653, "num_restarts": 3, "num_lp_iterations": 615, "wall_time": 1.15683, "user_time": 1.15683, "deterministic_time": 0.909669, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5b643f5787956a7cc645eb43384ea0fa8631a71c3d429bc8da67e2d26fd720a1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10133.3}, "cpsat_response_stats": {"num_booleans": 9430, "num_conflicts": 4204, "num_branches": 96355, "num_binary_propagations": 4602227, "num_integer_propagations": 1948703, "num_restarts": 48, "wall_time": 10.13, "user_time": 10.13, "deterministic_time": 23.0398}, "solution_info": "default_lp", "problem_sha256": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5b7f113c4c253c96360a1b1a8d0556ac77d08c5de1df11b21ae6c21fd7a5b10e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85727, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29303, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19871.1}, "cpsat_response_stats": {"num_booleans": 11813, "num_integers": 2018, "num_fixed_booleans": 298, "num_conflicts": 11530, "num_branches": 108844, "num_binary_propagations": 11531709, "num_integer_propagations": 3723841, "num_restarts": 90, "num_lp_iterations": 155261, "wall_time": 19.8573, "user_time": 19.8573, "deterministic_time": 32.3834, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4812, "num_bool": 3325, "num_int": 1487, "num_constraints": 56624, "constraint_breakdown": {"at_most_one": 245, "linear": 23685, "bool_or": 19414, "bool_and": 13280}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6474.67}, "cpsat_response_stats": {"num_booleans": 6764, "num_integers": 1392, "num_fixed_booleans": 139, "num_conflicts": 1458, "num_branches": 52985, "num_binary_propagations": 3474698, "num_integer_propagations": 1512590, "num_restarts": 12, "num_lp_iterations": 16950, "wall_time": 6.46598, "user_time": 6.46598, "deterministic_time": 8.2366, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5c113822cd66b2d552f8963bfb44ea77942c0912a9d61f00e742058e73472939.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7406.27}, "cpsat_response_stats": {"num_booleans": 7068, "num_integers": 1389, "num_fixed_booleans": 141, "num_conflicts": 3399, "num_branches": 58637, "num_binary_propagations": 3228394, "num_integer_propagations": 1400632, "num_restarts": 38, "num_lp_iterations": 38934, "wall_time": 7.3957, "user_time": 7.3957, "deterministic_time": 7.80385, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.17869, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000291167, "user_time": 0.000291211, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28051.8}, "cpsat_response_stats": {"num_booleans": 7414, "num_integers": 1389, "num_fixed_booleans": 179, "num_conflicts": 6216, "num_branches": 87813, "num_binary_propagations": 4638140, "num_integer_propagations": 1983885, "num_restarts": 0, "num_lp_iterations": 73920, "wall_time": 28.0374, "user_time": 28.0374, "deterministic_time": 19.3859, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22609.6}, "cpsat_response_stats": {"num_booleans": 10987, "num_integers": 9891, "num_fixed_booleans": 2270, "num_conflicts": 1596, "num_branches": 47750, "num_binary_propagations": 3537092, "num_integer_propagations": 3871205, "num_restarts": 10, "num_lp_iterations": 13878, "wall_time": 22.5912, "user_time": 22.5912, "deterministic_time": 7.21713, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17382}, "cpsat_response_stats": {"num_booleans": 6582, "num_integers": 6215, "num_fixed_booleans": 193, "num_conflicts": 1104, "num_branches": 56837, "num_binary_propagations": 2922285, "num_integer_propagations": 4607758, "num_restarts": 46, "num_lp_iterations": 41769, "wall_time": 17.3688, "user_time": 17.3688, "deterministic_time": 14.8339, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "5c6b8b896ddf71d458fd0af11ccecaa00e0217f98d21c0ac6fc53e49742d5003.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1670, "num_bool": 1070, "num_int": 600, "num_constraints": 19247}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 670.551}, "cpsat_response_stats": {"num_booleans": 1773, "num_conflicts": 264, "num_branches": 9558, "num_binary_propagations": 374376, "num_integer_propagations": 181929, "num_restarts": 3, "wall_time": 0.669336, "user_time": 0.669336, "deterministic_time": 0.780983}, "solution_info": "quick_restart", "problem_sha256": "5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5c7fbb637ba552db26f14b8bc9914ed528a7f81c6cf0d066f175b9c8709a9310.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 27265, "constraint_breakdown": {"at_most_one": 133, "linear": 10798, "bool_or": 9601, "bool_and": 6733}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4029.71}, "cpsat_response_stats": {"num_booleans": 2868, "num_integers": 637, "num_fixed_booleans": 71, "num_conflicts": 422, "num_branches": 16484, "num_binary_propagations": 682321, "num_integer_propagations": 323261, "num_restarts": 3, "num_lp_iterations": 1465, "wall_time": 4.01685, "user_time": 4.01685, "deterministic_time": 2.60462, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5d27c27284a1efabd0e614c927db18ff7ba60ac4c6d120867ae49804606d33f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42739}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3438.95}, "cpsat_response_stats": {"num_booleans": 4945, "num_conflicts": 1428, "num_branches": 46037, "num_binary_propagations": 2327466, "num_integer_propagations": 994210, "num_restarts": 12, "wall_time": 3.43749, "user_time": 3.43749, "deterministic_time": 7.29287}, "solution_info": "no_lp", "problem_sha256": "5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "5d3e7651fac0ff61e2af85a19b94e89acbc3264678e3d7ccf3b767afdd415a1a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 37830, "constraint_breakdown": {"at_most_one": 188, "linear": 14589, "bool_or": 13460, "bool_and": 9593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6061.9}, "cpsat_response_stats": {"num_booleans": 9967, "num_integers": 971, "num_fixed_booleans": 118, "num_conflicts": 6561, "num_branches": 61517, "num_binary_propagations": 2573608, "num_integer_propagations": 985029, "num_restarts": 18, "num_lp_iterations": 23377, "wall_time": 6.0531, "user_time": 6.0531, "deterministic_time": 7.28667, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5e03f49283bdafdd3a0f637bf19dde9b77735fd8f4a0e8cd4e8af9e3bb006e4a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 61648, "constraint_breakdown": {"at_most_one": 300, "linear": 23701, "bool_or": 21958, "bool_and": 15689}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32885.9}, "cpsat_response_stats": {"num_booleans": 10138, "num_integers": 1662, "num_fixed_booleans": 274, "num_conflicts": 9305, "num_branches": 123328, "num_binary_propagations": 6487781, "num_integer_propagations": 2913619, "num_restarts": 81, "num_lp_iterations": 121430, "wall_time": 32.8604, "user_time": 32.8604, "deterministic_time": 32.1626, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5e7e1a665985eea7a66215f3b479b1c945f9562025c4281a9ba00f455c187e46.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1979, "num_bool": 1377, "num_int": 602, "num_constraints": 21981, "constraint_breakdown": {"at_most_one": 104, "linear": 9343, "bool_or": 7511, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6436.58}, "cpsat_response_stats": {"num_booleans": 1643, "num_integers": 453, "num_fixed_booleans": 47, "num_conflicts": 436, "num_branches": 9745, "num_binary_propagations": 599806, "num_integer_propagations": 293690, "num_restarts": 3, "num_lp_iterations": 813, "wall_time": 6.4326, "user_time": 6.4326, "deterministic_time": 1.9513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "5f84583fd6d8cd9e732ba4f0c0922ce8935d1ef2820ebbd9fe01a87ec3121746.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 21165, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7399, "bool_and": 5137}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3606.39, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 1940, "num_integers": 517, "num_fixed_booleans": 1632, "num_conflicts": 391, "num_branches": 11835, "num_binary_propagations": 1160126, "num_integer_propagations": 431224, "num_restarts": 3, "num_lp_iterations": 1043, "wall_time": 3.60027, "user_time": 3.60027, "deterministic_time": 2.73636, "gap_integral": 55.6155, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "5f996769b676f0b952adf679945d3e9b66e463dfccc488f12f6eb14b863657a3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5f996769b676f0b952adf679945d3e9b66e463dfccc488f12f6eb14b863657a3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3508.55}, "cpsat_response_stats": {"num_booleans": 3365, "num_integers": 747, "num_fixed_booleans": 110, "num_conflicts": 857, "num_branches": 24069, "num_binary_propagations": 1267210, "num_integer_propagations": 535985, "num_restarts": 6, "num_lp_iterations": 4136, "wall_time": 3.50208, "user_time": 3.50208, "deterministic_time": 3.39139, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.29503, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000287964, "user_time": 0.000288005, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7560.37}, "cpsat_response_stats": {"num_booleans": 4007, "num_integers": 747, "num_fixed_booleans": 1320, "num_conflicts": 1267, "num_branches": 26258, "num_binary_propagations": 1426217, "num_integer_propagations": 627255, "num_restarts": 0, "num_lp_iterations": 4119, "wall_time": 7.55076, "user_time": 7.55076, "deterministic_time": 4.39781, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13708.6}, "cpsat_response_stats": {"num_booleans": 6592, "num_integers": 5923, "num_fixed_booleans": 1831, "num_conflicts": 1467, "num_branches": 25289, "num_binary_propagations": 2093417, "num_integer_propagations": 2214026, "num_restarts": 28, "num_lp_iterations": 20678, "wall_time": 13.6869, "user_time": 13.6869, "deterministic_time": 5.07474, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11492.8}, "cpsat_response_stats": {"num_booleans": 3311, "num_integers": 3144, "num_fixed_booleans": 110, "num_conflicts": 960, "num_branches": 26721, "num_binary_propagations": 1480500, "num_integer_propagations": 1780263, "num_restarts": 41, "num_lp_iterations": 23475, "wall_time": 11.4659, "user_time": 11.4659, "deterministic_time": 5.15028, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "5fd76f37541dc792dccaecc2dc74a06253b8fe3ab9cd70a8026fb24aa6fa4fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42739}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4085.09}, "cpsat_response_stats": {"num_booleans": 8905, "num_conflicts": 5788, "num_branches": 70467, "num_binary_propagations": 2857668, "num_integer_propagations": 1282433, "num_restarts": 19, "wall_time": 4.08368, "user_time": 4.08368, "deterministic_time": 7.30942}, "solution_info": "no_lp", "problem_sha256": "6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6048b517bbdeda0a3da0f391f05dfddeeab6a848e1c620d1e152821537c8d307.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44889}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.15}, "cpsat_response_stats": {"num_booleans": 5018, "num_conflicts": 1334, "num_branches": 41508, "num_binary_propagations": 2778278, "num_integer_propagations": 1247988, "num_restarts": 12, "wall_time": 3.90672, "user_time": 3.90672, "deterministic_time": 6.01053}, "solution_info": "fs_random_no_lp", "problem_sha256": "612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "612b13f52e47be29ba0bc3a2be5c4e042a513765e87fb0b8676d152f8a8409f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11005.1}, "cpsat_response_stats": {"num_booleans": 7401, "num_integers": 1416, "num_fixed_booleans": 179, "num_conflicts": 2742, "num_branches": 65991, "num_binary_propagations": 3957020, "num_integer_propagations": 1731493, "num_restarts": 27, "num_lp_iterations": 44635, "wall_time": 10.9931, "user_time": 10.9931, "deterministic_time": 14.2197, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.22497, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000303911, "user_time": 0.000303941, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28291.4}, "cpsat_response_stats": {"num_booleans": 7551, "num_integers": 1416, "num_fixed_booleans": 164, "num_conflicts": 6689, "num_branches": 71130, "num_binary_propagations": 5887744, "num_integer_propagations": 2239308, "num_restarts": 0, "num_lp_iterations": 94834, "wall_time": 28.2778, "user_time": 28.2778, "deterministic_time": 21.2207, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 43607.7}, "cpsat_response_stats": {"num_booleans": 11130, "num_integers": 9899, "num_fixed_booleans": 2221, "num_conflicts": 2581, "num_branches": 61824, "num_binary_propagations": 5324185, "num_integer_propagations": 5632247, "num_restarts": 86, "num_lp_iterations": 68095, "wall_time": 43.5781, "user_time": 43.5781, "deterministic_time": 20.6854, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 61665, "constraint_breakdown": {"at_most_one": 247, "linear": 26480, "bool_or": 20822, "bool_and": 14116}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24185.5}, "cpsat_response_stats": {"num_booleans": 6980, "num_integers": 6462, "num_fixed_booleans": 207, "num_conflicts": 1732, "num_branches": 67924, "num_binary_propagations": 4054180, "num_integer_propagations": 6263362, "num_restarts": 82, "num_lp_iterations": 66340, "wall_time": 24.1702, "user_time": 24.1702, "deterministic_time": 22.5426, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5273, "num_bool": 3652, "num_int": 1621, "num_constraints": 58497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4069.74}, "cpsat_response_stats": {"num_booleans": 7841, "num_conflicts": 2224, "num_branches": 71568, "num_binary_propagations": 4097680, "num_integer_propagations": 1586312, "num_restarts": 21, "wall_time": 4.06692, "user_time": 4.06692, "deterministic_time": 7.95576}, "solution_info": "quick_restart_no_lp", "problem_sha256": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "62c6e2f566388ddc13097f1369c9ad4569c1b4f54f888066e8ab2bfe96d3a0b4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 14603, "constraint_breakdown": {"at_most_one": 77, "linear": 5899, "bool_or": 5091, "bool_and": 3536}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 518.256}, "cpsat_response_stats": {"num_booleans": 840, "num_integers": 272, "num_fixed_booleans": 29, "num_conflicts": 222, "num_branches": 4388, "num_binary_propagations": 159373, "num_integer_propagations": 100047, "num_restarts": 3, "num_lp_iterations": 2862, "wall_time": 0.517281, "user_time": 0.517281, "deterministic_time": 0.312387, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "638dcb77f7553a70d99b39378c3be82213f350c928231057239ca5680b6fd284.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3194.54}, "cpsat_response_stats": {"num_booleans": 2521, "num_integers": 610, "num_fixed_booleans": 87, "num_conflicts": 601, "num_branches": 16127, "num_binary_propagations": 914696, "num_integer_propagations": 449479, "num_restarts": 3, "num_lp_iterations": 2098, "wall_time": 3.18728, "user_time": 3.18728, "deterministic_time": 2.75747, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.97566, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00024896, "user_time": 0.000248989, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7668.06}, "cpsat_response_stats": {"num_booleans": 5088, "num_integers": 610, "num_fixed_booleans": 1079, "num_conflicts": 4395, "num_branches": 24550, "num_binary_propagations": 2286463, "num_integer_propagations": 872710, "num_restarts": 0, "num_lp_iterations": 13238, "wall_time": 7.64272, "user_time": 7.64272, "deterministic_time": 4.32109, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8973.46}, "cpsat_response_stats": {"num_booleans": 4823, "num_integers": 4287, "num_fixed_booleans": 1297, "num_conflicts": 1268, "num_branches": 20798, "num_binary_propagations": 1715995, "num_integer_propagations": 1771172, "num_restarts": 29, "num_lp_iterations": 27960, "wall_time": 8.96435, "user_time": 8.96435, "deterministic_time": 4.81729, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7004.18}, "cpsat_response_stats": {"num_booleans": 2451, "num_integers": 2321, "num_fixed_booleans": 126, "num_conflicts": 912, "num_branches": 28568, "num_binary_propagations": 1758700, "num_integer_propagations": 2069066, "num_restarts": 26, "num_lp_iterations": 20832, "wall_time": 6.99671, "user_time": 6.99671, "deterministic_time": 4.59746, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2893.75}, "cpsat_response_stats": {"num_booleans": 1933, "num_integers": 474, "num_fixed_booleans": 55, "num_conflicts": 382, "num_branches": 10557, "num_binary_propagations": 472961, "num_integer_propagations": 227459, "num_restarts": 3, "num_lp_iterations": 448, "wall_time": 2.8891, "user_time": 2.8891, "deterministic_time": 2.23047, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.54777, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000323102, "user_time": 0.000323147, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5388.23}, "cpsat_response_stats": {"num_booleans": 2387, "num_integers": 474, "num_fixed_booleans": 140, "num_conflicts": 1190, "num_branches": 12631, "num_binary_propagations": 598827, "num_integer_propagations": 299302, "num_restarts": 0, "num_lp_iterations": 3050, "wall_time": 5.37972, "user_time": 5.37972, "deterministic_time": 2.53336, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5169.83}, "cpsat_response_stats": {"num_booleans": 4001, "num_integers": 3576, "num_fixed_booleans": 1246, "num_conflicts": 1083, "num_branches": 24088, "num_binary_propagations": 1769211, "num_integer_propagations": 1891126, "num_restarts": 29, "num_lp_iterations": 22913, "wall_time": 5.16459, "user_time": 5.16459, "deterministic_time": 3.95347, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 21835, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7475, "bool_and": 5059}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5403.58}, "cpsat_response_stats": {"num_booleans": 1823, "num_integers": 1734, "num_fixed_booleans": 70, "num_conflicts": 598, "num_branches": 33135, "num_binary_propagations": 1489596, "num_integer_propagations": 1915225, "num_restarts": 25, "num_lp_iterations": 21498, "wall_time": 5.39233, "user_time": 5.39233, "deterministic_time": 4.05668, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "63f1e1c6c7452e11af1db799f7a380dabc9c9b6edb7083f59d57c4952dfdb16d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 43015, "constraint_breakdown": {"at_most_one": 191, "linear": 17867, "bool_or": 14791, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6785.44}, "cpsat_response_stats": {"num_booleans": 4671, "num_integers": 982, "num_fixed_booleans": 99, "num_conflicts": 1010, "num_branches": 38777, "num_binary_propagations": 1872465, "num_integer_propagations": 875450, "num_restarts": 9, "num_lp_iterations": 10049, "wall_time": 6.77757, "user_time": 6.77757, "deterministic_time": 6.0984, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "643f0a85b4d3d3c13ef9cfbbbc20b1dc8f9d837a181ad2ebb84c6823e91829b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5707370.0}, "cpsat_response_stats": {"num_booleans": 35693, "num_integers": 4939, "num_fixed_booleans": 1395, "num_conflicts": 1489558, "num_branches": 5574793, "num_binary_propagations": 1928527875, "num_integer_propagations": 481837838, "num_restarts": 6126, "num_lp_iterations": 36365330, "wall_time": 5707.34, "user_time": 5707.34, "deterministic_time": 10405.8, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.12978, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000259879, "user_time": 0.000259924, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12932300.0}, "cpsat_response_stats": {"num_booleans": 35694, "num_integers": 4939, "num_fixed_booleans": 1396, "num_conflicts": 1126188, "num_branches": 4595390, "num_binary_propagations": 1356957526, "num_integer_propagations": 383240435, "num_restarts": 0, "num_lp_iterations": 27292686, "wall_time": 12932, "user_time": 12932, "deterministic_time": 11406.4, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11047000.0}, "cpsat_response_stats": {"num_booleans": 47456, "num_integers": 37481, "num_fixed_booleans": 5979, "num_conflicts": 55602, "num_branches": 1341630, "num_binary_propagations": 173024170, "num_integer_propagations": 143801462, "num_restarts": 4811, "num_lp_iterations": 6959732, "wall_time": 11047, "user_time": 11047, "deterministic_time": 10562.1, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16436, "num_int": 4431, "num_constraints": 246453, "constraint_breakdown": {"at_most_one": 727, "linear": 115431, "bool_or": 79440, "bool_and": 50855}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8312350.0}, "cpsat_response_stats": {"num_booleans": 38603, "num_integers": 29444, "num_fixed_booleans": 1753, "num_conflicts": 104901, "num_branches": 2459828, "num_binary_propagations": 297095930, "num_integer_propagations": 244149386, "num_restarts": 9615, "num_lp_iterations": 11818556, "wall_time": 8312.3, "user_time": 8312.3, "deterministic_time": 9350.26, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "64e85d066f667ad5185c60b610746320099aafce4e68f71ded08c02a10c15ec2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1575.51}, "cpsat_response_stats": {"num_booleans": 1339, "num_integers": 355, "num_fixed_booleans": 47, "num_conflicts": 260, "num_branches": 7247, "num_binary_propagations": 311429, "num_integer_propagations": 153672, "num_restarts": 1, "num_lp_iterations": 255, "wall_time": 1.57354, "user_time": 1.57354, "deterministic_time": 1.11017, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.93891, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000246893, "user_time": 0.000246939, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4429.24}, "cpsat_response_stats": {"num_booleans": 1342, "num_integers": 355, "num_fixed_booleans": 50, "num_conflicts": 376, "num_branches": 7698, "num_binary_propagations": 410476, "num_integer_propagations": 188739, "num_restarts": 0, "num_lp_iterations": 296, "wall_time": 4.41342, "user_time": 4.41342, "deterministic_time": 1.32717, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9772.17}, "cpsat_response_stats": {"num_booleans": 3524, "num_integers": 3145, "num_fixed_booleans": 1285, "num_conflicts": 967, "num_branches": 18797, "num_binary_propagations": 1493479, "num_integer_propagations": 1628345, "num_restarts": 22, "num_lp_iterations": 20617, "wall_time": 9.76553, "user_time": 9.76553, "deterministic_time": 3.89126, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11440.3}, "cpsat_response_stats": {"num_booleans": 1352, "num_integers": 1288, "num_fixed_booleans": 71, "num_conflicts": 590, "num_branches": 21906, "num_binary_propagations": 1344191, "num_integer_propagations": 1560983, "num_restarts": 19, "num_lp_iterations": 15483, "wall_time": 11.4184, "user_time": 11.4184, "deterministic_time": 2.96958, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "64f19a6620a3451dd37087293c226c20f9ba01beb928e880795025bc17642ade.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10407, "num_bool": 7751, "num_int": 2656, "num_constraints": 117505, "constraint_breakdown": {"at_most_one": 443, "linear": 51483, "bool_or": 39529, "bool_and": 26050}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 60117.3}, "cpsat_response_stats": {"num_booleans": 17513, "num_integers": 2660, "num_fixed_booleans": 1282, "num_conflicts": 29456, "num_branches": 160280, "num_binary_propagations": 36041087, "num_integer_propagations": 8892996, "num_restarts": 156, "num_lp_iterations": 499299, "wall_time": 60.0958, "user_time": 60.0958, "deterministic_time": 136.939, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "664907ffb2bdbd0cb7b5fb4c3b2c5d9c700b96a8267691ee4330a5dd2f370ead.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3208.92}, "cpsat_response_stats": {"num_booleans": 4386, "num_conflicts": 839, "num_branches": 29713, "num_binary_propagations": 1732122, "num_integer_propagations": 738116, "num_restarts": 6, "wall_time": 3.20745, "user_time": 3.20745, "deterministic_time": 4.43972}, "solution_info": "quick_restart_no_lp", "problem_sha256": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "66754667bf567d1f18152078c6781cbd453cccac416c9d06db5087e6a10c51f0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3104.21}, "cpsat_response_stats": {"num_booleans": 6938, "num_conflicts": 5755, "num_branches": 41690, "num_binary_propagations": 3799635, "num_integer_propagations": 1460828, "num_restarts": 42, "wall_time": 3.1019, "user_time": 3.1019, "deterministic_time": 6.06734}, "solution_info": "no_lp", "problem_sha256": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "674b484eb726690bc9d4878cb217bc6b22f30eac4f8d512be6e2713a303545dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 713, "num_bool": 461, "num_int": 252, "num_constraints": 7361}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 112.046}, "cpsat_response_stats": {"num_booleans": 751, "num_conflicts": 557, "num_branches": 4453, "num_binary_propagations": 30137, "num_integer_propagations": 43012, "num_restarts": 5, "wall_time": 0.111736, "user_time": 0.111736, "deterministic_time": 0.0896132}, "solution_info": "no_lp", "problem_sha256": "67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "67bbbc9a42158b6dfe51a3f52021cdb80ae1535eeeca21150ce10283948d9710.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1924, "num_int": 789, "num_constraints": 30412, "constraint_breakdown": {"at_most_one": 134, "linear": 13055, "bool_or": 10317, "bool_and": 6906}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1796.49}, "cpsat_response_stats": {"num_booleans": 2440, "num_integers": 594, "num_fixed_booleans": 395, "num_conflicts": 624, "num_branches": 12812, "num_binary_propagations": 924129, "num_integer_propagations": 413763, "num_restarts": 3, "num_lp_iterations": 816, "wall_time": 1.79398, "user_time": 1.79398, "deterministic_time": 1.73543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "67c6242c56a30b0610b4b4df8c9e802609c922c84515ddb24daa8a265ed05798.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 737.151}, "cpsat_response_stats": {"num_booleans": 828, "num_integers": 286, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 22, "wall_time": 0.736233, "user_time": 0.736233, "deterministic_time": 0.216815, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:180'910} gen{mvs:67'347 evals:0} comp{mvs:15'573 btracks:25'887} #w_updates:123 #perturb:0)", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.77333, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000260427, "user_time": 0.000260483, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2088.04}, "cpsat_response_stats": {"num_booleans": 871, "num_integers": 286, "num_fixed_booleans": 1, "num_conflicts": 17, "num_branches": 303, "num_binary_propagations": 2190, "num_integer_propagations": 1415, "num_restarts": 0, "num_lp_iterations": 70, "wall_time": 2.08316, "user_time": 2.08316, "deterministic_time": 0.752318, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2626.47}, "cpsat_response_stats": {"num_booleans": 2296, "num_integers": 1967, "num_fixed_booleans": 745, "num_conflicts": 464, "num_branches": 6751, "num_binary_propagations": 369820, "num_integer_propagations": 443060, "num_restarts": 10, "num_lp_iterations": 7491, "wall_time": 2.61375, "user_time": 2.61375, "deterministic_time": 1.42653, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14600, "constraint_breakdown": {"at_most_one": 76, "linear": 5811, "bool_or": 5126, "bool_and": 3587}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 680.4}, "cpsat_response_stats": {"num_booleans": 828, "num_integers": 797, "num_fixed_booleans": 21, "num_conflicts": 20, "num_branches": 1635, "num_binary_propagations": 32160, "num_integer_propagations": 39504, "num_restarts": 0, "num_lp_iterations": 120, "wall_time": 0.678162, "user_time": 0.678162, "deterministic_time": 0.219178, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fj_restart_decay_compound_perturb_obj(batch:1 lin{mvs:0 evals:180'910} gen{mvs:67'347 evals:0} comp{mvs:15'573 btracks:25'887} #w_updates:123 #perturb:0)", "problem_sha256": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21892, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7525, "bool_and": 5152}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6177.95, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 9243, "num_integers": 561, "num_fixed_booleans": 6570, "num_conflicts": 9621, "num_branches": 78066, "num_binary_propagations": 6887232, "num_integer_propagations": 1730879, "num_restarts": 32, "num_lp_iterations": 13734, "wall_time": 6.17033, "user_time": 6.17033, "deterministic_time": 7.52872, "gap_integral": 156.977, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57490}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6172.22}, "cpsat_response_stats": {"num_booleans": 7518, "num_conflicts": 2870, "num_branches": 62515, "num_binary_propagations": 4397768, "num_integer_propagations": 1679969, "num_restarts": 30, "wall_time": 6.17024, "user_time": 6.17024, "deterministic_time": 14.731}, "solution_info": "no_lp", "problem_sha256": "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1266, "num_int": 598, "num_constraints": 20886, "constraint_breakdown": {"at_most_one": 103, "linear": 8638, "bool_or": 7236, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2019.3}, "cpsat_response_stats": {"num_booleans": 1921, "num_integers": 465, "num_fixed_booleans": 55, "num_conflicts": 646, "num_branches": 10998, "num_binary_propagations": 629233, "num_integer_propagations": 296497, "num_restarts": 6, "num_lp_iterations": 1123, "wall_time": 2.01433, "user_time": 2.01433, "deterministic_time": 1.23111, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6875434ae774ccafedbb3e729b922aa0025634c80f76d4fb5549f4901c57e8a3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 45445, "constraint_breakdown": {"at_most_one": 191, "linear": 19313, "bool_or": 15589, "bool_and": 10352}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5416.5}, "cpsat_response_stats": {"num_booleans": 6427, "num_integers": 969, "num_fixed_booleans": 567, "num_conflicts": 4557, "num_branches": 49531, "num_binary_propagations": 3998309, "num_integer_propagations": 1334326, "num_restarts": 15, "num_lp_iterations": 23291, "wall_time": 5.40716, "user_time": 5.40716, "deterministic_time": 6.7395, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "68df20b101dafbea7130c31d0faaf60971ddd458e7cfcd8f30bec787b4203df7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20822, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7210, "bool_and": 4889}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1065.54}, "cpsat_response_stats": {"num_booleans": 1734, "num_integers": 457, "num_fixed_booleans": 58, "num_conflicts": 365, "num_branches": 9195, "num_binary_propagations": 513160, "num_integer_propagations": 216686, "num_restarts": 1, "num_lp_iterations": 188, "wall_time": 1.06445, "user_time": 1.06445, "deterministic_time": 0.956687, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "69355a5e8d4028c466ba29d38fe021eba053515808a48e2f4895a50a0941a160.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7410.33}, "cpsat_response_stats": {"num_booleans": 7016, "num_integers": 1426, "num_fixed_booleans": 136, "num_conflicts": 1826, "num_branches": 58107, "num_binary_propagations": 3257086, "num_integer_propagations": 1501456, "num_restarts": 18, "num_lp_iterations": 30413, "wall_time": 7.39812, "user_time": 7.39812, "deterministic_time": 7.78839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.00958, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000256748, "user_time": 0.000256793, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18567.3}, "cpsat_response_stats": {"num_booleans": 7018, "num_integers": 1426, "num_fixed_booleans": 139, "num_conflicts": 2265, "num_branches": 51955, "num_binary_propagations": 3282274, "num_integer_propagations": 1489339, "num_restarts": 0, "num_lp_iterations": 36817, "wall_time": 18.5523, "user_time": 18.5523, "deterministic_time": 11.5664, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 27778.3}, "cpsat_response_stats": {"num_booleans": 10973, "num_integers": 9808, "num_fixed_booleans": 2176, "num_conflicts": 2054, "num_branches": 55589, "num_binary_propagations": 4514930, "num_integer_propagations": 4843766, "num_restarts": 39, "num_lp_iterations": 37837, "wall_time": 27.7655, "user_time": 27.7655, "deterministic_time": 13.5007, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 58766, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 19996, "bool_and": 13700}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22914.7}, "cpsat_response_stats": {"num_booleans": 6838, "num_integers": 6335, "num_fixed_booleans": 203, "num_conflicts": 1564, "num_branches": 65536, "num_binary_propagations": 3735945, "num_integer_propagations": 5792467, "num_restarts": 78, "num_lp_iterations": 61030, "wall_time": 22.9033, "user_time": 22.9033, "deterministic_time": 22.3378, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "6ab3700646ed23d7b144c448e625ed94598db5806f3daf3cfe7a2a242cece1db.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30868, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10495, "bool_and": 7171}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8337.47, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8139, "num_integers": 719, "num_fixed_booleans": 5379, "num_conflicts": 8099, "num_branches": 54889, "num_binary_propagations": 5646540, "num_integer_propagations": 2142701, "num_restarts": 40, "num_lp_iterations": 27928, "wall_time": 8.33059, "user_time": 8.33059, "deterministic_time": 9.44203, "gap_integral": 198.215, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "6afa1f30ddaf73d8dfed7146c9365683a3a702aee80c07ab24b35a83bbf815a4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6afa1f30ddaf73d8dfed7146c9365683a3a702aee80c07ab24b35a83bbf815a4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1938, "num_int": 798, "num_constraints": 30419, "constraint_breakdown": {"at_most_one": 135, "linear": 12847, "bool_or": 10433, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1883.75}, "cpsat_response_stats": {"num_booleans": 2541, "num_integers": 597, "num_fixed_booleans": 294, "num_conflicts": 782, "num_branches": 13357, "num_binary_propagations": 1061834, "num_integer_propagations": 470531, "num_restarts": 3, "num_lp_iterations": 801, "wall_time": 1.87956, "user_time": 1.87956, "deterministic_time": 2.07542, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2288, "num_int": 938, "num_constraints": 36510, "constraint_breakdown": {"at_most_one": 159, "linear": 15668, "bool_or": 12396, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6126.11}, "cpsat_response_stats": {"num_booleans": 4096, "num_integers": 869, "num_fixed_booleans": 220, "num_conflicts": 1106, "num_branches": 29478, "num_binary_propagations": 1809516, "num_integer_propagations": 831685, "num_restarts": 6, "num_lp_iterations": 5263, "wall_time": 6.10785, "user_time": 6.10785, "deterministic_time": 6.1997, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6c7a1a5ce29490757a4fd01319c3af2f090f1488a9bd158edeb09a45ef95d8e0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 60360, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20676, "bool_and": 14061}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25432.1, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8583, "num_integers": 1499, "num_fixed_booleans": 737, "num_conflicts": 6756, "num_branches": 89096, "num_binary_propagations": 7679490, "num_integer_propagations": 2739683, "num_restarts": 52, "num_lp_iterations": 67979, "wall_time": 25.4191, "user_time": 25.4191, "deterministic_time": 21.9653, "gap_integral": 473.224, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "6c96fe64d8a7e248bb211262d15a9e02c33afd67841b876ec22da92430ea1d4a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6c96fe64d8a7e248bb211262d15a9e02c33afd67841b876ec22da92430ea1d4a.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38398, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12974, "bool_and": 8732}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11102, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8985, "num_integers": 951, "num_fixed_booleans": 1154, "num_conflicts": 8139, "num_branches": 51136, "num_binary_propagations": 5148527, "num_integer_propagations": 1884853, "num_restarts": 41, "num_lp_iterations": 36694, "wall_time": 11.0885, "user_time": 11.0885, "deterministic_time": 10.2641, "gap_integral": 216.96, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "6dc3e7cdbc74f23ff22a0eecbde5e1ed26d05cf56459a1ae169419068718c3c4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6dc3e7cdbc74f23ff22a0eecbde5e1ed26d05cf56459a1ae169419068718c3c4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14485}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 324.559}, "cpsat_response_stats": {"num_booleans": 926, "num_conflicts": 373, "num_branches": 4195, "num_binary_propagations": 242989, "num_integer_propagations": 131278, "num_restarts": 3, "wall_time": 0.32408, "user_time": 0.32408, "deterministic_time": 0.359571}, "solution_info": "fs_random", "problem_sha256": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e1f2b89cfa03bff27e2308fb05c8a9e68e05dad0397cf805d949b6cf09e3064.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1411.02}, "cpsat_response_stats": {"num_booleans": 2466, "num_conflicts": 619, "num_branches": 15735, "num_binary_propagations": 1018146, "num_integer_propagations": 475354, "num_restarts": 3, "wall_time": 1.40969, "user_time": 1.40969, "deterministic_time": 2.30004}, "solution_info": "quick_restart", "problem_sha256": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6e2d9a811b1dbbdf1d92a811e3fb65e4ec1a840585342b877f45d7842ec8f114.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4806, "num_bool": 3325, "num_int": 1481, "num_constraints": 59330, "constraint_breakdown": {"at_most_one": 245, "linear": 24825, "bool_or": 20278, "bool_and": 13982}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 35243, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 12048, "num_integers": 1544, "num_fixed_booleans": 1418, "num_conflicts": 8004, "num_branches": 101869, "num_binary_propagations": 6336776, "num_integer_propagations": 2918735, "num_restarts": 37, "num_lp_iterations": 75249, "wall_time": 35.2313, "user_time": 35.2313, "deterministic_time": 27.7665, "gap_integral": 597.789, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "6e93a1a5f114fdfc007b30330e24aa1325660433aaa0794f76ef4848de4580d5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6e93a1a5f114fdfc007b30330e24aa1325660433aaa0794f76ef4848de4580d5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58433}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5580.53}, "cpsat_response_stats": {"num_booleans": 7290, "num_conflicts": 3493, "num_branches": 67375, "num_binary_propagations": 4697867, "num_integer_propagations": 1882543, "num_restarts": 36, "wall_time": 5.57758, "user_time": 5.57758, "deterministic_time": 15.4415}, "solution_info": "default_lp", "problem_sha256": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6042}, "cpsat_response_stats": {"num_booleans": 5505, "num_integers": 1038, "num_fixed_booleans": 101, "num_conflicts": 1848, "num_branches": 42404, "num_binary_propagations": 2745280, "num_integer_propagations": 1193247, "num_restarts": 15, "num_lp_iterations": 14157, "wall_time": 6.03281, "user_time": 6.03281, "deterministic_time": 6.50539, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.86031, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000234406, "user_time": 0.000234449, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14396.9}, "cpsat_response_stats": {"num_booleans": 6077, "num_integers": 1038, "num_fixed_booleans": 422, "num_conflicts": 3809, "num_branches": 45456, "num_binary_propagations": 3787981, "num_integer_propagations": 1502630, "num_restarts": 0, "num_lp_iterations": 37352, "wall_time": 14.383, "user_time": 14.383, "deterministic_time": 10.2848, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15205}, "cpsat_response_stats": {"num_booleans": 8333, "num_integers": 7416, "num_fixed_booleans": 1750, "num_conflicts": 1531, "num_branches": 40340, "num_binary_propagations": 3429814, "num_integer_propagations": 3664803, "num_restarts": 15, "num_lp_iterations": 15379, "wall_time": 15.1735, "user_time": 15.1735, "deterministic_time": 6.81529, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4046, "num_bool": 2924, "num_int": 1122, "num_constraints": 47161, "constraint_breakdown": {"at_most_one": 190, "linear": 20439, "bool_or": 15929, "bool_and": 10603}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25678.8}, "cpsat_response_stats": {"num_booleans": 5004, "num_integers": 4632, "num_fixed_booleans": 111, "num_conflicts": 930, "num_branches": 45120, "num_binary_propagations": 2671648, "num_integer_propagations": 3663344, "num_restarts": 20, "num_lp_iterations": 18452, "wall_time": 25.6629, "user_time": 25.6629, "deterministic_time": 8.02982, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "6f3adead4b151af69acd980b16f5bd8e2ed0f0ae28c615f1c210a8e853827df5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2330, "num_bool": 1531, "num_int": 799, "num_constraints": 27198, "constraint_breakdown": {"at_most_one": 133, "linear": 10929, "bool_or": 9522, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3936.7}, "cpsat_response_stats": {"num_booleans": 2480, "num_integers": 596, "num_fixed_booleans": 207, "num_conflicts": 483, "num_branches": 13168, "num_binary_propagations": 742136, "num_integer_propagations": 376936, "num_restarts": 3, "num_lp_iterations": 675, "wall_time": 3.93138, "user_time": 3.93138, "deterministic_time": 3.35132, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "6f71d8acff2f8d22f7622dd943331d53409bc982b8d281f34259c40b915c9730.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3846.75}, "cpsat_response_stats": {"num_booleans": 3619, "num_integers": 740, "num_fixed_booleans": 115, "num_conflicts": 1124, "num_branches": 35050, "num_binary_propagations": 1339139, "num_integer_propagations": 598705, "num_restarts": 7, "num_lp_iterations": 4417, "wall_time": 3.83978, "user_time": 3.83978, "deterministic_time": 3.48767, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.86295, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000337494, "user_time": 0.000337526, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8669.1}, "cpsat_response_stats": {"num_booleans": 3492, "num_integers": 740, "num_fixed_booleans": 1437, "num_conflicts": 1252, "num_branches": 25917, "num_binary_propagations": 1414352, "num_integer_propagations": 606943, "num_restarts": 0, "num_lp_iterations": 3009, "wall_time": 8.65824, "user_time": 8.65824, "deterministic_time": 4.17472, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14317.5}, "cpsat_response_stats": {"num_booleans": 6767, "num_integers": 6082, "num_fixed_booleans": 2008, "num_conflicts": 1544, "num_branches": 25675, "num_binary_propagations": 2176183, "num_integer_propagations": 2298569, "num_restarts": 30, "num_lp_iterations": 20389, "wall_time": 14.2875, "user_time": 14.2875, "deterministic_time": 5.25522, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 35981, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12648, "bool_and": 8568}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15345.1}, "cpsat_response_stats": {"num_booleans": 3337, "num_integers": 3162, "num_fixed_booleans": 133, "num_conflicts": 905, "num_branches": 26942, "num_binary_propagations": 1504264, "num_integer_propagations": 1870589, "num_restarts": 36, "num_lp_iterations": 23543, "wall_time": 15.3337, "user_time": 15.3337, "deterministic_time": 5.25225, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "70b8dcc665126c1a6341f0c4e577dbcaefdab47475e576a7d72888677072a109.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37492}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3668.23}, "cpsat_response_stats": {"num_booleans": 9961, "num_conflicts": 2201, "num_branches": 73048, "num_binary_propagations": 1755454, "num_integer_propagations": 864123, "num_restarts": 10, "wall_time": 3.66583, "user_time": 3.66583, "deterministic_time": 6.85616}, "solution_info": "fs_random", "problem_sha256": "7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7134b69950a5e555fc3439bf93781e0a9a7d79f30137214b96cf3956fb2324e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2323, "num_bool": 1530, "num_int": 793, "num_constraints": 26295}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1074.74}, "cpsat_response_stats": {"num_booleans": 2583, "num_conflicts": 341, "num_branches": 14652, "num_binary_propagations": 660181, "num_integer_propagations": 302109, "num_restarts": 1, "wall_time": 1.07394, "user_time": 1.07394, "deterministic_time": 1.45079}, "solution_info": "quick_restart_no_lp", "problem_sha256": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "71b18e5d4bd0b04f2c9fed4d07a1cb5c359ffd3fd7034036cedb8b182b135075.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4758.69}, "cpsat_response_stats": {"num_booleans": 4741, "num_integers": 827, "num_fixed_booleans": 402, "num_conflicts": 1937, "num_branches": 30801, "num_binary_propagations": 1457588, "num_integer_propagations": 597220, "num_restarts": 18, "num_lp_iterations": 10778, "wall_time": 4.7526, "user_time": 4.7526, "deterministic_time": 4.63674, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.92624, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000282919, "user_time": 0.00028296, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10624.1}, "cpsat_response_stats": {"num_booleans": 6022, "num_integers": 827, "num_fixed_booleans": 149, "num_conflicts": 5747, "num_branches": 50051, "num_binary_propagations": 2685422, "num_integer_propagations": 1072459, "num_restarts": 0, "num_lp_iterations": 43914, "wall_time": 10.6147, "user_time": 10.6147, "deterministic_time": 7.89742, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11629.5}, "cpsat_response_stats": {"num_booleans": 7304, "num_integers": 6276, "num_fixed_booleans": 1723, "num_conflicts": 1291, "num_branches": 29405, "num_binary_propagations": 1956760, "num_integer_propagations": 2026251, "num_restarts": 20, "num_lp_iterations": 24533, "wall_time": 11.6205, "user_time": 11.6206, "deterministic_time": 5.45724, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 33969, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 11847, "bool_and": 8232}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8021.16}, "cpsat_response_stats": {"num_booleans": 4104, "num_integers": 3567, "num_fixed_booleans": 98, "num_conflicts": 682, "num_branches": 32018, "num_binary_propagations": 1367551, "num_integer_propagations": 1782653, "num_restarts": 24, "num_lp_iterations": 25661, "wall_time": 8.01044, "user_time": 8.01044, "deterministic_time": 5.45695, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "7228b93c395db27bb2e8fc8976b27e1025c87d6f7c6463ca60078bae327b213e.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2583, "num_bool": 1793, "num_int": 790, "num_constraints": 30688, "constraint_breakdown": {"at_most_one": 134, "linear": 12803, "bool_or": 10560, "bool_and": 7191}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7005.63, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 7619, "num_integers": 660, "num_fixed_booleans": 6949, "num_conflicts": 7454, "num_branches": 30337, "num_binary_propagations": 4416362, "num_integer_propagations": 1452377, "num_restarts": 32, "num_lp_iterations": 16851, "wall_time": 6.98568, "user_time": 6.98568, "deterministic_time": 7.26527, "gap_integral": 149.018, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "724e539c591651e646f2e89f9000b6a040742aa2d989582166ac52e3e7b4a6e0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "724e539c591651e646f2e89f9000b6a040742aa2d989582166ac52e3e7b4a6e0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5354, "num_bool": 3525, "num_int": 1829, "num_constraints": 63705}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12843.4}, "cpsat_response_stats": {"num_booleans": 10200, "num_conflicts": 9041, "num_branches": 126376, "num_binary_propagations": 7531566, "num_integer_propagations": 3004563, "num_restarts": 87, "wall_time": 12.8393, "user_time": 12.8393, "deterministic_time": 31.9076}, "solution_info": "default_lp", "problem_sha256": "728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "728ea222fda0214f17e45d17dd9e9974b21d6bde8c9e88a6ac25d25a46de74cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58108}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5357.91}, "cpsat_response_stats": {"num_booleans": 6783, "num_conflicts": 1981, "num_branches": 54661, "num_binary_propagations": 3817197, "num_integer_propagations": 1609507, "num_restarts": 15, "wall_time": 5.35437, "user_time": 5.35437, "deterministic_time": 8.33971}, "solution_info": "default_lp", "problem_sha256": "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "72f2ec3d785c0a14f4295abb781aa2a7f7b023e0c82639e8bda7e1b6fb1e5bbe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 19452, "constraint_breakdown": {"at_most_one": 102, "linear": 7566, "bool_or": 6919, "bool_and": 4865}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1401.03}, "cpsat_response_stats": {"num_booleans": 1711, "num_integers": 465, "num_fixed_booleans": 52, "num_conflicts": 283, "num_branches": 8914, "num_binary_propagations": 366012, "num_integer_propagations": 174210, "num_restarts": 2, "num_lp_iterations": 576, "wall_time": 1.39951, "user_time": 1.39951, "deterministic_time": 1.00189, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "733d7abf574a3c54ca8522ba92c9d0de317b2ca06e621e45dec6c2673a3bd083.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2149, "num_int": 951, "num_constraints": 34071, "constraint_breakdown": {"at_most_one": 161, "linear": 13494, "bool_or": 12158, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2078.5}, "cpsat_response_stats": {"num_booleans": 3144, "num_integers": 729, "num_fixed_booleans": 1715, "num_conflicts": 567, "num_branches": 13553, "num_binary_propagations": 643522, "num_integer_propagations": 282680, "num_restarts": 2, "num_lp_iterations": 319, "wall_time": 2.07576, "user_time": 2.07576, "deterministic_time": 1.50231, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "734ea7701ae361fbdb717ea3a6e7793574906a8fc6ef1353f0754dc99f858cd3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45114}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3569.97}, "cpsat_response_stats": {"num_booleans": 5941, "num_conflicts": 4115, "num_branches": 60998, "num_binary_propagations": 3973699, "num_integer_propagations": 1344114, "num_restarts": 14, "wall_time": 3.56776, "user_time": 3.56776, "deterministic_time": 6.88747}, "solution_info": "fs_random_no_lp", "problem_sha256": "744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "744c046e89479d1befb90b75f08b4a15b2b687a779750b598a1e3f7572ddf98e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58438, "constraint_breakdown": {"at_most_one": 249, "linear": 24322, "bool_or": 20117, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9298.88}, "cpsat_response_stats": {"num_booleans": 6587, "num_integers": 1358, "num_fixed_booleans": 378, "num_conflicts": 1320, "num_branches": 43497, "num_binary_propagations": 3062944, "num_integer_propagations": 1348134, "num_restarts": 6, "num_lp_iterations": 10342, "wall_time": 9.27655, "user_time": 9.27655, "deterministic_time": 8.21765, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "757c9e1a076dc69239f063376288a84a499a2aabb892ed69d39fd637a7f0bd5d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3375, "num_bool": 2442, "num_int": 933, "num_constraints": 37535, "constraint_breakdown": {"at_most_one": 160, "linear": 16353, "bool_or": 12654, "bool_and": 8368}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3310.99}, "cpsat_response_stats": {"num_booleans": 4038, "num_integers": 788, "num_fixed_booleans": 847, "num_conflicts": 1284, "num_branches": 21599, "num_binary_propagations": 1791487, "num_integer_propagations": 708600, "num_restarts": 6, "num_lp_iterations": 2213, "wall_time": 3.30278, "user_time": 3.30278, "deterministic_time": 3.05343, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "75ef625090c4c170b36923586cc4ba39c91471211bc12b328b231f06239be71c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3072.18}, "cpsat_response_stats": {"num_booleans": 2588, "num_conflicts": 299, "num_branches": 14001, "num_binary_propagations": 574297, "num_integer_propagations": 257383, "num_restarts": 1, "wall_time": 3.07056, "user_time": 3.07056, "deterministic_time": 5.90394}, "solution_info": "default_lp", "problem_sha256": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "76cda9dfd7936f002acb90d01c9ad5dd792fd17e5ccd3ca0f49a2fcc9f510244.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39592, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13286, "bool_and": 8853}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11335.8, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 9122, "num_integers": 908, "num_fixed_booleans": 1315, "num_conflicts": 7197, "num_branches": 73086, "num_binary_propagations": 5204804, "num_integer_propagations": 1866421, "num_restarts": 23, "num_lp_iterations": 16889, "wall_time": 11.3274, "user_time": 11.3274, "deterministic_time": 10.5849, "gap_integral": 223.47, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "76e68a1cce648c8d73748c810c88f2507f97759063e97d60bdeba8b7450c75d4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "76e68a1cce648c8d73748c810c88f2507f97759063e97d60bdeba8b7450c75d4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5087, "num_bool": 3592, "num_int": 1495, "num_constraints": 59195, "constraint_breakdown": {"at_most_one": 247, "linear": 25132, "bool_or": 20160, "bool_and": 13656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5812.56}, "cpsat_response_stats": {"num_booleans": 6819, "num_integers": 1377, "num_fixed_booleans": 135, "num_conflicts": 2816, "num_branches": 52241, "num_binary_propagations": 4238756, "num_integer_propagations": 1690774, "num_restarts": 29, "num_lp_iterations": 29628, "wall_time": 5.79991, "user_time": 5.79991, "deterministic_time": 8.45404, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "78ef90514e8df4b0ad1b8b639c5cba31dc1d71011570850c043b79da490b6f35.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 56476, "constraint_breakdown": {"at_most_one": 245, "linear": 23503, "bool_or": 19367, "bool_and": 13361}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12361.7}, "cpsat_response_stats": {"num_booleans": 13818, "num_integers": 1483, "num_fixed_booleans": 559, "num_conflicts": 8813, "num_branches": 120664, "num_binary_propagations": 5323157, "num_integer_propagations": 2133573, "num_restarts": 22, "num_lp_iterations": 76146, "wall_time": 12.3501, "user_time": 12.3501, "deterministic_time": 14.9513, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85855, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29431, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14663.3}, "cpsat_response_stats": {"num_booleans": 11657, "num_integers": 1986, "num_fixed_booleans": 272, "num_conflicts": 6845, "num_branches": 87740, "num_binary_propagations": 9268770, "num_integer_propagations": 2778536, "num_restarts": 53, "num_lp_iterations": 86691, "wall_time": 14.6475, "user_time": 14.6475, "deterministic_time": 24.6145, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7935760e9618796c7f423ed3035ff53456b7cda07a348ee8060af5cd0aeb85f4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2156, "num_int": 944, "num_constraints": 35023}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3276.46}, "cpsat_response_stats": {"num_booleans": 4387, "num_conflicts": 709, "num_branches": 29850, "num_binary_propagations": 1662157, "num_integer_propagations": 718337, "num_restarts": 3, "wall_time": 3.27493, "user_time": 3.27493, "deterministic_time": 5.10741}, "solution_info": "fs_random_no_lp", "problem_sha256": "79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "79b2a8894050b4767afa5d2ef42656d32485579057f443bc7e5d85c4597ef3d9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3195.98}, "cpsat_response_stats": {"num_booleans": 2904, "num_integers": 678, "num_fixed_booleans": 67, "num_conflicts": 542, "num_branches": 18144, "num_binary_propagations": 904311, "num_integer_propagations": 459113, "num_restarts": 3, "num_lp_iterations": 1217, "wall_time": 3.19074, "user_time": 3.19074, "deterministic_time": 3.25983, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.89088, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.0002346, "user_time": 0.000234641, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7019.67}, "cpsat_response_stats": {"num_booleans": 5089, "num_integers": 678, "num_fixed_booleans": 630, "num_conflicts": 4811, "num_branches": 30853, "num_binary_propagations": 2713515, "num_integer_propagations": 961419, "num_restarts": 0, "num_lp_iterations": 30670, "wall_time": 6.99794, "user_time": 6.99794, "deterministic_time": 7.11903, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9916.72}, "cpsat_response_stats": {"num_booleans": 5240, "num_integers": 4630, "num_fixed_booleans": 1302, "num_conflicts": 1226, "num_branches": 22475, "num_binary_propagations": 1685610, "num_integer_propagations": 1779565, "num_restarts": 32, "num_lp_iterations": 26720, "wall_time": 9.89074, "user_time": 9.89074, "deterministic_time": 4.75971, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30546, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10337, "bool_and": 7009}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8087.67}, "cpsat_response_stats": {"num_booleans": 2831, "num_integers": 2616, "num_fixed_booleans": 99, "num_conflicts": 767, "num_branches": 32348, "num_binary_propagations": 1519350, "num_integer_propagations": 1992386, "num_restarts": 29, "num_lp_iterations": 24427, "wall_time": 8.07517, "user_time": 8.07517, "deterministic_time": 5.375, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30288}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1216.52}, "cpsat_response_stats": {"num_booleans": 2497, "num_conflicts": 808, "num_branches": 15391, "num_binary_propagations": 1242902, "num_integer_propagations": 595451, "num_restarts": 6, "wall_time": 1.21526, "user_time": 1.21526, "deterministic_time": 2.11419}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7a95410b6970cc899b5df0fc6c9c83cdd9b96f7cf8d34d6dd8c6220dd5457be4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3488, "num_bool": 2362, "num_int": 1126, "num_constraints": 40569}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3598.47}, "cpsat_response_stats": {"num_booleans": 4997, "num_conflicts": 1142, "num_branches": 39320, "num_binary_propagations": 2036636, "num_integer_propagations": 913071, "num_restarts": 12, "wall_time": 3.59562, "user_time": 3.59562, "deterministic_time": 7.16565}, "solution_info": "default_lp", "problem_sha256": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7b4c2358a5ad5bc41a3c0dcd67791b76b50cf252d8ee23e3290bf043f327ffb2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 30477, "constraint_breakdown": {"at_most_one": 135, "linear": 13057, "bool_or": 10324, "bool_and": 6961}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2388.08}, "cpsat_response_stats": {"num_booleans": 2439, "num_integers": 596, "num_fixed_booleans": 62, "num_conflicts": 623, "num_branches": 15347, "num_binary_propagations": 962837, "num_integer_propagations": 491010, "num_restarts": 3, "num_lp_iterations": 1970, "wall_time": 2.38291, "user_time": 2.38291, "deterministic_time": 2.11807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7b4e94bce09b292527422552f4ddada7ccd62e28804f75b9bc88c4d64fad00db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2916.72}, "cpsat_response_stats": {"num_booleans": 1835, "num_integers": 475, "num_fixed_booleans": 55, "num_conflicts": 399, "num_branches": 10761, "num_binary_propagations": 460076, "num_integer_propagations": 229866, "num_restarts": 3, "num_lp_iterations": 1229, "wall_time": 2.90661, "user_time": 2.90661, "deterministic_time": 2.09439, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.09853, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000262089, "user_time": 0.00026213, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4186.51}, "cpsat_response_stats": {"num_booleans": 2111, "num_integers": 475, "num_fixed_booleans": 221, "num_conflicts": 850, "num_branches": 12568, "num_binary_propagations": 564333, "num_integer_propagations": 271532, "num_restarts": 0, "num_lp_iterations": 2560, "wall_time": 4.18105, "user_time": 4.18105, "deterministic_time": 2.37533, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11158.5}, "cpsat_response_stats": {"num_booleans": 4022, "num_integers": 3531, "num_fixed_booleans": 1251, "num_conflicts": 1047, "num_branches": 23882, "num_binary_propagations": 1783136, "num_integer_propagations": 1871277, "num_restarts": 26, "num_lp_iterations": 22301, "wall_time": 11.1505, "user_time": 11.1505, "deterministic_time": 3.66548, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21771, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7449, "bool_and": 5039}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5087.29}, "cpsat_response_stats": {"num_booleans": 1802, "num_integers": 1720, "num_fixed_booleans": 67, "num_conflicts": 636, "num_branches": 32958, "num_binary_propagations": 1503780, "num_integer_propagations": 1818044, "num_restarts": 22, "num_lp_iterations": 18406, "wall_time": 5.08181, "user_time": 5.08181, "deterministic_time": 3.12854, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "7b9053fb13e462eae04cb54e9e64f7929247a3ece739347a45fdc8deacd46646.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7431, "constraint_breakdown": {"at_most_one": 46, "linear": 2912, "bool_or": 2651, "bool_and": 1822}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 154.832}, "cpsat_response_stats": {"num_booleans": 191, "num_integers": 96, "num_fixed_booleans": 4, "num_conflicts": 31, "num_branches": 985, "num_binary_propagations": 21606, "num_integer_propagations": 20710, "num_restarts": 0, "num_lp_iterations": 34, "wall_time": 0.154282, "user_time": 0.154282, "deterministic_time": 0.0753838, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7bd5e487a816e310cf226295707e1f41f4b697bc67bddaaa8c309ea93e77a727.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 506.153}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.505452, "user_time": 0.505452, "deterministic_time": 0.611709}, "solution_info": "no_lp", "problem_sha256": "7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7c9525e45522c75edc617d4accd3fa5b23a03cff1bc3a39523f13637cacf91d8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7474.2}, "cpsat_response_stats": {"num_booleans": 8033, "num_conflicts": 9257, "num_branches": 85199, "num_binary_propagations": 8183195, "num_integer_propagations": 2521393, "num_restarts": 51, "wall_time": 7.46993, "user_time": 7.46993, "deterministic_time": 24.3461}, "solution_info": "default_lp", "problem_sha256": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7d5ef007c15860b85ba57ea7a09ccb08ac2d31f296bc47936d625e7af0883661.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233557}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1482010.0}, "cpsat_response_stats": {"num_booleans": 34600, "num_conflicts": 548234, "num_branches": 2019729, "num_binary_propagations": 788206057, "num_integer_propagations": 178268283, "num_restarts": 2288, "wall_time": 1481.99, "user_time": 1481.99, "deterministic_time": 3843.75}, "solution_info": "no_lp", "problem_sha256": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7e5aa4016ad68c0efd86e36186d0de0f5d8c69fc9d27fdd2b3976e26905325de.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 21823, "constraint_breakdown": {"at_most_one": 104, "linear": 9237, "bool_or": 7459, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1183.34}, "cpsat_response_stats": {"num_booleans": 1625, "num_integers": 455, "num_fixed_booleans": 89, "num_conflicts": 399, "num_branches": 9558, "num_binary_propagations": 515644, "num_integer_propagations": 256466, "num_restarts": 1, "num_lp_iterations": 241, "wall_time": 1.18204, "user_time": 1.18204, "deterministic_time": 0.909728, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "7e6b650d4435c812acac4ca343afb0734e8d22f3d1b64370345d98ece33807a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3235, "num_bool": 2300, "num_int": 935, "num_constraints": 36199}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3097.71}, "cpsat_response_stats": {"num_booleans": 4033, "num_conflicts": 1276, "num_branches": 30370, "num_binary_propagations": 1968496, "num_integer_propagations": 842092, "num_restarts": 9, "wall_time": 3.09511, "user_time": 3.09511, "deterministic_time": 4.11745}, "solution_info": "fs_random", "problem_sha256": "7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "7f37b05dbeb0f5013414a3c61b10aeb8dff6b9ab4ad520a8a9205964a26d102c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28926}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1649.08}, "cpsat_response_stats": {"num_booleans": 2898, "num_conflicts": 709, "num_branches": 19482, "num_binary_propagations": 1103156, "num_integer_propagations": 526968, "num_restarts": 6, "wall_time": 1.64755, "user_time": 1.64755, "deterministic_time": 2.86391}, "solution_info": "quick_restart", "problem_sha256": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8073c7c85295abafcc3ca9dde8e50e775e59175274e1b7d3eec04570581b4469.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4592, "num_bool": 3316, "num_int": 1276, "num_constraints": 52067, "constraint_breakdown": {"at_most_one": 215, "linear": 22501, "bool_or": 17614, "bool_and": 11737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6437.82}, "cpsat_response_stats": {"num_booleans": 6852, "num_integers": 1232, "num_fixed_booleans": 368, "num_conflicts": 2738, "num_branches": 52199, "num_binary_propagations": 4246025, "num_integer_propagations": 1609300, "num_restarts": 21, "num_lp_iterations": 30847, "wall_time": 6.42759, "user_time": 6.42759, "deterministic_time": 8.05118, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "80ac2372ce125d2b203a9d3c0111ef887a2ba0ab73248e5fd7d258f67025dfda.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 34339, "constraint_breakdown": {"at_most_one": 158, "linear": 13732, "bool_or": 12032, "bool_and": 8417}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7324.51, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 5155, "num_integers": 904, "num_fixed_booleans": 3615, "num_conflicts": 2652, "num_branches": 42931, "num_binary_propagations": 1946745, "num_integer_propagations": 854913, "num_restarts": 23, "num_lp_iterations": 17930, "wall_time": 7.30246, "user_time": 7.30246, "deterministic_time": 6.39323, "gap_integral": 133.243, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "80d93f459a3aba9b087940fc2f7fbb31d50402f34005177a89face29ebb3adb8", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "80d93f459a3aba9b087940fc2f7fbb31d50402f34005177a89face29ebb3adb8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 49835, "constraint_breakdown": {"at_most_one": 244, "linear": 19145, "bool_or": 17805, "bool_and": 12641}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6225.3}, "cpsat_response_stats": {"num_booleans": 6938, "num_integers": 1279, "num_fixed_booleans": 159, "num_conflicts": 2111, "num_branches": 75272, "num_binary_propagations": 2746576, "num_integer_propagations": 1209416, "num_restarts": 21, "num_lp_iterations": 21873, "wall_time": 6.21532, "user_time": 6.21532, "deterministic_time": 7.63856, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "80f73e52da8a244ea0be2c39d85c197bc238b5af594944e77ba4baff43bee2ed.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1855.33}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.85347, "user_time": 1.85347, "deterministic_time": 3.10161}, "solution_info": "fs_random", "problem_sha256": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "821f15ac4478cffdd0f615fe71e0eeb1c47b989f91a47f0e9e8760f5518f4868.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45237}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4100.31}, "cpsat_response_stats": {"num_booleans": 5614, "num_conflicts": 2629, "num_branches": 43878, "num_binary_propagations": 3107642, "num_integer_propagations": 1276684, "num_restarts": 18, "wall_time": 4.09662, "user_time": 4.09662, "deterministic_time": 6.32821}, "solution_info": "quick_restart_no_lp", "problem_sha256": "82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "82c981cebdc67d969363e30496d5e1278592f85aca9bffae6fb8135aade2369c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 58663, "constraint_breakdown": {"at_most_one": 268, "linear": 22846, "bool_or": 21072, "bool_and": 14477}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9249.91}, "cpsat_response_stats": {"num_booleans": 7982, "num_integers": 1480, "num_fixed_booleans": 161, "num_conflicts": 1749, "num_branches": 67067, "num_binary_propagations": 3442272, "num_integer_propagations": 1400295, "num_restarts": 15, "num_lp_iterations": 11689, "wall_time": 9.22528, "user_time": 9.22528, "deterministic_time": 8.18564, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "82edf01d7c20302d494f05b2f335473d3535b086de4f8bb170f707cbdc06a7f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 117200, "constraint_breakdown": {"at_most_one": 443, "linear": 51374, "bool_or": 39333, "bool_and": 26050}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 104633}, "cpsat_response_stats": {"num_booleans": 17979, "num_integers": 2703, "num_fixed_booleans": 1346, "num_conflicts": 38734, "num_branches": 248491, "num_binary_propagations": 34160293, "num_integer_propagations": 10893253, "num_restarts": 225, "num_lp_iterations": 628428, "wall_time": 104.612, "user_time": 104.612, "deterministic_time": 176.807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "832bd4924ac7dec74dd3b8e9a14a0e380cac3ca9c041a6c9d765d6dba454895f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3081.59}, "cpsat_response_stats": {"num_booleans": 2383, "num_integers": 517, "num_fixed_booleans": 358, "num_conflicts": 794, "num_branches": 13010, "num_binary_propagations": 566747, "num_integer_propagations": 290602, "num_restarts": 6, "num_lp_iterations": 1756, "wall_time": 3.07796, "user_time": 3.07796, "deterministic_time": 2.23403, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.92881, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000234711, "user_time": 0.000234747, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6756.87}, "cpsat_response_stats": {"num_booleans": 2825, "num_integers": 517, "num_fixed_booleans": 366, "num_conflicts": 1691, "num_branches": 15840, "num_binary_propagations": 849271, "num_integer_propagations": 388486, "num_restarts": 0, "num_lp_iterations": 5569, "wall_time": 6.75144, "user_time": 6.75144, "deterministic_time": 3.91269, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10074.1}, "cpsat_response_stats": {"num_booleans": 4280, "num_integers": 3756, "num_fixed_booleans": 1317, "num_conflicts": 1065, "num_branches": 27197, "num_binary_propagations": 1838429, "num_integer_propagations": 2071577, "num_restarts": 28, "num_lp_iterations": 24722, "wall_time": 10.0554, "user_time": 10.0554, "deterministic_time": 4.33293, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5932.14}, "cpsat_response_stats": {"num_booleans": 1980, "num_integers": 1837, "num_fixed_booleans": 71, "num_conflicts": 667, "num_branches": 27173, "num_binary_propagations": 1183854, "num_integer_propagations": 1648330, "num_restarts": 30, "num_lp_iterations": 23011, "wall_time": 5.92699, "user_time": 5.92699, "deterministic_time": 4.12577, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "834873ba45a488c7f8b1d6ad0d1d689ce41cb19ae9186807eabc801920b926a5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52655, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18647, "bool_and": 13283}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14852.3, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 6997, "num_integers": 1452, "num_fixed_booleans": 149, "num_conflicts": 2578, "num_branches": 54841, "num_binary_propagations": 2742398, "num_integer_propagations": 1270922, "num_restarts": 30, "num_lp_iterations": 30180, "wall_time": 14.8424, "user_time": 14.8424, "deterministic_time": 10.5804, "gap_integral": 224.24, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "835ae7284c43b2522947ad7ad0b1f26429793b7fff94b7a612ea3a1dc548df57", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "835ae7284c43b2522947ad7ad0b1f26429793b7fff94b7a612ea3a1dc548df57.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 67897, "constraint_breakdown": {"at_most_one": 300, "linear": 26965, "bool_or": 23841, "bool_and": 16791}, "objective_terms": 266}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19100.3, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 9423, "num_integers": 1836, "num_fixed_booleans": 187, "num_conflicts": 1969, "num_branches": 65039, "num_binary_propagations": 3811230, "num_integer_propagations": 1643157, "num_restarts": 18, "num_lp_iterations": 17747, "wall_time": 19.0765, "user_time": 19.0765, "deterministic_time": 11.3871, "gap_integral": 239.607, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "83b70413e9333ce9f4929c450b14e28d2b6e4ec28401d68b4b7d59c76c82d8ee", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "83b70413e9333ce9f4929c450b14e28d2b6e4ec28401d68b4b7d59c76c82d8ee.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 36358, "constraint_breakdown": {"at_most_one": 159, "linear": 15587, "bool_or": 12325, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5728.96}, "cpsat_response_stats": {"num_booleans": 4059, "num_integers": 877, "num_fixed_booleans": 87, "num_conflicts": 927, "num_branches": 30205, "num_binary_propagations": 1577642, "num_integer_propagations": 750624, "num_restarts": 6, "num_lp_iterations": 5532, "wall_time": 5.72142, "user_time": 5.72142, "deterministic_time": 5.90036, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "84327bfe5801100327e40bc478403a949d8947fd6a15ddcc2bcb0f06ce32eea6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3036.42}, "cpsat_response_stats": {"num_booleans": 2765, "num_integers": 613, "num_fixed_booleans": 275, "num_conflicts": 777, "num_branches": 15687, "num_binary_propagations": 1055990, "num_integer_propagations": 491170, "num_restarts": 3, "num_lp_iterations": 878, "wall_time": 3.02261, "user_time": 3.02261, "deterministic_time": 3.01651, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.89338, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000211753, "user_time": 0.000211798, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6309.76}, "cpsat_response_stats": {"num_booleans": 3836, "num_integers": 613, "num_fixed_booleans": 554, "num_conflicts": 2973, "num_branches": 23731, "num_binary_propagations": 2028554, "num_integer_propagations": 825547, "num_restarts": 0, "num_lp_iterations": 10698, "wall_time": 6.29068, "user_time": 6.29068, "deterministic_time": 4.89902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13783.2}, "cpsat_response_stats": {"num_booleans": 4889, "num_integers": 4335, "num_fixed_booleans": 1418, "num_conflicts": 1366, "num_branches": 20045, "num_binary_propagations": 1813706, "num_integer_propagations": 1838786, "num_restarts": 32, "num_lp_iterations": 25208, "wall_time": 13.772, "user_time": 13.772, "deterministic_time": 5.08889, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 31882, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10821, "bool_and": 7264}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15259.7}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 2396, "num_fixed_booleans": 208, "num_conflicts": 902, "num_branches": 23642, "num_binary_propagations": 1437215, "num_integer_propagations": 1670825, "num_restarts": 32, "num_lp_iterations": 22394, "wall_time": 15.2501, "user_time": 15.2501, "deterministic_time": 4.76704, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "855c207bbe508dd6bc5c8e557648607de72dbe98e732548d00a14f1692fa30e9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19405, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6839, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 795.193}, "cpsat_response_stats": {"num_booleans": 1181, "num_integers": 337, "num_fixed_booleans": 80, "num_conflicts": 255, "num_branches": 5415, "num_binary_propagations": 344260, "num_integer_propagations": 171635, "num_restarts": 1, "num_lp_iterations": 80, "wall_time": 0.794125, "user_time": 0.794125, "deterministic_time": 0.635959, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "859f76e784d7572cac7dbbf5a6b8358da4120fd0da76af247da8bdbe91f209ba.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7765, "constraint_breakdown": {"at_most_one": 46, "linear": 3050, "bool_or": 2760, "bool_and": 1909}, "objective_terms": 42}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 486.785, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 1060, "num_integers": 126, "num_fixed_booleans": 33, "num_conflicts": 857, "num_branches": 20375, "num_binary_propagations": 57143, "num_integer_propagations": 80770, "num_restarts": 15, "num_lp_iterations": 104, "wall_time": 0.485707, "user_time": 0.485707, "deterministic_time": 0.227804, "gap_integral": 4.29839, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "865f1171e901d275edb5a10c40d9288ec08619127220e643e36ae1ebee2903b2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "865f1171e901d275edb5a10c40d9288ec08619127220e643e36ae1ebee2903b2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4825, "num_bool": 3334, "num_int": 1491, "num_constraints": 56887, "constraint_breakdown": {"at_most_one": 245, "linear": 23768, "bool_or": 19513, "bool_and": 13361}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6078.24}, "cpsat_response_stats": {"num_booleans": 7179, "num_integers": 1455, "num_fixed_booleans": 144, "num_conflicts": 1766, "num_branches": 61829, "num_binary_propagations": 3743112, "num_integer_propagations": 1622499, "num_restarts": 15, "num_lp_iterations": 26764, "wall_time": 6.0688, "user_time": 6.0688, "deterministic_time": 8.15386, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "867ec278968f0337e74a78c449201e06acb674774dde6d598377e9a123d1d6cf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28510, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9950, "bool_and": 6968}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8341.89, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 7634, "num_integers": 662, "num_fixed_booleans": 1601, "num_conflicts": 6602, "num_branches": 46102, "num_binary_propagations": 3617505, "num_integer_propagations": 1419584, "num_restarts": 21, "num_lp_iterations": 17273, "wall_time": 8.33418, "user_time": 8.33419, "deterministic_time": 8.95567, "gap_integral": 188.19, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "86b1bf9b38f98be62d7509c448ea0dfd7197af45620ba4b50960bf15254309bf", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "86b1bf9b38f98be62d7509c448ea0dfd7197af45620ba4b50960bf15254309bf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11114, "num_bool": 8496, "num_int": 2618, "num_constraints": 124184}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24569.5}, "cpsat_response_stats": {"num_booleans": 16136, "num_conflicts": 5451, "num_branches": 107151, "num_binary_propagations": 8128189, "num_integer_propagations": 3495511, "num_restarts": 60, "wall_time": 24.5589, "user_time": 24.5589, "deterministic_time": 32.4269}, "solution_info": "no_lp", "problem_sha256": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "86c2f0304e765fa13c3e8d0c970082ec0f321665e56f4caeb7505d1a652b1958.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 41227, "constraint_breakdown": {"at_most_one": 189, "linear": 16809, "bool_or": 14289, "bool_and": 9940}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6348.77}, "cpsat_response_stats": {"num_booleans": 10296, "num_integers": 1057, "num_fixed_booleans": 106, "num_conflicts": 6997, "num_branches": 74326, "num_binary_propagations": 3215053, "num_integer_propagations": 1250139, "num_restarts": 16, "num_lp_iterations": 28121, "wall_time": 6.33789, "user_time": 6.33789, "deterministic_time": 7.5385, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "86c635d438e9048aeb8352c427f1b36966fa53086f50512d36c0f265d893155e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 33949, "constraint_breakdown": {"at_most_one": 161, "linear": 13438, "bool_or": 12092, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2555.9}, "cpsat_response_stats": {"num_booleans": 3292, "num_integers": 740, "num_fixed_booleans": 95, "num_conflicts": 833, "num_branches": 22856, "num_binary_propagations": 1205185, "num_integer_propagations": 512011, "num_restarts": 6, "num_lp_iterations": 3772, "wall_time": 2.54866, "user_time": 2.54866, "deterministic_time": 2.43486, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "87106998551ed8b22ec13067c8b3a05d47ccb12637e779a1040a9def4e9765b6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 43015, "constraint_breakdown": {"at_most_one": 191, "linear": 17867, "bool_or": 14791, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6350.34}, "cpsat_response_stats": {"num_booleans": 4881, "num_integers": 981, "num_fixed_booleans": 100, "num_conflicts": 1791, "num_branches": 41316, "num_binary_propagations": 2194552, "num_integer_propagations": 986201, "num_restarts": 18, "num_lp_iterations": 20347, "wall_time": 6.34223, "user_time": 6.34223, "deterministic_time": 6.90988, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "87a7d382f1e5cd88801c156daf84fd0739c090390db57bd7622d86f7775dbb48.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14985, "constraint_breakdown": {"at_most_one": 77, "linear": 5861, "bool_or": 5360, "bool_and": 3687}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1085.03, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 782, "num_integers": 293, "num_fixed_booleans": 592, "num_conflicts": 160, "num_branches": 4817, "num_binary_propagations": 145754, "num_integer_propagations": 115445, "num_restarts": 1, "num_lp_iterations": 355, "wall_time": 1.08385, "user_time": 1.08385, "deterministic_time": 0.865913, "gap_integral": 16.7213, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "8897295c1a1d2153b3e64712ad6cf8fef4812ff8f7419cf217ba26f03e246f24", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8897295c1a1d2153b3e64712ad6cf8fef4812ff8f7419cf217ba26f03e246f24.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 36358, "constraint_breakdown": {"at_most_one": 159, "linear": 15587, "bool_or": 12325, "bool_and": 8287}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5541.49}, "cpsat_response_stats": {"num_booleans": 4333, "num_integers": 877, "num_fixed_booleans": 398, "num_conflicts": 1466, "num_branches": 31284, "num_binary_propagations": 1713238, "num_integer_propagations": 794110, "num_restarts": 12, "num_lp_iterations": 8142, "wall_time": 5.53055, "user_time": 5.53055, "deterministic_time": 5.09327, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "89264583d12fec785e020bbb3d0c29872c17db7a2aea98f0c936e42d568a8eb9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5075, "num_bool": 3592, "num_int": 1483, "num_constraints": 58445}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5309.81}, "cpsat_response_stats": {"num_booleans": 7078, "num_conflicts": 2382, "num_branches": 66426, "num_binary_propagations": 4170088, "num_integer_propagations": 1774282, "num_restarts": 24, "wall_time": 5.30629, "user_time": 5.30629, "deterministic_time": 14.7412}, "solution_info": "default_lp", "problem_sha256": "8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8a25ce239e8b745b34e8418960573b61c84d9f9af96681e7f5b54725b86b6bfe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 45468, "constraint_breakdown": {"at_most_one": 190, "linear": 19689, "bool_or": 15336, "bool_and": 10253}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6624.34}, "cpsat_response_stats": {"num_booleans": 5017, "num_integers": 991, "num_fixed_booleans": 274, "num_conflicts": 1748, "num_branches": 41177, "num_binary_propagations": 2422576, "num_integer_propagations": 1078468, "num_restarts": 15, "num_lp_iterations": 14173, "wall_time": 6.60476, "user_time": 6.60476, "deterministic_time": 5.8758, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "8a3a0575a6af4727c9e27c2e63a5da1f147282a3478b1278fd9bc8069e8110b1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4787.76}, "cpsat_response_stats": {"num_booleans": 4806, "num_integers": 884, "num_fixed_booleans": 553, "num_conflicts": 2472, "num_branches": 37155, "num_binary_propagations": 2101498, "num_integer_propagations": 932280, "num_restarts": 21, "num_lp_iterations": 22176, "wall_time": 4.78069, "user_time": 4.78069, "deterministic_time": 4.98498, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.46071, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000315947, "user_time": 0.000315991, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12642.7}, "cpsat_response_stats": {"num_booleans": 8954, "num_integers": 884, "num_fixed_booleans": 1160, "num_conflicts": 8122, "num_branches": 46639, "num_binary_propagations": 5169860, "num_integer_propagations": 1361886, "num_restarts": 0, "num_lp_iterations": 40743, "wall_time": 12.6305, "user_time": 12.6305, "deterministic_time": 9.26795, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7664.45}, "cpsat_response_stats": {"num_booleans": 7147, "num_integers": 6336, "num_fixed_booleans": 1719, "num_conflicts": 1471, "num_branches": 32237, "num_binary_propagations": 2493317, "num_integer_propagations": 2639979, "num_restarts": 19, "num_lp_iterations": 20967, "wall_time": 7.65757, "user_time": 7.65757, "deterministic_time": 6.35345, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8789.02}, "cpsat_response_stats": {"num_booleans": 3981, "num_integers": 3702, "num_fixed_booleans": 100, "num_conflicts": 906, "num_branches": 35348, "num_binary_propagations": 1826563, "num_integer_propagations": 2406948, "num_restarts": 25, "num_lp_iterations": 24740, "wall_time": 8.77369, "user_time": 8.77369, "deterministic_time": 6.63145, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "8b1db26428e486f04d080ee1a5589c05a5a1251c112b8d2af9dfb6d55ae0dcf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3220, "num_bool": 2288, "num_int": 932, "num_constraints": 36135}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3475.49}, "cpsat_response_stats": {"num_booleans": 4361, "num_conflicts": 1375, "num_branches": 31948, "num_binary_propagations": 1924419, "num_integer_propagations": 845810, "num_restarts": 9, "wall_time": 3.4733, "user_time": 3.4733, "deterministic_time": 5.32517}, "solution_info": "quick_restart", "problem_sha256": "8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8b264feb93eae5932741a7f9e9db294c22ea3cb66c4957c56c11a257c0e84e2b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3044.89}, "cpsat_response_stats": {"num_booleans": 2664, "num_integers": 604, "num_fixed_booleans": 100, "num_conflicts": 901, "num_branches": 16035, "num_binary_propagations": 1095250, "num_integer_propagations": 523822, "num_restarts": 6, "num_lp_iterations": 2463, "wall_time": 3.03932, "user_time": 3.03932, "deterministic_time": 3.18278, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.02761, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000243565, "user_time": 0.000243597, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7549.54}, "cpsat_response_stats": {"num_booleans": 4269, "num_integers": 604, "num_fixed_booleans": 926, "num_conflicts": 3408, "num_branches": 22195, "num_binary_propagations": 2344736, "num_integer_propagations": 954304, "num_restarts": 0, "num_lp_iterations": 13142, "wall_time": 7.54122, "user_time": 7.54122, "deterministic_time": 5.37014, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12238.8}, "cpsat_response_stats": {"num_booleans": 4859, "num_integers": 4323, "num_fixed_booleans": 1522, "num_conflicts": 1307, "num_branches": 19987, "num_binary_propagations": 1845199, "num_integer_propagations": 2002486, "num_restarts": 31, "num_lp_iterations": 26320, "wall_time": 12.2272, "user_time": 12.2272, "deterministic_time": 4.74086, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32079, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10766, "bool_and": 7209}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6332.75}, "cpsat_response_stats": {"num_booleans": 2430, "num_integers": 2282, "num_fixed_booleans": 153, "num_conflicts": 856, "num_branches": 20765, "num_binary_propagations": 1301488, "num_integer_propagations": 1545624, "num_restarts": 32, "num_lp_iterations": 25551, "wall_time": 6.32662, "user_time": 6.32662, "deterministic_time": 4.80562, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "8b439dc017e4e505dd41661ef4684654990664c10d073efcb6cbd7f77d2e1f75.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.28}, "cpsat_response_stats": {"num_booleans": 7036, "num_conflicts": 1354, "num_branches": 54858, "num_binary_propagations": 3740107, "num_integer_propagations": 1548593, "num_restarts": 9, "wall_time": 3.90812, "user_time": 3.90812, "deterministic_time": 8.30722}, "solution_info": "default_lp", "problem_sha256": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8bf3c36029cc57273c55537c51f36e4d506c54f004db71af04c2f3833513a6ea.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 98356, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33646, "bool_and": 22355}, "objective_terms": 315}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 77312.6, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 13276, "num_integers": 2391, "num_fixed_booleans": 2372, "num_conflicts": 11524, "num_branches": 137190, "num_binary_propagations": 13566181, "num_integer_propagations": 4231812, "num_restarts": 74, "num_lp_iterations": 157022, "wall_time": 77.287, "user_time": 77.287, "deterministic_time": 54.7198, "gap_integral": 1007.37, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "8d20d7075f0bbe969941be96f336c7f87d3f16fbdb80ed42d6c64c0ff25da1ad", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8d20d7075f0bbe969941be96f336c7f87d3f16fbdb80ed42d6c64c0ff25da1ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4449.32}, "cpsat_response_stats": {"num_booleans": 4588, "num_integers": 902, "num_fixed_booleans": 190, "num_conflicts": 1352, "num_branches": 35025, "num_binary_propagations": 1834430, "num_integer_propagations": 811448, "num_restarts": 12, "num_lp_iterations": 12919, "wall_time": 4.4298, "user_time": 4.4298, "deterministic_time": 4.71866, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.7486, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000288364, "user_time": 0.000288414, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12068.7}, "cpsat_response_stats": {"num_booleans": 5948, "num_integers": 902, "num_fixed_booleans": 798, "num_conflicts": 5203, "num_branches": 46980, "num_binary_propagations": 3695569, "num_integer_propagations": 1399836, "num_restarts": 0, "num_lp_iterations": 40688, "wall_time": 12.0536, "user_time": 12.0536, "deterministic_time": 8.55602, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13206}, "cpsat_response_stats": {"num_booleans": 7614, "num_integers": 6534, "num_fixed_booleans": 1752, "num_conflicts": 1425, "num_branches": 32470, "num_binary_propagations": 2493669, "num_integer_propagations": 2588577, "num_restarts": 22, "num_lp_iterations": 21580, "wall_time": 13.1804, "user_time": 13.1804, "deterministic_time": 6.29589, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36382, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12419, "bool_and": 8434}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8083.43}, "cpsat_response_stats": {"num_booleans": 4422, "num_integers": 3838, "num_fixed_booleans": 106, "num_conflicts": 825, "num_branches": 36203, "num_binary_propagations": 1855224, "num_integer_propagations": 2690051, "num_restarts": 24, "num_lp_iterations": 22025, "wall_time": 8.0751, "user_time": 8.0751, "deterministic_time": 6.49203, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "8d6e8152f2a7acab40571eb94f4ab02bf8dcd2f246844a3366ade55f64647001.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 61389, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 22021, "bool_and": 15180}, "objective_terms": 238}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24823.8, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 8375, "num_integers": 1638, "num_fixed_booleans": 4768, "num_conflicts": 4444, "num_branches": 94321, "num_binary_propagations": 5484446, "num_integer_propagations": 2327612, "num_restarts": 41, "num_lp_iterations": 42599, "wall_time": 24.8116, "user_time": 24.8116, "deterministic_time": 18.7105, "gap_integral": 402.779, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "8da21152ae4db83b1c03c6d8f8c508ef8b8aa00294095638c498f2bef8daa862", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8da21152ae4db83b1c03c6d8f8c508ef8b8aa00294095638c498f2bef8daa862.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5064, "num_bool": 3230, "num_int": 1834, "num_constraints": 61088}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7342.41}, "cpsat_response_stats": {"num_booleans": 9164, "num_conflicts": 4363, "num_branches": 91953, "num_binary_propagations": 4615233, "num_integer_propagations": 1945100, "num_restarts": 46, "wall_time": 7.33968, "user_time": 7.33968, "deterministic_time": 15.6115}, "solution_info": "default_lp", "problem_sha256": "8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8e4e16238b7a5266c68e8a99bb41c18f3f2b3864ab9b439c946c2d99eeee0364.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11819.5}, "cpsat_response_stats": {"num_booleans": 7647, "num_integers": 1379, "num_fixed_booleans": 175, "num_conflicts": 3578, "num_branches": 76643, "num_binary_propagations": 4456087, "num_integer_propagations": 1857859, "num_restarts": 39, "num_lp_iterations": 42485, "wall_time": 11.8103, "user_time": 11.8103, "deterministic_time": 13.8424, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.84652, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000230234, "user_time": 0.000230271, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32740.1}, "cpsat_response_stats": {"num_booleans": 7831, "num_integers": 1379, "num_fixed_booleans": 168, "num_conflicts": 5947, "num_branches": 77195, "num_binary_propagations": 5584861, "num_integer_propagations": 2095724, "num_restarts": 0, "num_lp_iterations": 57575, "wall_time": 32.7106, "user_time": 32.7106, "deterministic_time": 19.6546, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 35061}, "cpsat_response_stats": {"num_booleans": 11917, "num_integers": 10289, "num_fixed_booleans": 2292, "num_conflicts": 2142, "num_branches": 60301, "num_binary_propagations": 4939571, "num_integer_propagations": 5130082, "num_restarts": 36, "num_lp_iterations": 34302, "wall_time": 35.0238, "user_time": 35.0238, "deterministic_time": 13.5942, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16505.2}, "cpsat_response_stats": {"num_booleans": 7563, "num_integers": 6669, "num_fixed_booleans": 191, "num_conflicts": 1403, "num_branches": 68535, "num_binary_propagations": 3912005, "num_integer_propagations": 5490401, "num_restarts": 45, "num_lp_iterations": 38064, "wall_time": 16.495, "user_time": 16.495, "deterministic_time": 15.257, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "8edd162afaa39a55870723c221d056c251e1846b40ab5ac7042388639fbbca3a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1669.89}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.66796, "user_time": 1.66796, "deterministic_time": 2.7846}, "solution_info": "quick_restart_no_lp", "problem_sha256": "8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f16d86d9b158570c045a8f7cf0c19b66d812d400677574b99f8f2270c9c7e3f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30064}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1599.16}, "cpsat_response_stats": {"num_booleans": 2920, "num_conflicts": 1148, "num_branches": 16541, "num_binary_propagations": 1396951, "num_integer_propagations": 623580, "num_restarts": 6, "wall_time": 1.59803, "user_time": 1.59803, "deterministic_time": 2.64948}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f41589af6050547301acab498a4f5b7894920b712156a7e2fac1664966dd04e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4053, "num_bool": 2932, "num_int": 1121, "num_constraints": 44877}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3057.05}, "cpsat_response_stats": {"num_booleans": 5699, "num_conflicts": 2050, "num_branches": 42750, "num_binary_propagations": 2908907, "num_integer_propagations": 1220861, "num_restarts": 15, "wall_time": 3.05479, "user_time": 3.05479, "deterministic_time": 6.67817}, "solution_info": "no_lp", "problem_sha256": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "8f61a3cb2dd7e6d2b832e5a18ca464a3f6e93ae0072c5251e2d4f7582069d539.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 26442, "constraint_breakdown": {"at_most_one": 132, "linear": 10245, "bool_or": 9463, "bool_and": 6602}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1979.49}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 619, "num_fixed_booleans": 71, "num_conflicts": 581, "num_branches": 16233, "num_binary_propagations": 742046, "num_integer_propagations": 340833, "num_restarts": 6, "num_lp_iterations": 1823, "wall_time": 1.97431, "user_time": 1.97431, "deterministic_time": 1.67653, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "8f967cbd48541a625efc6f9e641373a0015889f904fe744dc6d5e7061a7a36fe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1323.68}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.32278, "user_time": 1.32278, "deterministic_time": 1.66283}, "solution_info": "no_lp", "problem_sha256": "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55906}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5772.7}, "cpsat_response_stats": {"num_booleans": 9063, "num_conflicts": 5705, "num_branches": 120717, "num_binary_propagations": 5958705, "num_integer_propagations": 2454017, "num_restarts": 20, "wall_time": 5.76998, "user_time": 5.76998, "deterministic_time": 14.8884}, "solution_info": "default_lp", "problem_sha256": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "90e16615aa9873fcba0b9ffeaec5584d26877834691f2b3011096e29281d26ec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2579, "num_bool": 1793, "num_int": 786, "num_constraints": 28589}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1537.86}, "cpsat_response_stats": {"num_booleans": 2822, "num_conflicts": 876, "num_branches": 16280, "num_binary_propagations": 1065365, "num_integer_propagations": 496556, "num_restarts": 6, "wall_time": 1.53626, "user_time": 1.53626, "deterministic_time": 2.10021}, "solution_info": "quick_restart_no_lp", "problem_sha256": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "915f8918d0b3d7d39a423af66871046decda0ae1e8230bbdeb43f12a08e79fc7.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 22013, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7570, "bool_and": 5160}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3357.48, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 2495, "num_integers": 513, "num_fixed_booleans": 2004, "num_conflicts": 1421, "num_branches": 14200, "num_binary_propagations": 778877, "num_integer_propagations": 374467, "num_restarts": 11, "num_lp_iterations": 3156, "wall_time": 3.35004, "user_time": 3.35004, "deterministic_time": 2.76743, "gap_integral": 56.2501, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "pseudo_costs", "problem_sha256": "9184e368c0e97d4bc93704357120e76ef97fe5f9a0e72f3c148784d450c7723e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9184e368c0e97d4bc93704357120e76ef97fe5f9a0e72f3c148784d450c7723e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 50667, "constraint_breakdown": {"at_most_one": 219, "linear": 21417, "bool_or": 17337, "bool_and": 11694}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5312.01}, "cpsat_response_stats": {"num_booleans": 6575, "num_integers": 1236, "num_fixed_booleans": 125, "num_conflicts": 1717, "num_branches": 52956, "num_binary_propagations": 3365844, "num_integer_propagations": 1323177, "num_restarts": 15, "num_lp_iterations": 14066, "wall_time": 5.30172, "user_time": 5.30172, "deterministic_time": 7.43839, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "91dee20f1695cde5ba284269b5a1cddd4253c16a5e56639578ebbb8855c2c2fa.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 89169, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30480, "bool_and": 20153}, "objective_terms": 287}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 93615.6, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 12282, "num_integers": 2212, "num_fixed_booleans": 4366, "num_conflicts": 14401, "num_branches": 129633, "num_binary_propagations": 17408996, "num_integer_propagations": 4957576, "num_restarts": 95, "num_lp_iterations": 193448, "wall_time": 93.5704, "user_time": 93.5704, "deterministic_time": 60.1845, "gap_integral": 1254.32, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "924038c95c7634a971a91a5ad72819fc2977c87790d06360e0ec5b38be4a219e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "924038c95c7634a971a91a5ad72819fc2977c87790d06360e0ec5b38be4a219e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2585, "num_bool": 1793, "num_int": 792, "num_constraints": 28922, "constraint_breakdown": {"at_most_one": 134, "linear": 11959, "bool_or": 10032, "bool_and": 6797}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2360.01}, "cpsat_response_stats": {"num_booleans": 2656, "num_integers": 598, "num_fixed_booleans": 234, "num_conflicts": 912, "num_branches": 15157, "num_binary_propagations": 1117887, "num_integer_propagations": 502968, "num_restarts": 6, "num_lp_iterations": 2208, "wall_time": 2.35414, "user_time": 2.35414, "deterministic_time": 1.93857, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "94fbb6eb1148ca15aff1945c9b987c281b8ac300531a6c4ed88840629233828f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 50587, "constraint_breakdown": {"at_most_one": 219, "linear": 21417, "bool_or": 17257, "bool_and": 11694}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7026.39}, "cpsat_response_stats": {"num_booleans": 6689, "num_integers": 1266, "num_fixed_booleans": 125, "num_conflicts": 1692, "num_branches": 52454, "num_binary_propagations": 3074984, "num_integer_propagations": 1307530, "num_restarts": 15, "num_lp_iterations": 16061, "wall_time": 7.01643, "user_time": 7.01643, "deterministic_time": 7.8701, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9507e3b4ced4efa84827b4febcf8c4bf480ec914bc957af7ebe337c2a25fa887.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6499.23}, "cpsat_response_stats": {"num_booleans": 5506, "num_integers": 1069, "num_fixed_booleans": 105, "num_conflicts": 1678, "num_branches": 45114, "num_binary_propagations": 2613355, "num_integer_propagations": 1129347, "num_restarts": 15, "num_lp_iterations": 17573, "wall_time": 6.49021, "user_time": 6.49021, "deterministic_time": 6.78036, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.01591, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000241002, "user_time": 0.000241043, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16835.1}, "cpsat_response_stats": {"num_booleans": 5971, "num_integers": 1069, "num_fixed_booleans": 241, "num_conflicts": 3716, "num_branches": 45001, "num_binary_propagations": 3539552, "num_integer_propagations": 1374558, "num_restarts": 0, "num_lp_iterations": 39338, "wall_time": 16.8114, "user_time": 16.8114, "deterministic_time": 10.362, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15625.6}, "cpsat_response_stats": {"num_booleans": 8879, "num_integers": 7619, "num_fixed_booleans": 1803, "num_conflicts": 1594, "num_branches": 41163, "num_binary_propagations": 3213735, "num_integer_propagations": 3366330, "num_restarts": 14, "num_lp_iterations": 16849, "wall_time": 15.6107, "user_time": 15.6107, "deterministic_time": 6.88011, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 45864, "constraint_breakdown": {"at_most_one": 194, "linear": 19659, "bool_or": 15552, "bool_and": 10459}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8506.95}, "cpsat_response_stats": {"num_booleans": 5388, "num_integers": 4736, "num_fixed_booleans": 113, "num_conflicts": 899, "num_branches": 46218, "num_binary_propagations": 2486449, "num_integer_propagations": 3657409, "num_restarts": 20, "num_lp_iterations": 18839, "wall_time": 8.49641, "user_time": 8.49641, "deterministic_time": 7.9433, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "95dffeb21af47c0da4d0cd31a1d8f2a02c049546ee31d53568c3c87ec796b9b7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1443320.0}, "cpsat_response_stats": {"num_booleans": 34630, "num_conflicts": 700829, "num_branches": 2655203, "num_binary_propagations": 928474398, "num_integer_propagations": 232999472, "num_restarts": 3060, "wall_time": 1443.29, "user_time": 1443.29, "deterministic_time": 4843.77}, "solution_info": "no_lp", "problem_sha256": "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "96e1d05ec560b176485b6da3c8924718e9a3efa0e6605dda68c85a8354cfac91.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3578.34}, "cpsat_response_stats": {"num_booleans": 7045, "num_conflicts": 1997, "num_branches": 53648, "num_binary_propagations": 3688139, "num_integer_propagations": 1484517, "num_restarts": 15, "wall_time": 3.57481, "user_time": 3.57481, "deterministic_time": 7.28891}, "solution_info": "fs_random", "problem_sha256": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "97c67ce44962a7b1afacbdf7610259b634c74cf7953cf2b5766bfccf3e347b13.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4050, "num_bool": 2924, "num_int": 1126, "num_constraints": 45133, "constraint_breakdown": {"at_most_one": 190, "linear": 19306, "bool_or": 15394, "bool_and": 10243}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4600.21}, "cpsat_response_stats": {"num_booleans": 5653, "num_integers": 1013, "num_fixed_booleans": 345, "num_conflicts": 2345, "num_branches": 44779, "num_binary_propagations": 3030363, "num_integer_propagations": 1253155, "num_restarts": 18, "num_lp_iterations": 17911, "wall_time": 4.59152, "user_time": 4.59152, "deterministic_time": 6.52967, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9801d683d790b79a89846abab1f9539026a1ca565629939ff874f65922709702.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47669, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 16201, "bool_and": 10866}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18427, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8451, "num_integers": 1126, "num_fixed_booleans": 5745, "num_conflicts": 8165, "num_branches": 62016, "num_binary_propagations": 6515569, "num_integer_propagations": 2598661, "num_restarts": 38, "num_lp_iterations": 46785, "wall_time": 18.4035, "user_time": 18.4035, "deterministic_time": 19.6842, "gap_integral": 255.226, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_var_lns (d=5.00e-01 s=30 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "986e408097d63dbe93210883d12efbd11c7ebfd37fec6e3462bb8a72dd4ade05", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "986e408097d63dbe93210883d12efbd11c7ebfd37fec6e3462bb8a72dd4ade05.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 23113, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7868, "bool_and": 5304}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5661.77, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 6141, "num_integers": 486, "num_fixed_booleans": 5760, "num_conflicts": 5929, "num_branches": 37247, "num_binary_propagations": 3076112, "num_integer_propagations": 1099396, "num_restarts": 20, "num_lp_iterations": 5205, "wall_time": 5.65583, "user_time": 5.65583, "deterministic_time": 6.91608, "gap_integral": 144.127, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "98c32f98b1912de97866905f8af956745db6c16dde00e157b0d4e45577755233", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "98c32f98b1912de97866905f8af956745db6c16dde00e157b0d4e45577755233.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14036, "constraint_breakdown": {"at_most_one": 76, "linear": 5477, "bool_or": 4986, "bool_and": 3497}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 422.549}, "cpsat_response_stats": {"num_booleans": 790, "num_integers": 272, "num_fixed_booleans": 21, "num_conflicts": 103, "num_branches": 4068, "num_binary_propagations": 134433, "num_integer_propagations": 78659, "num_restarts": 1, "num_lp_iterations": 100, "wall_time": 0.421683, "user_time": 0.421683, "deterministic_time": 0.26473, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "99406389a054df8283649e3669fd2a07fa770b3472003d54b6331d59527a15d1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 798.026}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.797012, "user_time": 0.797012, "deterministic_time": 1.18037}, "solution_info": "default_lp", "problem_sha256": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "99c5ac6d121d8b750f0bddfa010f32222a75f7d3c2235a87cc7883a876e3d654.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3604, "num_int": 1500, "num_constraints": 59384, "constraint_breakdown": {"at_most_one": 248, "linear": 25207, "bool_or": 20226, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6204.55}, "cpsat_response_stats": {"num_booleans": 6973, "num_integers": 1335, "num_fixed_booleans": 162, "num_conflicts": 1650, "num_branches": 51769, "num_binary_propagations": 3907426, "num_integer_propagations": 1592141, "num_restarts": 12, "num_lp_iterations": 16465, "wall_time": 6.19391, "user_time": 6.19392, "deterministic_time": 8.33136, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "99db0e67a00812cd88e5186525387f7f146332da1adcc35d7218f6d13b32b927.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28200.8}, "cpsat_response_stats": {"num_booleans": 12120, "num_integers": 2027, "num_fixed_booleans": 325, "num_conflicts": 13095, "num_branches": 128740, "num_binary_propagations": 12954255, "num_integer_propagations": 4000757, "num_restarts": 90, "num_lp_iterations": 171859, "wall_time": 28.1855, "user_time": 28.1855, "deterministic_time": 35.9572, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.8892, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.0002364, "user_time": 0.00023644, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 44906.9}, "cpsat_response_stats": {"num_booleans": 11961, "num_integers": 2027, "num_fixed_booleans": 252, "num_conflicts": 7043, "num_branches": 94091, "num_binary_propagations": 8758468, "num_integer_propagations": 2997618, "num_restarts": 0, "num_lp_iterations": 91433, "wall_time": 44.882, "user_time": 44.882, "deterministic_time": 33.8967, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 64329.3}, "cpsat_response_stats": {"num_booleans": 17995, "num_integers": 15581, "num_fixed_booleans": 3255, "num_conflicts": 3037, "num_branches": 76704, "num_binary_propagations": 6381575, "num_integer_propagations": 6512874, "num_restarts": 60, "num_lp_iterations": 65884, "wall_time": 64.3074, "user_time": 64.3074, "deterministic_time": 35.2686, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 88415, "constraint_breakdown": {"at_most_one": 337, "linear": 38199, "bool_or": 30103, "bool_and": 19776}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 51362.6}, "cpsat_response_stats": {"num_booleans": 12031, "num_integers": 10572, "num_fixed_booleans": 316, "num_conflicts": 2255, "num_branches": 92186, "num_binary_propagations": 5603430, "num_integer_propagations": 9012813, "num_restarts": 92, "num_lp_iterations": 79638, "wall_time": 51.3322, "user_time": 51.3322, "deterministic_time": 38.1245, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "99dd837b2fb977cecca2cd812b39804c750269ea4317fa660ded1bfd10361217.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32387, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10920, "bool_and": 7363}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8748.41, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 4110, "num_integers": 644, "num_fixed_booleans": 3122, "num_conflicts": 2681, "num_branches": 20896, "num_binary_propagations": 1927637, "num_integer_propagations": 966761, "num_restarts": 14, "num_lp_iterations": 7116, "wall_time": 8.74061, "user_time": 8.74061, "deterministic_time": 6.80237, "gap_integral": 140.212, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9aba10c5fadecdd17c301a45ddbcef5534a25c861b0a0a9b4943331de602ad8e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9aba10c5fadecdd17c301a45ddbcef5534a25c861b0a0a9b4943331de602ad8e.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45679, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15629, "bool_and": 10734}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12996.9, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 6851, "num_integers": 1079, "num_fixed_booleans": 346, "num_conflicts": 4620, "num_branches": 70053, "num_binary_propagations": 3513163, "num_integer_propagations": 1571469, "num_restarts": 23, "num_lp_iterations": 28443, "wall_time": 12.9718, "user_time": 12.9718, "deterministic_time": 11.007, "gap_integral": 233.223, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "9b58888c473818a77ecb1aaf2c1032bc87b909c80f837100403b5a83a75cbc87", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9b58888c473818a77ecb1aaf2c1032bc87b909c80f837100403b5a83a75cbc87.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 51975, "constraint_breakdown": {"at_most_one": 245, "linear": 20574, "bool_or": 18265, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7909.24}, "cpsat_response_stats": {"num_booleans": 6688, "num_integers": 1377, "num_fixed_booleans": 141, "num_conflicts": 969, "num_branches": 45703, "num_binary_propagations": 2324155, "num_integer_propagations": 1016253, "num_restarts": 6, "num_lp_iterations": 7802, "wall_time": 7.89952, "user_time": 7.89952, "deterministic_time": 7.91396, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9b68c85c1a117037be6720b3f7a9f0c2b040b41c9b725525fb162df7f3a2910c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2149, "num_int": 951, "num_constraints": 34071, "constraint_breakdown": {"at_most_one": 161, "linear": 13494, "bool_or": 12158, "bool_and": 8258}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2300.62}, "cpsat_response_stats": {"num_booleans": 3168, "num_integers": 721, "num_fixed_booleans": 1695, "num_conflicts": 684, "num_branches": 14103, "num_binary_propagations": 883450, "num_integer_propagations": 373726, "num_restarts": 2, "num_lp_iterations": 336, "wall_time": 2.29595, "user_time": 2.29595, "deterministic_time": 1.8593, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9be78e91ac11a52ea9632536e893507ce0081319840e6ec750614f774115ce96.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20881, "num_bool": 16450, "num_int": 4431, "num_constraints": 236975, "constraint_breakdown": {"at_most_one": 727, "linear": 109273, "bool_or": 77125, "bool_and": 49850}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5307350.0}, "cpsat_response_stats": {"num_booleans": 40448, "num_integers": 4906, "num_fixed_booleans": 3570, "num_conflicts": 949858, "num_branches": 3779328, "num_binary_propagations": 1284803830, "num_integer_propagations": 336295337, "num_restarts": 3742, "num_lp_iterations": 30023094, "wall_time": 5307.27, "user_time": 5307.27, "deterministic_time": 10022.4, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c28c175d2cd7871aaff707f1cdbb5132941625137f09fd93fa2116fc9b3470e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20727, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7163, "bool_and": 4869}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1161.53}, "cpsat_response_stats": {"num_booleans": 1732, "num_integers": 464, "num_fixed_booleans": 50, "num_conflicts": 305, "num_branches": 10055, "num_binary_propagations": 416195, "num_integer_propagations": 218999, "num_restarts": 1, "num_lp_iterations": 263, "wall_time": 1.15922, "user_time": 1.15922, "deterministic_time": 0.839053, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c2be28afd9a6d476a647468dccac7801a653e7be6684ac128de72030efcb3f5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58096}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4022.2}, "cpsat_response_stats": {"num_booleans": 6836, "num_conflicts": 1777, "num_branches": 58426, "num_binary_propagations": 3669621, "num_integer_propagations": 1600687, "num_restarts": 12, "wall_time": 4.01901, "user_time": 4.01901, "deterministic_time": 8.31302}, "solution_info": "default_lp", "problem_sha256": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1312210.0}, "cpsat_response_stats": {"num_booleans": 35686, "num_integers": 4911, "num_fixed_booleans": 1451, "num_conflicts": 261411, "num_branches": 1407886, "num_binary_propagations": 298239744, "num_integer_propagations": 91900563, "num_restarts": 1400, "num_lp_iterations": 9043153, "wall_time": 1312.16, "user_time": 1312.16, "deterministic_time": 2214.53, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.26208, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000288553, "user_time": 0.000288581, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8988910.0}, "cpsat_response_stats": {"num_booleans": 35451, "num_integers": 4911, "num_fixed_booleans": 1422, "num_conflicts": 770557, "num_branches": 3256762, "num_binary_propagations": 959850445, "num_integer_propagations": 240656806, "num_restarts": 0, "num_lp_iterations": 21171375, "wall_time": 8988.82, "user_time": 8988.82, "deterministic_time": 8469.07, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5797360.0}, "cpsat_response_stats": {"num_booleans": 47048, "num_integers": 37399, "num_fixed_booleans": 5967, "num_conflicts": 39169, "num_branches": 941019, "num_binary_propagations": 114294012, "num_integer_propagations": 97649086, "num_restarts": 3366, "num_lp_iterations": 4665751, "wall_time": 5797.27, "user_time": 5797.27, "deterministic_time": 6228.6, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20853, "num_bool": 16429, "num_int": 4424, "num_constraints": 245972, "constraint_breakdown": {"at_most_one": 727, "linear": 115320, "bool_or": 79251, "bool_and": 50674}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5440530.0}, "cpsat_response_stats": {"num_booleans": 37683, "num_integers": 29210, "num_fixed_booleans": 1675, "num_conflicts": 73072, "num_branches": 1678593, "num_binary_propagations": 198711620, "num_integer_propagations": 166473051, "num_restarts": 6679, "num_lp_iterations": 7394541, "wall_time": 5440.38, "user_time": 5440.38, "deterministic_time": 5471.93, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "9c5486163986ecf6d1316c2ad9ab5a154f3847a1b7e01d23f2ad6251435b68dd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3212.27}, "cpsat_response_stats": {"num_booleans": 1975, "num_integers": 459, "num_fixed_booleans": 274, "num_conflicts": 822, "num_branches": 11048, "num_binary_propagations": 635610, "num_integer_propagations": 304646, "num_restarts": 6, "num_lp_iterations": 1750, "wall_time": 3.20233, "user_time": 3.20233, "deterministic_time": 2.12357, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.16347, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000257702, "user_time": 0.000257745, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5272.92}, "cpsat_response_stats": {"num_booleans": 2383, "num_integers": 459, "num_fixed_booleans": 137, "num_conflicts": 1447, "num_branches": 11804, "num_binary_propagations": 816653, "num_integer_propagations": 350374, "num_restarts": 0, "num_lp_iterations": 2690, "wall_time": 5.26567, "user_time": 5.26567, "deterministic_time": 2.72412, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7098.64}, "cpsat_response_stats": {"num_booleans": 3889, "num_integers": 3450, "num_fixed_booleans": 1462, "num_conflicts": 1242, "num_branches": 21758, "num_binary_propagations": 1929928, "num_integer_propagations": 2053258, "num_restarts": 24, "num_lp_iterations": 21566, "wall_time": 7.09321, "user_time": 7.09321, "deterministic_time": 4.12498, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 22871, "constraint_breakdown": {"at_most_one": 104, "linear": 9837, "bool_or": 7747, "bool_and": 5183}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5760.26}, "cpsat_response_stats": {"num_booleans": 1659, "num_integers": 1559, "num_fixed_booleans": 45, "num_conflicts": 414, "num_branches": 12920, "num_binary_propagations": 610561, "num_integer_propagations": 710086, "num_restarts": 6, "num_lp_iterations": 5730, "wall_time": 5.74616, "user_time": 5.74616, "deterministic_time": 2.79148, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "9c6904d7802ccf85e6e37fed810f6c741d114f7244b89d3d8801e90f0cf52cf4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 29118, "constraint_breakdown": {"at_most_one": 133, "linear": 12261, "bool_or": 9937, "bool_and": 6787}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3098.94}, "cpsat_response_stats": {"num_booleans": 3430, "num_integers": 664, "num_fixed_booleans": 385, "num_conflicts": 1617, "num_branches": 21084, "num_binary_propagations": 1186499, "num_integer_propagations": 545842, "num_restarts": 12, "num_lp_iterations": 8225, "wall_time": 3.09349, "user_time": 3.09349, "deterministic_time": 2.66028, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9c801bcf5dc6a4fa11be76710e268871e68ba55da83399f00fb9e0390f675962.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45225}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4094.81}, "cpsat_response_stats": {"num_booleans": 6659, "num_conflicts": 3832, "num_branches": 89975, "num_binary_propagations": 3557350, "num_integer_propagations": 1497311, "num_restarts": 20, "wall_time": 4.09307, "user_time": 4.09307, "deterministic_time": 7.82779}, "solution_info": "default_lp", "problem_sha256": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9d6512b86417f81a043a4abfa11ada9209f4e3e59b8b56f8f2e234e823c89eab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20107, "constraint_breakdown": {"at_most_one": 102, "linear": 8055, "bool_or": 7054, "bool_and": 4896}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1034.56}, "cpsat_response_stats": {"num_booleans": 1812, "num_integers": 472, "num_fixed_booleans": 52, "num_conflicts": 351, "num_branches": 10858, "num_binary_propagations": 391284, "num_integer_propagations": 198421, "num_restarts": 3, "num_lp_iterations": 915, "wall_time": 1.03334, "user_time": 1.03334, "deterministic_time": 0.75633, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "9e71a16c2592f15f94948241daaa4468f4f47ad791aa02a3751e03e97a2d377d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59864}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7404.83}, "cpsat_response_stats": {"num_booleans": 7765, "num_conflicts": 1468, "num_branches": 61490, "num_binary_propagations": 4217427, "num_integer_propagations": 2866648, "num_restarts": 9, "wall_time": 7.40171, "user_time": 7.40171, "deterministic_time": 14.4768}, "solution_info": "no_lp", "problem_sha256": "9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9e867e2a560f391fe00509c9a263a7b25e7beaadcc151da54b616a068bff4d1a.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30854, "constraint_breakdown": {"at_most_one": 133, "linear": 13067, "bool_or": 10491, "bool_and": 7163}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7945.18, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 7083, "num_integers": 731, "num_fixed_booleans": 5116, "num_conflicts": 7879, "num_branches": 36986, "num_binary_propagations": 4924236, "num_integer_propagations": 1933008, "num_restarts": 42, "num_lp_iterations": 30746, "wall_time": 7.93496, "user_time": 7.93496, "deterministic_time": 9.37835, "gap_integral": 196.668, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9eda5addedbb8f1c5a6ea9bd5fe469814755a8ecdebb998f9c2598bc4e2308c7", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9eda5addedbb8f1c5a6ea9bd5fe469814755a8ecdebb998f9c2598bc4e2308c7.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3520, "num_bool": 2381, "num_int": 1139, "num_constraints": 40996}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3171.96}, "cpsat_response_stats": {"num_booleans": 4956, "num_conflicts": 1193, "num_branches": 38351, "num_binary_propagations": 2029739, "num_integer_propagations": 875626, "num_restarts": 12, "wall_time": 3.17017, "user_time": 3.17017, "deterministic_time": 6.84478}, "solution_info": "default_lp", "problem_sha256": "9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f1faefa3b6d0fde8da0886706df654164a7ba690fa4c6c337401c865e233cfe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4087, "num_bool": 2956, "num_int": 1131, "num_constraints": 45102}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3351.44}, "cpsat_response_stats": {"num_booleans": 5237, "num_conflicts": 1767, "num_branches": 38543, "num_binary_propagations": 2848460, "num_integer_propagations": 1099648, "num_restarts": 15, "wall_time": 3.34942, "user_time": 3.34942, "deterministic_time": 6.44192}, "solution_info": "fs_random_no_lp", "problem_sha256": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9f330e3d7528eea46bbfbd640e4dc0f7d732bf1fdc1dd9e39c323406b9cede01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11228.7}, "cpsat_response_stats": {"num_booleans": 7277, "num_integers": 1389, "num_fixed_booleans": 174, "num_conflicts": 5127, "num_branches": 73239, "num_binary_propagations": 3900079, "num_integer_propagations": 1706894, "num_restarts": 42, "num_lp_iterations": 60497, "wall_time": 11.2067, "user_time": 11.2067, "deterministic_time": 13.756, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.14959, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000272429, "user_time": 0.000272474, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18884.8}, "cpsat_response_stats": {"num_booleans": 7099, "num_integers": 1389, "num_fixed_booleans": 142, "num_conflicts": 3259, "num_branches": 56704, "num_binary_propagations": 3181817, "num_integer_propagations": 1390194, "num_restarts": 0, "num_lp_iterations": 38046, "wall_time": 18.8733, "user_time": 18.8733, "deterministic_time": 11.551, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17407.9}, "cpsat_response_stats": {"num_booleans": 10991, "num_integers": 9889, "num_fixed_booleans": 2268, "num_conflicts": 1595, "num_branches": 48002, "num_binary_propagations": 3555988, "num_integer_propagations": 3891290, "num_restarts": 10, "num_lp_iterations": 14538, "wall_time": 17.3923, "user_time": 17.3923, "deterministic_time": 7.21661, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 54463, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 18969, "bool_and": 13291}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16423.8}, "cpsat_response_stats": {"num_booleans": 6609, "num_integers": 6215, "num_fixed_booleans": 192, "num_conflicts": 1040, "num_branches": 57578, "num_binary_propagations": 2883528, "num_integer_propagations": 4560052, "num_restarts": 40, "num_lp_iterations": 42965, "wall_time": 16.4112, "user_time": 16.4112, "deterministic_time": 15.1837, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "9faddb505594f68b886e5540640f408e1d511fb47d3fde017a7466621b7d5d8d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 640.309}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.639225, "user_time": 0.639225, "deterministic_time": 0.898999}, "solution_info": "fs_random_no_lp", "problem_sha256": "9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "9fef160ec7a392c9691777eb5c599e48956eed4b519eb0ef968c6da06a547db3.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3104, "num_bool": 2156, "num_int": 948, "num_constraints": 36752, "constraint_breakdown": {"at_most_one": 163, "linear": 15366, "bool_or": 12604, "bool_and": 8619}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12021.2, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 4932, "num_integers": 974, "num_fixed_booleans": 97, "num_conflicts": 4413, "num_branches": 43700, "num_binary_propagations": 3971250, "num_integer_propagations": 1514445, "num_restarts": 33, "num_lp_iterations": 40511, "wall_time": 12.0096, "user_time": 12.0096, "deterministic_time": 10.8944, "gap_integral": 230.103, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "a01db04d1c0cefeec5fe077d42d9b84d55e54bf00cc689787f11200b6f817d36", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a01db04d1c0cefeec5fe077d42d9b84d55e54bf00cc689787f11200b6f817d36.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2930, "num_int": 1127, "num_constraints": 45699, "constraint_breakdown": {"at_most_one": 190, "linear": 19823, "bool_or": 15433, "bool_and": 10253}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5754.89}, "cpsat_response_stats": {"num_booleans": 4993, "num_integers": 985, "num_fixed_booleans": 168, "num_conflicts": 1585, "num_branches": 40818, "num_binary_propagations": 2603332, "num_integer_propagations": 1108853, "num_restarts": 12, "num_lp_iterations": 12824, "wall_time": 5.74327, "user_time": 5.74327, "deterministic_time": 6.47583, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a04dbde35f5eda88bf42a75eaf0d43d9b0665177cfa971469f3e5e9fb8225fd0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2350, "num_bool": 1548, "num_int": 802, "num_constraints": 28749, "constraint_breakdown": {"at_most_one": 133, "linear": 11466, "bool_or": 10083, "bool_and": 7067}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7205.38, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 2994, "num_integers": 699, "num_fixed_booleans": 965, "num_conflicts": 447, "num_branches": 17377, "num_binary_propagations": 714971, "num_integer_propagations": 366913, "num_restarts": 3, "num_lp_iterations": 1314, "wall_time": 7.19751, "user_time": 7.19751, "deterministic_time": 4.16838, "gap_integral": 85.3978, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "a0a55fdea86a6868a302e54eadbfe25574d413fdc83eb469675ed9df3568a1db", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a0a55fdea86a6868a302e54eadbfe25574d413fdc83eb469675ed9df3568a1db.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 850.031}, "cpsat_response_stats": {"num_booleans": 1814, "num_conflicts": 618, "num_branches": 9748, "num_binary_propagations": 668695, "num_integer_propagations": 313302, "num_restarts": 3, "wall_time": 0.848366, "user_time": 0.848366, "deterministic_time": 1.17243}, "solution_info": "default_lp", "problem_sha256": "a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a0bbbe5321ee24c3dbf69f223c4c0e8a0f62a2dfbf1e58c2f9414e2255a0122f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6657.63}, "cpsat_response_stats": {"num_booleans": 8761, "num_integers": 884, "num_fixed_booleans": 953, "num_conflicts": 7110, "num_branches": 91485, "num_binary_propagations": 4004667, "num_integer_propagations": 1658789, "num_restarts": 23, "num_lp_iterations": 42490, "wall_time": 6.63749, "user_time": 6.63749, "deterministic_time": 6.30523, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.88425, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000252916, "user_time": 0.000252957, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13428}, "cpsat_response_stats": {"num_booleans": 6157, "num_integers": 884, "num_fixed_booleans": 1230, "num_conflicts": 5482, "num_branches": 47878, "num_binary_propagations": 3595866, "num_integer_propagations": 1450513, "num_restarts": 0, "num_lp_iterations": 51992, "wall_time": 13.4113, "user_time": 13.4113, "deterministic_time": 10.1105, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15616.2}, "cpsat_response_stats": {"num_booleans": 7180, "num_integers": 6358, "num_fixed_booleans": 1743, "num_conflicts": 1486, "num_branches": 32339, "num_binary_propagations": 2480291, "num_integer_propagations": 2629595, "num_restarts": 18, "num_lp_iterations": 20857, "wall_time": 15.6038, "user_time": 15.6038, "deterministic_time": 6.26281, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3224, "num_bool": 2288, "num_int": 936, "num_constraints": 38028, "constraint_breakdown": {"at_most_one": 159, "linear": 16533, "bool_or": 12789, "bool_and": 8547}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9505.71}, "cpsat_response_stats": {"num_booleans": 3995, "num_integers": 3708, "num_fixed_booleans": 93, "num_conflicts": 857, "num_branches": 35471, "num_binary_propagations": 1802195, "num_integer_propagations": 2404298, "num_restarts": 23, "num_lp_iterations": 24730, "wall_time": 9.4939, "user_time": 9.4939, "deterministic_time": 7.1125, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "a0cd1b349e85c374dac7fd4570d5dc90928422dea74e38afe67defa14d8a13a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51635}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3956.08}, "cpsat_response_stats": {"num_booleans": 6640, "num_conflicts": 670, "num_branches": 40595, "num_binary_propagations": 2397835, "num_integer_propagations": 987564, "num_restarts": 1, "wall_time": 3.95297, "user_time": 3.95297, "deterministic_time": 7.45242}, "solution_info": "default_lp", "problem_sha256": "a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a1a2584786c08975b608e6ba0d2d576dc3993ca614b721341a5bfd21f2c4bdac.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27043}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1979.36}, "cpsat_response_stats": {"num_booleans": 2862, "num_conflicts": 334, "num_branches": 15496, "num_binary_propagations": 758699, "num_integer_propagations": 328631, "num_restarts": 1, "wall_time": 1.97852, "user_time": 1.97852, "deterministic_time": 2.57625}, "solution_info": "quick_restart", "problem_sha256": "a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2471fdf2d809899bf51327d180164d2523cb5bc14222327fda360f2f6677b7b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3150, "num_bool": 2012, "num_int": 1138, "num_constraints": 37480}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3366.15}, "cpsat_response_stats": {"num_booleans": 4923, "num_conflicts": 1494, "num_branches": 43537, "num_binary_propagations": 1671019, "num_integer_propagations": 736622, "num_restarts": 15, "wall_time": 3.36304, "user_time": 3.36304, "deterministic_time": 7.2959}, "solution_info": "default_lp", "problem_sha256": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a27f90201b577988626385f9254e8b786910326e6e8fb7b6cb1544a744743db8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14094}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 316.487}, "cpsat_response_stats": {"num_booleans": 729, "num_conflicts": 166, "num_branches": 4721, "num_binary_propagations": 180169, "num_integer_propagations": 107470, "num_restarts": 1, "wall_time": 0.31602, "user_time": 0.31602, "deterministic_time": 0.38152}, "solution_info": "no_lp", "problem_sha256": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a2a435c469f2205b3c9cca2d78b3efb8ea3542308e986ea66d8774b36dcc3f99.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 30268, "constraint_breakdown": {"at_most_one": 134, "linear": 12974, "bool_or": 10254, "bool_and": 6906}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2377.49}, "cpsat_response_stats": {"num_booleans": 3016, "num_integers": 642, "num_fixed_booleans": 175, "num_conflicts": 1266, "num_branches": 30734, "num_binary_propagations": 1099367, "num_integer_propagations": 539843, "num_restarts": 9, "num_lp_iterations": 5805, "wall_time": 2.37055, "user_time": 2.37055, "deterministic_time": 1.95116, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a2dfa72e3403f1488e1d679e3d8bf35a040fbfb8b52101a438626dfe9587aa58.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 37902, "constraint_breakdown": {"at_most_one": 188, "linear": 14589, "bool_or": 13532, "bool_and": 9593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5134.63}, "cpsat_response_stats": {"num_booleans": 4379, "num_integers": 944, "num_fixed_booleans": 110, "num_conflicts": 433, "num_branches": 24742, "num_binary_propagations": 1181414, "num_integer_propagations": 490104, "num_restarts": 1, "num_lp_iterations": 478, "wall_time": 5.12805, "user_time": 5.12805, "deterministic_time": 6.26043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a325be32cc0287d707ddde2c5556e868387fda094272991cfe5cd1998091f5a9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5366, "num_bool": 3525, "num_int": 1841, "num_constraints": 64385, "constraint_breakdown": {"at_most_one": 300, "linear": 25295, "bool_or": 22795, "bool_and": 15995}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11295.1}, "cpsat_response_stats": {"num_booleans": 9287, "num_integers": 1607, "num_fixed_booleans": 207, "num_conflicts": 2482, "num_branches": 78855, "num_binary_propagations": 4198089, "num_integer_propagations": 1668937, "num_restarts": 27, "num_lp_iterations": 31366, "wall_time": 11.2832, "user_time": 11.2832, "deterministic_time": 16.0043, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a34a2f667fa7daad838285edacb2c038301c3bd073c6d83a9290a6cce2364723.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 44292, "constraint_breakdown": {"at_most_one": 194, "linear": 18817, "bool_or": 15092, "bool_and": 10189}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6495.42}, "cpsat_response_stats": {"num_booleans": 6452, "num_integers": 1063, "num_fixed_booleans": 111, "num_conflicts": 3579, "num_branches": 74959, "num_binary_propagations": 3314715, "num_integer_propagations": 1406554, "num_restarts": 24, "num_lp_iterations": 31568, "wall_time": 6.47618, "user_time": 6.47618, "deterministic_time": 7.06788, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a3865ae1eb5fb989347e0391f653d399c19e0050af1fcb79594dc0659bf374f0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 62282, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21311, "bool_and": 14552}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25758.6, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 6769, "num_integers": 1471, "num_fixed_booleans": 3247, "num_conflicts": 2437, "num_branches": 61291, "num_binary_propagations": 4030511, "num_integer_propagations": 1877879, "num_restarts": 17, "num_lp_iterations": 30256, "wall_time": 25.7421, "user_time": 25.7421, "deterministic_time": 15.616, "gap_integral": 324.44, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_var_lns (d=5.00e-01 s=22 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10574.9}, "cpsat_response_stats": {"num_booleans": 11806, "num_conflicts": 10534, "num_branches": 98410, "num_binary_propagations": 12226499, "num_integer_propagations": 3370514, "num_restarts": 89, "wall_time": 10.5706, "user_time": 10.5706, "deterministic_time": 32.0729}, "solution_info": "no_lp", "problem_sha256": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a49d307cfcf3ca9dff031a54cca31086a1882b7c0e65c1da60de651a8c9a79b8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1977, "num_bool": 1377, "num_int": 600, "num_constraints": 21823, "constraint_breakdown": {"at_most_one": 104, "linear": 9237, "bool_or": 7459, "bool_and": 5023}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1840}, "cpsat_response_stats": {"num_booleans": 1689, "num_integers": 455, "num_fixed_booleans": 88, "num_conflicts": 455, "num_branches": 9769, "num_binary_propagations": 518959, "num_integer_propagations": 281275, "num_restarts": 3, "num_lp_iterations": 841, "wall_time": 1.83483, "user_time": 1.83483, "deterministic_time": 1.15662, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a4a7c4b150b49a6cf24302d9fd052b821060e59abd5de1589a34c32c368dfefb.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5073, "num_bool": 3597, "num_int": 1476, "num_constraints": 57490}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3986.44}, "cpsat_response_stats": {"num_booleans": 7410, "num_conflicts": 2761, "num_branches": 59642, "num_binary_propagations": 4319666, "num_integer_propagations": 1632537, "num_restarts": 27, "wall_time": 3.98372, "user_time": 3.98372, "deterministic_time": 8.21734}, "solution_info": "no_lp", "problem_sha256": "a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4ce40350fd94acc8dfa277dc1bcc0cc82a3a600ee96d7a5ca1342cc7a2cc18d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30068}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1500.8}, "cpsat_response_stats": {"num_booleans": 2716, "num_conflicts": 695, "num_branches": 16497, "num_binary_propagations": 1028303, "num_integer_propagations": 482835, "num_restarts": 3, "wall_time": 1.499, "user_time": 1.499, "deterministic_time": 2.08018}, "solution_info": "quick_restart", "problem_sha256": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "a4dbf4239260ca8770d6c3f876a98ba92dd42102400396cf211e7f9696e4776c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 22077, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7596, "bool_and": 5180}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6289.21, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 3194, "num_integers": 518, "num_fixed_booleans": 2340, "num_conflicts": 2402, "num_branches": 15308, "num_binary_propagations": 954615, "num_integer_propagations": 419754, "num_restarts": 10, "num_lp_iterations": 4868, "wall_time": 6.28361, "user_time": 6.28361, "deterministic_time": 4.90447, "gap_integral": 101.468, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 254, "num_constraints": 7423, "constraint_breakdown": {"at_most_one": 46, "linear": 2912, "bool_or": 2643, "bool_and": 1822}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 180.457}, "cpsat_response_stats": {"num_booleans": 751, "num_integers": 110, "num_fixed_booleans": 4, "num_conflicts": 560, "num_branches": 4544, "num_binary_propagations": 30469, "num_integer_propagations": 43812, "num_restarts": 5, "num_lp_iterations": 57, "wall_time": 0.179734, "user_time": 0.179734, "deterministic_time": 0.0901002, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "a87f850d84c25316081211e9935add586d4abd88a36e386cc59db72975479dc9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3134.13}, "cpsat_response_stats": {"num_booleans": 2883, "num_integers": 644, "num_fixed_booleans": 307, "num_conflicts": 740, "num_branches": 15627, "num_binary_propagations": 943261, "num_integer_propagations": 454806, "num_restarts": 3, "num_lp_iterations": 839, "wall_time": 3.12816, "user_time": 3.12816, "deterministic_time": 3.02381, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.97515, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000256674, "user_time": 0.000256711, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11222.8}, "cpsat_response_stats": {"num_booleans": 3900, "num_integers": 644, "num_fixed_booleans": 669, "num_conflicts": 2658, "num_branches": 20856, "num_binary_propagations": 1602630, "num_integer_propagations": 683084, "num_restarts": 0, "num_lp_iterations": 8840, "wall_time": 11.2149, "user_time": 11.2149, "deterministic_time": 5.41193, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12025.5}, "cpsat_response_stats": {"num_booleans": 5302, "num_integers": 4676, "num_fixed_booleans": 1549, "num_conflicts": 1433, "num_branches": 20348, "num_binary_propagations": 1755909, "num_integer_propagations": 1796172, "num_restarts": 27, "num_lp_iterations": 24114, "wall_time": 12.0142, "user_time": 12.0142, "deterministic_time": 4.73816, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 31870, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10696, "bool_and": 7154}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16063.9}, "cpsat_response_stats": {"num_booleans": 2727, "num_integers": 2546, "num_fixed_booleans": 383, "num_conflicts": 1003, "num_branches": 31936, "num_binary_propagations": 1885238, "num_integer_propagations": 2152030, "num_restarts": 31, "num_lp_iterations": 23957, "wall_time": 16.048, "user_time": 16.048, "deterministic_time": 4.7881, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "a8a5fdd87f0511775828ec72413b40065d20587aa2603638713d72f05bc543a2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 32565, "constraint_breakdown": {"at_most_one": 158, "linear": 12926, "bool_or": 11459, "bool_and": 8022}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4676.26}, "cpsat_response_stats": {"num_booleans": 4069, "num_integers": 818, "num_fixed_booleans": 90, "num_conflicts": 707, "num_branches": 25709, "num_binary_propagations": 1130167, "num_integer_propagations": 473745, "num_restarts": 6, "num_lp_iterations": 3244, "wall_time": 4.66535, "user_time": 4.66535, "deterministic_time": 3.30281, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "aa6fca326d5509b8593566dd692566d7aae1391f75b3ae9b3f5f2c09409f27c5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1783, "num_int": 788, "num_constraints": 29262, "constraint_breakdown": {"at_most_one": 133, "linear": 12342, "bool_or": 10000, "bool_and": 6787}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3487.46}, "cpsat_response_stats": {"num_booleans": 8428, "num_integers": 648, "num_fixed_booleans": 792, "num_conflicts": 6635, "num_branches": 36704, "num_binary_propagations": 2278556, "num_integer_propagations": 1043110, "num_restarts": 15, "num_lp_iterations": 42244, "wall_time": 3.48091, "user_time": 3.48091, "deterministic_time": 2.86413, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ab06f38ddf16d391ca4564bd92864ba0d062b576927c24a606894d3b2ba5324f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 42433.4}, "cpsat_response_stats": {"num_booleans": 19564, "num_conflicts": 35646, "num_branches": 377527, "num_binary_propagations": 37641950, "num_integer_propagations": 11577509, "num_restarts": 177, "wall_time": 42.4278, "user_time": 42.4278, "deterministic_time": 153.145}, "solution_info": "default_lp", "problem_sha256": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ab0dc15b9cb918a6625a4f314188fadbf7851cbb0fb04d8237c821251021e07f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6536.66}, "cpsat_response_stats": {"num_booleans": 4771, "num_integers": 991, "num_fixed_booleans": 99, "num_conflicts": 878, "num_branches": 33840, "num_binary_propagations": 1763246, "num_integer_propagations": 830767, "num_restarts": 6, "num_lp_iterations": 6376, "wall_time": 6.52683, "user_time": 6.52683, "deterministic_time": 6.79979, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.97378, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000235068, "user_time": 0.000235115, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12963.7}, "cpsat_response_stats": {"num_booleans": 5686, "num_integers": 991, "num_fixed_booleans": 237, "num_conflicts": 4010, "num_branches": 45090, "num_binary_propagations": 3157695, "num_integer_propagations": 1261112, "num_restarts": 0, "num_lp_iterations": 38315, "wall_time": 12.9517, "user_time": 12.9517, "deterministic_time": 9.94302, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16372}, "cpsat_response_stats": {"num_booleans": 7910, "num_integers": 7077, "num_fixed_booleans": 1709, "num_conflicts": 1381, "num_branches": 35457, "num_binary_propagations": 2732167, "num_integer_propagations": 2946560, "num_restarts": 17, "num_lp_iterations": 20803, "wall_time": 16.3398, "user_time": 16.3398, "deterministic_time": 6.67661, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8645.97}, "cpsat_response_stats": {"num_booleans": 4651, "num_integers": 4357, "num_fixed_booleans": 106, "num_conflicts": 736, "num_branches": 39031, "num_binary_propagations": 2012392, "num_integer_propagations": 2749589, "num_restarts": 18, "num_lp_iterations": 22112, "wall_time": 8.61942, "user_time": 8.61942, "deterministic_time": 7.66207, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "ab4c547d9c6b55b6ba9d99b755dc01399f1a9eca8a3c1a53ec603955459bbb01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1257, "num_int": 594, "num_constraints": 20861, "constraint_breakdown": {"at_most_one": 102, "linear": 8670, "bool_or": 7198, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2168.04}, "cpsat_response_stats": {"num_booleans": 1927, "num_integers": 505, "num_fixed_booleans": 56, "num_conflicts": 414, "num_branches": 11107, "num_binary_propagations": 572703, "num_integer_propagations": 276488, "num_restarts": 3, "num_lp_iterations": 863, "wall_time": 2.16398, "user_time": 2.16398, "deterministic_time": 1.5309, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ab65fced530e53ab8e8820b1566667bcc263f0a4616f8fcf0119dca9c2d6adfa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10397.7}, "cpsat_response_stats": {"num_booleans": 8580, "num_conflicts": 17088, "num_branches": 157373, "num_binary_propagations": 14357683, "num_integer_propagations": 3735788, "num_restarts": 68, "wall_time": 10.3921, "user_time": 10.3921, "deterministic_time": 39.3144}, "solution_info": "default_lp", "problem_sha256": "abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "abb5959746b98f2e3ca3e372ea9123d269d907763eeaa8974b931b9fe9066d9c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4434, "num_bool": 3147, "num_int": 1287, "num_constraints": 50329}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3515.33}, "cpsat_response_stats": {"num_booleans": 6694, "num_conflicts": 1781, "num_branches": 51076, "num_binary_propagations": 3418829, "num_integer_propagations": 1375027, "num_restarts": 18, "wall_time": 3.51264, "user_time": 3.51264, "deterministic_time": 7.59026}, "solution_info": "no_lp", "problem_sha256": "abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "abff5e6c75b21e295633c7d3920862fb20a7ed5a81d3b6c3d7adefe375a2331f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56186}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3671.42}, "cpsat_response_stats": {"num_booleans": 7238, "num_conflicts": 2414, "num_branches": 53301, "num_binary_propagations": 3805728, "num_integer_propagations": 1572777, "num_restarts": 21, "wall_time": 3.66675, "user_time": 3.66675, "deterministic_time": 8.1817}, "solution_info": "default_lp", "problem_sha256": "aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aca45a10435494d79a4838efee7c3d968577b0426bebae02d39d196e4cf95d20.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2371.29}, "cpsat_response_stats": {"num_booleans": 1774, "num_integers": 469, "num_fixed_booleans": 50, "num_conflicts": 305, "num_branches": 9961, "num_binary_propagations": 411625, "num_integer_propagations": 212322, "num_restarts": 1, "num_lp_iterations": 210, "wall_time": 2.36965, "user_time": 2.36965, "deterministic_time": 1.70667, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.90864, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000254108, "user_time": 0.00025415, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4158.5}, "cpsat_response_stats": {"num_booleans": 2242, "num_integers": 469, "num_fixed_booleans": 221, "num_conflicts": 1272, "num_branches": 14291, "num_binary_propagations": 627711, "num_integer_propagations": 302369, "num_restarts": 0, "num_lp_iterations": 3966, "wall_time": 4.14335, "user_time": 4.14335, "deterministic_time": 2.11863, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10271.3}, "cpsat_response_stats": {"num_booleans": 3962, "num_integers": 3493, "num_fixed_booleans": 1274, "num_conflicts": 1048, "num_branches": 24534, "num_binary_propagations": 1757027, "num_integer_propagations": 1951051, "num_restarts": 24, "num_lp_iterations": 23821, "wall_time": 10.2632, "user_time": 10.2632, "deterministic_time": 3.77953, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21741, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7439, "bool_and": 5019}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5621.8}, "cpsat_response_stats": {"num_booleans": 1746, "num_integers": 1658, "num_fixed_booleans": 60, "num_conflicts": 720, "num_branches": 33795, "num_binary_propagations": 1528412, "num_integer_propagations": 1844845, "num_restarts": 26, "num_lp_iterations": 22265, "wall_time": 5.61623, "user_time": 5.61623, "deterministic_time": 3.69348, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "ad2944e678573fd35127a68e3818c4049d6c7f50988ef9031ad9f2c5669a9ef5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4364, "num_bool": 2861, "num_int": 1503, "num_constraints": 52449, "constraint_breakdown": {"at_most_one": 245, "linear": 20892, "bool_or": 18421, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5988.72}, "cpsat_response_stats": {"num_booleans": 6712, "num_integers": 1343, "num_fixed_booleans": 145, "num_conflicts": 1772, "num_branches": 55986, "num_binary_propagations": 3018315, "num_integer_propagations": 1289058, "num_restarts": 18, "num_lp_iterations": 19470, "wall_time": 5.97814, "user_time": 5.97814, "deterministic_time": 8.07535, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ad5b37c3d671388ea80e099a9ee23706555adb1f1768f6393b9643e07c2a141c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1325, "num_bool": 878, "num_int": 447, "num_constraints": 14217, "constraint_breakdown": {"at_most_one": 77, "linear": 5527, "bool_or": 5106, "bool_and": 3507}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 590.302}, "cpsat_response_stats": {"num_booleans": 736, "num_integers": 279, "num_fixed_booleans": 21, "num_conflicts": 139, "num_branches": 4506, "num_binary_propagations": 133595, "num_integer_propagations": 87344, "num_restarts": 1, "num_lp_iterations": 123, "wall_time": 0.588404, "user_time": 0.588404, "deterministic_time": 0.34056, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ad6577c2c75004d6adc5e7753d29ccebfb79bf175f4476e183c69c606b5091a6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30276}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1317.35}, "cpsat_response_stats": {"num_booleans": 2458, "num_conflicts": 759, "num_branches": 14872, "num_binary_propagations": 1199762, "num_integer_propagations": 545210, "num_restarts": 6, "wall_time": 1.31604, "user_time": 1.31604, "deterministic_time": 2.31358}, "solution_info": "quick_restart_no_lp", "problem_sha256": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "aec821f70ed62b536c07791cb8cb7cc48661194d53fe27e8b65b139c13aec39a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1975, "num_bool": 1377, "num_int": 598, "num_constraints": 21682}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 748.329}, "cpsat_response_stats": {"num_booleans": 1622, "num_conflicts": 377, "num_branches": 9553, "num_binary_propagations": 627951, "num_integer_propagations": 304203, "num_restarts": 1, "wall_time": 0.747364, "user_time": 0.747364, "deterministic_time": 1.18051}, "solution_info": "default_lp", "problem_sha256": "af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "af7f7518658f6a121da81b663950506b43c7657af03a0b3e3e51e058163a472f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2732, "num_bool": 1936, "num_int": 796, "num_constraints": 30680, "constraint_breakdown": {"at_most_one": 135, "linear": 13191, "bool_or": 10395, "bool_and": 6959}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1811.58}, "cpsat_response_stats": {"num_booleans": 2408, "num_integers": 595, "num_fixed_booleans": 74, "num_conflicts": 612, "num_branches": 14213, "num_binary_propagations": 1171481, "num_integer_propagations": 537873, "num_restarts": 3, "num_lp_iterations": 1653, "wall_time": 1.81014, "user_time": 1.81014, "deterministic_time": 2.1616, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afaba40d5fa8903139f80aa365c6ab850a2df54221f9be87383281c552513466.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1323, "num_bool": 878, "num_int": 445, "num_constraints": 14106}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 309.44}, "cpsat_response_stats": {"num_booleans": 738, "num_conflicts": 151, "num_branches": 4649, "num_binary_propagations": 175520, "num_integer_propagations": 104166, "num_restarts": 1, "wall_time": 0.308961, "user_time": 0.308961, "deterministic_time": 0.378169}, "solution_info": "quick_restart", "problem_sha256": "afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "afb6bce329d577a5f52f98b748d2157c1bbc23473bc701cd560fb2b57d85a791.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2732, "num_bool": 1936, "num_int": 796, "num_constraints": 30684, "constraint_breakdown": {"at_most_one": 135, "linear": 13191, "bool_or": 10397, "bool_and": 6961}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2133.87}, "cpsat_response_stats": {"num_booleans": 2959, "num_integers": 589, "num_fixed_booleans": 598, "num_conflicts": 1314, "num_branches": 16008, "num_binary_propagations": 1276645, "num_integer_propagations": 558093, "num_restarts": 6, "num_lp_iterations": 2880, "wall_time": 2.12827, "user_time": 2.12827, "deterministic_time": 2.20437, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afb7051a1f3226c7a23f4d22f224bd36ff41ca896c8e3be24c3d2d7c9da2ffcf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7843, "num_bool": 5854, "num_int": 1989, "num_constraints": 85727, "constraint_breakdown": {"at_most_one": 337, "linear": 36791, "bool_or": 29303, "bool_and": 19296}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 21205.3}, "cpsat_response_stats": {"num_booleans": 11808, "num_integers": 2018, "num_fixed_booleans": 273, "num_conflicts": 11110, "num_branches": 111181, "num_binary_propagations": 11559087, "num_integer_propagations": 3778702, "num_restarts": 76, "num_lp_iterations": 148419, "wall_time": 21.1917, "user_time": 21.1917, "deterministic_time": 31.961, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "afe82892cb3a54c1449823bb460e1a9e59967e18729277426693d180e0125266.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3052.7}, "cpsat_response_stats": {"num_booleans": 1864, "num_integers": 478, "num_fixed_booleans": 52, "num_conflicts": 228, "num_branches": 10193, "num_binary_propagations": 374340, "num_integer_propagations": 189319, "num_restarts": 1, "num_lp_iterations": 140, "wall_time": 3.04893, "user_time": 3.04893, "deterministic_time": 2.02794, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.97124, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000248808, "user_time": 0.000248853, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4408.51}, "cpsat_response_stats": {"num_booleans": 1862, "num_integers": 478, "num_fixed_booleans": 1, "num_conflicts": 31, "num_branches": 665, "num_binary_propagations": 6669, "num_integer_propagations": 13958, "num_restarts": 0, "num_lp_iterations": 161, "wall_time": 4.40126, "user_time": 4.40126, "deterministic_time": 2.17547, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7152.99}, "cpsat_response_stats": {"num_booleans": 4126, "num_integers": 3667, "num_fixed_booleans": 1299, "num_conflicts": 899, "num_branches": 24072, "num_binary_propagations": 1429668, "num_integer_propagations": 1588875, "num_restarts": 18, "num_lp_iterations": 21292, "wall_time": 7.13598, "user_time": 7.13598, "deterministic_time": 3.90703, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1766, "num_bool": 1167, "num_int": 599, "num_constraints": 20923, "constraint_breakdown": {"at_most_one": 102, "linear": 8527, "bool_or": 7278, "bool_and": 5016}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3496.86}, "cpsat_response_stats": {"num_booleans": 1864, "num_integers": 1732, "num_fixed_booleans": 54, "num_conflicts": 270, "num_branches": 13835, "num_binary_propagations": 466663, "num_integer_propagations": 644109, "num_restarts": 7, "num_lp_iterations": 5691, "wall_time": 3.49278, "user_time": 3.49278, "deterministic_time": 2.01348, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "b040ac13f61b42c52e957df48581cfd54d36eedaad63da36839fdde9183dece6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57828, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19882, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8842.37}, "cpsat_response_stats": {"num_booleans": 7418, "num_integers": 1343, "num_fixed_booleans": 165, "num_conflicts": 2133, "num_branches": 60233, "num_binary_propagations": 4073305, "num_integer_propagations": 1572270, "num_restarts": 18, "num_lp_iterations": 20991, "wall_time": 8.83197, "user_time": 8.83197, "deterministic_time": 12.7949, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20844, "num_bool": 16436, "num_int": 4408, "num_constraints": 233581}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1873900.0}, "cpsat_response_stats": {"num_booleans": 43967, "num_conflicts": 738946, "num_branches": 2570390, "num_binary_propagations": 1196466883, "num_integer_propagations": 267712424, "num_restarts": 3140, "wall_time": 1873.89, "user_time": 1873.89, "deterministic_time": 6668.87}, "solution_info": "no_lp", "problem_sha256": "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b14c571a562972071899d8eb08ed99fa4dfc944eedf4613632bbc2008ae90e23.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58078}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6300.32}, "cpsat_response_stats": {"num_booleans": 7014, "num_conflicts": 3809, "num_branches": 110454, "num_binary_propagations": 4798262, "num_integer_propagations": 1954964, "num_restarts": 24, "wall_time": 6.29768, "user_time": 6.29768, "deterministic_time": 15.1082}, "solution_info": "no_lp", "problem_sha256": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b18203536680dcbad9276ec9d8db50f6ef463cbcbbea5aaeabff959652209e3c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2932, "num_int": 1129, "num_constraints": 45302, "constraint_breakdown": {"at_most_one": 190, "linear": 19343, "bool_or": 15471, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5483.02}, "cpsat_response_stats": {"num_booleans": 6120, "num_integers": 1029, "num_fixed_booleans": 742, "num_conflicts": 4083, "num_branches": 46562, "num_binary_propagations": 3750876, "num_integer_propagations": 1480530, "num_restarts": 26, "num_lp_iterations": 35807, "wall_time": 5.4747, "user_time": 5.4747, "deterministic_time": 6.52935, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b1994f8885fd57c17b4817fa3515dcbf21b49b1bcf65f915336b3a9fe858e651.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4800, "num_bool": 3325, "num_int": 1475, "num_constraints": 55918}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5984.27}, "cpsat_response_stats": {"num_booleans": 13274, "num_conflicts": 7904, "num_branches": 99296, "num_binary_propagations": 5335791, "num_integer_propagations": 2035699, "num_restarts": 18, "wall_time": 5.97987, "user_time": 5.97987, "deterministic_time": 16.3801}, "solution_info": "default_lp", "problem_sha256": "b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b1b2b8caa3156c8273d827504518306416d1e2909060667e4af05787fc173a38.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19373, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6807, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 959.743}, "cpsat_response_stats": {"num_booleans": 1298, "num_integers": 352, "num_fixed_booleans": 47, "num_conflicts": 308, "num_branches": 7215, "num_binary_propagations": 306966, "num_integer_propagations": 153283, "num_restarts": 3, "num_lp_iterations": 437, "wall_time": 0.958029, "user_time": 0.958029, "deterministic_time": 0.627408, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b24ab4139208bdc598f3f70510ac9f58334d0af4bcce109a96f1dd48133ae1e3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94488, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32332, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28277.1}, "cpsat_response_stats": {"num_booleans": 12813, "num_integers": 2179, "num_fixed_booleans": 311, "num_conflicts": 11791, "num_branches": 108949, "num_binary_propagations": 11919328, "num_integer_propagations": 3896499, "num_restarts": 90, "num_lp_iterations": 170447, "wall_time": 28.2424, "user_time": 28.2424, "deterministic_time": 39.9897, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b290214fc63e3dcbf5bb5f263ebdec94aaa0ef84fcfa33180675b6346565b5b7.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 43153, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14896, "bool_and": 10347}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18428.8, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 8243, "num_integers": 1140, "num_fixed_booleans": 4927, "num_conflicts": 7145, "num_branches": 81271, "num_binary_propagations": 4296578, "num_integer_propagations": 1803938, "num_restarts": 23, "num_lp_iterations": 43182, "wall_time": 18.4217, "user_time": 18.4217, "deterministic_time": 18.8471, "gap_integral": 284.313, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=5.00e-01 s=23 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "b37ba1c4e6c4fd6e50b67a7d1cba5d5c41b1c9837b2f020d6174c1459665a756", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b37ba1c4e6c4fd6e50b67a7d1cba5d5c41b1c9837b2f020d6174c1459665a756.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5304, "num_bool": 3831, "num_int": 1473, "num_constraints": 59852}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9668}, "cpsat_response_stats": {"num_booleans": 7723, "num_conflicts": 5829, "num_branches": 81909, "num_binary_propagations": 7449164, "num_integer_propagations": 2502230, "num_restarts": 42, "wall_time": 9.66487, "user_time": 9.66487, "deterministic_time": 15.8384}, "solution_info": "no_lp", "problem_sha256": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b43c4de7b33424859986111645c0f3535ce55c97d536fdfc7eda147261d92ad3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 45101, "constraint_breakdown": {"at_most_one": 190, "linear": 19234, "bool_or": 15379, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6886.08}, "cpsat_response_stats": {"num_booleans": 6544, "num_integers": 1035, "num_fixed_booleans": 541, "num_conflicts": 3426, "num_branches": 74733, "num_binary_propagations": 3275361, "num_integer_propagations": 1409720, "num_restarts": 24, "num_lp_iterations": 33163, "wall_time": 6.86679, "user_time": 6.86679, "deterministic_time": 6.61894, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b4543584e1dea20783dd43c0d72808ddc8596c59707ffb1c7383a0b926b22a5e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1965.09}, "cpsat_response_stats": {"num_booleans": 6830, "num_conflicts": 4561, "num_branches": 34650, "num_binary_propagations": 1709873, "num_integer_propagations": 933578, "num_restarts": 12, "wall_time": 1.96308, "user_time": 1.96308, "deterministic_time": 2.96967}, "solution_info": "quick_restart", "problem_sha256": "b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b5699531416576bc6f180919ba95643a25b1287458d36123f55eb76d8d5b47d2.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 65280, "constraint_breakdown": {"at_most_one": 300, "linear": 25371, "bool_or": 23124, "bool_and": 16485}, "objective_terms": 266}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19149.4, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 8724, "num_integers": 1847, "num_fixed_booleans": 195, "num_conflicts": 2225, "num_branches": 62641, "num_binary_propagations": 3524781, "num_integer_propagations": 1573238, "num_restarts": 25, "num_lp_iterations": 20997, "wall_time": 19.1259, "user_time": 19.1259, "deterministic_time": 10.8972, "gap_integral": 229.776, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "b5e191a84337537481ab49001854e27b03a9ccded205fe88b9150bfa45529915", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b5e191a84337537481ab49001854e27b03a9ccded205fe88b9150bfa45529915.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2930, "num_int": 1119, "num_constraints": 45226}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3431.8}, "cpsat_response_stats": {"num_booleans": 6506, "num_conflicts": 4101, "num_branches": 48128, "num_binary_propagations": 4289863, "num_integer_propagations": 1697744, "num_restarts": 34, "wall_time": 3.42854, "user_time": 3.42854, "deterministic_time": 7.43628}, "solution_info": "no_lp", "problem_sha256": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b6027761fc923f4b03b977ca7530948fa7351cd7d5ffe1f0eff7e3b62577325e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1264, "num_int": 596, "num_constraints": 20803, "constraint_breakdown": {"at_most_one": 103, "linear": 8620, "bool_or": 7203, "bool_and": 4877}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1001.91}, "cpsat_response_stats": {"num_booleans": 1972, "num_integers": 452, "num_fixed_booleans": 67, "num_conflicts": 744, "num_branches": 12584, "num_binary_propagations": 560188, "num_integer_propagations": 258687, "num_restarts": 6, "num_lp_iterations": 1232, "wall_time": 1.00038, "user_time": 1.00038, "deterministic_time": 1.03077, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "b72a77b55f9675d08f39dfdae6b58ce09d723623c71d67141407f794f2f5792a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4531.41}, "cpsat_response_stats": {"num_booleans": 3847, "num_integers": 612, "num_fixed_booleans": 266, "num_conflicts": 2030, "num_branches": 22093, "num_binary_propagations": 897755, "num_integer_propagations": 426584, "num_restarts": 9, "num_lp_iterations": 5930, "wall_time": 4.52606, "user_time": 4.52606, "deterministic_time": 5.07546, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.17077, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000259216, "user_time": 0.000259263, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9568.21}, "cpsat_response_stats": {"num_booleans": 2467, "num_integers": 612, "num_fixed_booleans": 72, "num_conflicts": 339, "num_branches": 14918, "num_binary_propagations": 579767, "num_integer_propagations": 304088, "num_restarts": 0, "num_lp_iterations": 1078, "wall_time": 9.56234, "user_time": 9.56234, "deterministic_time": 5.63439, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11984.7}, "cpsat_response_stats": {"num_booleans": 4828, "num_integers": 4289, "num_fixed_booleans": 1281, "num_conflicts": 939, "num_branches": 18433, "num_binary_propagations": 1230434, "num_integer_propagations": 1350139, "num_restarts": 20, "num_lp_iterations": 24884, "wall_time": 11.969, "user_time": 11.969, "deterministic_time": 4.59346, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28202, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9796, "bool_and": 6814}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6852.13}, "cpsat_response_stats": {"num_booleans": 2366, "num_integers": 2262, "num_fixed_booleans": 82, "num_conflicts": 564, "num_branches": 31239, "num_binary_propagations": 1325497, "num_integer_propagations": 1926803, "num_restarts": 24, "num_lp_iterations": 24262, "wall_time": 6.84505, "user_time": 6.84505, "deterministic_time": 5.28728, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "b7e392cb6562f741b79089dd527327fb8437eb6fb609701512465727cec3acd0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59596, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20377, "bool_and": 14063}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 46683.7, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 10272, "num_integers": 1615, "num_fixed_booleans": 6939, "num_conflicts": 9931, "num_branches": 192717, "num_binary_propagations": 9019253, "num_integer_propagations": 3631940, "num_restarts": 41, "num_lp_iterations": 116903, "wall_time": 46.6693, "user_time": 46.6693, "deterministic_time": 42.0754, "gap_integral": 754.658, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 20478, "constraint_breakdown": {"at_most_one": 102, "linear": 8038, "bool_or": 7232, "bool_and": 5106}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5405.46, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 5031, "num_integers": 524, "num_fixed_booleans": 4213, "num_conflicts": 3722, "num_branches": 41473, "num_binary_propagations": 1509038, "num_integer_propagations": 625152, "num_restarts": 15, "num_lp_iterations": 3690, "wall_time": 5.40156, "user_time": 5.40156, "deterministic_time": 3.32815, "gap_integral": 68.2433, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63650, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21511, "bool_and": 14467}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 27636.9, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 7823, "num_integers": 1541, "num_fixed_booleans": 190, "num_conflicts": 6118, "num_branches": 70915, "num_binary_propagations": 6681694, "num_integer_propagations": 2472616, "num_restarts": 59, "num_lp_iterations": 72270, "wall_time": 27.6252, "user_time": 27.6252, "deterministic_time": 21.8517, "gap_integral": 465.818, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "b87e2b0d6dcc9cc59a03ed6cede32988b1f7db99692b635f75e32f763776d979", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b87e2b0d6dcc9cc59a03ed6cede32988b1f7db99692b635f75e32f763776d979.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7481.13}, "cpsat_response_stats": {"num_booleans": 9162, "num_integers": 1054, "num_fixed_booleans": 755, "num_conflicts": 6808, "num_branches": 70130, "num_binary_propagations": 4118517, "num_integer_propagations": 1702992, "num_restarts": 28, "num_lp_iterations": 52062, "wall_time": 7.45933, "user_time": 7.45933, "deterministic_time": 7.20177, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.96193, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000256772, "user_time": 0.000256813, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17844.2}, "cpsat_response_stats": {"num_booleans": 6527, "num_integers": 1054, "num_fixed_booleans": 679, "num_conflicts": 4829, "num_branches": 48001, "num_binary_propagations": 4210994, "num_integer_propagations": 1613948, "num_restarts": 0, "num_lp_iterations": 48088, "wall_time": 17.8313, "user_time": 17.8313, "deterministic_time": 11.0398, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15549.6}, "cpsat_response_stats": {"num_booleans": 8442, "num_integers": 7511, "num_fixed_booleans": 1734, "num_conflicts": 1533, "num_branches": 40614, "num_binary_propagations": 3483296, "num_integer_propagations": 3719744, "num_restarts": 13, "num_lp_iterations": 15252, "wall_time": 15.5323, "user_time": 15.5323, "deterministic_time": 7.15997, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47567, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 15929, "bool_and": 10595}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9178.59}, "cpsat_response_stats": {"num_booleans": 5122, "num_integers": 4753, "num_fixed_booleans": 119, "num_conflicts": 1017, "num_branches": 45606, "num_binary_propagations": 2747713, "num_integer_propagations": 3697363, "num_restarts": 23, "num_lp_iterations": 20607, "wall_time": 9.16789, "user_time": 9.16789, "deterministic_time": 8.19728, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "b91d4698bc045a1f72fa7423165efe4caac0ebee02edb3eed9f3846a1bc01bba.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4352, "num_bool": 2861, "num_int": 1491, "num_constraints": 51635}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3654.93}, "cpsat_response_stats": {"num_booleans": 6844, "num_conflicts": 1666, "num_branches": 60664, "num_binary_propagations": 2946849, "num_integer_propagations": 1286403, "num_restarts": 18, "wall_time": 3.65272, "user_time": 3.65272, "deterministic_time": 8.20979}, "solution_info": "default_lp", "problem_sha256": "b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "b9c06d6c62aab9e07e4ff671bd0cfb111de0618a95c82783a2facf40d681bcdd.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 20821, "constraint_breakdown": {"at_most_one": 103, "linear": 8610, "bool_or": 7199, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1315.97}, "cpsat_response_stats": {"num_booleans": 1755, "num_integers": 461, "num_fixed_booleans": 50, "num_conflicts": 408, "num_branches": 10424, "num_binary_propagations": 431442, "num_integer_propagations": 222712, "num_restarts": 3, "num_lp_iterations": 1065, "wall_time": 1.31434, "user_time": 1.31434, "deterministic_time": 1.05133, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba0b9ea5e8f2328cb61bd31c0d61dafaec59744031371bbf7d594553e5b1c8c0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15565, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5395, "bool_and": 3744}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25129, "objective_value": 318753000.0, "best_objective_bound": 318753000.0, "inner_objective_lower_bound": 318752704}, "cpsat_response_stats": {"num_booleans": 1068, "num_integers": 288, "num_fixed_booleans": 490, "num_conflicts": 567, "num_branches": 5512, "num_binary_propagations": 237329, "num_integer_propagations": 138397, "num_restarts": 5, "num_lp_iterations": 1205, "wall_time": 25.1247, "user_time": 25.1247, "deterministic_time": 6.13448, "gap_integral": 123.24, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 29104, "constraint_breakdown": {"at_most_one": 133, "linear": 12259, "bool_or": 9933, "bool_and": 6779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3264.35}, "cpsat_response_stats": {"num_booleans": 3023, "num_integers": 671, "num_fixed_booleans": 71, "num_conflicts": 884, "num_branches": 19554, "num_binary_propagations": 991570, "num_integer_propagations": 485349, "num_restarts": 6, "num_lp_iterations": 4484, "wall_time": 3.25003, "user_time": 3.25003, "deterministic_time": 2.58996, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba3c3ec1af3ebbaee88b5d85beac349a3d26be07ff2aab68e6ae3790c8c47f3f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20876, "num_bool": 16436, "num_int": 4440, "num_constraints": 237190, "constraint_breakdown": {"at_most_one": 727, "linear": 109944, "bool_or": 77105, "bool_and": 49414}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 66907.9}, "cpsat_response_stats": {"num_booleans": 30996, "num_integers": 4526, "num_fixed_booleans": 12664, "num_conflicts": 9936, "num_branches": 121156, "num_binary_propagations": 16011530, "num_integer_propagations": 4343120, "num_restarts": 85, "num_lp_iterations": 252850, "wall_time": 66.9021, "user_time": 66.9021, "deterministic_time": 69.7478, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ba86b8aa2d73b9780ab98d8557143022a9c326ee7dddeebc7e1572fe12abd770.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3592, "num_int": 1489, "num_constraints": 58781, "constraint_breakdown": {"at_most_one": 247, "linear": 24864, "bool_or": 20014, "bool_and": 13656}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12741}, "cpsat_response_stats": {"num_booleans": 6904, "num_integers": 1404, "num_fixed_booleans": 170, "num_conflicts": 8190, "num_branches": 64546, "num_binary_propagations": 6838973, "num_integer_propagations": 2293937, "num_restarts": 35, "num_lp_iterations": 87756, "wall_time": 12.7249, "user_time": 12.7249, "deterministic_time": 15.7151, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bac1fb9016d7061a81abe52a4479744cd8c8b9b890d0d2df020f2eed60a814e8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4582, "num_bool": 3316, "num_int": 1266, "num_constraints": 51584}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4895.28}, "cpsat_response_stats": {"num_booleans": 7313, "num_conflicts": 2446, "num_branches": 59082, "num_binary_propagations": 4072940, "num_integer_propagations": 1652689, "num_restarts": 18, "wall_time": 4.89302, "user_time": 4.89302, "deterministic_time": 8.1702}, "solution_info": "default_lp", "problem_sha256": "baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "baf98ab4178a2d5e0ed95a96d12df90ea8f4ddd6fd76e3cb74521afdc686a725.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3262.15}, "cpsat_response_stats": {"num_booleans": 4115, "num_integers": 671, "num_fixed_booleans": 410, "num_conflicts": 2070, "num_branches": 30975, "num_binary_propagations": 1379319, "num_integer_propagations": 709063, "num_restarts": 9, "num_lp_iterations": 8027, "wall_time": 3.25716, "user_time": 3.25716, "deterministic_time": 3.92594, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.21908, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000268515, "user_time": 0.000268555, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15272.1}, "cpsat_response_stats": {"num_booleans": 9763, "num_integers": 671, "num_fixed_booleans": 5771, "num_conflicts": 9069, "num_branches": 34028, "num_binary_propagations": 3365323, "num_integer_propagations": 1421730, "num_restarts": 0, "num_lp_iterations": 26430, "wall_time": 15.265, "user_time": 15.265, "deterministic_time": 7.83038, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10940.8}, "cpsat_response_stats": {"num_booleans": 5170, "num_integers": 4559, "num_fixed_booleans": 1301, "num_conflicts": 1201, "num_branches": 21540, "num_binary_propagations": 1570375, "num_integer_propagations": 1750822, "num_restarts": 24, "num_lp_iterations": 24206, "wall_time": 10.9204, "user_time": 10.9204, "deterministic_time": 4.98791, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2569, "num_bool": 1783, "num_int": 786, "num_constraints": 30560, "constraint_breakdown": {"at_most_one": 133, "linear": 13069, "bool_or": 10341, "bool_and": 7017}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6646.62}, "cpsat_response_stats": {"num_booleans": 2703, "num_integers": 2526, "num_fixed_booleans": 89, "num_conflicts": 743, "num_branches": 33048, "num_binary_propagations": 1573582, "num_integer_propagations": 2093672, "num_restarts": 25, "num_lp_iterations": 23813, "wall_time": 6.64073, "user_time": 6.64073, "deterministic_time": 4.85864, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "bb5648a91b469ef23f1155a766b8e6fd05b14bcf42940e511f7c88aefbc8ec47.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1017.39}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 1.01615, "user_time": 1.01615, "deterministic_time": 1.26922}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bb9eb5259a99d62dd29494b30eecaa36ff1f6fe5698d4793423bef4137a7b1a9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20876, "num_bool": 16436, "num_int": 4440, "num_constraints": 237190, "constraint_breakdown": {"at_most_one": 727, "linear": 109944, "bool_or": 77105, "bool_and": 49414}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "INFEASIBLE", "elapsed_ms": 68275}, "cpsat_response_stats": {"num_booleans": 30976, "num_integers": 4526, "num_fixed_booleans": 1308, "num_conflicts": 11901, "num_branches": 119272, "num_binary_propagations": 18423214, "num_integer_propagations": 4473261, "num_restarts": 77, "num_lp_iterations": 244841, "wall_time": 68.2518, "user_time": 68.2518, "deterministic_time": 73.1088, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "problem_sha256": "bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbcf7fef3811556bc56b16655a1a8c18732092a7bd82e0c47313134504ed991f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 58438, "constraint_breakdown": {"at_most_one": 249, "linear": 24322, "bool_or": 20117, "bool_and": 13750}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11690.6}, "cpsat_response_stats": {"num_booleans": 10367, "num_integers": 1353, "num_fixed_booleans": 806, "num_conflicts": 6207, "num_branches": 130018, "num_binary_propagations": 4330955, "num_integer_propagations": 2030155, "num_restarts": 22, "num_lp_iterations": 85997, "wall_time": 11.6768, "user_time": 11.6768, "deterministic_time": 13.9314, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbcfb05efc5b22e60cea2c2aadf94a452df9e1d1a80e743926b755526773e3cb.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 40817, "constraint_breakdown": {"at_most_one": 188, "linear": 16672, "bool_or": 14138, "bool_and": 9819}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6444.66}, "cpsat_response_stats": {"num_booleans": 4947, "num_integers": 1041, "num_fixed_booleans": 106, "num_conflicts": 1164, "num_branches": 39616, "num_binary_propagations": 1826019, "num_integer_propagations": 869336, "num_restarts": 12, "num_lp_iterations": 14826, "wall_time": 6.43579, "user_time": 6.43579, "deterministic_time": 6.93193, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bbdd48b171ac2a86a8e9c8dc148b5301278cde418f992a4d2efe2d41378c31aa.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 837165}, "cpsat_response_stats": {"num_booleans": 31402, "num_integers": 3986, "num_fixed_booleans": 1018, "num_conflicts": 213359, "num_branches": 1171620, "num_binary_propagations": 249450762, "num_integer_propagations": 71481083, "num_restarts": 923, "num_lp_iterations": 5188093, "wall_time": 837.131, "user_time": 837.131, "deterministic_time": 1353.18, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.26219, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00031989, "user_time": 0.000319935, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3725170.0}, "cpsat_response_stats": {"num_booleans": 28665, "num_integers": 3986, "num_fixed_booleans": 1004, "num_conflicts": 321507, "num_branches": 1598726, "num_binary_propagations": 372456557, "num_integer_propagations": 100063386, "num_restarts": 0, "num_lp_iterations": 7299243, "wall_time": 3724.98, "user_time": 3724.98, "deterministic_time": 3063.51, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1534220.0}, "cpsat_response_stats": {"num_booleans": 38379, "num_integers": 30731, "num_fixed_booleans": 4900, "num_conflicts": 18579, "num_branches": 403373, "num_binary_propagations": 49209635, "num_integer_propagations": 42475233, "num_restarts": 1511, "num_lp_iterations": 2138159, "wall_time": 1534.13, "user_time": 1534.13, "deterministic_time": 1834.47, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 199450, "constraint_breakdown": {"at_most_one": 618, "linear": 92226, "bool_or": 64869, "bool_and": 41737}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1998800.0}, "cpsat_response_stats": {"num_booleans": 30208, "num_integers": 23635, "num_fixed_booleans": 1125, "num_conflicts": 34869, "num_branches": 725394, "num_binary_propagations": 86900935, "num_integer_propagations": 71616719, "num_restarts": 3147, "num_lp_iterations": 3525020, "wall_time": 1998.71, "user_time": 1998.71, "deterministic_time": 2023.64, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "bc676605802ed5fb85e5006a7df234667d32237dd086e56b2a8bd20a578155e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 502.374}, "cpsat_response_stats": {"num_booleans": 1225, "num_conflicts": 243, "num_branches": 5443, "num_binary_propagations": 332719, "num_integer_propagations": 162029, "num_restarts": 1, "wall_time": 0.50176, "user_time": 0.50176, "deterministic_time": 0.611565}, "solution_info": "no_lp", "problem_sha256": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bcaed7c25140d0d5731f397b188a271512394f14fabe67b495076b23436e1d57.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38656, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 13095, "bool_and": 8812}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9286.06, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8194, "num_integers": 901, "num_fixed_booleans": 2036, "num_conflicts": 6167, "num_branches": 110297, "num_binary_propagations": 3899584, "num_integer_propagations": 1697487, "num_restarts": 36, "num_lp_iterations": 20716, "wall_time": 9.27728, "user_time": 9.27728, "deterministic_time": 9.87776, "gap_integral": 208.456, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "bd199a3871502160bd893d35533b1c4526edf27d6ed9d60ab786ed7aded632ec", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "bd199a3871502160bd893d35533b1c4526edf27d6ed9d60ab786ed7aded632ec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3924, "num_bool": 2783, "num_int": 1141, "num_constraints": 44364, "constraint_breakdown": {"at_most_one": 194, "linear": 18817, "bool_or": 15164, "bool_and": 10189}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4816.56}, "cpsat_response_stats": {"num_booleans": 5507, "num_integers": 1041, "num_fixed_booleans": 117, "num_conflicts": 1919, "num_branches": 42736, "num_binary_propagations": 2911740, "num_integer_propagations": 1164657, "num_restarts": 18, "num_lp_iterations": 17728, "wall_time": 4.80768, "user_time": 4.80768, "deterministic_time": 6.62824, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bd4be90c6f160c8932088ffb1f966190355a060720c71113a8784e00d8c2cd57.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15569, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5397, "bool_and": 3746}, "objective_terms": 70}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2147.91, "objective_value": 318753000.0, "best_objective_bound": 318753000.0, "inner_objective_lower_bound": 318752704}, "cpsat_response_stats": {"num_booleans": 1234, "num_integers": 287, "num_fixed_booleans": 924, "num_conflicts": 714, "num_branches": 5426, "num_binary_propagations": 313007, "num_integer_propagations": 147766, "num_restarts": 6, "num_lp_iterations": 1085, "wall_time": 2.14494, "user_time": 2.14494, "deterministic_time": 1.85308, "gap_integral": 37.239, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "be13cfc10b1e19807faf591c4d8070d5a8e843abc31efe3c38fd508fda6b56a6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "be13cfc10b1e19807faf591c4d8070d5a8e843abc31efe3c38fd508fda6b56a6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5076, "num_bool": 3230, "num_int": 1846, "num_constraints": 61768, "constraint_breakdown": {"at_most_one": 300, "linear": 23701, "bool_or": 22078, "bool_and": 15689}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10744.1}, "cpsat_response_stats": {"num_booleans": 9509, "num_integers": 1615, "num_fixed_booleans": 360, "num_conflicts": 3721, "num_branches": 100111, "num_binary_propagations": 4602773, "num_integer_propagations": 2056450, "num_restarts": 39, "num_lp_iterations": 53719, "wall_time": 10.7341, "user_time": 10.7341, "deterministic_time": 16.4477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "bea0526af2a0ef3f3fc16f4b0daa81f8c077307921ed0cbc02b78a60d008a2a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5298, "num_bool": 3673, "num_int": 1625, "num_constraints": 59077}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7530.89}, "cpsat_response_stats": {"num_booleans": 8076, "num_conflicts": 8859, "num_branches": 83041, "num_binary_propagations": 8202624, "num_integer_propagations": 2570750, "num_restarts": 72, "wall_time": 7.52507, "user_time": 7.52507, "deterministic_time": 23.9536}, "solution_info": "default_lp", "problem_sha256": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bef168aea12ee9d5a0b12880cb3c69ebc80ff968b9f2500a907c5f3f16f0d369.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1132.06}, "cpsat_response_stats": {"num_booleans": 1884, "num_conflicts": 419, "num_branches": 10594, "num_binary_propagations": 530746, "num_integer_propagations": 255260, "num_restarts": 3, "wall_time": 1.1309, "user_time": 1.1309, "deterministic_time": 1.17979}, "solution_info": "quick_restart_no_lp", "problem_sha256": "bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "bf95b4aa258e822d108e65d7ce10e99104db1720fb2fe84d3b5f105ff9f2af39.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94141}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11003.3}, "cpsat_response_stats": {"num_booleans": 12814, "num_conflicts": 9050, "num_branches": 97946, "num_binary_propagations": 10764050, "num_integer_propagations": 3395144, "num_restarts": 84, "wall_time": 10.9938, "user_time": 10.9938, "deterministic_time": 32.2612}, "solution_info": "no_lp", "problem_sha256": "c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c07c5abd63a1f29258c3989976e428c4e3195ed80d0c8e7c145fba613d394abe.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 25921, "constraint_breakdown": {"at_most_one": 132, "linear": 10033, "bool_or": 9211, "bool_and": 6545}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4920.17}, "cpsat_response_stats": {"num_booleans": 2695, "num_integers": 626, "num_fixed_booleans": 72, "num_conflicts": 712, "num_branches": 19587, "num_binary_propagations": 622076, "num_integer_propagations": 306569, "num_restarts": 9, "num_lp_iterations": 4847, "wall_time": 4.91391, "user_time": 4.91391, "deterministic_time": 4.70544, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c0a0dc04538c4ae54401b99c91b6b743811aab04bbc638360c16b4fc9b915728.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17070, "num_bool": 13335, "num_int": 3735, "num_constraints": 192562, "constraint_breakdown": {"at_most_one": 618, "linear": 88116, "bool_or": 63141, "bool_and": 40687}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 400652}, "cpsat_response_stats": {"num_booleans": 27751, "num_integers": 3879, "num_fixed_booleans": 1165, "num_conflicts": 122197, "num_branches": 544974, "num_binary_propagations": 158611075, "num_integer_propagations": 37718100, "num_restarts": 536, "num_lp_iterations": 2897820, "wall_time": 400.603, "user_time": 400.603, "deterministic_time": 817.73, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c0bbae62f14d03166e20cbff5fabab7917480464a9baf804ec42409b26e0d32c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 48003, "constraint_breakdown": {"at_most_one": 190, "linear": 20853, "bool_or": 16147, "bool_and": 10813}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19894.8, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 8619, "num_integers": 1143, "num_fixed_booleans": 5948, "num_conflicts": 6507, "num_branches": 67477, "num_binary_propagations": 5478016, "num_integer_propagations": 2278486, "num_restarts": 34, "num_lp_iterations": 45871, "wall_time": 19.8855, "user_time": 19.8855, "deterministic_time": 17.726, "gap_integral": 278.565, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c0c9ef6c22ed1654a88a14f6196e5e6f4540bcf3faa203510aaeeeeb7431a1bc", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c0c9ef6c22ed1654a88a14f6196e5e6f4540bcf3faa203510aaeeeeb7431a1bc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1988.07}, "cpsat_response_stats": {"num_booleans": 1808, "num_integers": 464, "num_fixed_booleans": 49, "num_conflicts": 372, "num_branches": 10428, "num_binary_propagations": 444664, "num_integer_propagations": 225857, "num_restarts": 3, "num_lp_iterations": 674, "wall_time": 1.98639, "user_time": 1.98639, "deterministic_time": 1.6284, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.00045, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000264955, "user_time": 0.000264985, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4264.84}, "cpsat_response_stats": {"num_booleans": 1782, "num_integers": 464, "num_fixed_booleans": 74, "num_conflicts": 321, "num_branches": 10446, "num_binary_propagations": 427107, "num_integer_propagations": 219196, "num_restarts": 0, "num_lp_iterations": 373, "wall_time": 4.25817, "user_time": 4.25817, "deterministic_time": 1.94028, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11975.8}, "cpsat_response_stats": {"num_booleans": 3964, "num_integers": 3512, "num_fixed_booleans": 1282, "num_conflicts": 1103, "num_branches": 24957, "num_binary_propagations": 1935636, "num_integer_propagations": 2060931, "num_restarts": 29, "num_lp_iterations": 23774, "wall_time": 11.9683, "user_time": 11.9683, "deterministic_time": 3.83203, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 21752, "constraint_breakdown": {"at_most_one": 103, "linear": 9180, "bool_or": 7442, "bool_and": 5027}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5308.31}, "cpsat_response_stats": {"num_booleans": 1813, "num_integers": 1647, "num_fixed_booleans": 55, "num_conflicts": 446, "num_branches": 13660, "num_binary_propagations": 559542, "num_integer_propagations": 699767, "num_restarts": 19, "num_lp_iterations": 12722, "wall_time": 5.30271, "user_time": 5.30271, "deterministic_time": 2.79366, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "c198fac818f333764f4b5d0b08c72cae3b903978b4a6e19b138902d969dbb86b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 30242, "constraint_breakdown": {"at_most_one": 135, "linear": 12738, "bool_or": 10365, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2431.35}, "cpsat_response_stats": {"num_booleans": 2545, "num_integers": 607, "num_fixed_booleans": 124, "num_conflicts": 646, "num_branches": 15490, "num_binary_propagations": 1032948, "num_integer_propagations": 491411, "num_restarts": 3, "num_lp_iterations": 1411, "wall_time": 2.42503, "user_time": 2.42503, "deterministic_time": 2.17952, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c1e1e1a8dc3fcef074f8642dc2d3db8001a120f65a6263335206fafe704fb56a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14493}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 304.492}, "cpsat_response_stats": {"num_booleans": 778, "num_conflicts": 163, "num_branches": 3749, "num_binary_propagations": 173312, "num_integer_propagations": 109162, "num_restarts": 2, "wall_time": 0.303737, "user_time": 0.303737, "deterministic_time": 0.333838}, "solution_info": "no_lp", "problem_sha256": "c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c299a3f6d8e558df79357fcea15b8092424ca74e1cd3664e2dc128b62980c065.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 30242, "constraint_breakdown": {"at_most_one": 135, "linear": 12738, "bool_or": 10365, "bool_and": 7004}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2670.68}, "cpsat_response_stats": {"num_booleans": 2462, "num_integers": 604, "num_fixed_booleans": 97, "num_conflicts": 590, "num_branches": 15794, "num_binary_propagations": 901930, "num_integer_propagations": 446933, "num_restarts": 3, "num_lp_iterations": 2116, "wall_time": 2.6649, "user_time": 2.6649, "deterministic_time": 2.03907, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c330aa34330c3723403b96c7b9cbc4ad2b656ef04275965f8e2996e1b57a46a2.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4589, "num_bool": 3316, "num_int": 1273, "num_constraints": 54716, "constraint_breakdown": {"at_most_one": 215, "linear": 23708, "bool_or": 18427, "bool_and": 12366}, "objective_terms": 189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22874.8, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 9259, "num_integers": 1358, "num_fixed_booleans": 4162, "num_conflicts": 5733, "num_branches": 74285, "num_binary_propagations": 5764366, "num_integer_propagations": 2313050, "num_restarts": 32, "num_lp_iterations": 57031, "wall_time": 22.8642, "user_time": 22.8642, "deterministic_time": 19.6757, "gap_integral": 409.144, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c3fc601be3277e3d77c7d55dbe0f58cfc37e877c76121c066e353be4cf3f9f65", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c3fc601be3277e3d77c7d55dbe0f58cfc37e877c76121c066e353be4cf3f9f65.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7808.57}, "cpsat_response_stats": {"num_booleans": 7170, "num_integers": 1359, "num_fixed_booleans": 132, "num_conflicts": 2283, "num_branches": 62251, "num_binary_propagations": 3836555, "num_integer_propagations": 1664772, "num_restarts": 21, "num_lp_iterations": 35137, "wall_time": 7.79511, "user_time": 7.79511, "deterministic_time": 7.84759, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.96093, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000216231, "user_time": 0.000216277, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17500.5}, "cpsat_response_stats": {"num_booleans": 7102, "num_integers": 1359, "num_fixed_booleans": 171, "num_conflicts": 2941, "num_branches": 53433, "num_binary_propagations": 3861246, "num_integer_propagations": 1615342, "num_restarts": 0, "num_lp_iterations": 36787, "wall_time": 17.483, "user_time": 17.483, "deterministic_time": 11.5563, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 28859.1}, "cpsat_response_stats": {"num_booleans": 11141, "num_integers": 9593, "num_fixed_booleans": 2227, "num_conflicts": 2293, "num_branches": 55366, "num_binary_propagations": 4961921, "num_integer_propagations": 5093898, "num_restarts": 50, "num_lp_iterations": 35706, "wall_time": 28.8415, "user_time": 28.8415, "deterministic_time": 13.6145, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 61857, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 20888, "bool_and": 14163}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10163}, "cpsat_response_stats": {"num_booleans": 6950, "num_integers": 6154, "num_fixed_booleans": 137, "num_conflicts": 961, "num_branches": 57000, "num_binary_propagations": 3522341, "num_integer_propagations": 6116561, "num_restarts": 10, "num_lp_iterations": 10556, "wall_time": 10.137, "user_time": 10.137, "deterministic_time": 8.82332, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "c407b925a91b430515ea23a95e35cb5075023a6b3f81624547928adfac80ea30.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 26958, "constraint_breakdown": {"at_most_one": 133, "linear": 10767, "bool_or": 9444, "bool_and": 6614}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4839.59}, "cpsat_response_stats": {"num_booleans": 3872, "num_integers": 604, "num_fixed_booleans": 70, "num_conflicts": 2116, "num_branches": 24405, "num_binary_propagations": 946049, "num_integer_propagations": 442534, "num_restarts": 12, "num_lp_iterations": 7805, "wall_time": 4.83433, "user_time": 4.83433, "deterministic_time": 4.23301, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c4fe2cc04ae7a35679d2f3e71e91d1476eaaa48ed0e0eea02642695224d1a3a5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20594}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 633.046}, "cpsat_response_stats": {"num_booleans": 1787, "num_conflicts": 302, "num_branches": 9945, "num_binary_propagations": 480364, "num_integer_propagations": 229322, "num_restarts": 1, "wall_time": 0.632124, "user_time": 0.632124, "deterministic_time": 0.856833}, "solution_info": "quick_restart", "problem_sha256": "c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c50ae7a1597320837a67154b00c457247005405a0d61ae03b18207f42c3d2be5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94488, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32332, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 33804.5}, "cpsat_response_stats": {"num_booleans": 12820, "num_integers": 2179, "num_fixed_booleans": 395, "num_conflicts": 18283, "num_branches": 134769, "num_binary_propagations": 15652475, "num_integer_propagations": 4876607, "num_restarts": 148, "num_lp_iterations": 273044, "wall_time": 33.7654, "user_time": 33.7654, "deterministic_time": 56.5736, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c636f4a25733401ac79f10e9031c1eb15798423352413076b31a5be0f9dd1ef8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4313.07}, "cpsat_response_stats": {"num_booleans": 2654, "num_integers": 635, "num_fixed_booleans": 71, "num_conflicts": 307, "num_branches": 13962, "num_binary_propagations": 503793, "num_integer_propagations": 235016, "num_restarts": 1, "num_lp_iterations": 331, "wall_time": 4.30818, "user_time": 4.30818, "deterministic_time": 5.09543, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.97787, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000247175, "user_time": 0.000247228, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7844.41}, "cpsat_response_stats": {"num_booleans": 3106, "num_integers": 635, "num_fixed_booleans": 92, "num_conflicts": 2761, "num_branches": 33786, "num_binary_propagations": 1308450, "num_integer_propagations": 654895, "num_restarts": 0, "num_lp_iterations": 24081, "wall_time": 7.83644, "user_time": 7.83644, "deterministic_time": 5.36332, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13165.5}, "cpsat_response_stats": {"num_booleans": 5036, "num_integers": 4517, "num_fixed_booleans": 1313, "num_conflicts": 950, "num_branches": 28784, "num_binary_propagations": 1570882, "num_integer_propagations": 1747865, "num_restarts": 15, "num_lp_iterations": 21868, "wall_time": 13.1461, "user_time": 13.1461, "deterministic_time": 5.86474, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27097, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9539, "bool_and": 6725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7285.32}, "cpsat_response_stats": {"num_booleans": 2593, "num_integers": 2463, "num_fixed_booleans": 92, "num_conflicts": 522, "num_branches": 32460, "num_binary_propagations": 1190914, "num_integer_propagations": 1686513, "num_restarts": 21, "num_lp_iterations": 24773, "wall_time": 7.27358, "user_time": 7.27358, "deterministic_time": 5.60575, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "c640cc60784b5f00e395f07384f65c540c7f59d3766fc098f1c34f8645b0e4ae.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5094, "num_bool": 3604, "num_int": 1490, "num_constraints": 58627}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3883.39}, "cpsat_response_stats": {"num_booleans": 6935, "num_conflicts": 2010, "num_branches": 62433, "num_binary_propagations": 4382597, "num_integer_propagations": 1811844, "num_restarts": 11, "wall_time": 3.88067, "user_time": 3.88067, "deterministic_time": 8.22645}, "solution_info": "default_lp", "problem_sha256": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c6a6b2aab48ad0047d3e14c25d630fb1e22e3844608af935b5e481c1965a8010.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 58973, "constraint_breakdown": {"at_most_one": 248, "linear": 24942, "bool_or": 20080, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7692.09}, "cpsat_response_stats": {"num_booleans": 7101, "num_integers": 1349, "num_fixed_booleans": 133, "num_conflicts": 1835, "num_branches": 59762, "num_binary_propagations": 3583419, "num_integer_propagations": 1578380, "num_restarts": 18, "num_lp_iterations": 27605, "wall_time": 7.67323, "user_time": 7.67323, "deterministic_time": 8.13808, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c74e506b46863a2dc803d33e1af1b9c9f6e286bbe1e710d9cdfaa284b1c6f7db.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45679, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15629, "bool_and": 10734}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13631.5, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 7493, "num_integers": 1076, "num_fixed_booleans": 282, "num_conflicts": 5415, "num_branches": 62615, "num_binary_propagations": 3531404, "num_integer_propagations": 1558831, "num_restarts": 23, "num_lp_iterations": 39794, "wall_time": 13.6088, "user_time": 13.6088, "deterministic_time": 11.0635, "gap_integral": 234.321, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c7f14795eb4a64323fdf24caec0e981f42cf07ab79ecaa858de35afe90adb53b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "c7f14795eb4a64323fdf24caec0e981f42cf07ab79ecaa858de35afe90adb53b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30080}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1564.42}, "cpsat_response_stats": {"num_booleans": 2897, "num_conflicts": 951, "num_branches": 16490, "num_binary_propagations": 1114735, "num_integer_propagations": 498581, "num_restarts": 6, "wall_time": 1.56281, "user_time": 1.56281, "deterministic_time": 2.14116}, "solution_info": "quick_restart_no_lp", "problem_sha256": "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c867ab59144791c88799ce95599bbd25090dec398595de1c1e35d01b8a7f06ec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 7837, "num_bool": 5854, "num_int": 1983, "num_constraints": 85434}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8928.37}, "cpsat_response_stats": {"num_booleans": 11804, "num_conflicts": 6789, "num_branches": 90678, "num_binary_propagations": 8798320, "num_integer_propagations": 2842544, "num_restarts": 62, "wall_time": 8.92585, "user_time": 8.92585, "deterministic_time": 24.054}, "solution_info": "no_lp", "problem_sha256": "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1674, "num_bool": 1070, "num_int": 604, "num_constraints": 19420, "constraint_breakdown": {"at_most_one": 102, "linear": 7566, "bool_or": 6887, "bool_and": 4865}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1152.52}, "cpsat_response_stats": {"num_booleans": 1752, "num_integers": 477, "num_fixed_booleans": 51, "num_conflicts": 172, "num_branches": 8896, "num_binary_propagations": 289873, "num_integer_propagations": 148478, "num_restarts": 1, "num_lp_iterations": 109, "wall_time": 1.1514, "user_time": 1.1514, "deterministic_time": 0.839951, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "c8f846435e761ae39d9095f91dec1ff5daba0e88fbb838766d52cc6d9469aaec.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 38783, "constraint_breakdown": {"at_most_one": 187, "linear": 15273, "bool_or": 13726, "bool_and": 9597}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3101.11}, "cpsat_response_stats": {"num_booleans": 4839, "num_integers": 945, "num_fixed_booleans": 105, "num_conflicts": 493, "num_branches": 26836, "num_binary_propagations": 1542282, "num_integer_propagations": 605582, "num_restarts": 1, "num_lp_iterations": 236, "wall_time": 3.09275, "user_time": 3.09275, "deterministic_time": 3.2243, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ca043f0850c14f2d99c0a48b1a959387505b2facf3551fa053ddb9c68bfa58b5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 51975, "constraint_breakdown": {"at_most_one": 245, "linear": 20574, "bool_or": 18265, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7255.7}, "cpsat_response_stats": {"num_booleans": 6930, "num_integers": 1377, "num_fixed_booleans": 141, "num_conflicts": 3095, "num_branches": 59900, "num_binary_propagations": 3097998, "num_integer_propagations": 1391457, "num_restarts": 39, "num_lp_iterations": 40671, "wall_time": 7.23324, "user_time": 7.23324, "deterministic_time": 8.11072, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "caa6c275ceb224cc3efdf55f2c42a0d803b5ce6afe66cff65abaf8a50980b9cf.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47873, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16315, "bool_and": 10900}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11764.5, "objective_value": 255, "best_objective_bound": 255, "inner_objective_lower_bound": 255}, "cpsat_response_stats": {"num_booleans": 6640, "num_integers": 1074, "num_fixed_booleans": 529, "num_conflicts": 4064, "num_branches": 54561, "num_binary_propagations": 3824914, "num_integer_propagations": 1462074, "num_restarts": 28, "num_lp_iterations": 28150, "wall_time": 11.7548, "user_time": 11.7548, "deterministic_time": 10.3379, "gap_integral": 218.215, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "cb16513bfbe2809b67cf939736abc19e5d403dcabadcae9b3aae756b2f6b1e29", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cb16513bfbe2809b67cf939736abc19e5d403dcabadcae9b3aae756b2f6b1e29.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1762, "num_bool": 1167, "num_int": 595, "num_constraints": 19934}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 642.02}, "cpsat_response_stats": {"num_booleans": 1807, "num_conflicts": 256, "num_branches": 10329, "num_binary_propagations": 429213, "num_integer_propagations": 207942, "num_restarts": 1, "wall_time": 0.641393, "user_time": 0.641393, "deterministic_time": 0.840026}, "solution_info": "quick_restart", "problem_sha256": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cb3ba9f21e52b233f5241e5003b1e388d1d1ffec427094d421a66c28df2f292e.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 11127, "num_bool": 8496, "num_int": 2631, "num_constraints": 136453, "constraint_breakdown": {"at_most_one": 432, "linear": 62364, "bool_or": 44686, "bool_and": 28971}, "objective_terms": 364}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 422905, "objective_value": 956250000.0, "best_objective_bound": 956250000.0, "inner_objective_lower_bound": 956250459}, "cpsat_response_stats": {"num_booleans": 16944, "num_integers": 2994, "num_fixed_booleans": 2857, "num_conflicts": 35669, "num_branches": 198723, "num_binary_propagations": 48620016, "num_integer_propagations": 12323899, "num_restarts": 122, "num_lp_iterations": 714157, "wall_time": 422.883, "user_time": 422.883, "deterministic_time": 307.613, "gap_integral": 4966.92, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=9.85e-01 s=1361 t=0.10 p=0.53 stall=10 h=stalling) [hint] [combined with: graph_cst_lns (d=9.8...]", "problem_sha256": "cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5546.81}, "cpsat_response_stats": {"num_booleans": 5000, "num_integers": 981, "num_fixed_booleans": 106, "num_conflicts": 2328, "num_branches": 42380, "num_binary_propagations": 2790494, "num_integer_propagations": 1121502, "num_restarts": 21, "num_lp_iterations": 24654, "wall_time": 5.53653, "user_time": 5.53653, "deterministic_time": 6.34357, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.33401, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000298532, "user_time": 0.000298578, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13025.1}, "cpsat_response_stats": {"num_booleans": 5429, "num_integers": 981, "num_fixed_booleans": 387, "num_conflicts": 3741, "num_branches": 42695, "num_binary_propagations": 3493613, "num_integer_propagations": 1292332, "num_restarts": 0, "num_lp_iterations": 37383, "wall_time": 13.0127, "user_time": 13.0127, "deterministic_time": 9.92519, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10468.4}, "cpsat_response_stats": {"num_booleans": 8095, "num_integers": 7207, "num_fixed_booleans": 1671, "num_conflicts": 1515, "num_branches": 38508, "num_binary_propagations": 3147585, "num_integer_propagations": 3333749, "num_restarts": 14, "num_lp_iterations": 15834, "wall_time": 10.4532, "user_time": 10.4532, "deterministic_time": 6.53465, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 47437, "constraint_breakdown": {"at_most_one": 191, "linear": 20467, "bool_or": 16097, "bool_and": 10682}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10637.7}, "cpsat_response_stats": {"num_booleans": 4883, "num_integers": 4555, "num_fixed_booleans": 114, "num_conflicts": 939, "num_branches": 43467, "num_binary_propagations": 2411083, "num_integer_propagations": 3201848, "num_restarts": 26, "num_lp_iterations": 21576, "wall_time": 10.6094, "user_time": 10.6094, "deterministic_time": 7.82335, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 987.922}, "cpsat_response_stats": {"num_booleans": 847, "num_integers": 272, "num_fixed_booleans": 20, "num_conflicts": 183, "num_branches": 4481, "num_binary_propagations": 165495, "num_integer_propagations": 99082, "num_restarts": 2, "num_lp_iterations": 193, "wall_time": 0.986715, "user_time": 0.986715, "deterministic_time": 0.725161, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.13595, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000274177, "user_time": 0.000274223, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2872.95}, "cpsat_response_stats": {"num_booleans": 808, "num_integers": 272, "num_fixed_booleans": 1, "num_conflicts": 40, "num_branches": 453, "num_binary_propagations": 4775, "num_integer_propagations": 3357, "num_restarts": 0, "num_lp_iterations": 161, "wall_time": 2.86962, "user_time": 2.86962, "deterministic_time": 1.16908, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4747.03}, "cpsat_response_stats": {"num_booleans": 2156, "num_integers": 1832, "num_fixed_booleans": 713, "num_conflicts": 768, "num_branches": 12948, "num_binary_propagations": 1035633, "num_integer_propagations": 1135390, "num_restarts": 21, "num_lp_iterations": 12725, "wall_time": 4.73879, "user_time": 4.73879, "deterministic_time": 1.68822, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1316, "num_bool": 869, "num_int": 447, "num_constraints": 15385, "constraint_breakdown": {"at_most_one": 77, "linear": 6349, "bool_or": 5305, "bool_and": 3654}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1928.9}, "cpsat_response_stats": {"num_booleans": 799, "num_integers": 754, "num_fixed_booleans": 20, "num_conflicts": 193, "num_branches": 6599, "num_binary_propagations": 199959, "num_integer_propagations": 257975, "num_restarts": 9, "num_lp_iterations": 6090, "wall_time": 1.9245, "user_time": 1.9245, "deterministic_time": 0.864223, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20830, "num_bool": 16429, "num_int": 4401, "num_constraints": 233076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1549180.0}, "cpsat_response_stats": {"num_booleans": 39882, "num_conflicts": 443078, "num_branches": 1855860, "num_binary_propagations": 634174655, "num_integer_propagations": 156622140, "num_restarts": 2195, "wall_time": 1549.16, "user_time": 1549.16, "deterministic_time": 4027.99}, "solution_info": "no_lp", "problem_sha256": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cdc476dfd87c9b11d9a46dc7e8aeaa0f3efa9708cac0093587abb35f1228ffe0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4091, "num_bool": 2956, "num_int": 1135, "num_constraints": 45373, "constraint_breakdown": {"at_most_one": 191, "linear": 19313, "bool_or": 15517, "bool_and": 10352}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6403.38}, "cpsat_response_stats": {"num_booleans": 5233, "num_integers": 975, "num_fixed_booleans": 121, "num_conflicts": 1734, "num_branches": 40697, "num_binary_propagations": 2391730, "num_integer_propagations": 1008786, "num_restarts": 15, "num_lp_iterations": 12581, "wall_time": 6.39427, "user_time": 6.39427, "deterministic_time": 6.78591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "cea92f2d552c17f09f2927186ad61dba3f09e3405f0a58a1007d0769d2334c75.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2972.04}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 2.97016, "user_time": 2.97016, "deterministic_time": 4.09745}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cf629228e69ab5f293c8c30459175cccac150e85ec84539bfd8d5dc27540cf1a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 30264, "constraint_breakdown": {"at_most_one": 134, "linear": 12974, "bool_or": 10252, "bool_and": 6904}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2736.12}, "cpsat_response_stats": {"num_booleans": 2925, "num_integers": 637, "num_fixed_booleans": 151, "num_conflicts": 931, "num_branches": 17958, "num_binary_propagations": 994439, "num_integer_propagations": 478092, "num_restarts": 6, "num_lp_iterations": 2989, "wall_time": 2.72245, "user_time": 2.72245, "deterministic_time": 1.97305, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "cf93115a0bf38977ba3f8e8bc9ea9378389b50f513ebde8f4d5660d6158ee1ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1313, "num_bool": 869, "num_int": 444, "num_constraints": 14497}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 377.333}, "cpsat_response_stats": {"num_booleans": 1670, "num_conflicts": 1116, "num_branches": 25101, "num_binary_propagations": 323929, "num_integer_propagations": 229686, "num_restarts": 7, "wall_time": 0.376849, "user_time": 0.376849, "deterministic_time": 0.418748}, "solution_info": "quick_restart", "problem_sha256": "cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfb91dee56a02f4826b9ee3cdda17de95706a33d8d5e844946a2316281641585.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1856, "num_bool": 1264, "num_int": 592, "num_constraints": 20564}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 636.406}, "cpsat_response_stats": {"num_booleans": 1723, "num_conflicts": 316, "num_branches": 9914, "num_binary_propagations": 497009, "num_integer_propagations": 240969, "num_restarts": 1, "wall_time": 0.635351, "user_time": 0.635351, "deterministic_time": 0.898867}, "solution_info": "fs_random_no_lp", "problem_sha256": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "cfe62c4328920f71a44857714728227a3db0ab8e2b1535406ef09b4b6c841719.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2346, "num_bool": 1548, "num_int": 798, "num_constraints": 27031}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1605.55}, "cpsat_response_stats": {"num_booleans": 2865, "num_conflicts": 335, "num_branches": 15513, "num_binary_propagations": 749975, "num_integer_propagations": 323890, "num_restarts": 1, "wall_time": 1.60437, "user_time": 1.60437, "deterministic_time": 2.20673}, "solution_info": "default_lp", "problem_sha256": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d000926320c493a1b1062c0f4f5e690e07761f43709e4362c20c25558d5cb175.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 94632, "constraint_breakdown": {"at_most_one": 367, "linear": 40384, "bool_or": 32476, "bool_and": 21405}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15126.3}, "cpsat_response_stats": {"num_booleans": 12644, "num_integers": 2142, "num_fixed_booleans": 313, "num_conflicts": 6826, "num_branches": 86123, "num_binary_propagations": 9199914, "num_integer_propagations": 2828603, "num_restarts": 65, "num_lp_iterations": 90847, "wall_time": 15.1091, "user_time": 15.1091, "deterministic_time": 24.2877, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d011c7fba6d3d11fa56d0962808f364fe43c519590a2c0b0c5d4b9d4000c971f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2730, "num_bool": 1938, "num_int": 792, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1772.15}, "cpsat_response_stats": {"num_booleans": 3453, "num_conflicts": 1612, "num_branches": 16281, "num_binary_propagations": 1266631, "num_integer_propagations": 516584, "num_restarts": 6, "wall_time": 1.77084, "user_time": 1.77084, "deterministic_time": 2.54555}, "solution_info": "fs_random_no_lp", "problem_sha256": "d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d08d3590e759b910bf4e5c31c39dd187ad6ca894a5da5c26f0e2343ffe9223c5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4815, "num_bool": 3334, "num_int": 1481, "num_constraints": 56174}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3731.05}, "cpsat_response_stats": {"num_booleans": 7219, "num_conflicts": 1819, "num_branches": 62821, "num_binary_propagations": 3659457, "num_integer_propagations": 1596306, "num_restarts": 18, "wall_time": 3.72777, "user_time": 3.72777, "deterministic_time": 8.34385}, "solution_info": "default_lp", "problem_sha256": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d0cb084bf73c6a8bf5cd88cfb595b6f89b05a25e54817adec872eb5b699f83c6.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10404, "num_bool": 7751, "num_int": 2653, "num_constraints": 122534, "constraint_breakdown": {"at_most_one": 443, "linear": 53742, "bool_or": 41078, "bool_and": 27271}, "objective_terms": 385}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 573378, "objective_value": 637500000.0, "best_objective_bound": 637500000.0, "inner_objective_lower_bound": 637500255}, "cpsat_response_stats": {"num_booleans": 18089, "num_integers": 2980, "num_fixed_booleans": 2895, "num_conflicts": 40296, "num_branches": 230447, "num_binary_propagations": 43086273, "num_integer_propagations": 12921477, "num_restarts": 188, "num_lp_iterations": 585597, "wall_time": 573.341, "user_time": 573.341, "deterministic_time": 306.123, "gap_integral": 5692.6, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_dec_lns (d=9.88e-01 s=1458 t=0.10 p=0.53 stall=10 h=base) [hint]", "problem_sha256": "d1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5355.17}, "cpsat_response_stats": {"num_booleans": 5016, "num_integers": 966, "num_fixed_booleans": 105, "num_conflicts": 937, "num_branches": 35168, "num_binary_propagations": 1589397, "num_integer_propagations": 679253, "num_restarts": 9, "num_lp_iterations": 8295, "wall_time": 5.34862, "user_time": 5.34862, "deterministic_time": 4.77691, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.12394, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000268466, "user_time": 0.000268507, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15234.8}, "cpsat_response_stats": {"num_booleans": 5476, "num_integers": 966, "num_fixed_booleans": 166, "num_conflicts": 4366, "num_branches": 51889, "num_binary_propagations": 2824268, "num_integer_propagations": 1207550, "num_restarts": 0, "num_lp_iterations": 43157, "wall_time": 15.2209, "user_time": 15.2209, "deterministic_time": 9.03949, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12496}, "cpsat_response_stats": {"num_booleans": 8312, "num_integers": 7178, "num_fixed_booleans": 1779, "num_conflicts": 1290, "num_branches": 34439, "num_binary_propagations": 2469764, "num_integer_propagations": 2613280, "num_restarts": 16, "num_lp_iterations": 23032, "wall_time": 12.4649, "user_time": 12.4649, "deterministic_time": 6.13671, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3313, "num_bool": 2177, "num_int": 1136, "num_constraints": 40187, "constraint_breakdown": {"at_most_one": 187, "linear": 16035, "bool_or": 14098, "bool_and": 9867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8999.29}, "cpsat_response_stats": {"num_booleans": 4898, "num_integers": 4291, "num_fixed_booleans": 116, "num_conflicts": 647, "num_branches": 38666, "num_binary_propagations": 1738871, "num_integer_propagations": 2330444, "num_restarts": 18, "num_lp_iterations": 24663, "wall_time": 8.98695, "user_time": 8.98695, "deterministic_time": 6.80057, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3098, "num_bool": 2149, "num_int": 949, "num_constraints": 36351, "constraint_breakdown": {"at_most_one": 161, "linear": 14604, "bool_or": 12833, "bool_and": 8753}, "objective_terms": 140}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7713.8, "objective_value": 956253000.0, "best_objective_bound": 956253000.0, "inner_objective_lower_bound": 956252755}, "cpsat_response_stats": {"num_booleans": 3389, "num_integers": 796, "num_fixed_booleans": 2426, "num_conflicts": 1016, "num_branches": 19591, "num_binary_propagations": 1122015, "num_integer_propagations": 508435, "num_restarts": 3, "num_lp_iterations": 1135, "wall_time": 7.7057, "user_time": 7.7057, "deterministic_time": 5.27028, "gap_integral": 108.029, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "d2736553fba0f9ea5c93118c1e35641595afe997e883759b1ada665c9859deb6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d2736553fba0f9ea5c93118c1e35641595afe997e883759b1ada665c9859deb6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 974.173}, "cpsat_response_stats": {"num_booleans": 2468, "num_conflicts": 1010, "num_branches": 13357, "num_binary_propagations": 741707, "num_integer_propagations": 337569, "num_restarts": 6, "wall_time": 0.973139, "user_time": 0.973139, "deterministic_time": 1.26936}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d28acbdfd6c0f8dc93e215ce1a2fc55b369d63cd6b94efdbfaad6045b6f882ea.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 17058, "num_bool": 13335, "num_int": 3723, "num_constraints": 190797}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 241828}, "cpsat_response_stats": {"num_booleans": 27886, "num_conflicts": 113751, "num_branches": 616288, "num_binary_propagations": 138429930, "num_integer_propagations": 38199499, "num_restarts": 521, "wall_time": 241.815, "user_time": 241.815, "deterministic_time": 753.539}, "solution_info": "no_lp", "problem_sha256": "d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d2bf66ca178e3511de17fd1d1baee9bdf66ca21ecd831f227837ce9271dd99b4.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52885, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 18026, "bool_and": 12243}, "objective_terms": 189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18205, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 6857, "num_integers": 1378, "num_fixed_booleans": 6125, "num_conflicts": 2648, "num_branches": 61557, "num_binary_propagations": 3858335, "num_integer_propagations": 1780847, "num_restarts": 28, "num_lp_iterations": 32929, "wall_time": 18.1953, "user_time": 18.1953, "deterministic_time": 13.1361, "gap_integral": 248.327, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "rnd_cst_lns (d=5.00e-01 s=29 t=0.10 p=0.00 stall=0 h=base) [hint]", "problem_sha256": "d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7758.26}, "cpsat_response_stats": {"num_booleans": 7414, "num_integers": 1493, "num_fixed_booleans": 142, "num_conflicts": 2512, "num_branches": 61449, "num_binary_propagations": 3643632, "num_integer_propagations": 1558160, "num_restarts": 15, "num_lp_iterations": 28859, "wall_time": 7.74627, "user_time": 7.74627, "deterministic_time": 7.84112, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.17649, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000258402, "user_time": 0.000258447, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 20391.1}, "cpsat_response_stats": {"num_booleans": 7397, "num_integers": 1493, "num_fixed_booleans": 145, "num_conflicts": 2450, "num_branches": 55586, "num_binary_propagations": 3560190, "num_integer_propagations": 1551267, "num_restarts": 0, "num_lp_iterations": 32103, "wall_time": 20.3756, "user_time": 20.3756, "deterministic_time": 11.6147, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 31436.5}, "cpsat_response_stats": {"num_booleans": 11569, "num_integers": 10284, "num_fixed_booleans": 2294, "num_conflicts": 2044, "num_branches": 57133, "num_binary_propagations": 4624638, "num_integer_propagations": 4963583, "num_restarts": 37, "num_lp_iterations": 34558, "wall_time": 31.4074, "user_time": 31.4074, "deterministic_time": 14.0917, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4820, "num_bool": 3334, "num_int": 1486, "num_constraints": 59032, "constraint_breakdown": {"at_most_one": 245, "linear": 24911, "bool_or": 20095, "bool_and": 13781}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13929.4}, "cpsat_response_stats": {"num_booleans": 7172, "num_integers": 6647, "num_fixed_booleans": 168, "num_conflicts": 1372, "num_branches": 65313, "num_binary_propagations": 3693921, "num_integer_propagations": 6426907, "num_restarts": 53, "num_lp_iterations": 40631, "wall_time": 13.9183, "user_time": 13.9183, "deterministic_time": 15.0286, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "d3d1ba1cf734596936c45e703ae6c602900ea669015657296757813ef56804c2.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 62235, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 21281, "bool_and": 14522}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25169.9, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 8946, "num_integers": 1399, "num_fixed_booleans": 681, "num_conflicts": 6731, "num_branches": 148858, "num_binary_propagations": 5981141, "num_integer_propagations": 2488771, "num_restarts": 44, "num_lp_iterations": 62036, "wall_time": 25.1518, "user_time": 25.1518, "deterministic_time": 22.114, "gap_integral": 477.892, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "d43568fb51736eb3ba5d256ed2aa63198910e645a62dbc336dbdee29a98d1df0", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d43568fb51736eb3ba5d256ed2aa63198910e645a62dbc336dbdee29a98d1df0.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2199, "num_bool": 1403, "num_int": 796, "num_constraints": 27405, "constraint_breakdown": {"at_most_one": 132, "linear": 10701, "bool_or": 9693, "bool_and": 6879}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7036.23, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 4581, "num_integers": 691, "num_fixed_booleans": 3734, "num_conflicts": 2673, "num_branches": 61472, "num_binary_propagations": 1353817, "num_integer_propagations": 589948, "num_restarts": 17, "num_lp_iterations": 9026, "wall_time": 7.0195, "user_time": 7.0195, "deterministic_time": 5.02013, "gap_integral": 104.09, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "d519e83718e688a924bdbc74e37419567b29b2fad0995ec7bbdd857926592fef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d519e83718e688a924bdbc74e37419567b29b2fad0995ec7bbdd857926592fef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3732, "num_bool": 2581, "num_int": 1151, "num_constraints": 43342, "constraint_breakdown": {"at_most_one": 191, "linear": 18082, "bool_or": 14903, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5402.52}, "cpsat_response_stats": {"num_booleans": 5481, "num_integers": 964, "num_fixed_booleans": 431, "num_conflicts": 2651, "num_branches": 84649, "num_binary_propagations": 2911236, "num_integer_propagations": 1366860, "num_restarts": 19, "num_lp_iterations": 25977, "wall_time": 5.39512, "user_time": 5.39512, "deterministic_time": 7.43684, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d573733a5742e214054d9dcb2da9184aab7fbeb1af376b55fafb32a18244db01.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2781, "num_bool": 1832, "num_int": 949, "num_constraints": 32621, "constraint_breakdown": {"at_most_one": 158, "linear": 12926, "bool_or": 11515, "bool_and": 8022}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2636.93}, "cpsat_response_stats": {"num_booleans": 3965, "num_integers": 799, "num_fixed_booleans": 90, "num_conflicts": 591, "num_branches": 23984, "num_binary_propagations": 1217090, "num_integer_propagations": 476440, "num_restarts": 3, "num_lp_iterations": 1768, "wall_time": 2.63001, "user_time": 2.63001, "deterministic_time": 2.88591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d6ac13401de0afd9760e8f8853fc4fa523bc083e017c97628ace4cc6213b7630.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3496, "num_bool": 2362, "num_int": 1134, "num_constraints": 41015, "constraint_breakdown": {"at_most_one": 188, "linear": 16778, "bool_or": 14230, "bool_and": 9819}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4844.67}, "cpsat_response_stats": {"num_booleans": 4808, "num_integers": 1020, "num_fixed_booleans": 111, "num_conflicts": 897, "num_branches": 33449, "num_binary_propagations": 1909258, "num_integer_propagations": 839189, "num_restarts": 6, "num_lp_iterations": 4405, "wall_time": 4.83731, "user_time": 4.83731, "deterministic_time": 6.95599, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d6dade98259be38e7313f9777ef831cea9573770df96f4f369515d2dfdf64892.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3604, "num_int": 1500, "num_constraints": 59384, "constraint_breakdown": {"at_most_one": 248, "linear": 25207, "bool_or": 20226, "bool_and": 13703}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6416.26}, "cpsat_response_stats": {"num_booleans": 7200, "num_integers": 1335, "num_fixed_booleans": 134, "num_conflicts": 1981, "num_branches": 59854, "num_binary_propagations": 4169992, "num_integer_propagations": 1744375, "num_restarts": 15, "num_lp_iterations": 27046, "wall_time": 6.40549, "user_time": 6.40549, "deterministic_time": 8.47782, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "d75c887fb9536d1adc4dd996a2c83002aafd4a33c57da7f3f9ae4b1375acc563.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1941, "num_int": 790, "num_constraints": 30189}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1764.03}, "cpsat_response_stats": {"num_booleans": 5046, "num_conflicts": 4158, "num_branches": 57953, "num_binary_propagations": 2732212, "num_integer_propagations": 1222426, "num_restarts": 21, "wall_time": 1.76245, "user_time": 1.76245, "deterministic_time": 2.6842}, "solution_info": "default_lp", "problem_sha256": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7df934f3b3ba0e8254473ce06758550361bdc3f1491b9f8d9053d63822f60cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1266, "num_int": 594, "num_constraints": 20658}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 688.182}, "cpsat_response_stats": {"num_booleans": 1908, "num_conflicts": 517, "num_branches": 10517, "num_binary_propagations": 554935, "num_integer_propagations": 255628, "num_restarts": 3, "wall_time": 0.687169, "user_time": 0.687169, "deterministic_time": 1.00223}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3980.14}, "cpsat_response_stats": {"num_booleans": 4163, "num_integers": 837, "num_fixed_booleans": 533, "num_conflicts": 1168, "num_branches": 27661, "num_binary_propagations": 1704118, "num_integer_propagations": 750339, "num_restarts": 6, "num_lp_iterations": 3846, "wall_time": 3.97132, "user_time": 3.97132, "deterministic_time": 4.24827, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.70482, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000316355, "user_time": 0.00031641, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9571.72}, "cpsat_response_stats": {"num_booleans": 7841, "num_integers": 837, "num_fixed_booleans": 2091, "num_conflicts": 6653, "num_branches": 39373, "num_binary_propagations": 4452988, "num_integer_propagations": 1474085, "num_restarts": 0, "num_lp_iterations": 27556, "wall_time": 9.5626, "user_time": 9.5626, "deterministic_time": 7.84873, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10852.8}, "cpsat_response_stats": {"num_booleans": 7183, "num_integers": 6382, "num_fixed_booleans": 2368, "num_conflicts": 1747, "num_branches": 28216, "num_binary_propagations": 2719339, "num_integer_propagations": 2798720, "num_restarts": 22, "num_lp_iterations": 23242, "wall_time": 10.8276, "user_time": 10.8276, "deterministic_time": 5.48807, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 39222, "constraint_breakdown": {"at_most_one": 160, "linear": 17293, "bool_or": 13101, "bool_and": 8668}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10001.9}, "cpsat_response_stats": {"num_booleans": 4010, "num_integers": 3740, "num_fixed_booleans": 558, "num_conflicts": 1171, "num_branches": 30910, "num_binary_propagations": 2029930, "num_integer_propagations": 2291852, "num_restarts": 36, "num_lp_iterations": 26407, "wall_time": 9.99357, "user_time": 9.99357, "deterministic_time": 5.79704, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "d7f5127fbe51e0b6301e5092d44dacf3947138e0a6d52aa0820e05e552dcf8d6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3748.33}, "cpsat_response_stats": {"num_booleans": 2188, "num_integers": 517, "num_fixed_booleans": 55, "num_conflicts": 531, "num_branches": 12139, "num_binary_propagations": 533981, "num_integer_propagations": 281523, "num_restarts": 3, "num_lp_iterations": 849, "wall_time": 3.74356, "user_time": 3.74356, "deterministic_time": 2.30902, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.88984, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00023537, "user_time": 0.000235414, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7094.26}, "cpsat_response_stats": {"num_booleans": 5450, "num_integers": 517, "num_fixed_booleans": 1797, "num_conflicts": 5460, "num_branches": 23996, "num_binary_propagations": 2535675, "num_integer_propagations": 904246, "num_restarts": 0, "num_lp_iterations": 17996, "wall_time": 7.08863, "user_time": 7.08863, "deterministic_time": 3.72115, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10622.4}, "cpsat_response_stats": {"num_booleans": 4253, "num_integers": 3756, "num_fixed_booleans": 1314, "num_conflicts": 990, "num_branches": 26574, "num_binary_propagations": 1721044, "num_integer_propagations": 1894800, "num_restarts": 21, "num_lp_iterations": 22419, "wall_time": 10.6158, "user_time": 10.6158, "deterministic_time": 4.17671, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 21650, "constraint_breakdown": {"at_most_one": 102, "linear": 9113, "bool_or": 7404, "bool_and": 5031}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5404.54}, "cpsat_response_stats": {"num_booleans": 1970, "num_integers": 1837, "num_fixed_booleans": 66, "num_conflicts": 558, "num_branches": 27279, "num_binary_propagations": 1111519, "num_integer_propagations": 1591621, "num_restarts": 24, "num_lp_iterations": 21532, "wall_time": 5.40012, "user_time": 5.40012, "deterministic_time": 4.38015, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "d8130c88625b627297a53f53c8e762e3364a3a80df8f3c156308af5f39bfd89d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4107, "num_bool": 2621, "num_int": 1486, "num_constraints": 49278}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4490.47}, "cpsat_response_stats": {"num_booleans": 6764, "num_conflicts": 1914, "num_branches": 57190, "num_binary_propagations": 2673983, "num_integer_propagations": 1138916, "num_restarts": 21, "wall_time": 4.48732, "user_time": 4.48732, "deterministic_time": 8.23222}, "solution_info": "default_lp", "problem_sha256": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "da0d5cddd84af0e7503d69de955621895f5e4ed02463ce7b994926416ee15e90.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11693.6}, "cpsat_response_stats": {"num_booleans": 8101, "num_integers": 1418, "num_fixed_booleans": 208, "num_conflicts": 2652, "num_branches": 73629, "num_binary_propagations": 4497541, "num_integer_propagations": 1845745, "num_restarts": 24, "num_lp_iterations": 33473, "wall_time": 11.6816, "user_time": 11.6816, "deterministic_time": 14.342, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.4807, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000278211, "user_time": 0.000278257, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 50385.1}, "cpsat_response_stats": {"num_booleans": 7933, "num_integers": 1418, "num_fixed_booleans": 247, "num_conflicts": 10225, "num_branches": 81049, "num_binary_propagations": 9303655, "num_integer_propagations": 2908204, "num_restarts": 0, "num_lp_iterations": 130825, "wall_time": 50.3344, "user_time": 50.3344, "deterministic_time": 31.9651, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19591}, "cpsat_response_stats": {"num_booleans": 12237, "num_integers": 10502, "num_fixed_booleans": 2351, "num_conflicts": 2961, "num_branches": 68346, "num_binary_propagations": 6245198, "num_integer_propagations": 6275851, "num_restarts": 104, "num_lp_iterations": 62128, "wall_time": 19.581, "user_time": 19.581, "deterministic_time": 21.4623, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 63086, "constraint_breakdown": {"at_most_one": 247, "linear": 27425, "bool_or": 21229, "bool_and": 14185}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24680.9}, "cpsat_response_stats": {"num_booleans": 7908, "num_integers": 6859, "num_fixed_booleans": 247, "num_conflicts": 2219, "num_branches": 77297, "num_binary_propagations": 5004901, "num_integer_propagations": 6631702, "num_restarts": 120, "num_lp_iterations": 67417, "wall_time": 24.6675, "user_time": 24.6675, "deterministic_time": 21.9435, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "da292d01044cc894931fcfb089158d65a1cd8e38a789c2f6c73be0fd81859ae3.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3158, "num_bool": 2012, "num_int": 1146, "num_constraints": 40030, "constraint_breakdown": {"at_most_one": 188, "linear": 15591, "bool_or": 14170, "bool_and": 10081}, "objective_terms": 168}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12282.4, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 6931, "num_integers": 1072, "num_fixed_booleans": 5858, "num_conflicts": 3621, "num_branches": 99415, "num_binary_propagations": 2206266, "num_integer_propagations": 1062917, "num_restarts": 23, "num_lp_iterations": 16780, "wall_time": 12.2739, "user_time": 12.2739, "deterministic_time": 10.5022, "gap_integral": 222.807, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "da79ad0e3d13908a25c0a97e051b6e6bcc675cdb0311c8a8699a76a6eba6a056", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "da79ad0e3d13908a25c0a97e051b6e6bcc675cdb0311c8a8699a76a6eba6a056.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1257, "num_int": 594, "num_constraints": 20861, "constraint_breakdown": {"at_most_one": 102, "linear": 8670, "bool_or": 7198, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1287.87}, "cpsat_response_stats": {"num_booleans": 1884, "num_integers": 505, "num_fixed_booleans": 56, "num_conflicts": 325, "num_branches": 10876, "num_binary_propagations": 545066, "num_integer_propagations": 267248, "num_restarts": 1, "num_lp_iterations": 282, "wall_time": 1.28643, "user_time": 1.28643, "deterministic_time": 1.2279, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "daa215241452279f6bd5d569a96d188cea9dd668a82c7db3f1463c7b4122bf78.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3551.33}, "cpsat_response_stats": {"num_booleans": 2471, "num_integers": 592, "num_fixed_booleans": 77, "num_conflicts": 803, "num_branches": 16588, "num_binary_propagations": 971423, "num_integer_propagations": 461010, "num_restarts": 6, "num_lp_iterations": 1893, "wall_time": 3.5441, "user_time": 3.5441, "deterministic_time": 3.23431, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.87047, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000245195, "user_time": 0.000245219, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7600.6}, "cpsat_response_stats": {"num_booleans": 3937, "num_integers": 592, "num_fixed_booleans": 501, "num_conflicts": 3105, "num_branches": 21848, "num_binary_propagations": 1934423, "num_integer_propagations": 812316, "num_restarts": 0, "num_lp_iterations": 8201, "wall_time": 7.58974, "user_time": 7.58974, "deterministic_time": 5.16343, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8174.43}, "cpsat_response_stats": {"num_booleans": 5169, "num_integers": 4589, "num_fixed_booleans": 1537, "num_conflicts": 1362, "num_branches": 20380, "num_binary_propagations": 1701859, "num_integer_propagations": 1883671, "num_restarts": 27, "num_lp_iterations": 23352, "wall_time": 8.16655, "user_time": 8.16655, "deterministic_time": 4.68394, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2734, "num_bool": 1941, "num_int": 793, "num_constraints": 31998, "constraint_breakdown": {"at_most_one": 135, "linear": 13893, "bool_or": 10782, "bool_and": 7188}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6678.34}, "cpsat_response_stats": {"num_booleans": 2367, "num_integers": 2239, "num_fixed_booleans": 125, "num_conflicts": 965, "num_branches": 30459, "num_binary_propagations": 2044529, "num_integer_propagations": 2252963, "num_restarts": 25, "num_lp_iterations": 21103, "wall_time": 6.67215, "user_time": 6.67215, "deterministic_time": 4.89655, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "dad4ea991056ab6474c77d2983ea583b7475e7b62144be92e9414819af6c453b.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2325, "num_bool": 1530, "num_int": 795, "num_constraints": 27686, "constraint_breakdown": {"at_most_one": 132, "linear": 10753, "bool_or": 9865, "bool_and": 6936}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4397.47, "objective_value": 102, "best_objective_bound": 102, "inner_objective_lower_bound": 102}, "cpsat_response_stats": {"num_booleans": 2729, "num_integers": 683, "num_fixed_booleans": 1824, "num_conflicts": 583, "num_branches": 16446, "num_binary_propagations": 658148, "num_integer_propagations": 349589, "num_restarts": 6, "num_lp_iterations": 2154, "wall_time": 4.39002, "user_time": 4.39002, "deterministic_time": 3.74854, "gap_integral": 76.7321, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "db2bfd25d3ddd29864d7c63649b740c31f3a212ecd5c39951b7db2cf2daaf71e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "db2bfd25d3ddd29864d7c63649b740c31f3a212ecd5c39951b7db2cf2daaf71e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2565, "num_bool": 1783, "num_int": 782, "num_constraints": 28952}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1895.54}, "cpsat_response_stats": {"num_booleans": 4897, "num_conflicts": 3683, "num_branches": 32229, "num_binary_propagations": 2195853, "num_integer_propagations": 880604, "num_restarts": 21, "wall_time": 1.89449, "user_time": 1.89449, "deterministic_time": 2.78948}, "solution_info": "fs_random", "problem_sha256": "db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "db7603182e6c01908b60a5198cc807e5d50446b92f36df74879d8cff59ededf9.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2733, "num_bool": 1938, "num_int": 795, "num_constraints": 32190, "constraint_breakdown": {"at_most_one": 135, "linear": 13662, "bool_or": 10975, "bool_and": 7418}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7494.29, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 3888, "num_integers": 654, "num_fixed_booleans": 2937, "num_conflicts": 2823, "num_branches": 22565, "num_binary_propagations": 1904088, "num_integer_propagations": 879070, "num_restarts": 20, "num_lp_iterations": 9760, "wall_time": 7.48783, "user_time": 7.48783, "deterministic_time": 7.50629, "gap_integral": 156.8, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "dd4063e9bca83aceee4a80f854ea7955dce420f547cfb34cec970cdb88755053", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "dd4063e9bca83aceee4a80f854ea7955dce420f547cfb34cec970cdb88755053.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5104, "num_bool": 3610, "num_int": 1494, "num_constraints": 58108}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4168.07}, "cpsat_response_stats": {"num_booleans": 6777, "num_conflicts": 1594, "num_branches": 55705, "num_binary_propagations": 3686234, "num_integer_propagations": 1580012, "num_restarts": 9, "wall_time": 4.16523, "user_time": 4.16523, "deterministic_time": 8.38265}, "solution_info": "default_lp", "problem_sha256": "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e08d820df1d9743f539badc0bc1e61665bee76c052dd71840fb75c3567894d1b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3372, "num_bool": 2442, "num_int": 930, "num_constraints": 37320, "constraint_breakdown": {"at_most_one": 160, "linear": 16219, "bool_or": 12573, "bool_and": 8368}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3910.49}, "cpsat_response_stats": {"num_booleans": 3993, "num_integers": 831, "num_fixed_booleans": 853, "num_conflicts": 1120, "num_branches": 26394, "num_binary_propagations": 1678885, "num_integer_propagations": 742913, "num_restarts": 6, "num_lp_iterations": 4426, "wall_time": 3.88588, "user_time": 3.88588, "deterministic_time": 3.00747, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e0dee47cd630ceac71b5c13970dc2c1445ba7a9a780d4c8dc47ea48a94a76d13.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3309, "num_bool": 2177, "num_int": 1132, "num_constraints": 38566}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3140.42}, "cpsat_response_stats": {"num_booleans": 8026, "num_conflicts": 5606, "num_branches": 75969, "num_binary_propagations": 3038054, "num_integer_propagations": 1261262, "num_restarts": 25, "wall_time": 3.13839, "user_time": 3.13839, "deterministic_time": 5.024}, "solution_info": "fs_random_no_lp", "problem_sha256": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e0f3c7a20537704888438728a07497f4807978fb801fb82031069eca0220188b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11336.5}, "cpsat_response_stats": {"num_booleans": 6811, "num_integers": 1298, "num_fixed_booleans": 397, "num_conflicts": 3325, "num_branches": 65832, "num_binary_propagations": 3913696, "num_integer_propagations": 1654533, "num_restarts": 27, "num_lp_iterations": 43175, "wall_time": 11.3117, "user_time": 11.3117, "deterministic_time": 13.2456, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.11246, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000256192, "user_time": 0.000256238, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 26149.7}, "cpsat_response_stats": {"num_booleans": 6384, "num_integers": 1298, "num_fixed_booleans": 160, "num_conflicts": 3510, "num_branches": 54133, "num_binary_propagations": 4233877, "num_integer_propagations": 1632060, "num_restarts": 0, "num_lp_iterations": 43564, "wall_time": 26.1301, "user_time": 26.1301, "deterministic_time": 18.2295, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 24607.7}, "cpsat_response_stats": {"num_booleans": 10601, "num_integers": 9515, "num_fixed_booleans": 2398, "num_conflicts": 2429, "num_branches": 52030, "num_binary_propagations": 4688129, "num_integer_propagations": 4923454, "num_restarts": 49, "num_lp_iterations": 38746, "wall_time": 24.5952, "user_time": 24.5952, "deterministic_time": 13.6936, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61671, "constraint_breakdown": {"at_most_one": 249, "linear": 26183, "bool_or": 20999, "bool_and": 14240}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17463.3}, "cpsat_response_stats": {"num_booleans": 6149, "num_integers": 5812, "num_fixed_booleans": 165, "num_conflicts": 1474, "num_branches": 56657, "num_binary_propagations": 3517126, "num_integer_propagations": 4689827, "num_restarts": 62, "num_lp_iterations": 43851, "wall_time": 17.4355, "user_time": 17.4355, "deterministic_time": 15.1857, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2894.64}, "cpsat_response_stats": {"num_booleans": 1468, "num_integers": 371, "num_fixed_booleans": 55, "num_conflicts": 229, "num_branches": 7101, "num_binary_propagations": 331230, "num_integer_propagations": 163477, "num_restarts": 1, "num_lp_iterations": 77, "wall_time": 2.89066, "user_time": 2.89066, "deterministic_time": 1.82151, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.95349, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000236559, "user_time": 0.000236601, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3214.45}, "cpsat_response_stats": {"num_booleans": 1550, "num_integers": 371, "num_fixed_booleans": 82, "num_conflicts": 422, "num_branches": 8022, "num_binary_propagations": 374192, "num_integer_propagations": 180148, "num_restarts": 0, "num_lp_iterations": 683, "wall_time": 3.20658, "user_time": 3.20658, "deterministic_time": 1.30538, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8386.12}, "cpsat_response_stats": {"num_booleans": 3505, "num_integers": 3147, "num_fixed_booleans": 1165, "num_conflicts": 1063, "num_branches": 19286, "num_binary_propagations": 1733966, "num_integer_propagations": 1842835, "num_restarts": 27, "num_lp_iterations": 21927, "wall_time": 8.37837, "user_time": 8.37837, "deterministic_time": 3.93918, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 20421, "constraint_breakdown": {"at_most_one": 103, "linear": 8377, "bool_or": 7095, "bool_and": 4846}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13838.6}, "cpsat_response_stats": {"num_booleans": 1480, "num_integers": 1426, "num_fixed_booleans": 61, "num_conflicts": 427, "num_branches": 17076, "num_binary_propagations": 796370, "num_integer_propagations": 956395, "num_restarts": 14, "num_lp_iterations": 13664, "wall_time": 13.8305, "user_time": 13.8305, "deterministic_time": 2.65587, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "e2b2952cbec18758e829524bf6dbc3429f6a22fa6d02d67a9a769b04e568acda.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3831, "num_int": 1479, "num_constraints": 60202, "constraint_breakdown": {"at_most_one": 247, "linear": 25809, "bool_or": 20421, "bool_and": 13725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16580.1}, "cpsat_response_stats": {"num_booleans": 7803, "num_integers": 1408, "num_fixed_booleans": 234, "num_conflicts": 8747, "num_branches": 86424, "num_binary_propagations": 8099187, "num_integer_propagations": 2652010, "num_restarts": 36, "num_lp_iterations": 82379, "wall_time": 16.554, "user_time": 16.554, "deterministic_time": 22.3038, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e2bbfb9a6518269bb6c17eb4174bdb2c455f86b24df806b2a70d3efc3cc2559b.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6297.97}, "cpsat_response_stats": {"num_booleans": 5076, "num_integers": 1051, "num_fixed_booleans": 106, "num_conflicts": 797, "num_branches": 35952, "num_binary_propagations": 1651104, "num_integer_propagations": 765565, "num_restarts": 6, "num_lp_iterations": 7463, "wall_time": 6.2898, "user_time": 6.2898, "deterministic_time": 6.38374, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.7193, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000289697, "user_time": 0.000289752, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13923.7}, "cpsat_response_stats": {"num_booleans": 5482, "num_integers": 1051, "num_fixed_booleans": 239, "num_conflicts": 3709, "num_branches": 46043, "num_binary_propagations": 2907946, "num_integer_propagations": 1190870, "num_restarts": 0, "num_lp_iterations": 41487, "wall_time": 13.9104, "user_time": 13.9104, "deterministic_time": 9.79518, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17581.8}, "cpsat_response_stats": {"num_booleans": 8251, "num_integers": 7336, "num_fixed_booleans": 1742, "num_conflicts": 1348, "num_branches": 36278, "num_binary_propagations": 2556341, "num_integer_propagations": 2778388, "num_restarts": 17, "num_lp_iterations": 19865, "wall_time": 17.5695, "user_time": 17.5695, "deterministic_time": 6.67163, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3494, "num_bool": 2362, "num_int": 1132, "num_constraints": 42717, "constraint_breakdown": {"at_most_one": 188, "linear": 17722, "bool_or": 14678, "bool_and": 10129}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10308.6}, "cpsat_response_stats": {"num_booleans": 4888, "num_integers": 4538, "num_fixed_booleans": 118, "num_conflicts": 715, "num_branches": 40162, "num_binary_propagations": 1868631, "num_integer_propagations": 3125495, "num_restarts": 21, "num_lp_iterations": 21430, "wall_time": 10.2981, "user_time": 10.2981, "deterministic_time": 7.66726, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "e2cb022ee2177db3e3a7d0013600ebdd0e836478a0de3e772bf2e43758f48b4f.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2326, "num_bool": 1531, "num_int": 795, "num_constraints": 28510, "constraint_breakdown": {"at_most_one": 133, "linear": 11459, "bool_or": 9950, "bool_and": 6968}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7159.5, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 8501, "num_integers": 662, "num_fixed_booleans": 5890, "num_conflicts": 7538, "num_branches": 79867, "num_binary_propagations": 4954005, "num_integer_propagations": 1426603, "num_restarts": 20, "num_lp_iterations": 18718, "wall_time": 7.15237, "user_time": 7.15237, "deterministic_time": 9.08225, "gap_integral": 190.878, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "e2f7812832351c2fe6745cd57d8cf525ea0afde5e0ae3b84c74a7dbc2d59779c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e2f7812832351c2fe6745cd57d8cf525ea0afde5e0ae3b84c74a7dbc2d59779c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26786}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2054.76}, "cpsat_response_stats": {"num_booleans": 2552, "num_conflicts": 500, "num_branches": 14190, "num_binary_propagations": 723215, "num_integer_propagations": 366790, "num_restarts": 3, "wall_time": 2.05358, "user_time": 2.05358, "deterministic_time": 2.89887}, "solution_info": "no_lp", "problem_sha256": "e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e3f05dc6a31d4730a876f0feb1b4b2e907503a838b62458292ca91a970a07b98.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 22077, "constraint_breakdown": {"at_most_one": 103, "linear": 9198, "bool_or": 7596, "bool_and": 5180}, "objective_terms": 91}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4927.81, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750204}, "cpsat_response_stats": {"num_booleans": 1911, "num_integers": 500, "num_fixed_booleans": 1439, "num_conflicts": 855, "num_branches": 12860, "num_binary_propagations": 577972, "num_integer_propagations": 309289, "num_restarts": 7, "num_lp_iterations": 2910, "wall_time": 4.92199, "user_time": 4.92199, "deterministic_time": 3.75989, "gap_integral": 77.3949, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e4cbb10b880925006b58b8a9c14a80444228f8939ef41242f9a011c6538e16ad", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e4cbb10b880925006b58b8a9c14a80444228f8939ef41242f9a011c6538e16ad.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5312, "num_bool": 3831, "num_int": 1481, "num_constraints": 60364, "constraint_breakdown": {"at_most_one": 247, "linear": 25865, "bool_or": 20527, "bool_and": 13725}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12804.9}, "cpsat_response_stats": {"num_booleans": 7875, "num_integers": 1389, "num_fixed_booleans": 272, "num_conflicts": 5457, "num_branches": 68944, "num_binary_propagations": 7187925, "num_integer_propagations": 2304961, "num_restarts": 39, "num_lp_iterations": 55387, "wall_time": 12.7942, "user_time": 12.7942, "deterministic_time": 14.0536, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e5061a18e1dccc8890efc254baf8645d165384227e9b8a2a184fa92c8a56b751.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 36452, "constraint_breakdown": {"at_most_one": 160, "linear": 15539, "bool_or": 12406, "bool_and": 8347}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5253.12}, "cpsat_response_stats": {"num_booleans": 4689, "num_integers": 820, "num_fixed_booleans": 809, "num_conflicts": 2043, "num_branches": 31440, "num_binary_propagations": 1976347, "num_integer_propagations": 869683, "num_restarts": 15, "num_lp_iterations": 10982, "wall_time": 5.24519, "user_time": 5.24519, "deterministic_time": 4.28569, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random", "problem_sha256": "e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e5089b40043a2bd13c56d857868c30d39802c527a9f88960040cf46ad486d533.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2930, "num_int": 1127, "num_constraints": 45640, "constraint_breakdown": {"at_most_one": 190, "linear": 19771, "bool_or": 15424, "bool_and": 10255}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4887.83}, "cpsat_response_stats": {"num_booleans": 5461, "num_integers": 1037, "num_fixed_booleans": 261, "num_conflicts": 2631, "num_branches": 43623, "num_binary_propagations": 3593297, "num_integer_propagations": 1504747, "num_restarts": 21, "num_lp_iterations": 25469, "wall_time": 4.87833, "user_time": 4.87833, "deterministic_time": 7.24441, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e56d749a21bc8a639822cf600ca2b22078c1a5352377f0b84164691f615d3915.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6608.39}, "cpsat_response_stats": {"num_booleans": 5213, "num_integers": 1000, "num_fixed_booleans": 261, "num_conflicts": 1763, "num_branches": 39458, "num_binary_propagations": 2473271, "num_integer_propagations": 1097405, "num_restarts": 12, "num_lp_iterations": 12709, "wall_time": 6.58629, "user_time": 6.58629, "deterministic_time": 6.43063, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.69603, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000276108, "user_time": 0.000276162, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 17369}, "cpsat_response_stats": {"num_booleans": 6314, "num_integers": 1000, "num_fixed_booleans": 418, "num_conflicts": 4039, "num_branches": 44840, "num_binary_propagations": 3465833, "num_integer_propagations": 1385003, "num_restarts": 0, "num_lp_iterations": 36641, "wall_time": 17.3571, "user_time": 17.3571, "deterministic_time": 10.3775, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13828.6}, "cpsat_response_stats": {"num_booleans": 8098, "num_integers": 7229, "num_fixed_booleans": 1774, "num_conflicts": 1664, "num_branches": 38683, "num_binary_propagations": 3201684, "num_integer_propagations": 3387935, "num_restarts": 15, "num_lp_iterations": 17749, "wall_time": 13.816, "user_time": 13.816, "deterministic_time": 6.87167, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4054, "num_bool": 2930, "num_int": 1124, "num_constraints": 47566, "constraint_breakdown": {"at_most_one": 190, "linear": 20855, "bool_or": 15928, "bool_and": 10593}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15805.2}, "cpsat_response_stats": {"num_booleans": 4780, "num_integers": 4444, "num_fixed_booleans": 110, "num_conflicts": 1019, "num_branches": 42734, "num_binary_propagations": 2464465, "num_integer_propagations": 3636776, "num_restarts": 19, "num_lp_iterations": 20036, "wall_time": 15.7937, "user_time": 15.7937, "deterministic_time": 7.85024, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1859, "num_bool": 1264, "num_int": 595, "num_constraints": 20757, "constraint_breakdown": {"at_most_one": 103, "linear": 8592, "bool_or": 7173, "bool_and": 4889}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1117.04}, "cpsat_response_stats": {"num_booleans": 1786, "num_integers": 470, "num_fixed_booleans": 55, "num_conflicts": 286, "num_branches": 9923, "num_binary_propagations": 413494, "num_integer_propagations": 212629, "num_restarts": 1, "num_lp_iterations": 349, "wall_time": 1.11495, "user_time": 1.11495, "deterministic_time": 0.817957, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e66de9b63db44a62c14bf4e342fb5e7c7c704ed8af07cafdc0b0bae1575561d2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7970.52}, "cpsat_response_stats": {"num_booleans": 7654, "num_integers": 1379, "num_fixed_booleans": 141, "num_conflicts": 2467, "num_branches": 65020, "num_binary_propagations": 3819270, "num_integer_propagations": 1583355, "num_restarts": 24, "num_lp_iterations": 23832, "wall_time": 7.95906, "user_time": 7.95906, "deterministic_time": 7.82318, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.88692, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000249743, "user_time": 0.000249788, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 23404}, "cpsat_response_stats": {"num_booleans": 7537, "num_integers": 1379, "num_fixed_booleans": 143, "num_conflicts": 2926, "num_branches": 60169, "num_binary_propagations": 4007689, "num_integer_propagations": 1599459, "num_restarts": 0, "num_lp_iterations": 27595, "wall_time": 23.3829, "user_time": 23.3829, "deterministic_time": 11.6188, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22458.8}, "cpsat_response_stats": {"num_booleans": 11934, "num_integers": 10305, "num_fixed_booleans": 2284, "num_conflicts": 2110, "num_branches": 59694, "num_binary_propagations": 4838482, "num_integer_propagations": 5058336, "num_restarts": 33, "num_lp_iterations": 32736, "wall_time": 22.4408, "user_time": 22.4408, "deterministic_time": 13.9947, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 59796, "constraint_breakdown": {"at_most_one": 249, "linear": 25374, "bool_or": 20394, "bool_and": 13779}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16137.6}, "cpsat_response_stats": {"num_booleans": 7563, "num_integers": 6670, "num_fixed_booleans": 180, "num_conflicts": 1471, "num_branches": 68793, "num_binary_propagations": 3939648, "num_integer_propagations": 5503510, "num_restarts": 52, "num_lp_iterations": 43523, "wall_time": 16.1086, "user_time": 16.1086, "deterministic_time": 15.259, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "e70a9ef2b4f8aaa2b009cfae1b6ce00546089bbb5aa32842f75da342b97b5c62.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4358, "num_bool": 2861, "num_int": 1497, "num_constraints": 55027, "constraint_breakdown": {"at_most_one": 245, "linear": 21958, "bool_or": 19251, "bool_and": 13573}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 15933.1, "objective_value": 153, "best_objective_bound": 153, "inner_objective_lower_bound": 153}, "cpsat_response_stats": {"num_booleans": 6941, "num_integers": 1511, "num_fixed_booleans": 143, "num_conflicts": 2634, "num_branches": 54078, "num_binary_propagations": 3204824, "num_integer_propagations": 1475280, "num_restarts": 31, "num_lp_iterations": 31976, "wall_time": 15.9219, "user_time": 15.9219, "deterministic_time": 11.0553, "gap_integral": 233.907, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "reduced_costs", "problem_sha256": "e81927a0d98c976258a99ea66dd94ce946c76779650be126de769c6ad4a9e15c", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e81927a0d98c976258a99ea66dd94ce946c76779650be126de769c6ad4a9e15c.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2729, "num_bool": 1936, "num_int": 793, "num_constraints": 32391, "constraint_breakdown": {"at_most_one": 135, "linear": 13969, "bool_or": 10922, "bool_and": 7365}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5916.7, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 4026, "num_integers": 643, "num_fixed_booleans": 2548, "num_conflicts": 2901, "num_branches": 21875, "num_binary_propagations": 2091185, "num_integer_propagations": 944343, "num_restarts": 18, "num_lp_iterations": 11653, "wall_time": 5.90672, "user_time": 5.90672, "deterministic_time": 5.78252, "gap_integral": 118.824, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "pseudo_costs", "problem_sha256": "e8318822b535ba3dc52423e86eaa33c82b3f68e5a91241746f8ff3fa0dd8a53f", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "e8318822b535ba3dc52423e86eaa33c82b3f68e5a91241746f8ff3fa0dd8a53f.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2726, "num_bool": 1936, "num_int": 790, "num_constraints": 30280}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1251.32}, "cpsat_response_stats": {"num_booleans": 2445, "num_conflicts": 733, "num_branches": 15802, "num_binary_propagations": 1169334, "num_integer_propagations": 540081, "num_restarts": 3, "wall_time": 1.25004, "user_time": 1.25004, "deterministic_time": 2.15822}, "solution_info": "fs_random_no_lp", "problem_sha256": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "e848603289ccaac1aabdf4923a6c533d552120e0deb2e5a7dcc5575e4fbf4d15.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1739, "num_bool": 1149, "num_int": 590, "num_constraints": 19405, "constraint_breakdown": {"at_most_one": 103, "linear": 7777, "bool_or": 6839, "bool_and": 4686}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 916.404}, "cpsat_response_stats": {"num_booleans": 1324, "num_integers": 357, "num_fixed_booleans": 140, "num_conflicts": 271, "num_branches": 5748, "num_binary_propagations": 382393, "num_integer_propagations": 187153, "num_restarts": 1, "num_lp_iterations": 83, "wall_time": 0.914853, "user_time": 0.914853, "deterministic_time": 0.718591, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "e8dab90c05bca526c4ca4dacc22f9973f240d5a80273896fcca6fa45ea919bb8.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20881, "num_bool": 16450, "num_int": 4431, "num_constraints": 236975, "constraint_breakdown": {"at_most_one": 727, "linear": 109273, "bool_or": 77125, "bool_and": 49850}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4689630.0}, "cpsat_response_stats": {"num_booleans": 34725, "num_integers": 4908, "num_fixed_booleans": 1393, "num_conflicts": 1180208, "num_branches": 4605661, "num_binary_propagations": 1460251131, "num_integer_propagations": 383038351, "num_restarts": 5302, "num_lp_iterations": 30955690, "wall_time": 4689.57, "user_time": 4689.57, "deterministic_time": 9645.78, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ea6187c13380778e85ba5d23d7e056bb2abb811dea32e9675213085586a23a06.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2193, "num_bool": 1403, "num_int": 790, "num_constraints": 25694}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 2575.79}, "cpsat_response_stats": {"num_booleans": 2564, "num_conflicts": 255, "num_branches": 13536, "num_binary_propagations": 561351, "num_integer_propagations": 250659, "num_restarts": 1, "wall_time": 2.57446, "user_time": 2.57446, "deterministic_time": 4.3558}, "solution_info": "no_lp", "problem_sha256": "eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "eae6008a7290df6b48bd01fe9114fe7c8405b73d714b28dd55a48088f412303e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3369, "num_bool": 2442, "num_int": 927, "num_constraints": 37121}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3548.75}, "cpsat_response_stats": {"num_booleans": 4192, "num_conflicts": 1320, "num_branches": 25163, "num_binary_propagations": 1948497, "num_integer_propagations": 817142, "num_restarts": 6, "wall_time": 3.54466, "user_time": 3.54466, "deterministic_time": 4.09768}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ec107dc4aa7dbb1386df6da2db1f5b4dd192245085e5beee12265c82c9381edc.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3732, "num_bool": 2581, "num_int": 1151, "num_constraints": 43342, "constraint_breakdown": {"at_most_one": 191, "linear": 18082, "bool_or": 14903, "bool_and": 10166}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4618.5}, "cpsat_response_stats": {"num_booleans": 5348, "num_integers": 963, "num_fixed_booleans": 265, "num_conflicts": 2166, "num_branches": 52761, "num_binary_propagations": 2657527, "num_integer_propagations": 1132849, "num_restarts": 12, "num_lp_iterations": 16354, "wall_time": 4.61026, "user_time": 4.61026, "deterministic_time": 6.90447, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ec4b042c8f9a198d1b01cca74aa2bcd5acc11f565478ec964f0ba812e5f5f5c5.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 10391, "num_bool": 7751, "num_int": 2640, "num_constraints": 116641}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 26603}, "cpsat_response_stats": {"num_booleans": 17967, "num_conflicts": 16842, "num_branches": 255182, "num_binary_propagations": 20803592, "num_integer_propagations": 7225733, "num_restarts": 135, "wall_time": 26.5969, "user_time": 26.5969, "deterministic_time": 88.5344}, "solution_info": "no_lp", "problem_sha256": "ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed81feb815fdb34cb44257fc30a6d9f24de2ed8fffcec1c868977a4d70d4395c.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3094, "num_bool": 2149, "num_int": 945, "num_constraints": 33706}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1608.48}, "cpsat_response_stats": {"num_booleans": 3330, "num_conflicts": 892, "num_branches": 22010, "num_binary_propagations": 1489107, "num_integer_propagations": 662317, "num_restarts": 6, "wall_time": 1.6071, "user_time": 1.6071, "deterministic_time": 2.78436}, "solution_info": "quick_restart_no_lp", "problem_sha256": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed822dccbbfc8c02c2e04bd547202571cb79271a808d730d8742d31920e58213.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3722, "num_bool": 2581, "num_int": 1141, "num_constraints": 42727}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3318.12}, "cpsat_response_stats": {"num_booleans": 6711, "num_conflicts": 4463, "num_branches": 93544, "num_binary_propagations": 3540206, "num_integer_propagations": 1562033, "num_restarts": 23, "wall_time": 3.31652, "user_time": 3.31652, "deterministic_time": 7.18218}, "solution_info": "no_lp", "problem_sha256": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ed8349c414d687ac9dd6fc5f0f2406149f5e340dbddbb010a78b646aa1dff047.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 32383.5}, "cpsat_response_stats": {"num_booleans": 12990, "num_integers": 2191, "num_fixed_booleans": 372, "num_conflicts": 15627, "num_branches": 122298, "num_binary_propagations": 14503936, "num_integer_propagations": 4444588, "num_restarts": 119, "num_lp_iterations": 236073, "wall_time": 32.3443, "user_time": 32.3443, "deterministic_time": 43.2025, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.00309, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000226536, "user_time": 0.000226575, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 91001.3}, "cpsat_response_stats": {"num_booleans": 12994, "num_integers": 2191, "num_fixed_booleans": 324, "num_conflicts": 17497, "num_branches": 128026, "num_binary_propagations": 15861612, "num_integer_propagations": 4639515, "num_restarts": 0, "num_lp_iterations": 254106, "wall_time": 90.9796, "user_time": 90.9796, "deterministic_time": 77.3388, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 94524.3}, "cpsat_response_stats": {"num_booleans": 19118, "num_integers": 16579, "num_fixed_booleans": 3231, "num_conflicts": 3285, "num_branches": 83268, "num_binary_propagations": 6925225, "num_integer_propagations": 7019253, "num_restarts": 97, "num_lp_iterations": 105254, "wall_time": 94.4936, "user_time": 94.4936, "deterministic_time": 49.5893, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 97536, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33236, "bool_and": 21945}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 67651.7}, "cpsat_response_stats": {"num_booleans": 13031, "num_integers": 11481, "num_fixed_booleans": 474, "num_conflicts": 2140, "num_branches": 92488, "num_binary_propagations": 5407949, "num_integer_propagations": 9811157, "num_restarts": 102, "num_lp_iterations": 96514, "wall_time": 67.6174, "user_time": 67.6174, "deterministic_time": 45.159, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "ed8b6e9582c28720d48b5839465e62d1837c0324ea9725c4d8af71b5718e8e81.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2932, "num_int": 1129, "num_constraints": 45302, "constraint_breakdown": {"at_most_one": 190, "linear": 19343, "bool_or": 15471, "bool_and": 10298}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4562.37}, "cpsat_response_stats": {"num_booleans": 5335, "num_integers": 1028, "num_fixed_booleans": 430, "num_conflicts": 1402, "num_branches": 41147, "num_binary_propagations": 2712240, "num_integer_propagations": 1153498, "num_restarts": 6, "num_lp_iterations": 7069, "wall_time": 4.55341, "user_time": 4.55341, "deterministic_time": 5.86141, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ed9224086383052b0c3c6e5d47f8be3b109682bde7c4f0606548d115a458c204.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7673.95}, "cpsat_response_stats": {"num_booleans": 6697, "num_integers": 1363, "num_fixed_booleans": 215, "num_conflicts": 2756, "num_branches": 52996, "num_binary_propagations": 3652200, "num_integer_propagations": 1638316, "num_restarts": 24, "num_lp_iterations": 33119, "wall_time": 7.66122, "user_time": 7.66122, "deterministic_time": 7.88379, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.07558, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000274187, "user_time": 0.000274228, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 26994.1}, "cpsat_response_stats": {"num_booleans": 7388, "num_integers": 1363, "num_fixed_booleans": 891, "num_conflicts": 4500, "num_branches": 65686, "num_binary_propagations": 4651837, "num_integer_propagations": 1942948, "num_restarts": 0, "num_lp_iterations": 66176, "wall_time": 26.979, "user_time": 26.979, "deterministic_time": 19.1651, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 22657.4}, "cpsat_response_stats": {"num_booleans": 11020, "num_integers": 9862, "num_fixed_booleans": 2380, "num_conflicts": 2034, "num_branches": 51363, "num_binary_propagations": 4469066, "num_integer_propagations": 4757152, "num_restarts": 9, "num_lp_iterations": 9300, "wall_time": 22.6414, "user_time": 22.6414, "deterministic_time": 7.47446, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5109, "num_bool": 3610, "num_int": 1499, "num_constraints": 61718, "constraint_breakdown": {"at_most_one": 249, "linear": 26170, "bool_or": 21029, "bool_and": 14270}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 43884.5}, "cpsat_response_stats": {"num_booleans": 6593, "num_integers": 6128, "num_fixed_booleans": 783, "num_conflicts": 1675, "num_branches": 59868, "num_binary_propagations": 3745929, "num_integer_propagations": 5504789, "num_restarts": 61, "num_lp_iterations": 39980, "wall_time": 43.8645, "user_time": 43.8645, "deterministic_time": 15.1682, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "ee7841a529956537bd53bd0d06c598113f2c32871c93e105a3967b75e9f64199.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1850, "num_bool": 1257, "num_int": 593, "num_constraints": 20766, "constraint_breakdown": {"at_most_one": 102, "linear": 8617, "bool_or": 7156, "bool_and": 4891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1380.36}, "cpsat_response_stats": {"num_booleans": 2097, "num_integers": 512, "num_fixed_booleans": 179, "num_conflicts": 497, "num_branches": 11760, "num_binary_propagations": 498136, "num_integer_propagations": 264208, "num_restarts": 3, "num_lp_iterations": 587, "wall_time": 1.37914, "user_time": 1.37914, "deterministic_time": 1.03943, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "eef410430ef1cdcadce5480be841daef9bd294a8d1a7a1912d559e62eee37fb3.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2775, "num_bool": 1832, "num_int": 943, "num_constraints": 32281}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1974.88}, "cpsat_response_stats": {"num_booleans": 4053, "num_conflicts": 557, "num_branches": 24512, "num_binary_propagations": 1206971, "num_integer_propagations": 477706, "num_restarts": 3, "wall_time": 1.97328, "user_time": 1.97328, "deterministic_time": 3.10185}, "solution_info": "fs_random", "problem_sha256": "ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ef01a35c4b42507472b9855a2a470b8020f570bb1518eb15334873fe917bf877.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2322, "num_bool": 1531, "num_int": 791, "num_constraints": 26786}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1667.51}, "cpsat_response_stats": {"num_booleans": 2535, "num_conflicts": 494, "num_branches": 13933, "num_binary_propagations": 686997, "num_integer_propagations": 347568, "num_restarts": 3, "wall_time": 1.66624, "user_time": 1.66624, "deterministic_time": 2.20254}, "solution_info": "no_lp", "problem_sha256": "ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "ef97c0560bd7e6e8d095f4f4c12bd07e9f93e382ba24f038963f8e1d82c9e5c5.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8588, "num_bool": 6402, "num_int": 2186, "num_constraints": 98356, "constraint_breakdown": {"at_most_one": 367, "linear": 41988, "bool_or": 33646, "bool_and": 22355}, "objective_terms": 315}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 70036, "objective_value": 956250000.0, "best_objective_bound": 956250000.0, "inner_objective_lower_bound": 956250255}, "cpsat_response_stats": {"num_booleans": 13048, "num_integers": 2391, "num_fixed_booleans": 279, "num_conflicts": 9208, "num_branches": 95695, "num_binary_propagations": 11406824, "num_integer_propagations": 3660082, "num_restarts": 79, "num_lp_iterations": 134242, "wall_time": 70.0157, "user_time": 70.0157, "deterministic_time": 46.2971, "gap_integral": 876.194, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "graph_cst_lns (d=8.76e-01 s=72 t=0.10 p=1.00 stall=3 h=base) [hint]", "problem_sha256": "f1973192d144d907a3890ee014f52cb62047655870311695ad526ee60808e8e2", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f1973192d144d907a3890ee014f52cb62047655870311695ad526ee60808e8e2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 8580, "num_bool": 6402, "num_int": 2178, "num_constraints": 94129}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14595.1}, "cpsat_response_stats": {"num_booleans": 12990, "num_conflicts": 13022, "num_branches": 121753, "num_binary_propagations": 13939962, "num_integer_propagations": 4100782, "num_restarts": 111, "wall_time": 14.5923, "user_time": 14.5923, "deterministic_time": 48.0783}, "solution_info": "no_lp", "problem_sha256": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f2899679b09262dca05f75c6fe70f8eca2a6daeb2bd59727c37c1b6658e24802.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 32178, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10850, "bool_and": 7308}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7826.01, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 7992, "num_integers": 694, "num_fixed_booleans": 5222, "num_conflicts": 7591, "num_branches": 59883, "num_binary_propagations": 4874663, "num_integer_propagations": 1774717, "num_restarts": 39, "num_lp_iterations": 16388, "wall_time": 7.81948, "user_time": 7.81948, "deterministic_time": 9.39498, "gap_integral": 196.887, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f28d9607dae499e9f824abf7851621947030db7dd2223dd4057f9beb407fade1", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f28d9607dae499e9f824abf7851621947030db7dd2223dd4057f9beb407fade1.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6340.31}, "cpsat_response_stats": {"num_booleans": 5025, "num_integers": 1064, "num_fixed_booleans": 106, "num_conflicts": 876, "num_branches": 36477, "num_binary_propagations": 1730348, "num_integer_propagations": 804974, "num_restarts": 6, "num_lp_iterations": 8274, "wall_time": 6.3299, "user_time": 6.3299, "deterministic_time": 6.44549, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.11225, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000257906, "user_time": 0.000257957, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16371.7}, "cpsat_response_stats": {"num_booleans": 5579, "num_integers": 1064, "num_fixed_booleans": 159, "num_conflicts": 3971, "num_branches": 51184, "num_binary_propagations": 3104857, "num_integer_propagations": 1321637, "num_restarts": 0, "num_lp_iterations": 49213, "wall_time": 16.3619, "user_time": 16.3619, "deterministic_time": 10.7409, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14983}, "cpsat_response_stats": {"num_booleans": 8360, "num_integers": 7469, "num_fixed_booleans": 1818, "num_conflicts": 1393, "num_branches": 36430, "num_binary_propagations": 2659059, "num_integer_propagations": 2873244, "num_restarts": 15, "num_lp_iterations": 18901, "wall_time": 14.9714, "user_time": 14.9714, "deterministic_time": 6.725, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3524, "num_bool": 2381, "num_int": 1143, "num_constraints": 43127, "constraint_breakdown": {"at_most_one": 189, "linear": 17859, "bool_or": 14829, "bool_and": 10250}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9743.13}, "cpsat_response_stats": {"num_booleans": 4894, "num_integers": 4574, "num_fixed_booleans": 119, "num_conflicts": 770, "num_branches": 40762, "num_binary_propagations": 1946938, "num_integer_propagations": 2975548, "num_restarts": 23, "num_lp_iterations": 24423, "wall_time": 9.71971, "user_time": 9.71971, "deterministic_time": 8.07758, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "f37d6966a7d23940fbb6746e26270b8f66f95534c8caf0eda6d1a692b7f03694.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4364, "num_bool": 2861, "num_int": 1503, "num_constraints": 52449, "constraint_breakdown": {"at_most_one": 245, "linear": 20892, "bool_or": 18421, "bool_and": 12891}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6043.44}, "cpsat_response_stats": {"num_booleans": 6743, "num_integers": 1343, "num_fixed_booleans": 144, "num_conflicts": 1677, "num_branches": 58474, "num_binary_propagations": 3019970, "num_integer_propagations": 1323561, "num_restarts": 15, "num_lp_iterations": 20265, "wall_time": 6.03092, "user_time": 6.03092, "deterministic_time": 8.10386, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f38c4b16a01010ad99c30db049af26efc7fa7366d244e2d8b09c59fb44bc51f6.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1863, "num_bool": 1266, "num_int": 597, "num_constraints": 20821, "constraint_breakdown": {"at_most_one": 103, "linear": 8610, "bool_or": 7199, "bool_and": 4909}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1400.94}, "cpsat_response_stats": {"num_booleans": 1872, "num_integers": 469, "num_fixed_booleans": 56, "num_conflicts": 365, "num_branches": 10412, "num_binary_propagations": 451144, "num_integer_propagations": 229653, "num_restarts": 3, "num_lp_iterations": 640, "wall_time": 1.39892, "user_time": 1.39892, "deterministic_time": 0.933528, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f44f61b4bcf0f5938c1b2e6436886c89427480ea10dc0835eb7889990b9aa4ea.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5490.98}, "cpsat_response_stats": {"num_booleans": 5186, "num_integers": 992, "num_fixed_booleans": 103, "num_conflicts": 1721, "num_branches": 44355, "num_binary_propagations": 2145324, "num_integer_propagations": 1003383, "num_restarts": 15, "num_lp_iterations": 15050, "wall_time": 5.48341, "user_time": 5.48341, "deterministic_time": 6.24261, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.04698, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000238848, "user_time": 0.000238894, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 13854.6}, "cpsat_response_stats": {"num_booleans": 5394, "num_integers": 992, "num_fixed_booleans": 134, "num_conflicts": 3550, "num_branches": 55947, "num_binary_propagations": 3012351, "num_integer_propagations": 1337836, "num_restarts": 0, "num_lp_iterations": 39392, "wall_time": 13.8435, "user_time": 13.8435, "deterministic_time": 9.94706, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11246.4}, "cpsat_response_stats": {"num_booleans": 7884, "num_integers": 7069, "num_fixed_booleans": 1712, "num_conflicts": 1391, "num_branches": 35147, "num_binary_propagations": 2763923, "num_integer_propagations": 2977255, "num_restarts": 19, "num_lp_iterations": 20079, "wall_time": 11.2156, "user_time": 11.2156, "deterministic_time": 6.57623, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3727, "num_bool": 2581, "num_int": 1146, "num_constraints": 45243, "constraint_breakdown": {"at_most_one": 191, "linear": 19125, "bool_or": 15411, "bool_and": 10516}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18510.4}, "cpsat_response_stats": {"num_booleans": 4674, "num_integers": 4342, "num_fixed_booleans": 152, "num_conflicts": 1140, "num_branches": 42101, "num_binary_propagations": 2293996, "num_integer_propagations": 3032991, "num_restarts": 59, "num_lp_iterations": 44454, "wall_time": 18.4884, "user_time": 18.4884, "deterministic_time": 13.9527, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5229.07}, "cpsat_response_stats": {"num_booleans": 4204, "num_integers": 828, "num_fixed_booleans": 313, "num_conflicts": 1162, "num_branches": 27920, "num_binary_propagations": 1625001, "num_integer_propagations": 724805, "num_restarts": 6, "num_lp_iterations": 3118, "wall_time": 5.22275, "user_time": 5.22275, "deterministic_time": 5.07577, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.97281, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.00027198, "user_time": 0.000272023, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11511.1}, "cpsat_response_stats": {"num_booleans": 6864, "num_integers": 828, "num_fixed_booleans": 1716, "num_conflicts": 6909, "num_branches": 44429, "num_binary_propagations": 4365144, "num_integer_propagations": 1483867, "num_restarts": 0, "num_lp_iterations": 38812, "wall_time": 11.5004, "user_time": 11.5004, "deterministic_time": 9.31557, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 12420.3}, "cpsat_response_stats": {"num_booleans": 6885, "num_integers": 6133, "num_fixed_booleans": 1701, "num_conflicts": 1486, "num_branches": 30403, "num_binary_propagations": 2459575, "num_integer_propagations": 2600098, "num_restarts": 19, "num_lp_iterations": 22415, "wall_time": 12.3964, "user_time": 12.3964, "deterministic_time": 6.38975, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3240, "num_bool": 2300, "num_int": 940, "num_constraints": 38286, "constraint_breakdown": {"at_most_one": 160, "linear": 16589, "bool_or": 12910, "bool_and": 8627}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 10398.9}, "cpsat_response_stats": {"num_booleans": 3945, "num_integers": 3662, "num_fixed_booleans": 183, "num_conflicts": 1012, "num_branches": 34002, "num_binary_propagations": 1905800, "num_integer_propagations": 2453429, "num_restarts": 31, "num_lp_iterations": 27854, "wall_time": 10.3897, "user_time": 10.3897, "deterministic_time": 6.3756, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6273.65}, "cpsat_response_stats": {"num_booleans": 5621, "num_integers": 1043, "num_fixed_booleans": 439, "num_conflicts": 2166, "num_branches": 42479, "num_binary_propagations": 2764356, "num_integer_propagations": 1191564, "num_restarts": 18, "num_lp_iterations": 16008, "wall_time": 6.26157, "user_time": 6.26157, "deterministic_time": 6.69212, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.10241, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000266705, "user_time": 0.000266748, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 14497.4}, "cpsat_response_stats": {"num_booleans": 6629, "num_integers": 1043, "num_fixed_booleans": 991, "num_conflicts": 4744, "num_branches": 47580, "num_binary_propagations": 4083403, "num_integer_propagations": 1529732, "num_restarts": 0, "num_lp_iterations": 41909, "wall_time": 14.4718, "user_time": 14.4718, "deterministic_time": 10.3017, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16863.6}, "cpsat_response_stats": {"num_booleans": 8326, "num_integers": 7417, "num_fixed_booleans": 1737, "num_conflicts": 1530, "num_branches": 40770, "num_binary_propagations": 3310909, "num_integer_propagations": 3533336, "num_restarts": 12, "num_lp_iterations": 16633, "wall_time": 16.852, "user_time": 16.852, "deterministic_time": 6.78928, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4058, "num_bool": 2932, "num_int": 1126, "num_constraints": 47233, "constraint_breakdown": {"at_most_one": 190, "linear": 20412, "bool_or": 15983, "bool_and": 10648}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 9520.55}, "cpsat_response_stats": {"num_booleans": 5030, "num_integers": 4647, "num_fixed_booleans": 112, "num_conflicts": 985, "num_branches": 45375, "num_binary_propagations": 2601703, "num_integer_propagations": 3918069, "num_restarts": 24, "num_lp_iterations": 18384, "wall_time": 9.50987, "user_time": 9.50987, "deterministic_time": 7.89607, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 3241, "num_bool": 2300, "num_int": 941, "num_constraints": 36541, "constraint_breakdown": {"at_most_one": 160, "linear": 15567, "bool_or": 12467, "bool_and": 8347}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 4646.35}, "cpsat_response_stats": {"num_booleans": 4223, "num_integers": 803, "num_fixed_booleans": 546, "num_conflicts": 1577, "num_branches": 27157, "num_binary_propagations": 1978606, "num_integer_propagations": 801923, "num_restarts": 9, "num_lp_iterations": 4865, "wall_time": 4.62909, "user_time": 4.62909, "deterministic_time": 4.01477, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "f78fe695ba9e97a63ab5ce95b254e44fa166fac58e2775b3ddf94f49ea7903cf.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 11713.1}, "cpsat_response_stats": {"num_booleans": 8110, "num_integers": 1486, "num_fixed_booleans": 205, "num_conflicts": 2608, "num_branches": 83027, "num_binary_propagations": 4012854, "num_integer_propagations": 1638791, "num_restarts": 27, "num_lp_iterations": 26027, "wall_time": 11.7034, "user_time": 11.7034, "deterministic_time": 11.1826, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 2.09861, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000265682, "user_time": 0.000265726, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 23677.6}, "cpsat_response_stats": {"num_booleans": 7967, "num_integers": 1486, "num_fixed_booleans": 162, "num_conflicts": 2829, "num_branches": 69572, "num_binary_propagations": 3929238, "num_integer_propagations": 1561679, "num_restarts": 0, "num_lp_iterations": 22205, "wall_time": 23.6462, "user_time": 23.6462, "deterministic_time": 11.6886, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25540.5}, "cpsat_response_stats": {"num_booleans": 13010, "num_integers": 11788, "num_fixed_booleans": 2672, "num_conflicts": 2241, "num_branches": 65873, "num_binary_propagations": 5009939, "num_integer_propagations": 5409951, "num_restarts": 32, "num_lp_iterations": 34198, "wall_time": 25.5259, "user_time": 25.5259, "deterministic_time": 13.7605, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5277, "num_bool": 3652, "num_int": 1625, "num_constraints": 60763, "constraint_breakdown": {"at_most_one": 268, "linear": 23920, "bool_or": 21708, "bool_and": 14867}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 31403.7}, "cpsat_response_stats": {"num_booleans": 8019, "num_integers": 7543, "num_fixed_booleans": 216, "num_conflicts": 1312, "num_branches": 73911, "num_binary_propagations": 3909156, "num_integer_propagations": 5097545, "num_restarts": 39, "num_lp_iterations": 41068, "wall_time": 31.3277, "user_time": 31.3277, "deterministic_time": 14.0576, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "f7bef5557bfa7900b2878f94c5cb50ef62b55ae98590c3348883692be9e0fe3e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2707, "num_bool": 1924, "num_int": 783, "num_constraints": 30076}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1523.17}, "cpsat_response_stats": {"num_booleans": 2764, "num_conflicts": 677, "num_branches": 16212, "num_binary_propagations": 1076830, "num_integer_propagations": 508034, "num_restarts": 3, "wall_time": 1.52199, "user_time": 1.52199, "deterministic_time": 2.42093}, "solution_info": "fs_random_no_lp", "problem_sha256": "f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f990df9b39aa8360f64fe986746d28d6ce1c06c5498b465aa979d3ad19016ee0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 668.915}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.667998, "user_time": 0.667998, "deterministic_time": 0.713344}, "solution_info": "quick_restart_no_lp", "problem_sha256": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "f9e4e9cdb24462a34649e1e803328a7ce8332623aa743a6197d0c69af13b02d2.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1847, "num_bool": 1257, "num_int": 590, "num_constraints": 20644}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 1364.16}, "cpsat_response_stats": {"num_booleans": 4262, "num_conflicts": 3410, "num_branches": 21289, "num_binary_propagations": 1326924, "num_integer_propagations": 489605, "num_restarts": 12, "wall_time": 1.36307, "user_time": 1.36307, "deterministic_time": 1.66269}, "solution_info": "no_lp", "problem_sha256": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fa619c63ddf9ad9612bc3a615ca437be781fa0014734de2b854bf496453301ac.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1737, "num_bool": 1149, "num_int": 588, "num_constraints": 19236}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 576.826}, "cpsat_response_stats": {"num_booleans": 1392, "num_conflicts": 296, "num_branches": 6114, "num_binary_propagations": 388381, "num_integer_propagations": 188219, "num_restarts": 1, "wall_time": 0.576211, "user_time": 0.576211, "deterministic_time": 0.713486}, "solution_info": "quick_restart_no_lp", "problem_sha256": "fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0", "applied_params_hash": "56ab92f31c63b342e524772e52db2f544c639d6e4bcc0ce661f062ed31738024", "problem_filename": "fbec9f8410da7935d158884bbe39a6d2ec9ea9a9cc81656e0df797d8a91227b0.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 869, "num_int": 448, "num_constraints": 14656, "constraint_breakdown": {"at_most_one": 77, "linear": 5927, "bool_or": 5118, "bool_and": 3534}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 522.676}, "cpsat_response_stats": {"num_booleans": 715, "num_integers": 263, "num_fixed_booleans": 19, "num_conflicts": 146, "num_branches": 3462, "num_binary_propagations": 156717, "num_integer_propagations": 94762, "num_restarts": 1, "num_lp_iterations": 122, "wall_time": 0.521792, "user_time": 0.521792, "deterministic_time": 0.308244, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fc3b0f50b62cc1d9992a8e57b9ec42ca803833d372c275e62594a21cd3424008.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 1240, "num_bool": 794, "num_int": 446, "num_constraints": 14012, "constraint_breakdown": {"at_most_one": 76, "linear": 5477, "bool_or": 4962, "bool_and": 3497}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 436.964}, "cpsat_response_stats": {"num_booleans": 819, "num_integers": 280, "num_fixed_booleans": 21, "num_conflicts": 87, "num_branches": 4299, "num_binary_propagations": 109974, "num_integer_propagations": 68570, "num_restarts": 1, "num_lp_iterations": 66, "wall_time": 0.436121, "user_time": 0.436121, "deterministic_time": 0.24253, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart_no_lp", "problem_sha256": "fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fdd2abfa77414b11517b8142ddf00539bd7f46bcf54d45a1c4c63054c4ad6702.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 20867, "num_bool": 16443, "num_int": 4424, "num_constraints": 236494, "constraint_breakdown": {"at_most_one": 727, "linear": 109162, "bool_or": 76936, "bool_and": 49669}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 3111920.0}, "cpsat_response_stats": {"num_booleans": 38318, "num_integers": 4881, "num_fixed_booleans": 1701, "num_conflicts": 632852, "num_branches": 2956918, "num_binary_propagations": 774505293, "num_integer_propagations": 240882484, "num_restarts": 3149, "num_lp_iterations": 20666296, "wall_time": 3111.86, "user_time": 3111.86, "deterministic_time": 6244.86, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "fe2b12d0f0ce68302c564ec85a5cf7640583a9cf878d8ac3d467d8cab178e90e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 7010.29}, "cpsat_response_stats": {"num_booleans": 6983, "num_integers": 1275, "num_fixed_booleans": 293, "num_conflicts": 2009, "num_branches": 55718, "num_binary_propagations": 3177086, "num_integer_propagations": 1343137, "num_restarts": 18, "num_lp_iterations": 18369, "wall_time": 6.98713, "user_time": 6.98713, "deterministic_time": 6.805, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.96456, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000237362, "user_time": 0.000237402, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 20238.1}, "cpsat_response_stats": {"num_booleans": 6761, "num_integers": 1275, "num_fixed_booleans": 159, "num_conflicts": 3198, "num_branches": 55865, "num_binary_propagations": 3830806, "num_integer_propagations": 1562497, "num_restarts": 0, "num_lp_iterations": 35635, "wall_time": 20.2256, "user_time": 20.2256, "deterministic_time": 10.9292, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 16744.9}, "cpsat_response_stats": {"num_booleans": 10784, "num_integers": 9288, "num_fixed_booleans": 2154, "num_conflicts": 1689, "num_branches": 50433, "num_binary_propagations": 4021763, "num_integer_propagations": 4241736, "num_restarts": 8, "num_lp_iterations": 12301, "wall_time": 16.7239, "user_time": 16.7239, "deterministic_time": 7.29227, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4440, "num_bool": 3147, "num_int": 1293, "num_constraints": 52387, "constraint_breakdown": {"at_most_one": 219, "linear": 22397, "bool_or": 17777, "bool_and": 11994}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 18857.7}, "cpsat_response_stats": {"num_booleans": 6725, "num_integers": 5878, "num_fixed_booleans": 153, "num_conflicts": 1408, "num_branches": 61215, "num_binary_propagations": 3448799, "num_integer_propagations": 5696548, "num_restarts": 56, "num_lp_iterations": 41286, "wall_time": 18.8425, "user_time": 18.8425, "deterministic_time": 14.0314, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "fs_random_no_lp", "problem_sha256": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "fe91eb0bb912529d421e5a02bf6ae7806d24d2ed126a32040f3805cf9880ffa4.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 2711, "num_bool": 1924, "num_int": 787, "num_constraints": 32182, "constraint_breakdown": {"at_most_one": 134, "linear": 13886, "bool_or": 10852, "bool_and": 7310}, "objective_terms": 119}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8743.69, "objective_value": 318750000.0, "best_objective_bound": 318750000.0, "inner_objective_lower_bound": 318750255}, "cpsat_response_stats": {"num_booleans": 9766, "num_integers": 698, "num_fixed_booleans": 742, "num_conflicts": 9702, "num_branches": 30783, "num_binary_propagations": 6049273, "num_integer_propagations": 2529894, "num_restarts": 32, "num_lp_iterations": 16158, "wall_time": 8.73172, "user_time": 8.73172, "deterministic_time": 9.40277, "gap_integral": 197.223, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "quick_restart", "problem_sha256": "fe9cad7ebe07a2af022824a9236ea6e13d00ce8de4b91efb3b17286fc456823e", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "fe9cad7ebe07a2af022824a9236ea6e13d00ce8de4b91efb3b17286fc456823e.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 8016.85}, "cpsat_response_stats": {"num_booleans": 6990, "num_integers": 1330, "num_fixed_booleans": 144, "num_conflicts": 2704, "num_branches": 66347, "num_binary_propagations": 2807103, "num_integer_propagations": 1221085, "num_restarts": 33, "num_lp_iterations": 32976, "wall_time": 7.99287, "user_time": 7.99287, "deterministic_time": 7.69068, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 15000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "MODEL_INVALID", "elapsed_ms": 1.96126, "reason_unknown": "cpsat:MODEL_INVALID"}, "cpsat_response_stats": {"num_booleans": 0, "num_integers": 0, "num_fixed_booleans": 0, "num_conflicts": 0, "num_branches": 0, "num_binary_propagations": 0, "num_integer_propagations": 0, "num_restarts": 0, "num_lp_iterations": 0, "wall_time": 0.000216051, "user_time": 0.00021608, "deterministic_time": 0, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "use_shared_tree_search must only be set on workers' parameters", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "a263d1f569d75a6db11a7eeb6e89be1b87184f40c4d5f40b54f50aa37f5e4cbc", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core", "shared_tree"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 26345.6}, "cpsat_response_stats": {"num_booleans": 7563, "num_integers": 1330, "num_fixed_booleans": 182, "num_conflicts": 5102, "num_branches": 77862, "num_binary_propagations": 3698449, "num_integer_propagations": 1649000, "num_restarts": 0, "num_lp_iterations": 65032, "wall_time": 26.3301, "user_time": 26.3301, "deterministic_time": 20.4664, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "shared_tree", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "b12b8993bfc89efa06af1c2a6bbabf81e269286ef9d8cb0a66f946dbccbaee29", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 0, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 33951.6}, "cpsat_response_stats": {"num_booleans": 10606, "num_integers": 9613, "num_fixed_booleans": 2170, "num_conflicts": 1528, "num_branches": 45526, "num_binary_propagations": 3063838, "num_integer_propagations": 3341184, "num_restarts": 13, "num_lp_iterations": 16213, "wall_time": 33.8916, "user_time": 33.8916, "deterministic_time": 7.04223, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "e3ddb5bb71ffa060136343b4797569f9ddd5d18e782107d83ebce533398612ff", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 4117, "num_bool": 2621, "num_int": 1496, "num_constraints": 52091, "constraint_breakdown": {"at_most_one": 244, "linear": 20481, "bool_or": 18365, "bool_and": 13001}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["quick_restart", "lb_tree_search"], "cp_model_probing_level": 2, "max_num_cuts": 4000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 19654.3}, "cpsat_response_stats": {"num_booleans": 6428, "num_integers": 6045, "num_fixed_booleans": 235, "num_conflicts": 1143, "num_branches": 56232, "num_binary_propagations": 2571949, "num_integer_propagations": 3638286, "num_restarts": 61, "num_lp_iterations": 62919, "wall_time": 19.6376, "user_time": 19.6376, "deterministic_time": 21.9621, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "default_lp", "problem_sha256": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab", "applied_params_hash": "f49dfe0e9f7a3ae5ee6bb7c47dc3b6473b5a4342cbddccdd270af92e771eee23", "problem_filename": "ff6697b1a9d57aeb43f770c91918c33c2b88b2ed07ceea158d351ecb9e4fe8ab.cpsat.pb"} {"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5099, "num_bool": 3604, "num_int": 1495, "num_constraints": 62421, "constraint_breakdown": {"at_most_one": 248, "linear": 26558, "bool_or": 21170, "bool_and": 14445}, "objective_terms": 217}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": true, "use_feasibility_pump": false, "ignore_subsolvers": [], "extra_subsolvers": ["default_lp", "reduced_costs", "core"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 2, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-10}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 25898.4, "objective_value": 204, "best_objective_bound": 204, "inner_objective_lower_bound": 204}, "cpsat_response_stats": {"num_booleans": 11055, "num_integers": 1482, "num_fixed_booleans": 362, "num_conflicts": 7017, "num_branches": 171780, "num_binary_propagations": 6656520, "num_integer_propagations": 3049838, "num_restarts": 42, "num_lp_iterations": 75134, "wall_time": 25.8858, "user_time": 25.8858, "deterministic_time": 22.7093, "gap_integral": 490.421, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "core", "problem_sha256": "ffb5ffbbf9774b8bec1dc190efdafb362fde347b8ad03b8a5c27ba1b09d5b562", "applied_params_hash": "5df8f0e757df0723112604075d205601310374d953777709be4c1ef611f244bd", "problem_filename": "ffb5ffbbf9774b8bec1dc190efdafb362fde347b8ad03b8a5c27ba1b09d5b562.cpsat.pb"} +{"solver": "cpsat", "path": "contracted", "features": {"num_variables": 5079, "num_bool": 3597, "num_int": 1482, "num_constraints": 57828, "constraint_breakdown": {"at_most_one": 249, "linear": 24278, "bool_or": 19882, "bool_and": 13419}}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "cpsat_applied_params": {"timeout_sec": -1, "num_search_workers": 8, "random_seed": 0, "interleave_search": true, "tuned": true, "use_feasibility_jump": false, "use_feasibility_pump": false, "ignore_subsolvers": ["max_lp"], "extra_subsolvers": ["default_lp", "no_lp"], "cp_model_probing_level": 1, "max_num_cuts": 3000, "cut_level": 1, "mip_max_bound": 10000000.0, "mip_var_scaling": 1, "mip_check_precision": 1e-06, "mip_drop_tolerance": 1e-07}, "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 5931.36}, "cpsat_response_stats": {"num_booleans": 7307, "num_integers": 1343, "num_fixed_booleans": 142, "num_conflicts": 1982, "num_branches": 61712, "num_binary_propagations": 4035943, "num_integer_propagations": 1584674, "num_restarts": 18, "num_lp_iterations": 20439, "wall_time": 5.9214, "user_time": 5.9214, "deterministic_time": 8.19457, "gap_integral": 0, "tightened_variables": 0, "sufficient_assumptions_for_infeasibility": 0, "additional_solutions": 0}, "solution_info": "no_lp", "problem_sha256": "ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14", "applied_params_hash": "fadf9341e734c7807e8d86051974b880b382afc02505113658a5a3965eda0f3c", "problem_filename": "ffb713809ac8c43a2c5b9cf1de5f841511eab9db95cd9bd4ac5653992f9b2b14.cpsat.pb"} diff --git a/input/run_phase.sh b/input/run_phase.sh index daeba666cc..577e7b0dd8 100755 --- a/input/run_phase.sh +++ b/input/run_phase.sh @@ -203,8 +203,14 @@ if [ "$EXTRACT_ONLY" != "1" ]; then need_build=1 fi if [ "$need_build" = "1" ]; then - echo "[run_phase] sample json missing — running $BUILD_SAMPLES_SCRIPT first..." - python "$ROOT/$BUILD_SAMPLES_SCRIPT" + # small profile builds stage1+stage2 only (--small); large/default + # builds all four stages. Both emit stage1_large_sample.json. + build_args=() + if [ "$PROFILE" = "small" ]; then + build_args+=(--small) + fi + echo "[run_phase] sample json missing — running $BUILD_SAMPLES_SCRIPT ${build_args[*]}..." + python "$ROOT/$BUILD_SAMPLES_SCRIPT" "${build_args[@]+"${build_args[@]}"}" fi if [ -f "$ROOT/$REBASELINE_SCRIPT" ]; then From 0555709e1947eafd10f831f77b5c0309c7aad0bc Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 1 Jun 2026 09:54:00 +0900 Subject: [PATCH 37/42] [docs] update docs --- docs/openevolve-intro/index.html | 146 +++++++++++-------------- docs/openevolve-intro/slides.html | 176 ++++++++++++++---------------- 2 files changed, 146 insertions(+), 176 deletions(-) diff --git a/docs/openevolve-intro/index.html b/docs/openevolve-intro/index.html index f2054cbe58..34dc9a877a 100644 --- a/docs/openevolve-intro/index.html +++ b/docs/openevolve-intro/index.html @@ -709,7 +709,7 @@

    6. Z3 파라미터 최적화 — 실제 결과

    7. 실전 예시 — CP-SAT 3-Phase 진화 로그 읽기

    - 여기까지가 이론. 이제 실제 로그를 따라가며 LLM이 어떻게 CP-SAT 파라미터를 튜닝하는지, 그리고 phase 체이닝이 이득과 regression을 동시에 전달하는 모습을 본다. 로그 출처: input/cpsat-bench/evolve/phase{1,2,3}_*/openevolve_output/logs/. 각 phase는 직전 phase의 best를 물려받아 다른 파라미터 표면을 튜닝한다 (phase1 search/subsolvers → phase2 presolve/probing → phase3 LP/cuts). + 여기까지가 이론. 이제 실제 로그를 따라가며 LLM이 어떻게 CP-SAT 파라미터를 튜닝하는지, 그리고 phase 체이닝이 직전 best 위에 이득을 누적하는 모습을 본다. 로그 출처: input/cpsat-bench/evolve/phase{1,2,3}_*/openevolve_output/logs/. 각 phase는 직전 phase의 best를 물려받아 다른 파라미터 표면을 튜닝한다 (phase1 search/subsolvers → phase2 presolve/probing → phase3 LP/cuts).

    7.1 공통 실행 환경 (3 phase 동일)

    @@ -720,128 +720,112 @@

    7.1 공통 실행 환경 (3 phase 동일)

    Random seed / Island42 (재현성) / 3개 phase당 iteration40 고정(LOCKED) 파라미터random_seed=0, num_search_workers=1 (phase1/2) / 8 (phase3) — LLM이 못 건드림 - Cascade 평가stage1(10) → stage2(10) → [stage3 outlier, phase3+] → stage4(20) + Cascade 평가stage1(10) → stage2(10) → [stage3 outlier, phase3+] → stage4(64문제 · 53 비교가능) Phase 체이닝phaseN best → phase(N+1) initial_program.py로 상속 -

    7.2 Phase 1 — search / subsolvers: 큰 도약 (0.71 → 1.46)

    +

    7.2 Phase 1 — search / subsolvers: LP·cuts로 +28.5%

    - Phase1은 가장 큰 표면(search 전략 + subsolver 조합)을 단독으로 탐색한다. 초기 config는 탐색이 무거워 deterministic_time은 느리지만 branch/conflict 수는 적다(efficiency 2.25). + Phase1 표면은 search 전략 + subsolver 조합이다. 그런데 num_search_workers=1이라 subsolver portfolio가 무의미 — LLM이 thinking에서 이를 알아채고 LP 품질·cut·presolve 쪽으로 방향을 튼다.

    -
    initial: combined_score=0.7123  geomean_speedup=0.5436  efficiency=2.2518  (solved 10/10)
    -winner : combined_score=1.4582  geomean_speedup=1.1786  efficiency=1.8948  (solved 20/20)
    -         🌟 new best @ iter 1, 4, 31
    - -

    winner가 채택한 핵심 — feasibility 휴리스틱:

    -
    GLOBAL_OVERRIDES = { "use_feasibility_pump": True }   # 작은/중간 문제 dtime 단축
    -SIZE_BUCKETS[large] = { "use_feasibility_jump": True, "use_feasibility_pump": True }
    -STAGE3_OVERRIDES = { "repair_hint": True, "hint_conflict_limit": 50 }
    +
    initial: combined_score=0.9117  geomean_speedup=1.2532  solved_rate=0.8529  regressions=5
    +winner : combined_score=1.3086  geomean_speedup=1.2851  solved_rate=0.9811  regressions=1
    +         efficiency=1.1840   🌟 new best @ iter 1, 9, 12, 33, 36, 39
    - 결과. deterministic_time 17.9% 단축 (geomean_speedup 1.1786), stage4까지 통과해 20/20 OPTIMAL. 큰 탐색 공간이라 점수가 0.71 → 1.46으로 크게 도약. (LLM 생성 timeout 10회 — claude_code 3-retry 후 skip.) -
    -
    - 복선. winner가 켠 use_feasibility_jump/pump가 phase2 initial_program.py로 상속되며 곧바로 문제를 일으킨다. + 결과. deterministic_time 28.5% 단축 (geomean_speedup 1.2851), regression 5→1로 감소, solved_rate 0.85→0.98. 큰 표면을 6번의 new-best로 점진 정복. (LLM 생성 timeout 7회 — claude_code 3-retry 후 skip.)
    -

    7.3 Phase 2 시작 — 상속이 깨졌다 (score 0.0000)

    +

    7.3 Phase 1 config — 문제 크기별로 정반대 (layered tuning)

    - Phase2(presolve/probing)는 phase1 winner를 상속한다. 그런데 초기 평가가 0점. phase1에서 켠 use_feasibility_jump=Truenum_search_workers=1 환경에서 사실상 유일 solver로 돌면서 한 문제에서 feasibility를 잃었다. + winner는 글로벌로 LP를 강하게 깔고, SIZE_BUCKETS로 크기별 정반대 강도를 적용한다:

    -
    initial c69923ed: combined_score=0.0000  solved_rate=0.0000
    -artifact.result_mismatch = {
    -    "sha": "b5e191a8...", "baseline_result": "OPTIMAL", "got_result": "UNKNOWN"
    -}
    -artifact.suggestion = "Variant lost feasibility on a problem baseline reached optimal.
    -    Revert params that disable a needed subsolver or shorten search."
    - -
    - 체이닝의 양날. phase 체이닝은 이득뿐 아니라 regression도 전달한다. 단 하나의 OPTIMAL→UNKNOWN이 solved_rate=0을 만들고, score 식의 solved_rate² 항이 combined_score를 0으로 떨군다. 하지만 evaluator가 돌려준 result_mismatch + suggestion artifact가 다음 iteration들의 단서가 된다. +
    GLOBAL: linearization_level=2, cut_level=2, max_num_cuts=10000,
    +        add_mir_cuts + add_zero_half_cuts + add_clique_cuts + add_objective_cut,
    +        probing_num_combinations_limit=40000, root_lp_iterations=2500
    +
    +SIZE_BUCKETS[small <50k]: LP 가볍게 — probing1, linearization1, root_lp=500
    +                          (probing3은 conflict 3배 폭발 → 회피)
    +SIZE_BUCKETS[large ≥150k]: LP 무겁게 — linearization2, root_lp=4000
    +                          (root_lp 6000은 UNKNOWN 유발 → 4000이 안전선)
    +
    + 핵심. 작은 SAT-유사 문제엔 LP가 독, 큰 LP-heavy 문제엔 약. 같은 knob을 크기별로 반대로 돌린다. config 주석에 "왜 안 되는지"(conflict 3배, UNKNOWN)까지 LLM이 적어둠 — artifact 피드백으로 학습한 흔적.
    -

    7.4 Phase 2 회복 — 안전하지만 느린 곡선

    +

    7.4 Phase 2 — presolve: 깨끗한 상속, 단일 도약 (+51.7%)

    - 이후 iteration들은 "일단 다 풀리게" 만드는 보수적 변형으로 점진 회복한다. solved 10/10이지만 dtime은 baseline보다 느리다(speedup < 1). + Phase2(presolve/probing)는 phase1 winner를 상속한다. 이번엔 시작부터 깨끗 — 53/53 solved, regression 0.

    -
    iter 1 (4a07c113): combined_score=0.8807  geomean_speedup=0.881   solved 10/10
    -iter 3 (2fa91fef): combined_score=0.9771  geomean_speedup=0.901
    -iter 9 (5e2691fb): combined_score=0.9905  geomean_speedup=0.946
    -
    - 국소 최적의 함정. regression은 사라졌지만(solved 10/10) 모두 geomean_speedup < 1.0 — baseline보다 dtime을 더 쓴다. LLM은 "안전한 0.9x"에 머물러 0점은 피했으나 phase1 수준(1.18)엔 못 미치고, stage1 gate를 못 넘어 stage2로도 진입하지 못한다. +
    initial 3e428b82: combined_score=1.3288  geomean_speedup=1.2906  solved 53/53
    +winner          : combined_score=1.4713  geomean_speedup=1.5172  efficiency=0.9119
    +         🌟 new best @ iter 10  (같은 config 계열이 iter 13·15·25·31·34 재등장)
    +
    + 단일 결정적 도약. 40 iter 중 대부분은 ~0.99(이득 없음)를 맴돌다 iter 10에서 한 번에 1.4713로 점프. deterministic_time 51.7% 단축 (geomean 1.2906 → 1.5172). 이 winning config가 이후 5번 더 재발견됨 — robust한 optimum.
    -

    7.5 Phase 2 돌파 — iter 23, 근본 원인 진단 (1.4582)

    +

    7.5 Phase 2 통찰 — 더하기가 아니라 덜어내기

    - iter 23에서 LLM이 thinking 로그에 root cause를 적고 직접 고친다: + winning config는 phase1보다 더 단순하다. presolve 작업을 덜어내서 빨라졌다:

    -
    - "Phase1 winner가 use_feasibility_jump=True를 켠 듯하다. W=1에서는 이게 유일 solver로 돌아 LP-heavy 문제에서 optimality 증명 없이 FEASIBLE로 끝난다. 조기 종료를 유발하는 두 휴리스틱을 명시적으로 끈다." -
    GLOBAL_OVERRIDES = {
    -    "cp_model_probing_level": 2, "symmetry_level": 1,
    -    "use_feasibility_jump": False,   # ← root-cause fix
    -    "use_feasibility_pump": False,
    -    "stop_after_first_solution": False, "use_lns_only": False,
    +    "cp_model_probing_level": 1,
    +    "symmetry_level": 1,        # default 2 → symmetry 탐지 작업 감소
    +    "presolve_use_bva": False,  # default True → BVA presolve 비용 제거
     }
    -SIZE_BUCKETS = [
    -    (50_000,  {probing2, cut_level1, add_mir_cuts, add_zero_half_cuts}),  # 작은 문제
    -    (150_000, {probing2, cut_level1}),                                    # 중간
    -    (inf,     {probing1, linearization_level1}),                         # 큰 LP-heavy
    -]
    -
    - 돌파. stage1 gate 통과 → 전체 cascade(stage4, 20문제) 진입. combined_score=1.4582, geomean_speedup=1.1786 (+17.9%), efficiency=1.8948. phase1과 동일한 속도 수준을 더 안전한 config로 회복 — 즉 phase2의 본질은 "신규 이득"이 아니라 체이닝이 만든 regression을 진단·복구한 것. -
    - -

    7.6 Phase 2 실패들 — 좁은 표면의 대가

    +SIZE_BUCKETS[small <50k] = { "cp_model_probing_level": 0 } # probing 완전 off

    - presolve/probing 표면은 이미 잘 도는 baseline 위라 변형 여지가 좁다. 한 발만 잘못 디뎌도 OPTIMAL→UNKNOWN이 나고, 돌파 이후에도 다른 가지에서 같은 종류의 regression이 반복된다. + 흥미로운 점은 efficiency가 나빠졌는데도(1.09 → 0.91) 점수가 올랐다는 것. branch/conflict는 늘었지만 dtime이 크게 줄었기 때문이다:

    -
    iter 25, 32: combined_score=0.0000
    -             error="result regression on dd4063e9bc: baseline=OPTIMAL got=UNKNOWN"
    -LLM 생성 timeout: iter 5,10,12,18,19,22,30,35  (claude_code 3-retry 후 skip)
    -
    - 그래도 수렴하는 이유. MAP-Elites + island가 0점 가지를 버리고, artifact의 result_mismatch가 LLM을 반복적으로 안전 영역으로 끌어와 iter 23 돌파를 가능케 했다. 점수만 줬다면 불가능한 인과적 디버깅 — artifact 피드백의 가치다. +
    combined_score = geomean_speedup × efficiency^STATS_WEIGHT × solved_rate²
    +              ≈   1.5172        × 0.9119^0.333        × 1.0²
    +              ≈   1.5172        × 0.969                       ≈ 1.4713
    +
    + 방향이 표면마다 반대 + 트레이드오프 학습. phase1은 LP/cuts를 추가해 이득, phase2는 presolve overhead를 제거해 이득. 이 sample에선 presolve 작업의 비용 > 이득이다. 또한 score 식이 "덜 효율적이어도 더 빠르면 보상" 구조라, LLM은 일을 더 시키더라도(branch↑) 벽시계를 단축하는 변형을 자율 선택했다 (wall_speedup도 1.62→1.88 동반 상승).
    -

    7.7 Phase 3 — LP / cuts (W=8): 평탄한 표면

    +

    7.6 Phase 3 — LP / cuts (W=8): +11.5% 추가

    - Phase3는 phase1+2 winner를 상속하고 8-worker로 LP/cuts 표면을 튠다. 시작부터 이미 baseline 수준(상속 config가 강함). + Phase3는 phase1+2 winner를 상속하고 8-worker로 LP/cuts 표면을 튠다. 이미 강한 상속 config 위에서도 추가 이득을 짜낸다.

    -
    initial c2e091f9: combined_score=0.9930  geomean_speedup=0.9930  (solved 10/10, W=8)
    -winner  620d4019: combined_score=1.0225  geomean_speedup=0.9778  efficiency=1.1437
    -         🌟 new best @ iter 3, 27
    -

    winner config (요약):

    -
    GLOBAL: max_num_cuts=6000, root_lp_iterations=3500, symmetry_level=3,
    -        interleave_search=True, share_glue_clauses=True, solution_pool_size=8
    -SIZE_BUCKETS[small]: probing3 + linearization2 + cut_level2
    -SIZE_BUCKETS[large]: root_lp_iterations=5000 + MIR/zero-half cuts
    +
    initial 3961c65d: combined_score=1.0095  geomean_speedup=1.0073  solved 19/19 (stage1)
    +best @ iter 26  : combined_score=1.1470  geomean_speedup=1.1146  efficiency=1.0900
    +         🌟 new best @ iter 11 → 17 → 26  (solved 53/53, stage4)
    +

    iter 26 config (요약):

    +
    GLOBAL: max_num_cuts=3000, cut_level=1, add_objective_cut=True, root_lp_iterations=3000,
    +        mip_max_bound=1e7 (+ mip_var_scaling / check_precision / drop_tolerance)
    +STAGE3_OVERRIDES: use_feasibility_jump=True
    +
    + 관찰. 8-worker portfolio 위에서도 deterministic_time 11.5% 추가 단축. 단, 이 run은 iter 27에서 중단되어 best 추출 전 — 위 수치는 best-so-far 기준이다. +
    +

    7.7 Phase 3 안전장치 — "빠르지만 틀린" 변형을 artifact로 거부

    - 그런데 winner의 combined_score 1.0225는 speedup가 아니라 efficiency factor가 끌어올린 값이다: + iter 27에서 LLM이 num_violation_ls=1을 시도한다. dtime이 극적으로 줄지만 결과가 틀린다 — thinking 로그:

    -
    combined_score = geomean_speedup × efficiency^STATS_WEIGHT × solved_rate²
    -              ≈   0.9778        × 1.1437^0.333
    -              ≈   0.9778        × 1.046              ≈ 1.0225
    -
    - 한계 효용(diminishing returns). deterministic_time(0.978)은 오히려 baseline보다 2.2% 느리다. 줄어든 branch/conflict(efficiency 1.14)가 점수를 1 위로 들어올렸을 뿐, 실질 속도 개선이 아니다. 쉬운 이득은 phase1/2가 이미 가져갔고 LP/cuts 표면은 이 시점에 거의 평탄하다. score 숫자를 해석할 땐 어떤 항이 들어올렸는지 봐야 한다. +
    + "num_violation_ls=1 변형이 deterministic time을 14.3 → 7.66초로 극적으로 낮추지만 OPTIMAL 대신 UNKNOWN을 반환 — red flag. solver가 해를 찾기 전에 조기 종료. 너무 공격적이다. baseline으로 되돌리고 검증된 add_objective_cut: True를 유지한다." +
    +
    + 핵심. 점수(dtime)만 봤다면 "2배 빠른" 이 변형을 채택했을 것이다. 하지만 artifact의 OPTIMAL→UNKNOWN 신호로 LLM이 스스로 거부하고 안전한 config로 회귀했다. 속도와 정확성의 트레이드오프를 인과적으로 판단 — 점수만으로는 불가능한 디버깅이다.

    7.8 종합 — 3-Phase가 보여주는 OpenEvolve 동작 양상

    - - - + + +
    Phase표면 / Winitialwinnergeomean_speedup (dtime)양상
    1search/subsolvers · W10.71231.45821.1786 (+17.9%)탐색 — 큰 도약
    2presolve/probing · W10.00001.45821.1786진단·복구 — root-cause fix
    3lp/cuts · W80.99301.02250.9778 (−2.2%)평탄 — 한계 효용
    1search/subsolvers · W10.91171.30861.2851 (+28.5%)LP·cuts 추가, regression↓
    2presolve/probing · W11.32881.47131.5172 (+51.7%)presolve 덜어내기
    3lp/cuts · W81.00951.1470*1.1146 (+11.5%)추가 cut 미세 이득
    +

    *phase3는 iter 27 중단 시점 best-so-far. phase1/2 winner는 직전 phase best 위에서 측정.

      -
    1. 체이닝은 이득과 regression을 함께 전달한다. phase2 시작 0점은 phase1이 켠 휴리스틱 탓 — artifact가 LLM의 root-cause 진단을 가능케 했다.
    2. -
    3. score 식 해석에 주의. phase3는 dtime<1인데도 efficiency factor가 combined_score를 1 위로 들어올린다. 숫자 하나만 보면 오해할 수 있다.
    4. -
    5. 모든 phase가 이득을 내진 않는다. phase3는 평탄 — 그게 정상이고, cascade는 "어디서 멈출지"를 보여준다.
    6. +
    7. 체이닝은 이득을 누적한다. 각 phase가 직전 best 위에서 추가로 짜냄 — phase1 LP/cuts → phase2 presolve → phase3 cut 미세조정.
    8. +
    9. 최적 방향이 표면마다 다르다. phase1은 LP/cuts를 추가, phase2는 presolve를 제거해 이득. LLM이 양방향 모두 탐색한다.
    10. +
    11. artifact가 안전을 보장한다. "빠르지만 UNKNOWN"인 변형을 점수가 아닌 결과 신호로 거부 (phase3 num_violation_ls). 점수만으로는 불가능한 인과적 디버깅.
    diff --git a/docs/openevolve-intro/slides.html b/docs/openevolve-intro/slides.html index b40a4cb522..7d8719497f 100644 --- a/docs/openevolve-intro/slides.html +++ b/docs/openevolve-intro/slides.html @@ -918,7 +918,7 @@

    공통 실행 환경 (3 phase 동일)

    Random seed / Island42 / 3개 phase당 iteration40 LOCKED 파라미터random_seed=0, num_search_workers=1 (phase1/2), 8 (phase3) - Cascade 평가stage1(10) → stage2(10) → [stage3 outlier] → stage4(20) + Cascade 평가stage1(10) → stage2(10) → [stage3 outlier] → stage4(64문제 · 53 비교가능) Phase 체이닝phaseN best → phase(N+1) initial_program.py로 상속 @@ -928,171 +928,157 @@

    공통 실행 환경 (3 phase 동일)

    -
    7.1 Phase1

    search / subsolvers — 큰 도약 (0.71 → 1.46)

    +
    7.1 Phase1

    search / subsolvers — LP·cuts로 +28.5%

    -

    Phase1은 가장 큰 표면(search 전략 + subsolver 조합)을 단독으로 탐색. 초기 config는 탐색이 무거워 dtime은 느리지만 branch/conflict는 적다.

    +

    Phase1 표면은 search 전략 + subsolver 조합. 그런데 num_search_workers=1이라 subsolver portfolio가 무의미 — LLM이 thinking에서 이를 알아채고 LP 품질·cut·presolve 쪽으로 방향을 튼다.

    -
    initial: combined_score=0.7123  geomean_speedup=0.5436  efficiency=2.2518
    -winner : combined_score=1.4582  geomean_speedup=1.1786  efficiency=1.8948  (solved 20/20)
    -         🌟 new best @ iter 1, 4, 31
    - -

    winner가 채택한 핵심 — feasibility 휴리스틱:

    -
    GLOBAL_OVERRIDES = { "use_feasibility_pump": True }   # 작은/중간 문제 dtime 단축
    -SIZE_BUCKETS[large] = { "use_feasibility_jump": True, "use_feasibility_pump": True }
    -STAGE3_OVERRIDES = { "repair_hint": True, "hint_conflict_limit": 50 }
    +
    initial: combined_score=0.9117  geomean_speedup=1.2532  solved_rate=0.8529  regressions=5
    +winner : combined_score=1.3086  geomean_speedup=1.2851  solved_rate=0.9811  regressions=1
    +         efficiency=1.1840   🌟 new best @ iter 1, 9, 12, 33, 36, 39
    - 결과. deterministic_time 17.9% 단축 (geomean_speedup 1.1786), 20/20 OPTIMAL. 큰 탐색 공간 → 큰 점프. (LLM 생성 timeout 10회 — claude_code 3-retry 후 skip) + 결과. deterministic_time 28.5% 단축 (geomean_speedup 1.2851), regression 5→1로 감소, solved_rate 0.85→0.98. 큰 표면을 6번의 new-best로 점진 정복. (LLM 생성 timeout 7회 — claude_code 3-retry 후 skip)
    -

    주의: winner가 켠 use_feasibility_jump/pump가 phase2로 상속되며 문제를 일으킨다 →

    7.1 Phase1
    21 / 35
    - +
    -
    7.2 Phase2 시작

    상속이 깨졌다 — score 0.0000

    +
    7.1 Phase1 config

    문제 크기별로 정반대 — layered tuning

    -

    Phase2(presolve/probing)는 phase1 winner를 상속. 그런데 초기 평가가 0점. phase1에서 켠 use_feasibility_jump=True가 W=1 단독 실행 시 한 문제에서 feasibility를 잃었다.

    +

    winner는 글로벌로 LP를 강하게 깔고, SIZE_BUCKETS로 크기별 정반대 강도를 적용:

    +
    GLOBAL: linearization_level=2, cut_level=2, max_num_cuts=10000,
    +        add_mir_cuts + add_zero_half_cuts + add_clique_cuts + add_objective_cut,
    +        probing_num_combinations_limit=40000, root_lp_iterations=2500
     
    -
    initial c69923ed: combined_score=0.0000  solved_rate=0.0000
    -artifact.result_mismatch = {
    -    "sha": "b5e191a8...", "baseline_result": "OPTIMAL", "got_result": "UNKNOWN"
    -}
    -artifact.suggestion = "Variant lost feasibility on a problem baseline reached
    -    optimal. Revert params that disable a needed subsolver or shorten search."
    +SIZE_BUCKETS[small <50k]: LP 가볍게 — probing1, linearization1, root_lp=500 + (probing3은 conflict 3배 폭발 → 회피) +SIZE_BUCKETS[large ≥150k]: LP 무겁게 — linearization2, root_lp=4000 + (root_lp 6000은 UNKNOWN 유발 → 4000이 안전선)
    -
    - 체이닝의 양날. phase 체이닝은 이득뿐 아니라 regression도 전달한다. 단 하나의 OPTIMAL→UNKNOWN이 solved_rate=0을 만들어 combined_score를 0으로 떨군다 (score 식의 solved_rate² 항). +
    + 핵심. 작은 SAT-유사 문제엔 LP가 독, 큰 LP-heavy 문제엔 약. 같은 knob을 크기별로 반대로 돌린다. config 주석에 "왜 안 되는지"(conflict 3배, UNKNOWN)까지 LLM이 적어둠 — artifact 피드백으로 학습한 흔적.
    -

    하지만 evaluator가 돌려준 result_mismatch + suggestion artifact가 다음 iteration들의 단서가 된다.

    -
    7.2 Phase2 시작
    22 / 35
    +
    7.1 Phase1 config
    22 / 35
    - +
    -
    7.3 Phase2 회복

    안전하지만 느린 회복

    +
    7.2 Phase2

    presolve — 깨끗한 상속, 단일 도약 (+51.7%)

    -

    이후 iteration들은 "일단 다 풀리게" 만드는 보수적 변형으로 점진 회복. solved 10/10이지만 dtime은 baseline보다 느림(speedup < 1).

    +

    Phase2(presolve/probing)는 phase1 winner를 상속. 이번엔 시작부터 깨끗 — 53/53 solved, regression 0.

    -
    iter 1 (4a07c113): combined_score=0.8807  geomean_speedup=0.881   solved 10/10
    -iter 3 (2fa91fef): combined_score=0.9771  geomean_speedup=0.901
    -iter 9 (5e2691fb): combined_score=0.9905  geomean_speedup=0.946
    +
    initial 3e428b82: combined_score=1.3288  geomean_speedup=1.2906  solved 53/53
    +winner          : combined_score=1.4713  geomean_speedup=1.5172  efficiency=0.9119
    +         🌟 new best @ iter 10  (같은 config 계열이 iter 13·15·25·31·34 재등장)
    -
    - 국소 최적의 함정. regression은 사라졌지만(solved 10/10) 모두 geomean_speedup < 1.0 — baseline보다 dtime을 더 쓴다. LLM은 "안전한 0.9x"에 머물러 0점은 피했지만 phase1 수준(1.18)엔 못 미침. stage1 gate를 못 넘어 stage2로도 못 간다. +
    + 단일 결정적 도약. 40 iter 중 대부분은 ~0.99(이득 없음)를 맴돌다 iter 10에서 한 번에 1.4713로 점프. deterministic_time 51.7% 단축 (geomean 1.2906 → 1.5172). 이 winning config가 이후 5번 더 재발견됨 — robust한 optimum.
    -
    7.3 Phase2 회복
    23 / 35
    +
    7.2 Phase2
    23 / 35
    - +
    -
    7.4 Phase2 돌파

    iter 23 — 근본 원인 진단으로 돌파

    +
    7.3 Phase2 통찰

    더하기가 아니라 덜어내기

    -

    iter 23에서 LLM이 thinking 로그에 root cause를 적고 직접 고친다:

    -
    - "Phase1 winner가 use_feasibility_jump=True를 켠 듯. W=1에서는 이게 유일 solver로 돌아 LP-heavy 문제에서 optimality 증명 없이 FEASIBLE로 끝난다. 두 early-exit 휴리스틱을 명시적으로 끈다." -
    +

    winning config는 phase1보다 더 단순하다. presolve 작업을 덜어내서 빨라졌다:

    GLOBAL_OVERRIDES = {
    -    "cp_model_probing_level": 2, "symmetry_level": 1,
    -    "use_feasibility_jump": False,   # ← root-cause fix
    -    "use_feasibility_pump": False,
    -    "stop_after_first_solution": False, "use_lns_only": False,
    +    "cp_model_probing_level": 1,
    +    "symmetry_level": 1,        # default 2 → symmetry 탐지 작업 감소
    +    "presolve_use_bva": False,  # default True → BVA presolve 비용 제거
     }
    -# SIZE_BUCKETS: small=probing2+MIR/zero-half cuts, mid=probing2+cut1, large=probing1+lin1
    +SIZE_BUCKETS[small <50k] = { "cp_model_probing_level": 0 } # probing 완전 off +STAGE3_OVERRIDES = {} -
    - 돌파. stage1 gate 통과 → 전체 cascade(stage4, 20문제) 진입. combined_score=1.4582, geomean_speedup=1.1786 (+17.9%). phase1과 동일 수준을 더 안전한 config로 회복 — 체이닝이 만든 regression을 진단·복구한 것. +
    + 방향이 표면마다 반대. phase1은 LP/cuts를 추가해 이득. phase2는 presolve overhead를 제거해 이득. 이 sample에선 presolve 작업의 비용 > 이득. "무엇을 켤까"만큼 "무엇을 끌까"가 중요 — LLM이 양방향 모두 탐색.
    -
    7.4 Phase2 돌파
    24 / 35
    +
    7.3 Phase2 통찰
    24 / 35
    - +
    -
    7.5 Phase2 실패

    돌파 전후의 실패들

    +
    7.4 score 분해

    efficiency 희생, speed 취득

    -

    좁은 변형 공간에서 한 발만 잘못 디뎌도 OPTIMAL→UNKNOWN. 돌파 이후에도 다른 가지에서 같은 종류의 regression이 반복.

    +

    winner는 efficiency가 나빠졌는데도(1.09 → 0.91) 점수는 올랐다. branch/conflict는 늘었지만 dtime이 크게 줄었기 때문:

    -
    iter 25, 32: combined_score=0.0000
    -             error="result regression on dd4063e9bc: baseline=OPTIMAL got=UNKNOWN"
    -LLM 생성 timeout: iter 5,10,12,18,19,22,30,35  (claude_code 3-retry 후 skip)
    +
    combined_score = geomean_speedup × efficiency^STATS_WEIGHT × solved_rate²
    +              ≈   1.5172        × 0.9119^0.333        × 1.0²
    +              ≈   1.5172        × 0.969                       ≈ 1.4713
    -
    - 왜 0점이 자꾸 나오나. presolve/probing 표면은 이미 잘 도는 baseline 위라 변형 여지가 좁다. 그래도 MAP-Elites + island가 0점 가지를 버리고, artifact의 result_mismatch가 LLM을 안전 영역으로 끌어와 iter 23 돌파를 가능케 했다. +
    + 트레이드오프를 점수로 학습. geomean_speedup 이득(+51.7%)이 efficiency 손해(−9%)를 압도. score 식이 "덜 효율적이어도 더 빠르면 보상" 구조라, LLM은 presolve를 줄여 일을 더 시키는 대신(branch↑) 벽시계를 단축하는 변형을 자율 선택. (wall_speedup도 1.62→1.88로 동반 상승)
    -
    7.5 Phase2 실패
    25 / 35
    +
    7.4 score 분해
    25 / 35
    - +
    -
    7.6 Phase3

    lp / cuts (W=8) — 평탄한 표면

    +
    7.5 Phase3

    lp / cuts (W=8) — +11.5% 추가

    -

    Phase3는 phase1+2 winner를 상속하고 8-worker로 LP/cuts 표면을 튠. 시작부터 이미 baseline 수준 (상속 config가 강함).

    +

    Phase3는 phase1+2 winner를 상속하고 8-worker로 LP/cuts 표면을 튠. 이미 강한 상속 config 위에서도 추가 이득.

    -
    initial c2e091f9: combined_score=0.9930  geomean_speedup=0.9930  (solved 10/10, W=8)
    -winner  620d4019: combined_score=1.0225  geomean_speedup=0.9778  efficiency=1.1437
    -         🌟 new best @ iter 3, 27
    +
    initial 3961c65d: combined_score=1.0095  geomean_speedup=1.0073  solved 19/19 (stage1)
    +best @ iter 26  : combined_score=1.1470  geomean_speedup=1.1146  efficiency=1.0900
    +         🌟 new best @ iter 11 → 17 → 26  (solved 53/53, stage4)
    -

    winner config (요약):

    -
    GLOBAL: max_num_cuts=6000, root_lp_iterations=3500, symmetry_level=3,
    -        interleave_search=True, share_glue_clauses=True, solution_pool_size=8
    -SIZE_BUCKETS[small]: probing3 + linearization2 + cut_level2
    -SIZE_BUCKETS[large]: root_lp_iterations=5000 + MIR/zero-half cuts
    +

    iter 26 config (요약):

    +
    GLOBAL: max_num_cuts=3000, cut_level=1, add_objective_cut=True, root_lp_iterations=3000,
    +        mip_max_bound=1e7 (+ mip_var_scaling / check_precision / drop_tolerance)
    +STAGE3_OVERRIDES: use_feasibility_jump=True
    - 관찰. 8개 워커 portfolio에 무거운 LP/cuts를 더해도 geomean_speedup=0.9778 — dtime은 오히려 2.2% 느려짐. + 관찰. 8-worker portfolio 위에서도 deterministic_time 11.5% 추가 단축. (이 run은 iter 27에서 중단 — best 추출 전 best-so-far 기준)
    -
    7.6 Phase3
    26 / 35
    +
    7.5 Phase3
    26 / 35
    - +
    -
    7.7 Phase3 해석

    score > 1 인데 왜 dtime은 느린가

    +
    7.6 Phase3 안전장치

    "빠르지만 틀린" 변형을 artifact로 거부

    -

    winner의 combined_score 1.0225는 speedup가 아니라 efficiency factor가 끌어올린 값:

    - -
    combined_score = geomean_speedup × efficiency^STATS_WEIGHT × solved_rate²
    -              ≈   0.9778        × 1.1437^0.333
    -              ≈   0.9778        × 1.046              ≈ 1.0225
    - -

    즉 dtime(0.978)은 baseline보다 느린데, branch/conflict가 줄어든 efficiency(1.14)가 점수를 1 위로 들어올린 것.

    - -
    - 한계 효용(diminishing returns). 쉬운 이득은 phase1/2가 이미 가져갔다. LP/cuts 표면은 이 시점에 거의 평탄 — 점수 1.02는 "실질 속도 개선"이 아니다. score 숫자를 해석할 때 어떤 항이 들어올렸는지 봐야 함. +

    iter 27에서 LLM이 num_violation_ls=1을 시도. dtime이 극적으로 줄지만 결과가 틀린다 — thinking 로그:

    +
    + "num_violation_ls=1 변형이 deterministic time을 14.3 → 7.66초로 극적으로 낮추지만 OPTIMAL 대신 UNKNOWN을 반환 — red flag. solver가 해를 찾기 전에 조기 종료. 너무 공격적이다. baseline으로 되돌리고 검증된 add_objective_cut: True를 유지한다."
    -

    artifact 피드백 + 분해 가능한 score = 점수만 봤을 때 놓칠 인과를 드러냄.

    +
    + 핵심. 점수(dtime)만 봤다면 "2배 빠른" 이 변형을 채택했을 것. 하지만 artifact의 OPTIMAL→UNKNOWN 신호로 LLM이 스스로 거부하고 안전한 config로 회귀. 속도와 정확성의 트레이드오프를 인과적으로 판단 — 점수만으로는 불가능한 디버깅. +
    -
    7.7 Phase3 해석
    27 / 35
    +
    7.6 Phase3 안전장치
    27 / 35
    -
    7.8 종합

    3-Phase가 보여준 동작 양상

    +
    7.7 종합

    3-Phase가 보여준 동작 양상

    - + - - - + + +
    Phase표면 / Winitialwinnergeomean_speedup양상
    Phase표면 / Winitialwinnergeomean_speedup (dtime)양상
    1search/subsolvers · W10.71231.45821.1786 (+17.9%)탐색 — 큰 도약
    2presolve/probing · W10.00001.45821.1786진단·복구 — root-cause fix
    3lp/cuts · W80.99301.02250.9778 (−2.2%)평탄 — 한계 효용
    1search/subsolvers · W10.91171.30861.2851 (+28.5%)LP·cuts 추가, regression↓
    2presolve/probing · W11.32881.47131.5172 (+51.7%)presolve 덜어내기
    3lp/cuts · W81.00951.1470*1.1146 (+11.5%)추가 cut 미세 이득
    +

    *phase3는 iter 27 중단 시점 best-so-far. phase1/2는 직전 phase best 위에서 측정.

    -
    +
      -
    1. 체이닝은 이득과 regression을 함께 전달. phase2 시작 0점은 phase1이 켠 휴리스틱 탓 — artifact가 LLM의 root-cause 진단을 가능케 함.
    2. -
    3. score 식 해석 주의. phase3는 dtime<1인데 efficiency factor가 score를 1 위로 들어올림.
    4. -
    5. 모든 phase가 이득을 내진 않는다. phase3는 평탄 — cascade가 "어디서 멈출지"를 보여줌.
    6. +
    7. 체이닝은 이득을 누적. 각 phase가 직전 best 위에서 추가로 짜냄 — phase1 LP/cuts → phase2 presolve → phase3 cut 미세조정.
    8. +
    9. 최적 방향이 표면마다 다르다. phase1은 LP/cuts를 추가, phase2는 presolve를 제거해 이득. LLM이 양방향 모두 탐색.
    10. +
    11. artifact가 안전을 보장. "빠르지만 UNKNOWN"인 변형을 점수가 아닌 결과 신호로 거부 (phase3 num_violation_ls).
    -
    7.8 종합
    28 / 35
    +
    7.7 종합
    28 / 35
    From b9e60ef61882a334c8b17e3537a4025ce9a082b7 Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 1 Jun 2026 09:54:20 +0900 Subject: [PATCH 38/42] [fix] extract final solutions --- input/cpsat-bench/evolve/final_program.py | 305 ++++++++++++++++++ input/cpsat-bench/evolve/materialize_final.py | 224 +++++++++++++ .../evolve/phase4_unified/initial_program.py | 125 ++++--- 3 files changed, 607 insertions(+), 47 deletions(-) create mode 100644 input/cpsat-bench/evolve/final_program.py create mode 100644 input/cpsat-bench/evolve/materialize_final.py diff --git a/input/cpsat-bench/evolve/final_program.py b/input/cpsat-bench/evolve/final_program.py new file mode 100644 index 0000000000..166843014e --- /dev/null +++ b/input/cpsat-bench/evolve/final_program.py @@ -0,0 +1,305 @@ +""" +AUTO-GENERATED by materialize_final.py — DO NOT EDIT BY HAND. + +Self-contained final CP-SAT parameter program. Bakes every inherited dict +from phase1..4 plus phase5 custom subsolvers. No JSON loads, no relative +imports — drop-in for final_verify.py / benchmark_final.py. + +Source phase5 best_program: + phase5_custom_subsolvers/openevolve_output/best/best_program.py +""" + +BASELINE = {'interleave_search': True, 'num_search_workers': 1, 'random_seed': 0} + +# Inherited from shared/phase4_best.json (union of phase1+2+3 winners + phase4 +# unified pass). +GLOBAL_OVERRIDES = {'add_clique_cuts': True, + 'add_mir_cuts': True, + 'add_objective_cut': True, + 'add_zero_half_cuts': True, + 'clause_cleanup_lbd_bound': 6, + 'clause_cleanup_ordering': 1, + 'clause_cleanup_period': 20000, + 'clause_cleanup_target': 80000, + 'cp_model_probing_level': 2, + 'cut_level': 1, + 'exploit_best_solution': True, + 'exploit_relaxation_solution': True, + 'interleave_search': True, + 'linearization_level': 1, + 'max_num_cuts': 4000, + 'merge_at_most_one_work_limit': 500000000, + 'mip_check_precision': 1e-06, + 'mip_drop_tolerance': 1e-07, + 'mip_max_bound': 10000000.0, + 'mip_var_scaling': 1, + 'new_constraints_batch_size': 100, + 'presolve_inclusion_work_limit': 500000000, + 'presolve_use_bva': True, + 'probing_num_combinations_limit': 50000, + 'root_lp_iterations': 2500, + 'share_glue_clauses': True, + 'share_glue_clauses_dtime': 0.25, + 'solution_pool_size': 5, + 'symmetry_level': 2} + +# Inherited from shared/phase4_buckets.json. Selected by num_constraints +# (first bucket whose upper > num_constraints wins). +SIZE_BUCKETS = [ + (50000, {'cp_model_probing_level': 3, + 'cut_level': 0, + 'interleave_search': False, + 'linearization_level': 0, + 'max_num_cuts': 0, + 'merge_at_most_one_work_limit': 1000000, + 'presolve_inclusion_work_limit': 50000000, + 'presolve_use_bva': True, + 'probing_num_combinations_limit': 10000, + 'search_branching': 0, + 'symmetry_level': 3}), + (150000, {'add_clique_cuts': False, + 'add_mir_cuts': True, + 'add_zero_half_cuts': False, + 'cp_model_probing_level': 2, + 'cut_cleanup_target': 2500, + 'cut_level': 1, + 'exploit_best_solution': True, + 'exploit_relaxation_solution': True, + 'linearization_level': 1, + 'max_num_cuts': 6000, + 'root_lp_iterations': 3500, + 'search_branching': 0, + 'use_strong_propagation_in_disjunctive': True}), + (float('inf'), {'cut_cleanup_target': 2000, + 'cut_level': 0, + 'exploit_all_precedences': True, + 'ignore_subsolvers': ['max_lp'], + 'linearization_level': 0, + 'max_num_cuts': 1500, + 'root_lp_iterations': 4000, + 'search_branching': 0, + 'use_strong_propagation_in_disjunctive': True}), +] + +# Inherited from shared/phase4_stage3.json. Applied only when +# stage == "stage3" and problem.is_outlier. NOTE: the current evaluator +# never passes stage="stage3" (small profile cascades stage1->stage2; large +# profile passes stage="large"), so this dict is dead code in practice. +STAGE3_OVERRIDES = {'clause_cleanup_lbd_bound': 8, + 'clause_cleanup_ordering': 1, + 'clause_cleanup_period': 25000, + 'clause_cleanup_target': 200000, + 'cp_model_probing_level': 3, + 'cut_active_count_decay': 0.9, + 'cut_level': 1, + 'diversify_lns_params': True, + 'exploit_all_precedences': True, + 'exploit_relaxation_solution': True, + 'extra_subsolvers': ['core', + 'quick_restart', + 'reduced_costs', + 'lb_tree_search', + 'feasibility_jump'], + 'inprocessing_dtime_ratio': 0.47, + 'inprocessing_minimization_dtime': 2.3, + 'inprocessing_probing_dtime': 2.3, + 'linearization_level': 1, + 'max_cut_rounds_at_level_zero': 3, + 'max_num_cuts': 6000, + 'merge_at_most_one_work_limit': 1000000000, + 'merge_no_overlap_work_limit': 2000000000000.0, + 'num_violation_ls': 3, + 'polish_lp_solution': True, + 'presolve_inclusion_work_limit': 1000000000, + 'probing_num_combinations_limit': 120000, + 'repair_hint': True, + 'root_lp_iterations': 10000, + 'solution_pool_size': 8, + 'symmetry_level': 3, + 'use_feasibility_jump': True, + 'use_feasibility_pump': True, + 'use_strong_propagation_in_disjunctive': True} + +# Phase5 custom subsolvers (always-on, gated by needs_objective / +# min_constraints / max_constraints). +CUSTOM_SUBSOLVERS = [{'name': 'lb_tree_strong', + 'needs_objective': True, + 'params': {'linearization_level': 2, + 'optimize_with_lb_tree_search': True, + 'root_lp_iterations': 4000, + 'save_lp_basis_in_lb_tree_search': True}}] + +# Phase5 stage3-only extra custom subsolvers (same dead-code caveat as +# STAGE3_OVERRIDES). +STAGE3_CUSTOM_SUBSOLVERS = [{'max_constraints': 50000, + 'name': 'pseudo_cost_small', + 'params': {'pseudo_cost_reliability_threshold': 50, 'search_branching': 4, 'symmetry_level': 3}}, + {'min_constraints': 150000, + 'name': 'lp_exploit_large', + 'params': {'add_mir_cuts': True, + 'add_rlt_cuts': True, + 'exploit_relaxation_solution': True, + 'linearization_level': 2, + 'max_num_cuts': 20000, + 'polish_lp_solution': True}}] + +# SHAs whose original model has an objective. Used by needs_objective gating +# so an objective-requiring subsolver is not added to a feasibility-only +# model (which would make CP-SAT drop most of the portfolio). +OBJECTIVE_SHAS = frozenset(['00a438e9a02d3895ebcf5e1eea77b3c1fba28d76ca73723c7befe71f327aae82', + '00d6004a1249fd1379ebc735c77d151f084727ad328b69df623d4a7b4d63f5f6', + '0114ccef241fb15dac55b5044076da48fb0aae94ced62fb800c6cb80fdb4bece', + '01a1d9063de56c5adc87428afe7ffefcf1deb58cbf1d7e5cecf8362cbd571396', + '03012de510cde9db5046196d7b447fa299e3cfd3ba2cb2c12404376edc1f241a', + '06b08825173bc966570e184979982304ea8d33a41ce5d64b8c62eaac29c7cd1e', + '079937773cba535777985106b2d07c563265fb815d36abdf852940f4585fcf5b', + '0b1eb462e501c127119ebaed5477068246bb55d5ff64a25323863488d0b780c3', + '0b67bf459c1faa274487feb34ff95759660b3032c8a8e8a27b6212252c1b0728', + '10211eedd813db0025927acaefc67fd413b2d8c2fb60009f35bb49cfc57584e7', + '1371ca0e9b6120f558b2f5e1b9c3f335092dda51b0754c072c5033e3f25cc3d5', + '1509ac1acb85d66d0da78b5490196654e1f8b82a4cabf3f550511bcb6681d1ca', + '1b486cb1a9038477ba0dc44f568c384b38b7f66c62d1d0e27feada15ee63acc6', + '2107376b09925740dc3a50075ebd92ba4853e79a17d659fb67a1785646a3121f', + '27132094730caf2088c28c764b2146f0bfeceb874b7efa9b456a1ee06c4c3ff9', + '2981bd841805c451cc2932b097f423d5e2dcce99d4c3f5c63eb3eda1fb515539', + '2e958d4f0beadd78d7dff9e9d9f386d3a0f00860ff2703e69b11975d544e3757', + '2fa57a166e49216765ff3e9df3a99e51c9a6eb307be9bab396ea75f82f17fabf', + '2fe6606b7880e2c63079285e403124a757f7a54ff8ff326e19ee50d5ccba716a', + '3a0d61445e568f2995e6d3e7330d339f92d94e14d5ee89b2abf2ed96e86a3c70', + '3bc12c2cf7bd6010001c8a460cc0184aed048ae950e55078fd9428a3b8d1fc95', + '41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09', + '45edc06cca416c89589b5bbf4dd6e3beca7b1fd3f3ceb4d58e0fa4af5fea29e2', + '4b47d1f4093903ddae684d0c12f44befa58c593196420a6eb9aed30add89ba31', + '4bf5333887900fa3b5ff5811f12d1f5c9c0bb0574018566d4538a620dad14e3b', + '59703dbe66412fd1ab21a7c83351814914d6a3dbbedfe41041b8faf435dd4011', + '5f996769b676f0b952adf679945d3e9b66e463dfccc488f12f6eb14b863657a3', + '68047eeb3643ffa54ee8e6b29d0ca3135b12f9e0f2e30d4b325f2a5a6509bfd5', + '6afa1f30ddaf73d8dfed7146c9365683a3a702aee80c07ab24b35a83bbf815a4', + '6c96fe64d8a7e248bb211262d15a9e02c33afd67841b876ec22da92430ea1d4a', + '6dc3e7cdbc74f23ff22a0eecbde5e1ed26d05cf56459a1ae169419068718c3c4', + '6e93a1a5f114fdfc007b30330e24aa1325660433aaa0794f76ef4848de4580d5', + '724e539c591651e646f2e89f9000b6a040742aa2d989582166ac52e3e7b4a6e0', + '76e68a1cce648c8d73748c810c88f2507f97759063e97d60bdeba8b7450c75d4', + '80d93f459a3aba9b087940fc2f7fbb31d50402f34005177a89face29ebb3adb8', + '835ae7284c43b2522947ad7ad0b1f26429793b7fff94b7a612ea3a1dc548df57', + '83b70413e9333ce9f4929c450b14e28d2b6e4ec28401d68b4b7d59c76c82d8ee', + '865f1171e901d275edb5a10c40d9288ec08619127220e643e36ae1ebee2903b2', + '86b1bf9b38f98be62d7509c448ea0dfd7197af45620ba4b50960bf15254309bf', + '8897295c1a1d2153b3e64712ad6cf8fef4812ff8f7419cf217ba26f03e246f24', + '8d20d7075f0bbe969941be96f336c7f87d3f16fbdb80ed42d6c64c0ff25da1ad', + '8da21152ae4db83b1c03c6d8f8c508ef8b8aa00294095638c498f2bef8daa862', + '9184e368c0e97d4bc93704357120e76ef97fe5f9a0e72f3c148784d450c7723e', + '924038c95c7634a971a91a5ad72819fc2977c87790d06360e0ec5b38be4a219e', + '986e408097d63dbe93210883d12efbd11c7ebfd37fec6e3462bb8a72dd4ade05', + '98c32f98b1912de97866905f8af956745db6c16dde00e157b0d4e45577755233', + '9aba10c5fadecdd17c301a45ddbcef5534a25c861b0a0a9b4943331de602ad8e', + '9b58888c473818a77ecb1aaf2c1032bc87b909c80f837100403b5a83a75cbc87', + '9eda5addedbb8f1c5a6ea9bd5fe469814755a8ecdebb998f9c2598bc4e2308c7', + 'a01db04d1c0cefeec5fe077d42d9b84d55e54bf00cc689787f11200b6f817d36', + 'a0a55fdea86a6868a302e54eadbfe25574d413fdc83eb469675ed9df3568a1db', + 'a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a', + 'a65ee543b1402a4a356d6b8f8fd45088fd2f68fbbe970c160248bca9cb481181', + 'b37ba1c4e6c4fd6e50b67a7d1cba5d5c41b1c9837b2f020d6174c1459665a756', + 'b5e191a84337537481ab49001854e27b03a9ccded205fe88b9150bfa45529915', + 'b7fa34442c7e8f082f59d288a2714129f51f43774aa2e658712e5da54cfe8635', + 'b848342049b15eda055c33e85c1eb5b7dd0470cdddc487c913c4f4edb41c1177', + 'b87e2b0d6dcc9cc59a03ed6cede32988b1f7db99692b635f75e32f763776d979', + 'ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111', + 'bd199a3871502160bd893d35533b1c4526edf27d6ed9d60ab786ed7aded632ec', + 'be13cfc10b1e19807faf591c4d8070d5a8e843abc31efe3c38fd508fda6b56a6', + 'c0c9ef6c22ed1654a88a14f6196e5e6f4540bcf3faa203510aaeeeeb7431a1bc', + 'c3fc601be3277e3d77c7d55dbe0f58cfc37e877c76121c066e353be4cf3f9f65', + 'c7f14795eb4a64323fdf24caec0e981f42cf07ab79ecaa858de35afe90adb53b', + 'cb16513bfbe2809b67cf939736abc19e5d403dcabadcae9b3aae756b2f6b1e29', + 'cbc04bca5112cb9362f9db9bb007b46376c1488fed34d7b18df67290b22fc099', + 'd1963519912cbd33d8d63cf99f6bcd2e64aad8b89e4a0334bed64a35e3d93360', + 'd2736553fba0f9ea5c93118c1e35641595afe997e883759b1ada665c9859deb6', + 'd381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a', + 'd43568fb51736eb3ba5d256ed2aa63198910e645a62dbc336dbdee29a98d1df0', + 'd519e83718e688a924bdbc74e37419567b29b2fad0995ec7bbdd857926592fef', + 'da79ad0e3d13908a25c0a97e051b6e6bcc675cdb0311c8a8699a76a6eba6a056', + 'db2bfd25d3ddd29864d7c63649b740c31f3a212ecd5c39951b7db2cf2daaf71e', + 'dd4063e9bca83aceee4a80f854ea7955dce420f547cfb34cec970cdb88755053', + 'e2f7812832351c2fe6745cd57d8cf525ea0afde5e0ae3b84c74a7dbc2d59779c', + 'e4cbb10b880925006b58b8a9c14a80444228f8939ef41242f9a011c6538e16ad', + 'e81927a0d98c976258a99ea66dd94ce946c76779650be126de769c6ad4a9e15c', + 'e8318822b535ba3dc52423e86eaa33c82b3f68e5a91241746f8ff3fa0dd8a53f', + 'f1973192d144d907a3890ee014f52cb62047655870311695ad526ee60808e8e2', + 'f28d9607dae499e9f824abf7851621947030db7dd2223dd4057f9beb407fade1', + 'fe9cad7ebe07a2af022824a9236ea6e13d00ce8de4b91efb3b17286fc456823e', + 'ffb5ffbbf9774b8bec1dc190efdafb362fde347b8ad03b8a5c27ba1b09d5b562']) + +# Phase5 final lock. Enforced last so nothing above can override it. +PHASE_LOCKED = { + "random_seed": 0, + "num_search_workers": 8, + "interleave_search": True, +} + + +def _problem_has_objective(problem): + if problem is None: + return True + sha = problem.get("sha") + if sha is None: + return problem.get("baseline_objective") is not None + return sha in OBJECTIVE_SHAS + + +def _eligible(spec, problem): + if spec.get("needs_objective") and not _problem_has_objective(problem): + return False + nc = int(problem.get("num_constraints") or 0) if problem else 0 + lo = spec.get("min_constraints") + if lo is not None and nc < lo: + return False + hi = spec.get("max_constraints") + if hi is not None and nc >= hi: + return False + return True + + +def _bucket_override(num_constraints): + out = {} + for upper, override in SIZE_BUCKETS: + if num_constraints < upper: + out.update(override) + break + return out + + +def _collect_specs(problem, stage): + specs = [s for s in CUSTOM_SUBSOLVERS if _eligible(s, problem)] + if stage == "stage3" and problem is not None and problem.get("is_outlier"): + specs += [s for s in STAGE3_CUSTOM_SUBSOLVERS if _eligible(s, problem)] + return specs + + +def _apply_custom_subsolvers(p, specs): + if not specs: + return + sub_entries = [] + new_names = [] + for spec in specs: + entry = {"name": spec["name"]} + entry.update(spec.get("params") or {}) + sub_entries.append(entry) + new_names.append(spec["name"]) + p["subsolver_params"] = sub_entries + existing = list(p.get("extra_subsolvers") or []) + for name in new_names: + if name not in existing: + existing.append(name) + p["extra_subsolvers"] = existing + + +def get_params(problem=None, stage=None): + p = dict(BASELINE) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(STAGE3_OVERRIDES) + _apply_custom_subsolvers(p, _collect_specs(problem, stage)) + p.update(PHASE_LOCKED) + return p diff --git a/input/cpsat-bench/evolve/materialize_final.py b/input/cpsat-bench/evolve/materialize_final.py new file mode 100644 index 0000000000..9a8a07ca60 --- /dev/null +++ b/input/cpsat-bench/evolve/materialize_final.py @@ -0,0 +1,224 @@ +""" +Materialize a standalone final_program.py from the phase5 winner plus all +inherited prior-phase winners. + +Inputs: + shared/baseline_params.py BASELINE dict + shared/phase4_best.json inherited GLOBAL_OVERRIDES (1+2+3 unified) + shared/phase4_buckets.json inherited SIZE_BUCKETS + shared/phase4_stage3.json inherited STAGE3_OVERRIDES + shared/has_objective_cache.json SHA set used by needs_objective gating + phase5_custom_subsolvers/openevolve_output/best/best_program.py + CUSTOM_SUBSOLVERS, STAGE3_CUSTOM_SUBSOLVERS (Python literals only) + +Output: + final_program.py — self-contained: no JSON loads, no relative imports. + Exposes BASELINE/GLOBAL_OVERRIDES/SIZE_BUCKETS/ + STAGE3_OVERRIDES/CUSTOM_SUBSOLVERS/ + STAGE3_CUSTOM_SUBSOLVERS/PHASE_LOCKED constants and + get_params(problem=None, stage=None) using the exact + phase5 merge logic. + +Usage: + python materialize_final.py [--output PATH] [--phase5-best PATH] +""" +import argparse +import importlib.util +import json +import pathlib +import pprint +import sys +import textwrap + +_HERE = pathlib.Path(__file__).resolve().parent +_SHARED = _HERE / "shared" +_PHASE5_BEST = _HERE / "phase5_custom_subsolvers/openevolve_output/best/best_program.py" +_DEFAULT_OUT = _HERE / "final_program.py" + + +def _load_phase5_specs(phase5_path): + """Import phase5 best_program just to read CUSTOM_SUBSOLVERS and + STAGE3_CUSTOM_SUBSOLVERS. Those are static literals so the snapshot's + broken _SHARED relative path does not matter — the JSON loads that fail + inside the module only affect _PHASE4 / _PHASE4_BUCKETS / _PHASE4_STAGE3, + which we re-read directly from shared/ here.""" + spec = importlib.util.spec_from_file_location("phase5_best", phase5_path) + module = importlib.util.module_from_spec(spec) + sys.path.insert(0, str(_SHARED)) + spec.loader.exec_module(module) + return module.CUSTOM_SUBSOLVERS, module.STAGE3_CUSTOM_SUBSOLVERS + + +def _format_buckets(buckets): + lines = ["["] + for upper, override in buckets: + upper_src = "float('inf')" if upper is None else repr(upper) + ov_src = pprint.pformat(override, width=100, sort_dicts=True) + lines.append(f" ({upper_src}, {ov_src}),") + lines.append("]") + return "\n".join(lines) + + +_TEMPLATE = '''\ +""" +AUTO-GENERATED by materialize_final.py — DO NOT EDIT BY HAND. + +Self-contained final CP-SAT parameter program. Bakes every inherited dict +from phase1..4 plus phase5 custom subsolvers. No JSON loads, no relative +imports — drop-in for final_verify.py / benchmark_final.py. + +Source phase5 best_program: + {phase5_rel} +""" + +BASELINE = {baseline} + +# Inherited from shared/phase4_best.json (union of phase1+2+3 winners + phase4 +# unified pass). +GLOBAL_OVERRIDES = {global_overrides} + +# Inherited from shared/phase4_buckets.json. Selected by num_constraints +# (first bucket whose upper > num_constraints wins). +SIZE_BUCKETS = {size_buckets} + +# Inherited from shared/phase4_stage3.json. Applied only when +# stage == "stage3" and problem.is_outlier. NOTE: the current evaluator +# never passes stage="stage3" (small profile cascades stage1->stage2; large +# profile passes stage="large"), so this dict is dead code in practice. +STAGE3_OVERRIDES = {stage3_overrides} + +# Phase5 custom subsolvers (always-on, gated by needs_objective / +# min_constraints / max_constraints). +CUSTOM_SUBSOLVERS = {custom_subsolvers} + +# Phase5 stage3-only extra custom subsolvers (same dead-code caveat as +# STAGE3_OVERRIDES). +STAGE3_CUSTOM_SUBSOLVERS = {stage3_custom_subsolvers} + +# SHAs whose original model has an objective. Used by needs_objective gating +# so an objective-requiring subsolver is not added to a feasibility-only +# model (which would make CP-SAT drop most of the portfolio). +OBJECTIVE_SHAS = frozenset({objective_shas}) + +# Phase5 final lock. Enforced last so nothing above can override it. +PHASE_LOCKED = {{ + "random_seed": 0, + "num_search_workers": 8, + "interleave_search": True, +}} + + +def _problem_has_objective(problem): + if problem is None: + return True + sha = problem.get("sha") + if sha is None: + return problem.get("baseline_objective") is not None + return sha in OBJECTIVE_SHAS + + +def _eligible(spec, problem): + if spec.get("needs_objective") and not _problem_has_objective(problem): + return False + nc = int(problem.get("num_constraints") or 0) if problem else 0 + lo = spec.get("min_constraints") + if lo is not None and nc < lo: + return False + hi = spec.get("max_constraints") + if hi is not None and nc >= hi: + return False + return True + + +def _bucket_override(num_constraints): + out = {{}} + for upper, override in SIZE_BUCKETS: + if num_constraints < upper: + out.update(override) + break + return out + + +def _collect_specs(problem, stage): + specs = [s for s in CUSTOM_SUBSOLVERS if _eligible(s, problem)] + if stage == "stage3" and problem is not None and problem.get("is_outlier"): + specs += [s for s in STAGE3_CUSTOM_SUBSOLVERS if _eligible(s, problem)] + return specs + + +def _apply_custom_subsolvers(p, specs): + if not specs: + return + sub_entries = [] + new_names = [] + for spec in specs: + entry = {{"name": spec["name"]}} + entry.update(spec.get("params") or {{}}) + sub_entries.append(entry) + new_names.append(spec["name"]) + p["subsolver_params"] = sub_entries + existing = list(p.get("extra_subsolvers") or []) + for name in new_names: + if name not in existing: + existing.append(name) + p["extra_subsolvers"] = existing + + +def get_params(problem=None, stage=None): + p = dict(BASELINE) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(STAGE3_OVERRIDES) + _apply_custom_subsolvers(p, _collect_specs(problem, stage)) + p.update(PHASE_LOCKED) + return p +''' + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("--output", default=str(_DEFAULT_OUT), + help=f"output path (default: {_DEFAULT_OUT.relative_to(_HERE)})") + ap.add_argument("--phase5-best", default=str(_PHASE5_BEST), + help="phase5 best_program.py path") + args = ap.parse_args() + + sys.path.insert(0, str(_SHARED)) + from baseline_params import BASELINE # noqa: E402 + + phase4_best = json.loads((_SHARED / "phase4_best.json").read_text()) + phase4_buckets_raw = json.loads((_SHARED / "phase4_buckets.json").read_text()) + phase4_buckets = [(None if u is None else u, ov) for u, ov in phase4_buckets_raw] + phase4_stage3 = json.loads((_SHARED / "phase4_stage3.json").read_text()) + + obj_cache_path = _SHARED / "has_objective_cache.json" + objective_shas = set(json.loads(obj_cache_path.read_text()).get("with_objective") or []) + + custom_subsolvers, stage3_custom_subsolvers = _load_phase5_specs( + pathlib.Path(args.phase5_best) + ) + + rendered = _TEMPLATE.format( + phase5_rel=pathlib.Path(args.phase5_best).resolve().relative_to(_HERE), + baseline=pprint.pformat(dict(BASELINE), width=100, sort_dicts=True), + global_overrides=pprint.pformat(phase4_best, width=100, sort_dicts=True), + size_buckets=_format_buckets(phase4_buckets), + stage3_overrides=pprint.pformat(phase4_stage3, width=100, sort_dicts=True), + custom_subsolvers=pprint.pformat(custom_subsolvers, width=100, sort_dicts=True), + stage3_custom_subsolvers=pprint.pformat(stage3_custom_subsolvers, width=100, sort_dicts=True), + objective_shas=pprint.pformat(sorted(objective_shas), width=100), + ) + + out = pathlib.Path(args.output) + out.write_text(rendered) + print(f"wrote {out.relative_to(_HERE)} " + f"({len(BASELINE)} baseline + {len(phase4_best)} global + " + f"{len(phase4_buckets)} buckets + {len(phase4_stage3)} stage3 + " + f"{len(custom_subsolvers)} custom subsolvers + " + f"{len(stage3_custom_subsolvers)} stage3 custom subsolvers)") + + +if __name__ == "__main__": + main() diff --git a/input/cpsat-bench/evolve/phase4_unified/initial_program.py b/input/cpsat-bench/evolve/phase4_unified/initial_program.py index 17708d4ae1..eb1a90c693 100644 --- a/input/cpsat-bench/evolve/phase4_unified/initial_program.py +++ b/input/cpsat-bench/evolve/phase4_unified/initial_program.py @@ -36,65 +36,96 @@ # EVOLVE-BLOCK-START # Auto-generated by prepare_phase_unified.py from union of prior phase winners. -GLOBAL_OVERRIDES = {'clause_cleanup_period': 20000, - 'cp_model_probing_level': 2, - 'cut_cleanup_target': 2000, +GLOBAL_OVERRIDES = {'add_clique_cuts': True, + 'add_mir_cuts': True, + 'add_objective_cut': True, + 'add_zero_half_cuts': True, + 'clause_cleanup_lbd_bound': 6, + 'clause_cleanup_ordering': 1, + 'clause_cleanup_period': 15000, + 'clause_cleanup_target': 50000, + 'cp_model_probing_level': 1, 'cut_level': 1, - 'diversify_lns_params': True, + 'exploit_best_solution': True, 'interleave_search': True, - 'max_consecutive_inactive_count': 150, - 'max_num_cuts': 6000, + 'linearization_level': 1, + 'max_num_cuts': 3000, + 'merge_at_most_one_work_limit': 500000000, 'mip_check_precision': 1e-06, 'mip_drop_tolerance': 1e-07, 'mip_max_bound': 10000000.0, 'mip_var_scaling': 1, + 'new_constraints_batch_size': 100, + 'presolve_inclusion_work_limit': 500000000, + 'presolve_use_bva': False, 'probing_num_combinations_limit': 40000, - 'root_lp_iterations': 3500, + 'root_lp_iterations': 2500, 'share_glue_clauses': True, - 'share_glue_clauses_dtime': 0.4, - 'solution_pool_size': 8, - 'stop_after_first_solution': False, - 'symmetry_level': 3, - 'use_feasibility_jump': False, - 'use_feasibility_pump': False, - 'use_lns_only': False} + 'share_glue_clauses_dtime': 0.5, + 'symmetry_level': 1} SIZE_BUCKETS = [ - (50000, {'add_mir_cuts': True, - 'add_zero_half_cuts': True, - 'cp_model_probing_level': 3, - 'cut_level': 2, - 'linearization_level': 2, - 'max_num_cuts': 8000, - 'merge_at_most_one_work_limit': 500000000.0, - 'presolve_inclusion_work_limit': 300000000, - 'use_feasibility_jump': False, - 'use_feasibility_pump': True}), - (150000, {'cp_model_probing_level': 2, 'cut_level': 1, 'use_feasibility_jump': False}), - (float('inf'), {'add_mir_cuts': True, - 'add_zero_half_cuts': True, - 'cp_model_probing_level': 1, - 'cut_level': 2, - 'linearization_level': 2, - 'max_num_cuts': 8000, - 'root_lp_iterations': 5000, - 'use_feasibility_jump': True, - 'use_feasibility_pump': True}), + (50000, {'cp_model_probing_level': 3, + 'cut_level': 0, + 'interleave_search': False, + 'linearization_level': 1, + 'max_num_cuts': 0, + 'merge_at_most_one_work_limit': 1000000, + 'presolve_inclusion_work_limit': 50000000, + 'presolve_use_bva': False, + 'probing_num_combinations_limit': 5000, + 'root_lp_iterations': 500, + 'search_branching': 0, + 'symmetry_level': 2}), + (150000, {'add_clique_cuts': False, + 'add_mir_cuts': True, + 'add_zero_half_cuts': False, + 'cp_model_probing_level': 2, + 'cut_cleanup_target': 1500, + 'cut_level': 1, + 'exploit_relaxation_solution': True, + 'linearization_level': 1, + 'max_num_cuts': 4000, + 'root_lp_iterations': 3000, + 'search_branching': 0, + 'use_strong_propagation_in_disjunctive': True}), + (float('inf'), {'cut_cleanup_target': 2000, + 'cut_level': 0, + 'exploit_all_precedences': True, + 'ignore_subsolvers': ['max_lp'], + 'linearization_level': 0, + 'max_num_cuts': 1500, + 'root_lp_iterations': 4000, + 'search_branching': 0, + 'use_strong_propagation_in_disjunctive': True}), ] -STAGE3_OVERRIDES = {'add_mir_cuts': True, - 'add_zero_half_cuts': True, +STAGE3_OVERRIDES = {'clause_cleanup_lbd_bound': 8, + 'clause_cleanup_ordering': 1, + 'clause_cleanup_period': 22000, + 'clause_cleanup_target': 150000, 'cp_model_probing_level': 3, - 'cut_level': 2, - 'extra_subsolvers': ['lb_tree_search'], - 'hint_conflict_limit': 50, - 'inprocessing_dtime_ratio': 0.25, - 'linearization_level': 2, - 'max_num_cuts': 10000, - 'num_violation_ls': 3, - 'optimize_with_lb_tree_search': True, - 'presolve_bve_threshold': 1000, + 'cut_active_count_decay': 0.9, + 'cut_level': 1, + 'diversify_lns_params': True, + 'exploit_all_precedences': True, + 'extra_subsolvers': ['core', 'quick_restart', 'reduced_costs', 'lb_tree_search'], + 'inprocessing_dtime_ratio': 0.4, + 'inprocessing_minimization_dtime': 2.0, + 'inprocessing_probing_dtime': 2.0, + 'linearization_level': 1, + 'max_cut_rounds_at_level_zero': 3, + 'max_num_cuts': 4000, + 'merge_at_most_one_work_limit': 1000000000, + 'merge_no_overlap_work_limit': 2000000000000.0, + 'polish_lp_solution': True, + 'presolve_inclusion_work_limit': 1000000000, + 'probing_num_combinations_limit': 80000, 'repair_hint': True, - 'root_lp_iterations': 6000, - 'symmetry_level': 2} + 'root_lp_iterations': 8000, + 'solution_pool_size': 5, + 'symmetry_level': 3, + 'use_feasibility_jump': True, + 'use_feasibility_pump': True, + 'use_strong_propagation_in_disjunctive': True} # EVOLVE-BLOCK-END From 7173f9e026ccf8879d06e9fa7049d9b6f049c243 Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 1 Jun 2026 12:51:18 +0900 Subject: [PATCH 39/42] [refactor] unify cpsat + z3 pipelines into shared _lib platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lift per-bench evaluator / sampler / rebaseline / scoring / phase extraction / unified-phase materialization into reusable _lib modules. Per-bench surface shrinks to four hand-edited files (config.yaml, params.json, adapter.py, _solve_worker.py) plus phase initial_program.py modules. All orchestration commands route via `python -m _lib. `; no per-bench wrapper scripts. New _lib modules: bench_paths, params_catalog, averaging, scorer, sampler, rebaseline, self_test, evaluator_core, evaluator_entry, final_verify, finalize. Extended extract_best + prepare_phase + load_bench_config to support CLI invocation by bench name. Per-bench changes: - shared/ subdirs removed entirely (worker moved to evolve/ root). - baseline_params.py / score.py / evaluator.py / runtime.py / _runner.py / build_samples.py / rebaseline_local.py / extract_best.py / prepare_phase*.py / final_verify.py wrappers deleted (logic now in _lib). - New adapter.py exposes solver-specific constants (DECISIVE_RESULTS, KEY_STATS, STATUS_FIELD, WORKERS_KEY, SCORE_MODE, STATS_WEIGHTS, get_problem_size). - New params.json: rich catalog (defaults + locked + grouped params with type/range/desc) replaces BASELINE/LOCKED dicts. - config.yaml gains bench.clustering, bench.evaluation, bench.adapter / params_catalog / worker_path / unified_dict_name. - z3 extras (validate_keys.py, probe_cli_keys.py, _probe_parallel.py, verify_stage1_baseline.py) and cpsat extras (benchmark_final.py, materialize_final.py) removed. - Phase initial_program.py modules: - imports BASELINE from params_catalog - EVOLVE-BLOCK reset to empty (clean slate) - robust bench-root resolution via OPENEVOLVE_BENCH_ROOT env + walk-up fallback (works after openevolve copies program to /tmp) run_phase.sh: invokes _lib modules directly, exports OPENEVOLVE_BENCH_ROOT, passes _lib/evaluator_entry.py as evaluator, auto-runs _lib.finalize after the last phase to emit /evolve/final_program.py (self-contained — all _load_prev*() calls inlined as literal dicts so no cache/ dependency at runtime). Behavior unified across solvers: - 10-run averaging is the standard (configurable via bench.evaluation.repeats). - Clustering driven by bench.clustering (kmeans / quintile / thresholds); z3 clusters by features.num_hard_constraints, cpsat by features.num_constraints. - Score mode pluggable: `cost` (cpsat: dtime + cost_ratio) or `speedup` (z3: wall-clock). - SIZE_BUCKETS / STAGE3_OVERRIDES are opt-in via bench.evaluation.enable_size_buckets / enable_outlier_stage. - LLM param validation runs against the catalog before subprocess spawn — unknown / range-violating keys surface as invalid_param without a solver run. Generated stage samples + local_baseline now live in /evolve/cache/ (safe to delete; regenerated on first run). Co-Authored-By: Claude Opus 4.7 (1M context) --- input/README.md | 242 ++-- input/_lib/averaging.py | 52 + input/_lib/bench_paths.py | 116 ++ input/_lib/evaluator_core.py | 476 +++++++ input/_lib/evaluator_entry.py | 29 + input/_lib/extract_best.py | 75 +- input/_lib/final_verify.py | 98 ++ input/_lib/finalize.py | 191 +++ input/_lib/load_bench_config.py | 25 +- input/_lib/params_catalog.py | 216 +++ input/_lib/prepare_phase.py | 80 +- input/_lib/rebaseline.py | 290 ++++ input/_lib/sampler.py | 285 ++++ input/_lib/scorer.py | 255 ++++ input/_lib/self_test.py | 128 ++ input/cpsat-bench/evolve/README.md | 402 ++---- ...cpsat_solve_worker.py => _solve_worker.py} | 0 input/cpsat-bench/evolve/adapter.py | 38 + input/cpsat-bench/evolve/benchmark_final.py | 439 ------ input/cpsat-bench/evolve/build_samples.py | 607 -------- .../evolve/cache/stage1_sample.json | 79 + .../evolve/cache/stage2_sample.json | 79 + .../evolve/cache/stage3_sample.json | 44 + .../evolve/cache/stage4_sample.json | 149 ++ input/cpsat-bench/evolve/config.yaml | 50 +- input/cpsat-bench/evolve/extract_best.py | 27 - input/cpsat-bench/evolve/final_verify.py | 334 ----- input/cpsat-bench/evolve/materialize_final.py | 224 --- input/cpsat-bench/evolve/params.json | 235 +++ .../evolve/phase1_search/initial_program.py | 91 +- .../evolve/phase2_presolve/initial_program.py | 117 +- .../evolve/phase3_lp_cuts/initial_program.py | 131 +- .../evolve/phase4_unified/initial_program.py | 148 +- .../initial_program.py | 173 +-- .../evolve/prepare_phase_unified.py | 27 - input/cpsat-bench/evolve/rebaseline_local.py | 424 ------ .../evolve/shared/baseline_params.py | 149 -- .../evolve/shared/cpsat_params_reference.md | 353 ----- .../cpsat-bench/evolve/shared/cpsat_runner.py | 24 - input/cpsat-bench/evolve/shared/evaluator.py | 725 ---------- input/cpsat-bench/evolve/shared/runtime.py | 26 - input/cpsat-bench/evolve/shared/score.py | 222 --- input/run_phase.sh | 297 +--- input/z3-bench/evolve/OPENEVOLVE_INTRO.md | 8 +- input/z3-bench/evolve/README.md | 349 ++--- input/z3-bench/evolve/_probe_parallel.py | 74 - .../_z3_solve_worker.py => _solve_worker.py} | 0 input/z3-bench/evolve/adapter.py | 33 + input/z3-bench/evolve/build_samples.py | 272 ---- .../z3-bench/evolve/cache/stage1_sample.json | 44 + .../z3-bench/evolve/cache/stage2_sample.json | 44 + .../z3-bench/evolve/cache/stage3_sample.json | 44 + .../z3-bench/evolve/cache/stage4_sample.json | 149 ++ input/z3-bench/evolve/config.yaml | 35 +- input/z3-bench/evolve/extract_best.py | 23 - input/z3-bench/evolve/final_verify.py | 216 --- input/z3-bench/evolve/params.json | 194 +++ .../evolve/phase1_opt_sls/initial_program.py | 77 +- .../evolve/phase2_sat/initial_program.py | 189 +-- .../evolve/phase3_smt/initial_program.py | 177 +-- .../evolve/phase4_unified/initial_program.py | 264 +--- input/z3-bench/evolve/prepare_phase4.py | 21 - input/z3-bench/evolve/probe_cli_keys.py | 105 -- input/z3-bench/evolve/rebaseline_local.py | 191 --- .../z3-bench/evolve/shared/baseline_params.py | 164 --- input/z3-bench/evolve/shared/evaluator.py | 443 ------ input/z3-bench/evolve/shared/runtime.py | 25 - input/z3-bench/evolve/shared/score.py | 137 -- .../z3-bench/evolve/shared/stage1_sample.json | 48 - .../z3-bench/evolve/shared/stage2_sample.json | 48 - .../z3-bench/evolve/shared/stage3_sample.json | 48 - .../z3-bench/evolve/shared/stage4_sample.json | 168 --- input/z3-bench/evolve/shared/z3_runner.py | 27 - .../z3-bench/evolve/shared/z3_valid_keys.json | 1266 ----------------- input/z3-bench/evolve/validate_keys.py | 160 --- .../z3-bench/evolve/verify_stage1_baseline.py | 123 -- 76 files changed, 4288 insertions(+), 9050 deletions(-) create mode 100644 input/_lib/averaging.py create mode 100644 input/_lib/bench_paths.py create mode 100644 input/_lib/evaluator_core.py create mode 100644 input/_lib/evaluator_entry.py create mode 100644 input/_lib/final_verify.py create mode 100644 input/_lib/finalize.py create mode 100644 input/_lib/params_catalog.py create mode 100644 input/_lib/rebaseline.py create mode 100644 input/_lib/sampler.py create mode 100644 input/_lib/scorer.py create mode 100644 input/_lib/self_test.py rename input/cpsat-bench/evolve/{shared/_cpsat_solve_worker.py => _solve_worker.py} (100%) create mode 100644 input/cpsat-bench/evolve/adapter.py delete mode 100644 input/cpsat-bench/evolve/benchmark_final.py delete mode 100644 input/cpsat-bench/evolve/build_samples.py create mode 100644 input/cpsat-bench/evolve/cache/stage1_sample.json create mode 100644 input/cpsat-bench/evolve/cache/stage2_sample.json create mode 100644 input/cpsat-bench/evolve/cache/stage3_sample.json create mode 100644 input/cpsat-bench/evolve/cache/stage4_sample.json delete mode 100644 input/cpsat-bench/evolve/extract_best.py delete mode 100644 input/cpsat-bench/evolve/final_verify.py delete mode 100644 input/cpsat-bench/evolve/materialize_final.py create mode 100644 input/cpsat-bench/evolve/params.json delete mode 100644 input/cpsat-bench/evolve/prepare_phase_unified.py delete mode 100644 input/cpsat-bench/evolve/rebaseline_local.py delete mode 100644 input/cpsat-bench/evolve/shared/baseline_params.py delete mode 100644 input/cpsat-bench/evolve/shared/cpsat_params_reference.md delete mode 100644 input/cpsat-bench/evolve/shared/cpsat_runner.py delete mode 100644 input/cpsat-bench/evolve/shared/evaluator.py delete mode 100644 input/cpsat-bench/evolve/shared/runtime.py delete mode 100644 input/cpsat-bench/evolve/shared/score.py delete mode 100644 input/z3-bench/evolve/_probe_parallel.py rename input/z3-bench/evolve/{shared/_z3_solve_worker.py => _solve_worker.py} (100%) create mode 100644 input/z3-bench/evolve/adapter.py delete mode 100644 input/z3-bench/evolve/build_samples.py create mode 100644 input/z3-bench/evolve/cache/stage1_sample.json create mode 100644 input/z3-bench/evolve/cache/stage2_sample.json create mode 100644 input/z3-bench/evolve/cache/stage3_sample.json create mode 100644 input/z3-bench/evolve/cache/stage4_sample.json delete mode 100644 input/z3-bench/evolve/extract_best.py delete mode 100644 input/z3-bench/evolve/final_verify.py create mode 100644 input/z3-bench/evolve/params.json delete mode 100644 input/z3-bench/evolve/prepare_phase4.py delete mode 100644 input/z3-bench/evolve/probe_cli_keys.py delete mode 100644 input/z3-bench/evolve/rebaseline_local.py delete mode 100644 input/z3-bench/evolve/shared/baseline_params.py delete mode 100644 input/z3-bench/evolve/shared/evaluator.py delete mode 100644 input/z3-bench/evolve/shared/runtime.py delete mode 100644 input/z3-bench/evolve/shared/score.py delete mode 100644 input/z3-bench/evolve/shared/stage1_sample.json delete mode 100644 input/z3-bench/evolve/shared/stage2_sample.json delete mode 100644 input/z3-bench/evolve/shared/stage3_sample.json delete mode 100644 input/z3-bench/evolve/shared/stage4_sample.json delete mode 100644 input/z3-bench/evolve/shared/z3_runner.py delete mode 100644 input/z3-bench/evolve/shared/z3_valid_keys.json delete mode 100644 input/z3-bench/evolve/validate_keys.py delete mode 100644 input/z3-bench/evolve/verify_stage1_baseline.py diff --git a/input/README.md b/input/README.md index ca56bcbf47..e2db77cefa 100644 --- a/input/README.md +++ b/input/README.md @@ -1,120 +1,174 @@ -# input/ — Benchmark Pipelines + Shared Lib +# input/ — Solver-Parameter Tuning Pipelines Each `/` directory holds one OpenEvolve solver-parameter-tuning -pipeline. Common scaffolding lives under `_lib/` and is wired into each -bench via thin per-bench wrappers (keeps bench code <100 LOC for the -boilerplate parts). +pipeline. **All orchestration code lives under `_lib/`**; each bench +contributes only a tiny solver-specific surface (4 hand-edited files + +phase modules). ## Layout ``` input/ -├── run_phase.sh # single entry: ./run_phase.sh [] [flags] -├── _lib/ # shared library (importable as `_lib.*`) -│ ├── runtime.py # parallel_solvers / cascade_threshold / core_range -│ ├── subprocess_runner.py # run_solver(worker, problem, params, timeout, ...) -│ ├── extract_best.py # main(root, shared, phase_dirs) — CLI core -│ ├── prepare_phase.py # main(root, shared, prior_phases, unified_file) -│ └── load_bench_config.py # parse `bench:` section of config.yaml → bash exports -├── z3-bench/ -│ ├── raw-data/ # .smt2 + ____seed0.meta.jsonl +├── run_phase.sh # user entry: ./run_phase.sh [] +├── _lib/ # the whole platform +│ ├── runtime.py # parallel_solvers / core_range / cascade_threshold +│ ├── subprocess_runner.py # generic run_solver(worker, problem, params, …) +│ ├── load_bench_config.py # parse `bench:` section → bash exports +│ │ +│ ├── bench_paths.py # resolve bench root / config / adapter / cache +│ ├── params_catalog.py # load + validate per-solver params.json +│ ├── averaging.py # _average_runs (10-run mean over solver dicts) +│ ├── scorer.py # pluggable scoring (speedup | cost) +│ ├── sampler.py # clustering + stage sampling +│ │ # CLI: python -m _lib.sampler +│ ├── rebaseline.py # per-host baseline measurement +│ │ # CLI: python -m _lib.rebaseline +│ ├── self_test.py # BASELINE stage1 sanity test +│ │ # CLI: python -m _lib.self_test +│ ├── evaluator_core.py # unified evaluator logic +│ ├── evaluator_entry.py # entry openevolve-run.py loads +│ ├── extract_best.py # CLI: python -m _lib.extract_best +│ ├── prepare_phase.py # CLI: python -m _lib.prepare_phase +│ ├── final_verify.py # CLI: python -m _lib.final_verify +│ └── finalize.py # CLI: python -m _lib.finalize +│ # last phase best → /evolve/final_program.py +│ +├── cpsat-bench/ +│ ├── raw-data/ # .cpsat.pb + ____seed0.meta.jsonl +│ ├── problems.jsonl │ └── evolve/ -│ ├── config.yaml # openevolve + `bench:` (phases / scripts / solver check) -│ └── ... # baseline_params, evaluator, phases, etc. -└── cpsat-bench/ - ├── raw-data/ # .cpsat.pb + ____seed0.meta.jsonl +│ ├── config.yaml # bench config + LLM + clustering/evaluation +│ ├── params.json # rich CP-SAT param catalog (defaults + locked + groups) +│ ├── adapter.py # solver hooks (constants + get_problem_size) +│ ├── _solve_worker.py # subprocess entry (ortools binding) +│ ├── phase{1..5}_*/initial_program.py +│ ├── final_program.py # generated by `_lib.finalize` after last phase +│ └── cache/ # generated; safe to delete +│ ├── stage{1..4}_sample.json +│ ├── local_baseline.json +│ ├── phase{N}_best.json +│ ├── phase{N}_buckets.json (cpsat only — opt-in) +│ └── phase{N}_stage3.json (cpsat only — opt-in) +│ +└── z3-bench/ └── evolve/ - ├── config.yaml # same - └── ... + ├── config.yaml + ├── params.json + ├── adapter.py + ├── _solve_worker.py # subprocess entry (z3 Python binding) + ├── phase{1..4}_*/initial_program.py + └── cache/ ``` -## _lib/ — what's shared - -| module | purpose | per-bench wrapper | -|---|---|---| -| `_lib/runtime.py` | parse `OPENEVOLVE_PARALLEL_SOLVERS`, `OPENEVOLVE_CORE_RANGE`, `cascade_thresholds` from env + config.yaml | `/evolve/shared/runtime.py` (binds config path, re-exports) | -| `_lib/subprocess_runner.py` | spawn worker subprocess, taskset pin, timeout grace, parse stdout JSON | `/evolve/shared/_runner.py` (binds WORKER path, names `run_`) | -| `_lib/extract_best.py` | argparse + load best_program.py + write `phaseN_best.json` | `/evolve/extract_best.py` (passes `PHASE_DIRS` dict) | -| `_lib/prepare_phase.py` | merge `phaseN_best.json` files, rewrite unified phase's EVOLVE-BLOCK | `/evolve/prepare_phase_unified.py` (passes `PRIOR_PHASES` list) | -| `input/run_phase.sh` | single user-facing entry: `./run_phase.sh [] [--pin] [--extract-only] [--iterations]`. Phase optional → runs ALL phases sequentially. Reads `bench:` section of `/evolve/config.yaml` via `_lib/load_bench_config.py`. | `/evolve/config.yaml` — `bench:` key with `phases[].dir/iters`, `unified_prepare_script`, `solver_check_cmd`, `solver_install_hint` | - -## Per-bench files NOT shared - -Stay per-bench because each is solver- or dataset-specific: - -- `shared/baseline_params.py` — `BASELINE` + `LOCKED` dicts (recorded params) -- `shared/__solve_worker.py` — solver Python binding glue -- `shared/score.py` — score mode (`decision` / `cost` / `time-only`) -- `shared/evaluator.py` — cascade scaffold + decisive-result set + key stats -- `build_samples.py` — meta.jsonl field paths -- `rebaseline_local.py` — local baseline measurement -- `phase{N}_/initial_program.py` — phase namespace + initial overrides -- `config.yaml` — bench knobs + LLM system message - -## Wiring pattern (per-bench wrapper) - -Each wrapper: -1. Computes `_INPUT_DIR` (relative to its own file). -2. Inserts it into `sys.path` so `from _lib import ...` works. -3. Calls / re-exports the shared function with bench-specific args. - -Example — `/evolve/shared/runtime.py`: - -```python -import pathlib, sys -_HERE = pathlib.Path(__file__).resolve().parent -_CONFIG_YAML = _HERE.parent / "config.yaml" -_INPUT_DIR = _HERE.parents[2] -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) -from _lib import runtime as _rt - -core_range = _rt.core_range -def parallel_solvers(default=1): return _rt.parallel_solvers(_CONFIG_YAML, default=default) -def cascade_threshold(i, d): return _rt.cascade_threshold(_CONFIG_YAML, i, d) -``` - -Same pattern for `_runner.py`, `extract_best.py`, `prepare_phase_unified.py`. - -## Adding a new bench +## Per-bench surface (the only hand-edited files) -1. Make `input//raw-data/` and populate it (e.g. `load_script.sh`). -2. Scaffold `/evolve/` using the [openevolve-pipeline skill](../.claude/skills/openevolve-pipeline/SKILL.md). -3. For each shared module, copy a per-bench wrapper from `z3-bench/` or - `cpsat-bench/` and adjust the bench-specific bits (worker path, phase - dirs, config path). +| file | purpose | +|---|---| +| `config.yaml` | bench knobs (LLM, clustering, evaluation) + system prompt | +| `params.json` | rich param catalog — `defaults` (=BASELINE), `locked` (=LOCKED), `groups[*].params[*]` with type/range/desc | +| `adapter.py` | solver hooks: `SOLVER_NAME`, `PROBLEM_FILE_FIELD`, `STATUS_FIELD`, `DECISIVE_RESULTS`, `KEY_STATS`, `SCORE_MODE`, `get_problem_size(features)` | +| `_solve_worker.py` | subprocess entry: `argv = (params_json, problem_path, timeout_s)` → JSON line on stdout | + +Phase modules import from `_lib.params_catalog` for BASELINE — no +`baseline_params.py` to maintain. EVOLVE-BLOCK starts empty; the LLM fills +it in across the evolution run. + +## `config.yaml` `bench:` schema (consumed by `_lib`) + +```yaml +bench: + phases: + - dir: phase1_search + iters: 40 + - dir: phase2_presolve + + unified_prepare_before_dir: phase4_unified # optional; default=last phase + + # paths to the solver-specific files (relative to /evolve/) + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + unified_dict_name: GLOBAL_OVERRIDES + + # clustering / stage sampling — consumed by _lib.sampler + clustering: + method: kmeans # kmeans | quintile | thresholds + feature: features.num_constraints # dotted path into the problem record + n_clusters: 5 + max_baseline_ms: 120000 # drop outliers from sample pool + spread: quintile # quintile | center within stage pool + stage_sizes: {stage1: 10, stage2: 10, stage3: 5, stage4: 20} + stage_clusters: + stage1: [0, 1]; stage2: [2, 3]; stage3: [4]; stage4: [0, 1, 2, 3, 4] + + # evaluation behavior — consumed by _lib.evaluator_core + evaluation: + repeats: 10 # 10-run averaging (standard) + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: cost # cost (cpsat) | speedup (z3) + time_metric: dtime # cost mode only + cost_weight: 1.0 + enable_size_buckets: true # opt-in: SIZE_BUCKETS surface + enable_outlier_stage: true # opt-in: STAGE3_OVERRIDES surface +``` -## Environment knobs (work in both benches) +## Environment knobs | variable | use | |---|---| -| `OPENEVOLVE_PARALLEL_SOLVERS` | concurrent solver subprocesses per stage (cores 1..N) | -| `OPENEVOLVE_CORE_RANGE` | explicit taskset core range `N-M` (overrides PARALLEL_SOLVERS for pinning; concurrency = range size) | +| `OPENEVOLVE_PARALLEL_SOLVERS` | concurrent solver subprocesses per stage | +| `OPENEVOLVE_CORE_RANGE` | explicit taskset core range `N-M` (set via `--pin`) | | `OPENEVOLVE_MAX_PROBLEMS` | cap stage problem count (testing) | -| `OPENEVOLVE_STATS_WEIGHT` | exponent on efficiency factor in score.py (0 disables) | -| `OPENEVOLVE_COST_WEIGHT` | (cost-mode only) exponent on cost_ratio | -| `OPENEVOLVE_PYTHON_BIN` | python used by solver worker subprocess | -| `SKIP_REBASELINE` | skip per-host baseline remeasurement (reuse `local_baseline.json`) | +| `OPENEVOLVE_STATS_WEIGHT` | exponent on efficiency factor (0 disables) | +| `OPENEVOLVE_COST_WEIGHT` | exponent on cost_ratio (cost mode only) | +| `OPENEVOLVE_SOLVE_REPEATS` | override config `evaluation.repeats` | +| `OPENEVOLVE_BENCH_ROOT` | exported by `run_phase.sh` so the evaluator entry can resolve adapter/catalog | +| `SKIP_REBASELINE` | reuse existing `cache/local_baseline.json` | ## Quick start (any bench) ```bash -# (cpsat-bench example — swap to z3-bench by name) -bash input/cpsat-bench/raw-data/load_script.sh # populate raw-data -python input/cpsat-bench/evolve/build_samples.py # stage{1..4}_sample.json -python input/cpsat-bench/evolve/shared/baseline_params.py # sanity self-test - -# Run all phases (1..N) with one command: +# All-in-one (sampler + rebaseline run automatically on first invocation): ./input/run_phase.sh cpsat-bench --pin 2-7 +./input/run_phase.sh z3-bench --pin 2-7 + +# Or step by step: +python -m _lib.sampler cpsat-bench # cache/stage{1..4}_sample.json +python -m _lib.self_test cpsat-bench # sanity check (BASELINE on stage1) +python -m _lib.rebaseline cpsat-bench # cache/local_baseline.json (10-run avg) -# Or step phase-by-phase: -./input/run_phase.sh cpsat-bench 1 --pin 2-7 +./input/run_phase.sh cpsat-bench 1 --pin 2-7 # phase 1 only ./input/run_phase.sh cpsat-bench 2 --pin 2-7 -./input/run_phase.sh cpsat-bench 3 --pin 2-7 -./input/run_phase.sh cpsat-bench 4 --pin 2-7 +# ... -# Final verify on the unified winner (fresh LOCAL baseline per problem): -python input/cpsat-bench/evolve/final_verify.py \ - input/cpsat-bench/evolve/phase4_unified/openevolve_output/best/best_program.py -# (writes final_verify.json next to best_program.py) +# Final verification on the canonical final_program.py (auto-generated after +# the last phase by `_lib.finalize`): +python -m _lib.final_verify cpsat-bench input/cpsat-bench/evolve/final_program.py ``` + +## Final artifact + +마지막 phase 완료 후 `run_phase.sh`가 `_lib.finalize`를 자동 호출 → +`/evolve/final_program.py`에 마지막 phase의 best_program.py를 +복사. 이 파일이 canonical evolved 결과. `final_verify` / 외부 벤치 스크립트는 +이 파일을 import해서 `get_params()` 호출. + +수동 호출도 가능: +```bash +python -m _lib.finalize cpsat-bench # best/best_program.py 사용 +python -m _lib.finalize cpsat-bench --from-checkpoints # 최고 score checkpoint 사용 +``` + +## Adding a new bench + +1. `mkdir -p input//raw-data` and populate it. +2. Author the 4 per-bench files in `input//evolve/`: + - `config.yaml` — copy/adapt either bench's template. + - `params.json` — author the catalog (types, defaults, locks, groups). + - `adapter.py` — set `SOLVER_NAME`, field paths, decisive results, etc. + - `_solve_worker.py` — subprocess entry that runs your solver. +3. Create phase dirs `phase{N}_*/initial_program.py` (use the cpsat + or z3 templates — replace `_BENCH` reference and pick W). +4. Run `./input/run_phase.sh `. `_lib.sampler` and + `_lib.rebaseline` populate `cache/` automatically. diff --git a/input/_lib/averaging.py b/input/_lib/averaging.py new file mode 100644 index 0000000000..04c3f15534 --- /dev/null +++ b/input/_lib/averaging.py @@ -0,0 +1,52 @@ +""" +Collapse N repeated `run_solver` dicts into one mean dict. Lifted verbatim +from cpsat-bench's `_average_runs` so both benches now share the same +averaging semantics: + + - invalid_param short-circuits (config error, not a timing sample) + - result = modal label across runs + - elapsed_ms = mean across runs + - timeout = any run timed out + - stats[k] = mean over runs that emitted numeric k + - objective = mean over runs that emitted objective + - n_repeats annotated so the evaluator log can show repeats=N +""" +import collections +import statistics + + +def average_runs(runs): + if not runs: + return {"result": "Unknown", "elapsed_ms": 0, "stats": {}} + for r in runs: + if "invalid_param" in r: + return r + if len(runs) == 1: + return runs[0] + + results = [r.get("result") for r in runs] + result = collections.Counter(results).most_common(1)[0][0] + elapsed = statistics.mean(r.get("elapsed_ms", 0) for r in runs) + timeout_any = any(r.get("timeout") for r in runs) + + stat_keys = set() + for r in runs: + stat_keys |= set((r.get("stats") or {}).keys()) + stats = {} + for k in stat_keys: + vals = [(r.get("stats") or {}).get(k) for r in runs] + vals = [v for v in vals if isinstance(v, (int, float)) and not isinstance(v, bool)] + if vals: + stats[k] = statistics.mean(vals) + + out = { + "result": result, + "elapsed_ms": int(elapsed), + "timeout": timeout_any, + "stats": stats, + "n_repeats": len(runs), + } + objs = [r.get("objective") for r in runs if r.get("objective") is not None] + if objs: + out["objective"] = statistics.mean(objs) + return out diff --git a/input/_lib/bench_paths.py b/input/_lib/bench_paths.py new file mode 100644 index 0000000000..cbb0103f25 --- /dev/null +++ b/input/_lib/bench_paths.py @@ -0,0 +1,116 @@ +""" +Shared path / config resolution used by every _lib module's CLI entry. + +A "bench root" is the absolute path to `input//evolve/`. Modules take +either the bench name (e.g. `"cpsat-bench"`) or an already-resolved bench +root path. +""" +import importlib.util +import os +import pathlib +import sys + + +def input_dir(): + """input/ — parent of this _lib package.""" + return pathlib.Path(__file__).resolve().parent.parent + + +def resolve_bench(bench_name_or_root): + """Accept bench name (`cpsat-bench`) OR a full path to its evolve/.""" + p = pathlib.Path(bench_name_or_root) + if p.is_absolute() and (p / "config.yaml").exists(): + return p.resolve() + root = input_dir() / str(bench_name_or_root) / "evolve" + if not root.exists(): + raise SystemExit(f"bench evolve dir not found: {root}") + return root.resolve() + + +def cache_dir(bench_root): + return pathlib.Path(bench_root).resolve() / "cache" + + +def raw_dir(bench_root): + return pathlib.Path(bench_root).resolve().parent / "raw-data" + + +def problems_jsonl(bench_root): + return pathlib.Path(bench_root).resolve().parent / "problems.jsonl" + + +def config_path(bench_root): + return pathlib.Path(bench_root).resolve() / "config.yaml" + + +def params_json_path(bench_root): + return pathlib.Path(bench_root).resolve() / "params.json" + + +def worker_path(bench_root): + """Resolve `bench.worker_path` from config.yaml (relative to bench_root).""" + bench_root = pathlib.Path(bench_root).resolve() + cfg = load_config(bench_root) + wp = ((cfg.get("bench") or {}).get("worker_path") or "_solve_worker.py") + p = bench_root / wp + if not p.exists(): + raise SystemExit(f"worker_path not found: {p}") + return p + + +def evaluation_cfg(bench_root): + return ((load_config(bench_root).get("bench") or {}) + .get("evaluation") or {}) + + +def clustering_cfg(bench_root): + return ((load_config(bench_root).get("bench") or {}) + .get("clustering") or {}) + + +_yaml_cache = {} + + +def load_config(bench_root): + """Read `/evolve/config.yaml` (cached by path).""" + path = config_path(bench_root) + key = str(path) + if key in _yaml_cache: + return _yaml_cache[key] + if not path.exists(): + _yaml_cache[key] = {} + return _yaml_cache[key] + import yaml + _yaml_cache[key] = yaml.safe_load(path.read_text()) or {} + return _yaml_cache[key] + + +def load_adapter(bench_root): + """Import the bench's adapter.py and return the module.""" + bench_root = pathlib.Path(bench_root).resolve() + adapter_path = bench_root / "adapter.py" + if not adapter_path.exists(): + raise SystemExit(f"adapter.py not found: {adapter_path}") + mod_name = f"_bench_adapter_{bench_root.parent.name.replace('-', '_')}" + spec = importlib.util.spec_from_file_location(mod_name, adapter_path) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod + + +def bench_root_from_env(): + """Resolve bench root from OPENEVOLVE_BENCH_ROOT (set by run_phase.sh) + when invoked as the openevolve evaluator. Returns None when unset so + callers can decide on the fallback.""" + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if not v: + return None + return pathlib.Path(v).resolve() + + +def add_input_to_sys_path(): + """Ensure `input/` is on sys.path so `from _lib import ...` works from + every entry point (CLI, openevolve eval subprocess, phase modules).""" + p = str(input_dir()) + if p not in sys.path: + sys.path.insert(0, p) diff --git a/input/_lib/evaluator_core.py b/input/_lib/evaluator_core.py new file mode 100644 index 0000000000..2755e7e025 --- /dev/null +++ b/input/_lib/evaluator_core.py @@ -0,0 +1,476 @@ +""" +Unified evaluator. Lifted from cpsat-bench's evaluator.py and parameterized +over the per-bench adapter + catalog + config. + +Per-bench `_lib/evaluator_entry.py` is what openevolve loads; it just calls +`build_evaluators(bench_root)` (reading `OPENEVOLVE_BENCH_ROOT` from env) +and re-exports `evaluate_stage1..4` + `evaluate`. + +Per-problem param resolution: + If the program exposes `get_params(problem=..., stage=...)`, the evaluator + calls it once per problem so phases can ship SIZE_BUCKETS + (constraint-count conditional overrides) and STAGE3_OVERRIDES (outlier-only + tuning) inside their EVOLVE-BLOCK. Programs that only expose `get_params()` + keep working. + +10-run averaging is the standard (configurable via +`bench.evaluation.repeats`). +""" +import importlib.util +import inspect +import json +import logging +import math +import os +import pathlib +import queue as _queue +import sys +import traceback +from concurrent.futures import ThreadPoolExecutor, as_completed + +from _lib import averaging, bench_paths, params_catalog, runtime, scorer, subprocess_runner + +try: + from openevolve.evaluation_result import EvaluationResult +except Exception: + class EvaluationResult: + def __init__(self, metrics=None, artifacts=None): + self.metrics = metrics or {} + self.artifacts = artifacts or {} + + +logger = logging.getLogger(__name__) + + +def _load_program(path): + spec = importlib.util.spec_from_file_location("program", path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def _supports_kwargs(fn, *names): + try: + sig = inspect.signature(fn) + except (TypeError, ValueError): + return False + params = sig.parameters + if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params.values()): + return True + return any(n in params for n in names) + + +def _resolve_params(get_params, problem, stage): + kwargs = {} + if _supports_kwargs(get_params, "problem"): + kwargs["problem"] = problem + if _supports_kwargs(get_params, "stage"): + kwargs["stage"] = stage + out = get_params(**kwargs) if kwargs else get_params() + if not isinstance(out, dict): + raise TypeError(f"get_params() returned {type(out).__name__}, expected dict") + return out + + +def _pick_local_baseline(entry, workers): + """Return inner per-W dict, or None when missing.""" + if not isinstance(entry, dict): + return None + bw = entry.get("by_workers") + if isinstance(bw, dict) and bw: + key = str(int(workers)) + return bw.get(key) + if "elapsed_ms" in entry and int(workers) == 1: + return entry + return None + + +def build_evaluators(bench_root): + bench_root = pathlib.Path(bench_root).resolve() + bench_paths.add_input_to_sys_path() + + adapter = bench_paths.load_adapter(bench_root) + catalog = params_catalog.load_for_bench(bench_root) + cfg = bench_paths.load_config(bench_root) + eval_cfg = (cfg.get("bench") or {}).get("evaluation") or {} + + raw_dir = bench_paths.raw_dir(bench_root) + problems_jsonl = bench_paths.problems_jsonl(bench_root) + cache = bench_paths.cache_dir(bench_root) + worker = bench_paths.worker_path(bench_root) + config_yaml = bench_paths.config_path(bench_root) + + decisive = tuple(adapter.DECISIVE_RESULTS) + decided = tuple(getattr(adapter, "DECIDED_RESULTS", adapter.DECISIVE_RESULTS)) + key_stats = tuple(adapter.KEY_STATS) + stats_weights = dict(getattr(adapter, "STATS_WEIGHTS", {})) + score_mode = eval_cfg.get("score_mode", getattr(adapter, "SCORE_MODE", "speedup")) + time_metric = eval_cfg.get("time_metric") + cost_weight = eval_cfg.get("cost_weight") + repeats_default = int(eval_cfg.get("repeats", 10)) + timeout_factor = float(eval_cfg.get("timeout_factor", 1.3)) + min_timeout_s = int(eval_cfg.get("min_timeout_s", 5)) + workers_key = getattr(adapter, "WORKERS_KEY", None) + catalog_locked = catalog.locked + + py_bin = os.environ.get("OPENEVOLVE_PYTHON_BIN") + + # Outlier set (cpsat opt-in). cache/outliers.json shape: + # {"outliers": {sha: {...}}, "stage3_sample": [...]} + enable_outliers = bool(eval_cfg.get("enable_outlier_stage", False)) + outlier_shas = set() + if enable_outliers: + path = cache / "outliers.json" + if path.exists(): + try: + blob = json.loads(path.read_text()) + outlier_shas = set((blob.get("outliers") or {}).keys()) + except (json.JSONDecodeError, OSError): + pass + + # Small/large cache for cpsat-style cascade merging (stage1+stage2 → final). + # Keyed by program_path so multiple cascades within one process don't leak. + _SMALL_CACHE: dict = {} + + def _solve_repeats(): + env = os.environ.get("OPENEVOLVE_SOLVE_REPEATS") + if env: + try: + return max(1, int(env)) + except ValueError: + pass + return repeats_default + + def _load_problems(workers=1): + local = {} + path = cache / "local_baseline.json" + if path.exists(): + try: + local = json.loads(path.read_text()) + except json.JSONDecodeError: + local = {} + rows = [] + with open(problems_jsonl) as f: + for line in f: + d = json.loads(line) + sha = d["problem_sha256"] + status = d.get(adapter.STATUS_FIELD) or {} + stats_field = getattr(adapter, "STATS_FIELD", None) + baseline_stats = (d.get(stats_field) or {}) if stats_field else {} + features = (d.get(getattr(adapter, "FEATURES_FIELD", "features")) + or {}) + obj_field = getattr(adapter, "OBJECTIVE_FIELD", None) + baseline_objective = status.get(obj_field) if obj_field else None + baseline_ms = status.get("elapsed_ms", 0) + baseline_result = status.get("result") + + lo = _pick_local_baseline(local.get(sha), workers) + if lo and lo.get("matches_raw"): + baseline_ms = lo["elapsed_ms"] + baseline_stats = lo.get("stats") or baseline_stats + if lo.get("objective") is not None: + baseline_objective = lo["objective"] + rows.append({ + "sha": sha, + "input_file": d[adapter.PROBLEM_FILE_FIELD], + "baseline_ms": baseline_ms, + "baseline_result": baseline_result, + "baseline_stats": baseline_stats, + "baseline_objective": baseline_objective, + "size": adapter.get_problem_size(features), + "is_outlier": sha in outlier_shas, + "features": features, + }) + return rows + + def _filter_by_sample(problems, stage_n): + path = cache / f"stage{stage_n}_sample.json" + if not path.exists(): + return problems + keep = set(json.loads(path.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + def _err(metrics_extra, artifacts): + m = { + "combined_score": 0.0, "geomean_speedup": 0.0, + "solved_rate": 0.0, "regressions": 0, "solved": 0, "total": 0, + } + m.update(metrics_extra) + return EvaluationResult(metrics=m, artifacts=artifacts) + + def _peek_workers(program_path): + if not workers_key: + return 1 + try: + program = _load_program(program_path) + except Exception: + return 1 + pl = getattr(program, "PHASE_LOCKED", None) + if isinstance(pl, dict) and workers_key in pl: + try: + return int(pl[workers_key]) + except (TypeError, ValueError): + pass + try: + return int(program.get_params().get(workers_key, 1) or 1) + except Exception: + return 1 + + def _evaluate(program_path, problems, stage_name): + try: + program = _load_program(program_path) + except Exception as e: + return _err({"error": f"program load failed: {e}"}, + {"error_type": type(e).__name__, + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name}) + if not hasattr(program, "get_params"): + return _err({"error": "missing get_params()"}, + {"stage": stage_name}) + + try: + global_params = _resolve_params(program.get_params, None, stage_name) + except Exception as e: + return _err({"error": f"get_params() raised: {e}"}, + {"error_type": type(e).__name__, + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name}) + + phase_locked = getattr(program, "PHASE_LOCKED", None) + if isinstance(phase_locked, dict): + locked = dict(catalog_locked) + locked.update(phase_locked) + else: + locked = dict(catalog_locked) + + violations = {k: global_params.get(k) for k in locked + if global_params.get(k) != locked[k]} + if violations: + return _err({"error": "locked params violated"}, + {"locked_violated": violations, + "locked_expected": locked, + "stage": stage_name}) + + catalog_errors = catalog.validate(global_params) + if catalog_errors: + first_key, first_msg = catalog_errors[0] + return _err({"error": f"invalid param: {first_key}"}, + {"invalid_param": first_key, + "catalog_errors": catalog_errors[:10], + "stage": stage_name}) + + if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: + problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] + + if not problems: + return EvaluationResult( + metrics={ + "combined_score": 100.0, "geomean_speedup": 100.0, + "solved_rate": 1.0, "regressions": 0, + "solved": 0, "total": 0, "stage": stage_name, + }, + artifacts={"stage": stage_name, + "summary": "empty sample — pass-through"}) + + for p in problems: + ip = raw_dir / p["input_file"] + if not ip.exists(): + return _err({"error": f"input not found: {p['input_file']}"}, + {"missing_file": str(ip), "stage": stage_name}) + + cores = runtime.core_range() + if cores is None: + cores = list(range(1, runtime.parallel_solvers( + config_yaml, default=1) + 1)) + if workers_key: + workers_per_solve = int(global_params.get(workers_key, 1) or 1) + blocks = runtime.alloc_core_blocks(cores, workers_per_solve) + if not blocks: + blocks = [list(cores)] if cores else [None] + else: + workers_per_solve = 1 + blocks = [[c] for c in cores] if cores else [None] + + n_parallel = min(len(blocks), len(problems)) + blocks = blocks[:n_parallel] + core_pool = _queue.Queue() + for b in blocks: + core_pool.put(b) + + n_repeats = _solve_repeats() + + def _solve(idx_p): + idx, p = idx_p + ip = raw_dir / p["input_file"] + timeout_s = max(min_timeout_s, + math.ceil(p["baseline_ms"] * timeout_factor / 1000)) + try: + per_params = _resolve_params(program.get_params, p, stage_name) + except Exception as e: + return idx, p, {"result": "ERROR", "elapsed_ms": 0, + "invalid_param": f"get_params(problem,stage) raised: {e}"}, \ + None, timeout_s + for k, v in locked.items(): + per_params[k] = v + if workers_key and workers_key in global_params: + per_params[workers_key] = global_params[workers_key] + + block = core_pool.get() + try: + runs = [] + for _ in range(n_repeats): + rr = subprocess_runner.run_solver( + worker_path=worker, problem_path=ip, + params=per_params, timeout_s=timeout_s, + python_bin=py_bin, cpu_core=block) + runs.append(rr) + if "invalid_param" in rr: + break + avg = averaging.average_runs(runs) + finally: + core_pool.put(block) + return idx, p, avg, block, timeout_s + + def _fmt(c): + if c is None: + return "-" + if isinstance(c, (list, tuple)): + return ",".join(str(x) for x in c) if c else "-" + return str(c) + + print(f" [{stage_name}] workers/solve={workers_per_solve} " + f"repeats={n_repeats} " + f"core_blocks={[_fmt(b) for b in blocks]}", flush=True) + + by_idx = {} + abort = None + if n_parallel == 1: + for pair in enumerate(problems): + idx, p, r, block, timeout_s = _solve(pair) + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={_fmt(block)})", flush=True) + if "invalid_param" in r: + return _err( + {"error": f"invalid param: {r['invalid_param']}"}, + {"invalid_param": r["invalid_param"], + "stderr": r.get("stderr", "")[:2000], + "stage": stage_name}) + by_idx[idx] = (p, r) + else: + ordered = sorted(enumerate(problems), + key=lambda ip: -ip[1]["baseline_ms"]) + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futs = [ex.submit(_solve, pair) for pair in ordered] + for f in as_completed(futs): + if abort is not None: + continue + idx, p, r, block, timeout_s = f.result() + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={_fmt(block)})", flush=True) + if "invalid_param" in r: + abort = r + for ff in futs: + ff.cancel() + continue + by_idx[idx] = (p, r) + if abort is not None: + return _err( + {"error": f"invalid param: {abort['invalid_param']}"}, + {"invalid_param": abort["invalid_param"], + "stderr": abort.get("stderr", "")[:2000], + "stage": stage_name}) + + results = [] + for idx in range(len(problems)): + p, r = by_idx[idx] + rec = { + **p, + "result": r["result"], + "elapsed_ms": r["elapsed_ms"], + "timeout": bool(r.get("timeout")), + "stats": r.get("stats") or {}, + } + if "objective" in r: + rec["objective"] = r["objective"] + results.append(rec) + + _SMALL_CACHE[(str(program_path), stage_name)] = results + + metrics = scorer.score( + results, mode=score_mode, + decisive_results=decisive, decided_results=decided, + stats_weights=stats_weights, + time_metric=time_metric, cost_weight=cost_weight) + metrics["stage"] = stage_name + for k in key_stats: + metrics[f"total_{k}"] = float(sum( + r["stats"].get(k, 0) for r in results)) + + sample = [{ + "sha": r["sha"][:10], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_ms": r["baseline_ms"], + "ms": r["elapsed_ms"], + "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), + "timeout": r["timeout"], + "base_obj": r.get("baseline_objective"), + "obj": r.get("objective"), + "stats": {k: r["stats"].get(k, 0) for k in key_stats if k in r["stats"]}, + "base_stats": {k: r["baseline_stats"].get(k, 0) + for k in key_stats if k in (r.get("baseline_stats") or {})}, + } for r in results] + artifacts = { + "stage": stage_name, + "summary": ( + f"solved={metrics['solved']}/{metrics['total']} " + f"regressions={metrics['regressions']} " + f"geomean={metrics['geomean_speedup']:.3f} " + f"efficiency={metrics.get('efficiency', 1.0):.3f} " + f"score={metrics['combined_score']:.3f}" + ), + "per_problem": sample[:20], + } + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + def evaluate_stage(stage_n, program_path): + w = _peek_workers(program_path) + problems = _filter_by_sample(_load_problems(w), stage_n) + return _evaluate(program_path, problems, f"stage{stage_n}") + + def evaluate_stage1(program_path): + return evaluate_stage(1, program_path) + + def evaluate_stage2(program_path): + return evaluate_stage(2, program_path) + + def evaluate_stage3(program_path): + # Cascade chain: stage3 result then stage4 if it passes the gate. + r3 = evaluate_stage(3, program_path) + if not isinstance(r3, EvaluationResult): + return r3 + gate = runtime.cascade_threshold(config_yaml, 2, default=1.03) + if r3.metrics.get("combined_score", 0.0) < gate: + return r3 + r4 = evaluate_stage(4, program_path) + if not isinstance(r4, EvaluationResult): + return r4 + merged_m = {**r3.metrics, **r4.metrics} + merged_a = {**r3.artifacts, **r4.artifacts} + return EvaluationResult(metrics=merged_m, artifacts=merged_a) + + def evaluate_stage4(program_path): + return evaluate_stage(4, program_path) + + def evaluate(program_path): + return evaluate_stage1(program_path) + + return { + "evaluate_stage1": evaluate_stage1, + "evaluate_stage2": evaluate_stage2, + "evaluate_stage3": evaluate_stage3, + "evaluate_stage4": evaluate_stage4, + "evaluate": evaluate, + } diff --git a/input/_lib/evaluator_entry.py b/input/_lib/evaluator_entry.py new file mode 100644 index 0000000000..b283349ef8 --- /dev/null +++ b/input/_lib/evaluator_entry.py @@ -0,0 +1,29 @@ +""" +Entry point loaded by openevolve-run.py as the evaluator. Resolves bench +context from OPENEVOLVE_BENCH_ROOT (exported by input/run_phase.sh) and +delegates to _lib.evaluator_core.build_evaluators(). +""" +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_INPUT = _HERE.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import bench_paths, evaluator_core # noqa: E402 + +_bench = bench_paths.bench_root_from_env() +if _bench is None: + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT not set — _lib/evaluator_entry.py expects " + "input/run_phase.sh to export it. Set OPENEVOLVE_BENCH_ROOT=/evolve/> to invoke openevolve-run.py directly." + ) + +_evals = evaluator_core.build_evaluators(_bench) +evaluate_stage1 = _evals["evaluate_stage1"] +evaluate_stage2 = _evals["evaluate_stage2"] +evaluate_stage3 = _evals["evaluate_stage3"] +evaluate_stage4 = _evals["evaluate_stage4"] +evaluate = _evals["evaluate"] diff --git a/input/_lib/extract_best.py b/input/_lib/extract_best.py index 5b324723b1..e622001b95 100644 --- a/input/_lib/extract_best.py +++ b/input/_lib/extract_best.py @@ -1,13 +1,14 @@ """ -Generic per-phase winner extractor. Per-bench `extract_best.py` wrappers -provide PHASE_DIRS and call `main(root, shared, phase_dirs)`. +Per-phase winner extractor. -After phase N completes, load get_phase_overrides() from its best_program.py -(default: openevolve_output/best/best_program.py) and write -shared/phaseN_best.json. The next phase's initial_program.py picks it up. +CLI: `python -m _lib.extract_best [--from-checkpoints]` ---from-checkpoints scans openevolve_output/checkpoints/checkpoint_*/ and -picks the program with the highest combined_score (best_program_info.json). +Loads `get_phase_overrides()` from a phase's `best_program.py` and writes +`/evolve/cache/phaseN_best.json`. The next phase's +`initial_program.py` (or `prepare_phase`) picks it up. + +--from-checkpoints scans `/openevolve_output/checkpoints/checkpoint_*/` +and picks the program with the highest combined_score. """ import argparse import importlib.util @@ -15,6 +16,8 @@ import pathlib import sys +from _lib import bench_paths + def _pick_from_checkpoints(phase_dir): ckpt_root = phase_dir / "openevolve_output" / "checkpoints" @@ -55,24 +58,52 @@ def _pick_from_checkpoints(phase_dir): return best_py -def main(root, shared, phase_dirs, argv=None): - """ - root — bench evolve dir (pathlib.Path) - shared — bench evolve/shared dir (pathlib.Path) - phase_dirs — {phase_int: "phaseN_"} (excludes the final/unified phase) +def _phase_dirs_from_config(bench_root): + cfg = bench_paths.load_config(bench_root) + phases = (cfg.get("bench") or {}).get("phases") or [] + return {i + 1: ph["dir"] for i, ph in enumerate(phases)} + + +def main(root=None, shared=None, phase_dirs=None, argv=None): + """Two invocation modes: + + 1. CLI: argv = ["", "", ...] + → resolves root/shared/phase_dirs from bench config.yaml. + shared is `/evolve/cache/`. + + 2. Direct (legacy): explicit root, shared, phase_dirs args. + Retained for tests / one-off use. """ - choices = sorted(phase_dirs.keys()) - ap = argparse.ArgumentParser( - description="Extract get_phase_overrides() from phase's best_program.py.") - ap.add_argument("phase", type=int, choices=choices, help="phase number") - ap.add_argument("--from-checkpoints", action="store_true", - help="scan checkpoint_*/ dirs and pick highest combined_score") - args = ap.parse_args(argv) + if root is None or phase_dirs is None: + ap = argparse.ArgumentParser( + description="Extract get_phase_overrides() from phase's best_program.py.") + ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") + ap.add_argument("phase", type=int, help="phase number") + ap.add_argument("--from-checkpoints", action="store_true", + help="scan checkpoint_*/ dirs and pick highest combined_score") + args = ap.parse_args(argv) + root = bench_paths.resolve_bench(args.bench) + shared = bench_paths.cache_dir(root) + shared.mkdir(parents=True, exist_ok=True) + phase_dirs = _phase_dirs_from_config(root) + if args.phase not in phase_dirs: + print(f"phase must be in {sorted(phase_dirs.keys())} " + f"(got: {args.phase})", file=sys.stderr) + sys.exit(2) + from_checkpoints = args.from_checkpoints + else: + ap = argparse.ArgumentParser( + description="Extract get_phase_overrides() from phase's best_program.py.") + ap.add_argument("phase", type=int, choices=sorted(phase_dirs.keys()), + help="phase number") + ap.add_argument("--from-checkpoints", action="store_true") + args = ap.parse_args(argv) + from_checkpoints = args.from_checkpoints n = args.phase phase_dir = pathlib.Path(root) / phase_dirs[n] - if args.from_checkpoints: + if from_checkpoints: best_py = _pick_from_checkpoints(phase_dir) else: best_py = phase_dir / "openevolve_output" / "best" / "best_program.py" @@ -160,3 +191,7 @@ def main(root, shared, phase_dirs, argv=None): out_s = shared_dir / f"phase{n}_stage3.json" out_s.write_text(json.dumps(stage3, indent=2, sort_keys=True) + "\n") print(f"wrote {out_s.relative_to(root_path)} ({len(stage3)} keys)") + + +if __name__ == "__main__": + main() diff --git a/input/_lib/final_verify.py b/input/_lib/final_verify.py new file mode 100644 index 0000000000..93c265104c --- /dev/null +++ b/input/_lib/final_verify.py @@ -0,0 +1,98 @@ +""" +Final verification: re-run an evolved best_program.py through stage4 of +the unified evaluator and print a summary. + +CLI: `python -m _lib.final_verify ` + +Assumes `cache/local_baseline.json` is current. Re-run +`python -m _lib.rebaseline ` first if hardware / solver version +has changed since the evolution run. + +Optional `cache/final_sample.json` (shape: {"sha256": [...]}) overrides +the stage4 sample; otherwise uses stage4_sample.json (same as the +cascade's final stage). +""" +import argparse +import json +import pathlib +import sys +import time + +from _lib import bench_paths, evaluator_core + + +def _stash_stage4(cache_dir): + """If final_sample.json exists, swap it in temporarily as stage4_sample.json. + Returns (original_path_backup_or_None, did_swap).""" + final = cache_dir / "final_sample.json" + stage4 = cache_dir / "stage4_sample.json" + if not final.exists(): + return None, False + backup = stage4.with_suffix(".json.fv-backup") + if stage4.exists(): + stage4.rename(backup) + stage4.write_text(final.read_text()) + return backup, True + + +def _restore_stage4(cache_dir, backup, did_swap): + if not did_swap: + return + stage4 = cache_dir / "stage4_sample.json" + if stage4.exists(): + stage4.unlink() + if backup and backup.exists(): + backup.rename(stage4) + + +def final_verify(bench_root, program_path): + bench_root = pathlib.Path(bench_root).resolve() + program_path = pathlib.Path(program_path).resolve() + if not program_path.exists(): + raise SystemExit(f"program not found: {program_path}") + + cache = bench_paths.cache_dir(bench_root) + backup, did_swap = _stash_stage4(cache) + try: + evals = evaluator_core.build_evaluators(bench_root) + t0 = time.monotonic() + result = evals["evaluate_stage4"](program_path) + elapsed = time.monotonic() - t0 + finally: + _restore_stage4(cache, backup, did_swap) + + metrics = getattr(result, "metrics", {}) + artifacts = getattr(result, "artifacts", {}) + print() + print("===== final_verify summary =====") + print(f"program: {program_path}") + print(f"bench: {bench_root.parent.name}") + print(f"wall: {elapsed:.1f}s") + print(f"combined_score: {metrics.get('combined_score', 0.0):.4f}") + print(f"geomean_speedup: {metrics.get('geomean_speedup', 0.0):.4f}") + print(f"solved_rate: {metrics.get('solved_rate', 0.0):.4f}") + print(f"solved: {metrics.get('solved', 0)}/{metrics.get('total', 0)}") + print(f"regressions: {metrics.get('regressions', 0)}") + print(f"efficiency: {metrics.get('efficiency', 1.0):.4f}") + if "summary" in artifacts: + print(f"summary: {artifacts['summary']}") + out = program_path.parent / "final_verify.json" + out.write_text(json.dumps({ + "program": str(program_path), + "bench": bench_root.parent.name, + "metrics": metrics, + "summary": artifacts.get("summary", ""), + }, indent=2) + "\n") + print(f"wrote {out}") + + +def main(argv=None): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") + ap.add_argument("program", help="path to best_program.py") + args = ap.parse_args(argv) + final_verify(bench_paths.resolve_bench(args.bench), args.program) + + +if __name__ == "__main__": + main() diff --git a/input/_lib/finalize.py b/input/_lib/finalize.py new file mode 100644 index 0000000000..fbe1dd0bfe --- /dev/null +++ b/input/_lib/finalize.py @@ -0,0 +1,191 @@ +""" +Generate `/evolve/final_program.py` — self-contained canonical final +artifact from the last phase's best_program.py. + +CLI: `python -m _lib.finalize ` + +Self-containment rules: + - z3 phase4_unified style: `prepare_phase` already materialized the + EVOLVE-BLOCK with the union of prior-phase winners as a literal dict + (`UNIFIED_OVERRIDES = {...}`). Verbatim copy is already self-contained. + + - cpsat phase5 style: `_PHASE4 = _load_prev_dict("phase4_best.json")` reads + `cache/phase4_best.json` at import time. Finalize replaces these calls + with the literal dict from the JSON so the output file does NOT depend + on `cache/` being present alongside. + +Patterns recognized: + ` = _load_prev_dict("")` → literal dict + ` = _load_prev_buckets("")` → literal list[(upper, dict)] + (None → float('inf')) + ` = _load_prev("")` → literal dict (alias) + +The helper function definitions remain in source (harmless — dead code). +`cache/` path resolution and JSON loading are removed by the replacement. + +Source priority: + 1. `/openevolve_output/best/best_program.py` + 2. `/openevolve_output/checkpoints/checkpoint_*/best_program.py` + (highest combined_score) +""" +import argparse +import json +import pathlib +import pprint +import re +import shutil +import sys + +from _lib import bench_paths + + +_PAT_DICT = re.compile( + r'^(\s*)(_[A-Za-z0-9_]+)\s*=\s*_load_prev(?:_dict)?\(\s*["\']([^"\']+)["\']\s*\)\s*$', + re.M, +) +_PAT_BUCKETS = re.compile( + r'^(\s*)(_[A-Za-z0-9_]+)\s*=\s*_load_prev_buckets\(\s*["\']([^"\']+)["\']\s*\)\s*$', + re.M, +) + + +def _format_buckets(raw): + items = [] + for entry in raw: + if not (isinstance(entry, (list, tuple)) and len(entry) == 2): + raise ValueError(f"bucket entry malformed: {entry!r}") + upper, override = entry + upper_src = "float('inf')" if upper is None else repr(upper) + ov_src = pprint.pformat(override, width=100, sort_dicts=True) + items.append(f"({upper_src}, {ov_src})") + return "[" + ", ".join(items) + "]" + + +def _resolve_load_prev(src, cache_dir, replaced): + """Substitute every `_load_prev{_dict,_buckets}("...json")` assignment + with its resolved literal. Appends `(name, fname, kind)` tuples to + `replaced` for the summary.""" + + def repl_dict(m): + indent, name, fname = m.group(1), m.group(2), m.group(3) + path = cache_dir / fname + if not path.exists(): + replaced.append((name, fname, "dict-missing")) + return f"{indent}{name} = {{}}" + data = json.loads(path.read_text()) + replaced.append((name, fname, "dict")) + return f"{indent}{name} = " + pprint.pformat( + data, width=100, sort_dicts=True + ) + + def repl_buckets(m): + indent, name, fname = m.group(1), m.group(2), m.group(3) + path = cache_dir / fname + if not path.exists(): + replaced.append((name, fname, "buckets-missing")) + return f"{indent}{name} = None" + raw = json.loads(path.read_text()) + replaced.append((name, fname, "buckets")) + return f"{indent}{name} = " + _format_buckets(raw) + + # Order matters — handle buckets before dict (dict regex would also match). + src = _PAT_BUCKETS.sub(repl_buckets, src) + src = _PAT_DICT.sub(repl_dict, src) + return src + + +def _pick_from_checkpoints(phase_dir): + ckpt_root = phase_dir / "openevolve_output" / "checkpoints" + best_py, best_score, best_ck = None, float("-inf"), None + for ck in sorted(ckpt_root.glob("checkpoint_*")): + info = ck / "best_program_info.json" + prog = ck / "best_program.py" + if not info.exists() or not prog.exists(): + continue + try: + sc = float(json.loads(info.read_text()) + .get("metrics", {}).get("combined_score", float("-inf"))) + except (json.JSONDecodeError, ValueError, TypeError): + continue + if sc > best_score: + best_score, best_py, best_ck = sc, prog, ck + return best_py, best_score, best_ck + + +def finalize(bench_root, from_checkpoints=False): + bench_root = pathlib.Path(bench_root).resolve() + cfg = bench_paths.load_config(bench_root) + phases = (cfg.get("bench") or {}).get("phases") or [] + if not phases: + raise SystemExit("bench.phases missing in config.yaml") + + last_dir = phases[-1]["dir"] + last_phase = bench_root / last_dir + cache_dir = bench_paths.cache_dir(bench_root) + + if from_checkpoints: + best_py, score, ck = _pick_from_checkpoints(last_phase) + if best_py is None: + raise SystemExit(f"no checkpoint best_program.py under {last_phase}") + print(f"[finalize] from-checkpoints: picked {ck.name} " + f"(combined_score={score:.4f})") + else: + best_py = last_phase / "openevolve_output" / "best" / "best_program.py" + if not best_py.exists(): + best_py_alt, score, ck = _pick_from_checkpoints(last_phase) + if best_py_alt is None: + raise SystemExit( + f"no best_program.py at {best_py} and no checkpoints under " + f"{last_phase / 'openevolve_output' / 'checkpoints'}" + ) + best_py = best_py_alt + print(f"[finalize] best/best_program.py missing — using checkpoint " + f"{ck.name} (combined_score={score:.4f})") + + src = best_py.read_text() + header = ( + f"# AUTO-GENERATED by `python -m _lib.finalize {bench_root.parent.name}`.\n" + f"# Source: {best_py.relative_to(bench_root)}\n" + f"# All `_load_prev*()` calls below have been resolved against\n" + f"# `cache/` and replaced with literal dicts so this file is self-\n" + f"# contained and importable without `cache/` present.\n\n" + ) + + replaced = [] + resolved_src = _resolve_load_prev(src, cache_dir, replaced) + if not resolved_src.startswith('"""') and not resolved_src.startswith("'''"): + out_src = header + resolved_src + else: + # Insert header AFTER the module docstring. + match = re.match(r'^(?P"""|\'\'\')(.*?)(?P=q)\s*\n', resolved_src, re.S) + if match: + out_src = resolved_src[:match.end()] + "\n" + header + resolved_src[match.end():] + else: + out_src = header + resolved_src + + out = bench_root / "final_program.py" + out.write_text(out_src) + rel_src = best_py.relative_to(bench_root) + + if replaced: + print(f"[finalize] inlined {len(replaced)} _load_prev*() call(s):") + for name, fname, kind in replaced: + print(f" {name} ← cache/{fname} ({kind})") + else: + print("[finalize] no _load_prev*() calls to inline " + "(EVOLVE-BLOCK already self-contained)") + print(f"[finalize] {rel_src} → final_program.py ({out.stat().st_size} bytes)") + + +def main(argv=None): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") + ap.add_argument("--from-checkpoints", action="store_true", + help="scan checkpoint_*/ dirs and pick highest combined_score") + args = ap.parse_args(argv) + finalize(bench_paths.resolve_bench(args.bench), + from_checkpoints=args.from_checkpoints) + + +if __name__ == "__main__": + main() diff --git a/input/_lib/load_bench_config.py b/input/_lib/load_bench_config.py index 961ddafea7..794b5c4de2 100644 --- a/input/_lib/load_bench_config.py +++ b/input/_lib/load_bench_config.py @@ -5,29 +5,26 @@ Usage: eval "$(python _lib/load_bench_config.py /evolve/config.yaml)" -Schema: +Schema (post-refactor; per-bench script names are gone — _lib modules are +invoked directly as `python -m _lib. `): bench: phases: - dir: phase1_x - iters: 60 # optional; null/omitted => fall back to max_iterations + iters: 60 # optional; falls back to max_iterations - dir: phase2_y ... - unified_prepare_script: prepare_phase_unified.py # optional - unified_prepare_before_dir: phase4_unified # optional; fire prep - # before this dir - # (default: last phase) + unified_prepare_before_dir: phase4_unified # optional; fire prepare_phase + # before this dir (default: + # last phase) solver_check_cmd: 'python -c "from ortools.sat.python import cp_model"' solver_install_hint: install pip install ortools - rebaseline_script: rebaseline_local.py # optional override - extract_best_script: extract_best.py # optional override - build_samples_script: build_samples.py # optional override Output (stdout): export PHASE_DIRS='phase1_x phase2_y ...' export PHASE_ITERS='60 80 40' # space-separated; missing iters -> empty slot - export UNIFIED_PREPARE_SCRIPT='prepare_phase_unified.py' - export SOLVER_CHECK_CMD='python -c "..."' - ... + export UNIFIED_PREPARE_BEFORE_DIR='phase4_unified' + export SOLVER_CHECK_CMD='...' + export SOLVER_INSTALL_HINT='...' All values shell-quoted via shlex.quote. Non-zero exit on missing/invalid `bench` section. @@ -96,13 +93,9 @@ def main(): if any_iter: _emit("PHASE_ITERS", " ".join(iters)) - _emit("UNIFIED_PREPARE_SCRIPT", bench.get("unified_prepare_script")) _emit("UNIFIED_PREPARE_BEFORE_DIR", bench.get("unified_prepare_before_dir")) _emit("SOLVER_CHECK_CMD", bench.get("solver_check_cmd")) _emit("SOLVER_INSTALL_HINT", bench.get("solver_install_hint")) - _emit("REBASELINE_SCRIPT", bench.get("rebaseline_script")) - _emit("EXTRACT_BEST_SCRIPT", bench.get("extract_best_script")) - _emit("BUILD_SAMPLES_SCRIPT", bench.get("build_samples_script")) if __name__ == "__main__": diff --git a/input/_lib/params_catalog.py b/input/_lib/params_catalog.py new file mode 100644 index 0000000000..a6fc9bbacf --- /dev/null +++ b/input/_lib/params_catalog.py @@ -0,0 +1,216 @@ +""" +Solver parameter catalog. Loads + validates the per-solver `params.json` +file shipped under `/evolve/params.json`. + +The catalog is the single source of truth for: + - which keys the LLM is allowed to tune (everything in `groups[*].params`) + - default values that anchor the BASELINE (replaces baseline_params.BASELINE) + - locked keys that must not deviate (replaces baseline_params.LOCKED) + - per-key type + range + enum constraints for runtime validation + - LLM-facing reference text rendered into `prompt.system_message` + +Schema (loose validation — extra keys ignored, missing keys fall back to defaults): + + { + "solver": "cpsat", + "version": "", + "defaults": {: }, + "locked": {: }, + "groups": { + "": { + "description": "...", + "params": { + "": { + "type": "int|float|bool|str|enum", + "default": , + "range": [lo, hi], // numeric only, optional + "values": [...], // enum only + "desc": "..." + } + } + } + }, + "subsolver_names": ["..."] // optional, solver-specific + } +""" +import json +import pathlib + + +_NUMERIC_TYPES = {"int", "float"} +_VALID_TYPES = {"int", "float", "bool", "str", "enum", "list"} + + +class Catalog: + def __init__(self, data, source): + self._data = data + self._source = source + self._flat = {} + for gname, group in (data.get("groups") or {}).items(): + for pname, spec in (group.get("params") or {}).items(): + self._flat[pname] = dict(spec, _group=gname) + + @property + def solver(self): + return self._data.get("solver") + + @property + def version(self): + return self._data.get("version", "") + + @property + def defaults(self): + return dict(self._data.get("defaults") or {}) + + @property + def locked(self): + return dict(self._data.get("locked") or {}) + + @property + def subsolver_names(self): + return list(self._data.get("subsolver_names") or []) + + def flat(self): + return dict(self._flat) + + def known_keys(self): + return set(self._flat.keys()) + + def validate(self, params): + """Return list of (key, error_message) tuples; empty list = ok. + + Catches the obvious LLM mistakes without spawning a solver subprocess: + unknown key, wrong type, out-of-range value, unlisted enum value. + Subsolver-name lists (e.g. extra_subsolvers) are checked element-wise + against `subsolver_names` if defined. + """ + errors = [] + known = self.known_keys() + locked = self.locked + defaults = self.defaults + subsolvers = set(self.subsolver_names) + for k, v in params.items(): + if k in locked: + if v != locked[k]: + errors.append((k, f"locked key changed: expected {locked[k]!r}, got {v!r}")) + continue + if k in defaults and k not in known: + continue + spec = self._flat.get(k) + if spec is None: + errors.append((k, "unknown key (not in catalog)")) + continue + err = _check_spec(k, v, spec, subsolvers) + if err: + errors.append((k, err)) + return errors + + def render_prompt_section(self): + """Render the catalog as a compact reference block for the LLM prompt. + + Used to replace the `{{params_reference}}` token in + config.yaml `prompt.system_message`. + """ + lines = [f"=== {self.solver} parameter catalog ({self.version}) ==="] + locked = self.locked + if locked: + lines.append("LOCKED (must not modify): " + ", ".join(sorted(locked.keys()))) + for gname, group in (self._data.get("groups") or {}).items(): + desc = (group.get("description") or "").strip() + lines.append("") + lines.append(f"[{gname}] {desc}") + for pname, spec in (group.get("params") or {}).items(): + lines.append(" " + _format_spec_line(pname, spec)) + if self.subsolver_names: + lines.append("") + lines.append("subsolver names: " + ", ".join(self.subsolver_names)) + return "\n".join(lines) + + +def _check_spec(key, value, spec, subsolvers): + t = spec.get("type") + if t not in _VALID_TYPES: + return None # spec malformed — don't fail the LLM for our mistake + if t == "bool": + if not isinstance(value, bool): + return f"expected bool, got {type(value).__name__}" + return None + if t == "int": + if isinstance(value, bool) or not isinstance(value, int): + return f"expected int, got {type(value).__name__}" + return _check_range(value, spec) + if t == "float": + if isinstance(value, bool) or not isinstance(value, (int, float)): + return f"expected float, got {type(value).__name__}" + return _check_range(value, spec) + if t == "str": + if not isinstance(value, str): + return f"expected str, got {type(value).__name__}" + return None + if t == "enum": + values = spec.get("values") or [] + if value not in values: + return f"value {value!r} not in enum {values!r}" + return None + if t == "list": + if not isinstance(value, list): + return f"expected list, got {type(value).__name__}" + elem_t = spec.get("element_type") + if elem_t == "subsolver" and subsolvers: + bad = [x for x in value if x not in subsolvers] + if bad: + return f"unknown subsolver names: {bad!r}" + return None + return None + + +def _check_range(value, spec): + rng = spec.get("range") + if not rng or len(rng) != 2: + return None + lo, hi = rng + if lo is not None and value < lo: + return f"{value} below range min {lo}" + if hi is not None and value > hi: + return f"{value} above range max {hi}" + return None + + +def _format_spec_line(name, spec): + t = spec.get("type", "?") + d = spec.get("default") + parts = [f"{name}({t}"] + if "range" in spec: + lo, hi = spec["range"] + parts.append(f"=[{lo}..{hi}]") + elif "values" in spec: + parts.append("=" + "|".join(repr(v) for v in spec["values"])) + parts.append(f", default={d!r})") + line = "".join(parts) + desc = (spec.get("desc") or "").strip() + if desc: + line += " — " + desc + return line + + +_cache = {} + + +def load(path): + """Load a params.json file. Result cached by absolute path.""" + path = pathlib.Path(path).resolve() + key = str(path) + if key in _cache: + return _cache[key] + data = json.loads(path.read_text()) + cat = Catalog(data, path) + _cache[key] = cat + return cat + + +def load_for_bench(bench_root): + """Convenience: load `/params.json`. + + `bench_root` is the absolute path to `input//evolve/`. + """ + return load(pathlib.Path(bench_root) / "params.json") diff --git a/input/_lib/prepare_phase.py b/input/_lib/prepare_phase.py index 98a8a23496..700c23b862 100644 --- a/input/_lib/prepare_phase.py +++ b/input/_lib/prepare_phase.py @@ -1,28 +1,30 @@ """ -Materialize a unified phase's initial_program.py with the union of prior-phase -winners (from shared/phaseN_best.json + optional phaseN_buckets.json + -phaseN_stage3.json). - -Per-bench `prepare_phase_unified.py` wrappers call -`main(root, shared, prior_phases, unified_file)` after all prior phases -have completed (and extract_best.py ran for each). - -Rewrites only the EVOLVE-BLOCK section of the unified phase's initial_program.py. - -Output format inside EVOLVE-BLOCK (cpsat-bench layout): - GLOBAL_OVERRIDES = {...} # union of phaseN_best.json - SIZE_BUCKETS = [(upper, {...})] # merged per-bucket overrides - STAGE3_OVERRIDES = {...} # union of phaseN_stage3.json - -If a bench doesn't ship the bucket/stage3 files, only GLOBAL_OVERRIDES is -written (legacy single-dict layout) — controlled by `dict_name` parameter. +Materialize a unified phase's initial_program.py with the union of +prior-phase winners (from cache/phaseN_best.json + optional +phaseN_buckets.json + phaseN_stage3.json). + +CLI: `python -m _lib.prepare_phase ` + +Reads `/evolve/config.yaml`: + - `bench.phases[*].dir` → ordered phase list + - `bench.unified_prepare_before_dir` (optional) → which phase is the + unified target. Defaults to the last phase. + - `bench.unified_dict_name` (optional) → name of the merged-overrides + dict written into the EVOLVE-BLOCK (default "UNIFIED_OVERRIDES"; + cpsat uses "GLOBAL_OVERRIDES"). + +Rewrites only the EVOLVE-BLOCK section. If a bench ships bucket / stage3 +extracts, the block also gets `SIZE_BUCKETS` + `STAGE3_OVERRIDES`. """ +import argparse import json import pathlib import pprint import re import sys +from _lib import bench_paths + _EVOLVE_BLOCK_RE = re.compile( r"(# EVOLVE-BLOCK-START\n).*?(# EVOLVE-BLOCK-END)", re.DOTALL, @@ -78,17 +80,37 @@ def _format_buckets_literal(buckets): return "\n".join(lines) +def main_cli(argv=None): + """CLI entry: `python -m _lib.prepare_phase `.""" + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") + args = ap.parse_args(argv) + + root = bench_paths.resolve_bench(args.bench) + shared = bench_paths.cache_dir(root) + cfg = bench_paths.load_config(root) + bench_cfg = cfg.get("bench") or {} + phases = [ph["dir"] for ph in (bench_cfg.get("phases") or [])] + if not phases: + raise SystemExit("bench.phases missing in config.yaml") + + target = bench_cfg.get("unified_prepare_before_dir") or phases[-1] + if target not in phases: + raise SystemExit(f"unified_prepare_before_dir={target!r} not in " + f"bench.phases ({phases})") + target_idx = phases.index(target) + if target_idx == 0: + raise SystemExit(f"unified target {target!r} has no prior phases") + prior_phases = list(range(1, target_idx + 1)) + unified_file = root / target / "initial_program.py" + dict_name = bench_cfg.get("unified_dict_name") or "UNIFIED_OVERRIDES" + if not unified_file.exists(): + raise SystemExit(f"unified initial_program.py not found: {unified_file}") + return main(root, shared, prior_phases, unified_file, dict_name=dict_name) + + def main(root, shared, prior_phases, unified_file, dict_name="UNIFIED_OVERRIDES"): - """ - root — bench evolve dir (pathlib.Path) - shared — bench evolve/shared dir (pathlib.Path) - prior_phases — list of phase ints to merge (e.g. [1, 2, 3]) - unified_file — path to the unified phase's initial_program.py - dict_name — variable name for the merged global dict. Default - "UNIFIED_OVERRIDES" (legacy). cpsat-bench unified phase - uses "GLOBAL_OVERRIDES"; pass dict_name="GLOBAL_OVERRIDES" - from the wrapper. - """ + """Direct invocation (also used by main_cli).""" unified_file = pathlib.Path(unified_file) merged = {} @@ -157,3 +179,7 @@ def main(root, shared, prior_phases, unified_file, dict_name="UNIFIED_OVERRIDES" suffix = " (+ SIZE_BUCKETS, STAGE3_OVERRIDES)" if has_extras else "" print(f"wrote {unified_file.relative_to(pathlib.Path(root))} " f"({len(merged)} keys in EVOLVE-BLOCK){suffix}") + + +if __name__ == "__main__": + main_cli() diff --git a/input/_lib/rebaseline.py b/input/_lib/rebaseline.py new file mode 100644 index 0000000000..c93b720237 --- /dev/null +++ b/input/_lib/rebaseline.py @@ -0,0 +1,290 @@ +""" +Per-host baseline measurement. Runs BASELINE params over the union of +`cache/stage{1..4}_sample.json` and writes `cache/local_baseline.json`. + +CLI: `python -m _lib.rebaseline [--workers 1,8]` + +Default worker counts: + - If `adapter.WORKERS_KEY` is set (e.g. cpsat: "num_search_workers"), + walks sibling `phase*/initial_program.py` and unions every + `PHASE_LOCKED[WORKERS_KEY]`. Output schema includes `by_workers`. + - Otherwise (z3): single measurement, flat schema. + +Each (sha, W) pair runs `evaluation.repeats` times (10 by default) and is +averaged via `_lib.averaging.average_runs`, matching the variant solve path +so dtime ratios stay calibrated. + +Stage3 skip: when W=1 (cpsat-style phase1/2), stage3 outliers can take +hours at low parallelism with no signal value (evaluator skips stage3 for +W=1 phases anyway). Drop stage3 SHAs from the W=1 task list. +""" +import argparse +import importlib.util +import json +import pathlib +import queue as _queue +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +from _lib import averaging, bench_paths, params_catalog, runtime, subprocess_runner + +REBASELINE_TIMEOUT_S = 3600 +DEFAULT_REPEATS = 10 + + +def _discover_phase_workers(bench_root, workers_key): + if not workers_key: + return [1] + workers = set() + for prog in sorted(pathlib.Path(bench_root).glob("phase*_*/initial_program.py")): + try: + spec = importlib.util.spec_from_file_location(prog.parent.name, prog) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + except Exception as e: + print(f"WARN: failed to load {prog.name}: {e}", file=sys.stderr) + continue + pl = getattr(mod, "PHASE_LOCKED", None) + if isinstance(pl, dict) and workers_key in pl: + try: + workers.add(int(pl[workers_key])) + except (TypeError, ValueError): + pass + return sorted(workers) if workers else [1] + + +def _parse_workers_arg(s): + out = [] + for tok in s.split(","): + tok = tok.strip() + if not tok: + continue + w = int(tok) + if w < 1: + raise SystemExit(f"--workers: {w} must be >= 1") + if w not in out: + out.append(w) + if not out: + raise SystemExit("--workers: empty list") + return sorted(out) + + +def _load_problem_index(adapter, problems_jsonl): + idx = {} + with open(problems_jsonl) as f: + for line in f: + d = json.loads(line) + sha = d["problem_sha256"] + status = d.get(adapter.STATUS_FIELD) or {} + idx[sha] = { + "sha": sha, + "input_file": d[adapter.PROBLEM_FILE_FIELD], + "raw_ms": status.get("elapsed_ms", 0), + "raw_result": status.get("result"), + } + return idx + + +def _load_target_shas(cache_dir, include_stage3=True): + samples = ["stage1_sample.json", "stage2_sample.json", "stage4_sample.json"] + if include_stage3: + samples.insert(2, "stage3_sample.json") + ids = [] + seen = set() + for fname in samples: + path = cache_dir / fname + if not path.exists(): + print(f"WARN: {fname} missing — skipping", file=sys.stderr) + continue + for sha in json.loads(path.read_text())["sha256"]: + if sha not in seen: + ids.append(sha) + seen.add(sha) + return ids + + +def _solve_one(worker_path, input_path, params, cores_block, repeats): + runs = [] + for _ in range(repeats): + r = subprocess_runner.run_solver( + worker_path=worker_path, + problem_path=input_path, + params=params, + timeout_s=REBASELINE_TIMEOUT_S, + cpu_core=cores_block, + ) + runs.append(r) + if "invalid_param" in r: + break + return averaging.average_runs(runs) + + +def _measure_at_workers(tasks, worker_count, cores, worker_path, baseline_params, workers_key, repeats): + if not tasks: + print(f" W={worker_count}: no tasks", flush=True) + return [] + + if workers_key: + blocks = runtime.alloc_core_blocks(cores, worker_count) + if not blocks: + blocks = [list(cores)] if cores else [None] + else: + blocks = [[c] for c in cores] if cores else [None] + n_parallel = min(len(blocks), len(tasks)) + blocks = blocks[:n_parallel] + + pool = _queue.Queue() + for b in blocks: + pool.put(b) + + params = dict(baseline_params) + if workers_key: + params[workers_key] = worker_count + + def _fmt(b): + if isinstance(b, (list, tuple)): + return ",".join(str(x) for x in b) if b else "-" + return str(b) if b is not None else "-" + + print(f" W={worker_count}: parallel={n_parallel} repeats={repeats} " + f"blocks={[_fmt(b) for b in blocks]}", flush=True) + + def _task(t): + i, meta, path = t + block = pool.get() + try: + res = _solve_one(worker_path, path, params, block, repeats) + finally: + pool.put(block) + return i, meta, res, block + + out = [] + if n_parallel == 1: + for t in tasks: + out.append(_task(t)) + else: + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_task, t) for t in tasks] + for fut in as_completed(futures): + out.append(fut.result()) + out.sort(key=lambda x: x[0]) + return out + + +def rebaseline(bench_root, workers_override=None): + bench_root = pathlib.Path(bench_root).resolve() + adapter = bench_paths.load_adapter(bench_root) + catalog = params_catalog.load_for_bench(bench_root) + cache = bench_paths.cache_dir(bench_root) + cache.mkdir(parents=True, exist_ok=True) + raw_dir = bench_paths.raw_dir(bench_root) + problems_jsonl = bench_paths.problems_jsonl(bench_root) + worker = bench_paths.worker_path(bench_root) + + eval_cfg = bench_paths.evaluation_cfg(bench_root) + repeats = int(eval_cfg.get("repeats", DEFAULT_REPEATS)) + + workers_key = getattr(adapter, "WORKERS_KEY", None) + if workers_override is not None: + worker_counts = _parse_workers_arg(workers_override) + else: + worker_counts = _discover_phase_workers(bench_root, workers_key) + print(f"[rebaseline] worker counts: {worker_counts} " + f"(workers_key={workers_key!r})") + + baseline = dict(catalog.defaults) + print(f"[rebaseline] BASELINE keys: {sorted(baseline.keys())}") + + idx = _load_problem_index(adapter, problems_jsonl) + + def _build_tasks(shas): + out = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + raise SystemExit(f"{sha[:12]} missing from problems.jsonl") + path = raw_dir / meta["input_file"] + if not path.exists(): + raise SystemExit(f"input missing: {path}") + out.append((i, meta, path)) + return out + + shas_full = _load_target_shas(cache, include_stage3=True) + shas_no_s3 = _load_target_shas(cache, include_stage3=False) + tasks_full = _build_tasks(shas_full) + tasks_no_s3 = _build_tasks(shas_no_s3) + + cores = runtime.core_range() + if cores is None: + cores = list(range(1, runtime.parallel_solvers( + bench_paths.config_path(bench_root), default=1) + 1)) + + print(f" {len(tasks_full)} total / {len(tasks_no_s3)} non-stage3") + print(f" per-problem timeout: {REBASELINE_TIMEOUT_S}s, cores={cores}") + + results = {} + for meta in (m for _, m, _ in tasks_full): + results[meta["sha"]] = { + "raw_result": meta["raw_result"], + "raw_elapsed_ms": meta["raw_ms"], + "by_workers": {}, + } + + t0 = time.monotonic() + mismatches = 0 + for w in worker_counts: + tasks = tasks_no_s3 if (workers_key and w == 1) else tasks_full + completed = _measure_at_workers( + tasks, w, cores, worker, baseline, workers_key, repeats) + for i, meta, res, block in completed: + got_result = res.get("result", "Unknown") + got_ms = int(res.get("elapsed_ms", 0)) + invalid = res.get("invalid_param") + ok = (got_result == meta["raw_result"]) and not invalid + if not ok: + mismatches += 1 + ratio = got_ms / max(meta["raw_ms"], 1) + block_str = (",".join(str(x) for x in block) + if isinstance(block, (list, tuple)) else str(block)) + flag = f" INVALID={invalid}" if invalid else ("" if ok else " MISMATCH") + print( + f" [W={w} {i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " + f"raw={meta['raw_result']!s:<10}/{int(meta['raw_ms']):>7}ms " + f"local={got_result!s:<10}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " + f"cores={block_str}", flush=True + ) + entry = { + "elapsed_ms": got_ms, + "result": got_result, + "matches_raw": ok, + "stats": res.get("stats") or {}, + } + if "objective" in res: + entry["objective"] = res["objective"] + results[meta["sha"]]["by_workers"][str(w)] = entry + + out_path = cache / "local_baseline.json" + out_path.write_text(json.dumps(results, indent=2) + "\n") + n_runs = sum(len(r["by_workers"]) for r in results.values()) + print() + print(f"wrote {out_path.relative_to(bench_root.parent.parent)} " + f"({len(results)} entries, {n_runs} (sha,W) runs, " + f"{mismatches} mismatches)") + print(f"total: {time.monotonic() - t0:.1f}s") + return 0 if mismatches == 0 else 1 + + +def main(argv=None): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") + ap.add_argument("--workers", type=str, default=None, + help="comma-separated worker counts (e.g. '1,8')") + args = ap.parse_args(argv) + rc = rebaseline(bench_paths.resolve_bench(args.bench), + workers_override=args.workers) + sys.exit(rc) + + +if __name__ == "__main__": + main() diff --git a/input/_lib/sampler.py b/input/_lib/sampler.py new file mode 100644 index 0000000000..6a08c638d3 --- /dev/null +++ b/input/_lib/sampler.py @@ -0,0 +1,285 @@ +""" +Cluster `problems.jsonl` into stage sample files. + +CLI: `python -m _lib.sampler ` (bench dir name under input/). + +Reads `/evolve/config.yaml`'s `bench.clustering` section: + + clustering: + method: kmeans # kmeans | quintile | thresholds + feature: features.num_constraints # dotted path into problem record + n_clusters: 5 # for kmeans / quintile + thresholds: [50000, 150000] # for method=thresholds (n_clusters = len + 1) + max_baseline_ms: 120000 # optional pool cap (drop baselines > this) + stage_sizes: # how many problems each stage keeps + stage1: 10 + stage2: 10 + stage3: 5 + stage4: 20 + stage_clusters: # which cluster IDs (ascending centroid) per stage + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + spread: quintile # quintile | center — how to pick within a stage pool + +Outputs (under `/evolve/cache/`): + stage{1..4}_sample.json {"selection": "...", "sha256": [...], "summary": [...]} + +The decisive-baseline filter is driven by the adapter +(`DECISIVE_RESULTS` + `STATUS_FIELD`). +""" +import argparse +import json +import pathlib +import sys + +from _lib import bench_paths + + +def _dotted(d, path, default=None): + cur = d + for part in path.split("."): + if not isinstance(cur, dict): + return default + cur = cur.get(part) + if cur is None: + return default + return cur + + +def _kmeans_1d(values, k, max_iter=100): + """1D Lloyd's k-means. Returns label list aligned with values, ordered by + ascending centroid (label 0 = lowest cluster).""" + n = len(values) + if n == 0 or k <= 0: + return [] + if n <= k: + return list(range(n)) # each point its own cluster (sorted ascending) + + sorted_pairs = sorted(enumerate(values), key=lambda iv: iv[1]) + sorted_idx = [i for i, _ in sorted_pairs] + sorted_vals = [v for _, v in sorted_pairs] + centroids = [sorted_vals[((2 * c + 1) * n) // (2 * k)] for c in range(k)] + labels = [0] * n + + for _ in range(max_iter): + changed = False + for i, v in enumerate(sorted_vals): + best, best_d = 0, abs(v - centroids[0]) + for c in range(1, k): + d = abs(v - centroids[c]) + if d < best_d: + best_d, best = d, c + if labels[i] != best: + labels[i] = best + changed = True + if not changed: + break + sums = [0.0] * k + counts = [0] * k + for v, lbl in zip(sorted_vals, labels): + sums[lbl] += v + counts[lbl] += 1 + for c in range(k): + if counts[c] > 0: + centroids[c] = sums[c] / counts[c] + + # Relabel so 0 = smallest centroid. + order = sorted(range(k), key=lambda c: centroids[c]) + rank = {old: new for new, old in enumerate(order)} + out = [0] * n + for sorted_i, lbl in enumerate(labels): + orig_i = sorted_idx[sorted_i] + out[orig_i] = rank[lbl] + return out + + +def _quintile_labels(values, n_buckets): + """Assign each value to a bucket by rank (asc). Equal-size buckets.""" + n = len(values) + if n == 0: + return [] + sorted_pairs = sorted(enumerate(values), key=lambda iv: iv[1]) + labels = [0] * n + for rank, (orig_i, _) in enumerate(sorted_pairs): + b = (rank * n_buckets) // n + if b >= n_buckets: + b = n_buckets - 1 + labels[orig_i] = b + return labels + + +def _threshold_labels(values, thresholds): + """Bucket index = first threshold the value is < (last bucket = >= all).""" + out = [] + for v in values: + b = len(thresholds) + for i, t in enumerate(thresholds): + if v < t: + b = i + break + out.append(b) + return out + + +def _pick_spread(pool, n_pick, mode): + if not pool or n_pick <= 0: + return [] + if len(pool) <= n_pick: + return list(pool) + if mode == "center": + start = (len(pool) - n_pick) // 2 + return pool[start:start + n_pick] + # default: quintile spread within the pool + if n_pick == 1: + return [pool[len(pool) // 2]] + out = [] + seen = set() + for j in range(n_pick): + idx = round(j * (len(pool) - 1) / (n_pick - 1)) + if idx not in seen: + seen.add(idx) + out.append(pool[idx]) + return out + + +def build_samples(bench_root, *, adapter=None): + """Sample-build entry. `bench_root` is the absolute path to + `/evolve/`.""" + bench_root = pathlib.Path(bench_root).resolve() + cfg = bench_paths.load_config(bench_root) + cluster_cfg = (cfg.get("bench") or {}).get("clustering") or {} + if not cluster_cfg: + raise SystemExit("bench.clustering missing from config.yaml") + + if adapter is None: + adapter = bench_paths.load_adapter(bench_root) + + problems_jsonl = bench_root.parent / "problems.jsonl" + if not problems_jsonl.exists(): + raise SystemExit(f"missing {problems_jsonl}") + + cache_dir = bench_paths.cache_dir(bench_root) + cache_dir.mkdir(parents=True, exist_ok=True) + + rows = [] + with open(problems_jsonl) as f: + for line in f: + rows.append(json.loads(line)) + print(f"scanned {len(rows)} problems from {problems_jsonl.name}") + + status_field = adapter.STATUS_FIELD + decisive = set(adapter.DECISIVE_RESULTS) + + def _baseline_ms(r): + return ((r.get(status_field) or {}).get("elapsed_ms")) or 0 + + def _baseline_result(r): + return (r.get(status_field) or {}).get("result") + + max_ms = cluster_cfg.get("max_baseline_ms") + pool = [] + skipped = 0 + for r in rows: + if _baseline_result(r) not in decisive: + skipped += 1 + continue + if max_ms is not None and _baseline_ms(r) > max_ms: + skipped += 1 + continue + pool.append(r) + print(f"decisive + within-budget pool: {len(pool)} (skipped {skipped})") + if not pool: + raise SystemExit("no decisive-baseline problems to sample") + + feature_path = cluster_cfg.get("feature", "features.num_constraints") + feature_vals = [_dotted(r, feature_path) for r in pool] + if any(v is None for v in feature_vals): + missing = sum(1 for v in feature_vals if v is None) + print(f"warning: {missing} problems missing {feature_path}; treating as 0", + file=sys.stderr) + feature_vals = [v if v is not None else 0 for v in feature_vals] + feature_vals = [float(v) for v in feature_vals] + + method = cluster_cfg.get("method", "kmeans") + if method == "kmeans": + k = int(cluster_cfg.get("n_clusters", 5)) + labels = _kmeans_1d(feature_vals, k) + n_buckets = k + elif method == "quintile": + k = int(cluster_cfg.get("n_clusters", 5)) + labels = _quintile_labels(feature_vals, k) + n_buckets = k + elif method == "thresholds": + thr = list(cluster_cfg.get("thresholds") or []) + if not thr: + raise SystemExit("clustering.method=thresholds requires " + "non-empty `thresholds` list") + labels = _threshold_labels(feature_vals, thr) + n_buckets = len(thr) + 1 + else: + raise SystemExit(f"unknown clustering.method: {method}") + + buckets = [[] for _ in range(n_buckets)] + for r, lbl in zip(pool, labels): + buckets[lbl].append(r) + + # Sort within bucket by runtime ascending — stable spread picks. + for b in buckets: + b.sort(key=_baseline_ms) + + def _range(b): + if not b: + return "empty" + return (f"feat={int(_dotted(b[0], feature_path) or 0)}.." + f"{int(_dotted(b[-1], feature_path) or 0)} " + f"ms={int(_baseline_ms(b[0]))}..{int(_baseline_ms(b[-1]))}") + print("buckets: " + " | ".join( + f"c{i}({len(b)},{_range(b)})" for i, b in enumerate(buckets) + )) + + stage_sizes = cluster_cfg.get("stage_sizes") or {} + stage_clusters = cluster_cfg.get("stage_clusters") or {} + spread = cluster_cfg.get("spread", "quintile") + + for stage_name in sorted(stage_sizes.keys()): + n_pick = int(stage_sizes[stage_name]) + cluster_ids = stage_clusters.get(stage_name) or [] + merged = [] + for cid in cluster_ids: + if 0 <= cid < n_buckets: + merged.extend(buckets[cid]) + merged.sort(key=_baseline_ms) + picks = _pick_spread(merged, n_pick, spread) + sample_path = cache_dir / f"{stage_name}_sample.json" + criteria = (f"{method}-clusters={cluster_ids} feature={feature_path} " + f"spread={spread}") + sample_path.write_text( + json.dumps({ + "selection": f"{len(picks)} from {len(merged)} candidates", + "criteria": criteria, + "source": str(problems_jsonl.relative_to(bench_root.parent.parent)), + "sha256": [r["problem_sha256"] for r in picks], + "summary": [{ + "sha": r["problem_sha256"][:12], + "baseline_result": _baseline_result(r), + "baseline_ms": _baseline_ms(r), + feature_path: _dotted(r, feature_path), + } for r in picks], + }, indent=2) + "\n" + ) + print(f"wrote {sample_path.name} ({len(picks)} from clusters " + f"{cluster_ids})") + + +def main(argv=None): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("bench", help="bench dir name under input/ (e.g. cpsat-bench)") + args = ap.parse_args(argv) + bench_root = bench_paths.resolve_bench(args.bench) + build_samples(bench_root) + + +if __name__ == "__main__": + main() diff --git a/input/_lib/scorer.py b/input/_lib/scorer.py new file mode 100644 index 0000000000..6256b9ab49 --- /dev/null +++ b/input/_lib/scorer.py @@ -0,0 +1,255 @@ +""" +Unified scoring. Modes: + + speedup (z3 default): + combined = weighted_geomean(speedup) * solved_rate^2 * efficiency^stats_weight + speedup = baseline_ms / variant_ms + per-problem weight = baseline_ms (long problems dominate) + regression (baseline decisive, variant mismatch) contributes 1e-6. + + cost (cpsat default): + combined = unweighted_geomean(cost_ratio^cw * time_ratio) * solved_rate^2 * efficiency^sw + time_ratio = baseline_dtime / variant_dtime (when both sides report + deterministic_time; falls back to wall ratio) + cost_ratio = (baseline_obj + eps) / (variant_obj + eps) [minimize] + non-decisive variant: contributes its real (slow) time_ratio + (NOT a 1e-6 sentinel); solved_rate^2 penalizes. + uncomparable (baseline non-decisive): excluded from geomean entirely. + +Efficiency factor: cross-problem geomean of per-problem weighted geomean +over a configurable stat-key set, each ratio (baseline+1)/(variant+1) +clipped to [0.1, 10]. Mirror of the old per-bench score.py logic. + +Env overrides honored: + OPENEVOLVE_STATS_WEIGHT exponent on efficiency (default 0.333) + OPENEVOLVE_COST_WEIGHT exponent on cost_ratio (cost mode only) + OPENEVOLVE_TIME_METRIC "dtime" (default) | "wall" — cost mode only +""" +import math +import os + + +_RATIO_CLIP_LO = 0.1 +_RATIO_CLIP_HI = 10.0 +_COST_RATIO_CLIP_LO = 0.01 +_COST_RATIO_CLIP_HI = 100.0 +_COST_EPS = 1e-9 + + +def _efficiency(per_problem, stats_weights): + per_prob_effs = [] + for p in per_problem: + if p["result"] != p["baseline_result"]: + continue + bs = p.get("baseline_stats") or {} + vs = p.get("stats") or {} + log_sum = 0.0 + w_sum = 0.0 + for k, w in stats_weights.items(): + b = bs.get(k) + v = vs.get(k) + if b is None or v is None: + continue + r = (float(b) + 1.0) / (float(v) + 1.0) + r = max(_RATIO_CLIP_LO, min(_RATIO_CLIP_HI, r)) + log_sum += w * math.log(r) + w_sum += w + if w_sum > 0: + per_prob_effs.append(math.exp(log_sum / w_sum)) + if not per_prob_effs: + return 1.0, 0 + log_sum = sum(math.log(e) for e in per_prob_effs) + return math.exp(log_sum / len(per_prob_effs)), len(per_prob_effs) + + +def _stats_weight_env(default): + try: + v = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", str(default))) + except ValueError: + return 0.0 + return max(0.0, min(v, 2.0)) + + +def _score_speedup(per_problem, decided_set): + """ + z3-style: weighted geomean(speedup) * solved_rate^2. + Mismatch (decided baseline → wrong variant) = 1e-6 contribution + regression++. + """ + speedups = [] + weights = [] + solved = 0 + regressions = 0 + for p in per_problem: + baseline_decided = p["baseline_result"] in decided_set + match = p["result"] == p["baseline_result"] + w = max(float(p["baseline_ms"]), 1.0) + weights.append(w) + if match: + solved += 1 + speedups.append(p["baseline_ms"] / max(p["elapsed_ms"], 1)) + else: + speedups.append(1e-6) + if baseline_decided and p["result"] in decided_set: + regressions += 1 + if not speedups: + return 1.0, 1.0, 0.0, 0, 0, 0, 0, 0 + w_total = sum(weights) + log_sum = sum(w * math.log(s) for s, w in zip(speedups, weights)) + geomean = math.exp(log_sum / w_total) + solved_rate = solved / len(per_problem) + return (geomean, geomean, solved_rate, solved, regressions, + len(per_problem), 0, 0) + + +def _time_ratio(p, metric): + bs = p.get("baseline_stats") or {} + vs = p.get("stats") or {} + if metric == "dtime": + b_dt = bs.get("deterministic_time") + v_dt = vs.get("deterministic_time") + if b_dt and v_dt and b_dt > 0 and v_dt > 0: + return float(b_dt) / float(v_dt), "dtime" + return p["baseline_ms"] / max(p["elapsed_ms"], 1), "wall" + + +def _score_cost(per_problem, decisive_set, time_metric, cost_weight): + """ + cpsat-style: cost-aware geomean using deterministic_time when available. + Uncomparable (baseline non-decisive) is excluded from geomean. + """ + ratios = [] + wall_ratios = [] + solved = 0 + regressions = 0 + comparable = 0 + dtime_used = 0 + dtime_fallback = 0 + for p in per_problem: + if p["baseline_result"] not in decisive_set: + continue + comparable += 1 + v_ok = p["result"] in decisive_set + b_cost = p.get("baseline_objective") + v_cost = p.get("objective") + time_r, src = _time_ratio(p, time_metric) + wall_r = p["baseline_ms"] / max(p["elapsed_ms"], 1) + if time_metric == "dtime": + if src == "dtime": + dtime_used += 1 + else: + dtime_fallback += 1 + if v_ok: + solved += 1 + if b_cost is not None and v_cost is not None: + cost_r = (float(b_cost) + _COST_EPS) / (float(v_cost) + _COST_EPS) + cost_r = max(_COST_RATIO_CLIP_LO, min(_COST_RATIO_CLIP_HI, cost_r)) + ratios.append((cost_r ** cost_weight) * time_r) + wall_ratios.append((cost_r ** cost_weight) * wall_r) + else: + ratios.append(time_r) + wall_ratios.append(wall_r) + else: + ratios.append(time_r) + wall_ratios.append(wall_r) + regressions += 1 + if not ratios: + return 1.0, 1.0, 0.0, 0, 0, 0, 0, 0 + geomean = math.exp(sum(math.log(r) for r in ratios) / len(ratios)) + geomean_wall = math.exp(sum(math.log(r) for r in wall_ratios) / len(wall_ratios)) + solved_rate = solved / comparable + return (geomean, geomean_wall, solved_rate, solved, regressions, + comparable, dtime_used, dtime_fallback) + + +def score(per_problem, *, + mode="speedup", + decisive_results=("Sat", "Unsat"), + decided_results=None, + stats_weights=None, + stats_weight_default=0.333, + time_metric=None, + cost_weight=None): + """ + Unified scoring entry point. + + Args: + per_problem: list of dicts each with keys + sha, baseline_result, baseline_ms, baseline_stats, [baseline_objective], + result, elapsed_ms, stats, [objective] + mode: "speedup" or "cost" + decisive_results: tuple of result strings the SOLVER counts as decisive. + cpsat → ("OPTIMAL","FEASIBLE"); z3 → ("Sat","Unsat"). + decided_results: tuple of results that count as a "definitive answer" + for regression detection in speedup mode. Defaults to decisive_results. + stats_weights: {stat_key: weight} for efficiency factor. None → no + efficiency contribution. + stats_weight_default: default exponent on efficiency (env override wins). + time_metric: "dtime"|"wall" — cost mode only. Default → env or "dtime". + cost_weight: float — cost mode only. Default → env or 1.0. + + Returns metrics dict (always populated): + combined_score, geomean_speedup, geomean_wall_speedup, solved_rate, + regressions, solved, comparable, total, uncomparable, + efficiency, efficiency_pairs, stats_weight, + dtime_used, dtime_fallback + """ + n = len(per_problem) + if stats_weights is None: + stats_weights = {} + if decided_results is None: + decided_results = decisive_results + decisive_set = set(decisive_results) + decided_set = set(decided_results) + + if n == 0: + return { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "geomean_wall_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, "solved": 0, "comparable": 0, "total": 0, + "uncomparable": 0, + "efficiency": 1.0, "efficiency_pairs": 0, + "stats_weight": 0.0, + "dtime_used": 0, "dtime_fallback": 0, + } + + if mode == "cost": + if time_metric is None: + time_metric = (os.environ.get("OPENEVOLVE_TIME_METRIC", "dtime").lower()) + if time_metric not in ("dtime", "wall"): + time_metric = "dtime" + if cost_weight is None: + try: + cost_weight = float(os.environ.get("OPENEVOLVE_COST_WEIGHT", "1.0")) + except ValueError: + cost_weight = 1.0 + cost_weight = max(0.0, min(cost_weight, 2.0)) + (geomean, geomean_wall, solved_rate, solved, regressions, + comparable, dtime_used, dtime_fallback) = _score_cost( + per_problem, decisive_set, time_metric, cost_weight) + else: + (geomean, geomean_wall, solved_rate, solved, regressions, + comparable, dtime_used, dtime_fallback) = _score_speedup( + per_problem, decided_set) + + efficiency, eff_pairs = _efficiency(per_problem, stats_weights) + stats_weight = _stats_weight_env(stats_weight_default) + + combined = geomean * (solved_rate ** 2.0) * (efficiency ** stats_weight) + return { + "combined_score": float(combined), + "geomean_speedup": float(geomean), + "geomean_wall_speedup": float(geomean_wall), + "solved_rate": float(solved_rate), + "regressions": int(regressions), + "solved": int(solved), + "comparable": int(comparable), + "total": int(n), + "uncomparable": int(n - comparable), + "efficiency": float(efficiency), + "efficiency_pairs": int(eff_pairs), + "stats_weight": float(stats_weight), + "dtime_used": int(dtime_used), + "dtime_fallback": int(dtime_fallback), + } diff --git a/input/_lib/self_test.py b/input/_lib/self_test.py new file mode 100644 index 0000000000..e7378d2c8c --- /dev/null +++ b/input/_lib/self_test.py @@ -0,0 +1,128 @@ +""" +Generic BASELINE stage1 sanity test. Runs each stage1 problem with the +catalog `defaults` once and reports ratio vs the recorded baseline_ms. + +CLI: `python -m _lib.self_test ` + +OK ratio in [0.5, 2.0] +WARN ratio out of band +FAIL result mismatch / invalid_param +""" +import argparse +import json +import math +import pathlib +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed + +from _lib import bench_paths, params_catalog, runtime, subprocess_runner + + +def run_self_test(bench_root): + bench_root = pathlib.Path(bench_root).resolve() + adapter = bench_paths.load_adapter(bench_root) + catalog = params_catalog.load_for_bench(bench_root) + cache = bench_paths.cache_dir(bench_root) + raw_dir = bench_paths.raw_dir(bench_root) + problems_jsonl = bench_paths.problems_jsonl(bench_root) + worker = bench_paths.worker_path(bench_root) + + stage1 = cache / "stage1_sample.json" + if not stage1.exists(): + print(f"ERROR: {stage1} missing — run sampler first", file=sys.stderr) + return 2 + + shas = list(json.loads(stage1.read_text())["sha256"]) + idx = {} + with open(problems_jsonl) as f: + for line in f: + d = json.loads(line) + status = d.get(adapter.STATUS_FIELD) or {} + idx[d["problem_sha256"]] = { + "input_file": d[adapter.PROBLEM_FILE_FIELD], + "baseline_ms": status.get("elapsed_ms", 0), + "baseline_result": status.get("result"), + } + + tasks = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} missing from problems.jsonl", file=sys.stderr) + return 2 + path = raw_dir / meta["input_file"] + if not path.exists(): + print(f"ERROR: input missing: {path}", file=sys.stderr) + return 2 + tasks.append((i, sha, meta, path)) + + cores = runtime.core_range() + if cores is None: + cores = list(range(1, runtime.parallel_solvers( + bench_paths.config_path(bench_root), default=5) + 1)) + n_parallel = min(len(cores), len(tasks)) + cores = cores[:n_parallel] + + print(f"BASELINE self-test ({adapter.SOLVER_NAME}): {len(tasks)} stage1 " + f"problems, parallel={n_parallel} cores={cores}") + print() + + baseline = dict(catalog.defaults) + + def _solve(t): + i, sha, meta, path = t + timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) + core = cores[i % n_parallel] if cores else None + return i, sha, meta, subprocess_runner.run_solver( + worker_path=worker, problem_path=path, params=baseline, + timeout_s=timeout_s, cpu_core=core) + + t0 = time.monotonic() + results = [] + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futs = [ex.submit(_solve, t) for t in tasks] + for f in as_completed(futs): + results.append(f.result()) + elapsed = time.monotonic() - t0 + results.sort(key=lambda x: x[0]) + + print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" + f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} core status") + print("-" * 84) + fail = warn = 0 + for i, sha, meta, r in results: + got = r.get("result", "Unknown") + got_ms = int(r.get("elapsed_ms", 0)) + ratio = got_ms / max(meta["baseline_ms"], 1) + invalid = r.get("invalid_param") + if invalid: + status = f"FAIL(invalid={invalid})" + fail += 1 + elif got != meta["baseline_result"]: + status = "FAIL" + fail += 1 + elif not (0.5 <= ratio <= 2.0): + status = "WARN" + warn += 1 + else: + status = "OK" + print(f"{sha[:12]:<14}{str(meta['baseline_result']):<10}{str(got):<10}" + f"{int(meta['baseline_ms']):>10}{got_ms:>10}{ratio:>7.2f}x " + f"{cores[i % n_parallel]:>4} {status}") + + print() + print(f"wall-clock: {elapsed:.1f}s") + print(f"summary: {len(results) - fail - warn} ok, {warn} warn, {fail} fail") + return 0 if fail == 0 else 1 + + +def main(argv=None): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") + args = ap.parse_args(argv) + sys.exit(run_self_test(bench_paths.resolve_bench(args.bench))) + + +if __name__ == "__main__": + main() diff --git a/input/cpsat-bench/evolve/README.md b/input/cpsat-bench/evolve/README.md index 881cd9b9e6..0b78469826 100644 --- a/input/cpsat-bench/evolve/README.md +++ b/input/cpsat-bench/evolve/README.md @@ -1,309 +1,205 @@ -# cpsat-bench Parameter Tuning via OpenEvolve +# cpsat-bench — OR-tools CP-SAT 파라미터 튜닝 -Tune OR-tools CP-SAT (`ortools.sat.python.cp_model`) parameters by -evolutionary search on the `input/cpsat-bench/raw-data` dataset (85 OPTIMAL -instances stored as binary `CpModelProto`). Goal: minimize wall-clock vs -baseline while preserving feasibility / objective. +OR-tools CP-SAT (`ortools.sat.python.cp_model`) 파라미터를 진화적 탐색으로 +튜닝. 데이터셋: `input/cpsat-bench/raw-data/` (85개 OPTIMAL 인스턴스, 바이너리 +`CpModelProto`). 목표: baseline 대비 `deterministic_time` 최소화, 정답성 +(`OPTIMAL` / `FEASIBLE`) 유지. -> OpenEvolve concept primer: see `input/z3-bench/evolve/OPENEVOLVE_INTRO.md` — -> z3-bench is the canonical reference impl; the pattern here is identical -> (cost-mode scoring instead of decision-mode is the only difference). +플랫폼 전반 구조는 [`input/README.md`](../../README.md) 참고. 본 문서는 +cpsat-bench 고유 사항만 다룬다. -## Layout +## 디렉토리 구조 ``` input/cpsat-bench/ -├── raw-data/ # flat layout (mirrors z3-bench) -│ ├── load_script.sh # gitlab pkg 71 downloader -│ ├── .cpsat.pb # binary CpModelProto -│ └── ____seed0.meta.jsonl -├── problems.jsonl # built by build_samples.py +├── raw-data/ # .cpsat.pb + meta.jsonl +├── problems.jsonl # baseline 실행 기록 (855 rows) └── evolve/ - ├── README.md # this file - ├── config.yaml # OpenEvolve config + custom knobs - ├── run_phase.sh # phase runner (chmod +x) - ├── build_samples.py # stage{1..4} sample selection - ├── extract_best.py # per-phase winner extraction (1..4) - ├── prepare_phase_unified.py # materializes phase4 EVOLVE-BLOCK - ├── rebaseline_local.py # measure baseline on local box - ├── shared/ - │ ├── baseline_params.py # BASELINE + LOCKED - │ ├── score.py # cost mode - │ ├── runtime.py # config.yaml passthrough - │ ├── evaluator.py # cascade stages - │ ├── cpsat_runner.py # subprocess solver invoker - │ ├── _cpsat_solve_worker.py - │ ├── stage{1..4}_sample.json # small profile (cascade staging) - │ ├── stage1_large_sample.json # large profile (single hardest outlier) - │ └── local_baseline.json # built by rebaseline_local.py - ├── phase{1..4}_/ - │ └── initial_program.py # EVOLVE-BLOCK (top-level param tuning) - └── phase5_custom_subsolvers/ - └── initial_program.py # EVOLVE-BLOCK (adds custom subsolvers) + ├── config.yaml # bench / LLM / clustering / evaluation + ├── params.json # CP-SAT 파라미터 카탈로그 + ├── adapter.py # solver hooks + ├── _solve_worker.py # ortools 호출 subprocess + ├── phase1_search/ # search / subsolvers + ├── phase2_presolve/ # presolve / probing / symmetry + ├── phase3_lp_cuts/ # LP / cuts / MIP-bridge (W=8) + ├── phase4_unified/ # unified refinement (W=8, 자동 머터리얼) + ├── phase5_custom_subsolvers/ # custom subsolver portfolio (W=8) + └── cache/ # 생성물, 삭제 안전 + ├── stage{1..4}_sample.json + ├── local_baseline.json + ├── phase{N}_best.json + ├── phase{N}_buckets.json # SIZE_BUCKETS 결과 (opt-in) + └── phase{N}_stage3.json # STAGE3_OVERRIDES 결과 (opt-in) ``` -## Evaluation flow (cascade) +## 평가 흐름 -The cascade differs by profile — see [Profiles](#profiles-small-vs-large). -The **small** profile (default) is: +`config.yaml` `bench.evaluation`: -``` -LLM-mutated initial_program.py - ↓ -evaluator.py: - 1. get_params(problem=None, stage=...) → global dict (workers/locked) - 2. LOCKED-violation check (random_seed, num_search_workers, timeout_sec) - 3. stage1 (10 problems, runtime c1+c2 cluster centers): - get_params(problem=p, stage="stage1") per problem - each solve repeated 10× and averaged (dtime); invalid_param → early 0 - score → gate (cascade_thresholds[0]) → stage2 - 4. stage2 (10 problems, runtime c3+c4 cluster centers): same - 5. stage3 slot = _finalize_small(): merge cached stage1 + stage2 results - into ONE combined final score. No outlier stage3, no broad stage4. -``` +| 키 | 값 | +|---|---| +| `repeats` | 10 (10회 평균) | +| `score_mode` | `cost` (deterministic_time + cost_ratio) | +| `time_metric` | `dtime` | +| `enable_size_buckets` | `true` — 문제 크기별 override | +| `enable_outlier_stage` | `true` — stage3 outlier 전용 override | + +Cascade: stage1 (10문제, 작은-중간 클러스터) → stage2 (10문제) → stage3 +(5문제, outlier) → stage4 (20문제, 전체 spread). 각 stage gate는 +`cascade_thresholds`. + +비결정 변형 (UNKNOWN / INFEASIBLE)은 abort 안 함 — 실측 (느린) timeout +ratio가 점수에 반영 + `solved_rate^2` drop이 추가 penalty. -Non-feasible variants are NOT aborted — their real (slow) timeout ratio plus -a `solved_rate` drop is the penalty. Scoring uses `deterministic_time`. +## Clustering (config.yaml `bench.clustering`) -> The **large** profile bypasses staging entirely: every cascade entry point -> evaluates a single hardest-outlier set once (cache-backed). The default -> `build_samples.py` (no `--small`) still emits a 4-stage layout -> (stage3=outliers, stage4=broad) for ad-hoc analysis / `evaluate_stage4`, -> but the small cascade ignores stage3/4. +| 키 | 값 | +|---|---| +| `method` | `kmeans` | +| `feature` | `features.num_constraints` | +| `n_clusters` | 5 | +| `max_baseline_ms` | 120000 (> 120s outlier 제외) | +| `stage_sizes` | stage1=10, stage2=10, stage3=5, stage4=20 | +| `stage_clusters` | stage1=c0+c1, stage2=c2+c3, stage3=c4, stage4=전체 | -### Per-problem param resolution +`python -m _lib.sampler cpsat-bench`로 `cache/stage{1..4}_sample.json` 생성. -Each phase's `initial_program.py` exposes three evolution surfaces inside its -EVOLVE-BLOCK: +## Phase별 surface -| Surface | Applied when | Purpose | +각 phase `initial_program.py`의 EVOLVE-BLOCK에는 세 surface: + +| Surface | 적용 조건 | 용도 | |---|---|---| -| `GLOBAL_OVERRIDES` | every problem | baseline params for the phase | -| `SIZE_BUCKETS` | `num_constraints` matches the bucket's upper bound | trade off cuts / probing / subsolver mix by problem size (small <50k / mid 50–150k / large ≥150k) | -| `STAGE3_OVERRIDES` | `stage == "stage3"` AND `problem.is_outlier` | tune outlier-specific knobs without regressing normal problems | +| `GLOBAL_OVERRIDES` | 모든 문제 | phase 기본 튜닝 | +| `SIZE_BUCKETS` | `problem["size"]` (= num_constraints)이 bucket upper 미만 | 크기별 cuts / probing / subsolver mix tradeoff | +| `STAGE3_OVERRIDES` | `stage == "stage3"` AND `problem["is_outlier"]` | long-tail outlier 전용 | -Apply order inside `get_params()`: -`BASELINE → prior_phase_globals → GLOBAL_OVERRIDES → SIZE_BUCKETS match → -STAGE3_OVERRIDES (gated) → PHASE_LOCKED`. +`get_params(problem, stage)` 적용 순서: +`BASELINE → GLOBAL_OVERRIDES → SIZE_BUCKETS 매치 → STAGE3_OVERRIDES (gated) +→ PHASE_LOCKED`. -`is_outlier` is set from `shared/outliers.json`, generated by `build_samples.py` -from `Statistics/outliers_top.csv`. Reference for valid CP-SAT param names: -`shared/cpsat_params_reference.md` (275 fields, grouped by category). +`size` 값은 `adapter.get_problem_size(features)` (= `num_constraints`)에서 +나옴. ## Phase 5: custom subsolvers -Phases 1–4 tune **top-level** CP-SAT parameters. Phase 5 instead adds **custom -subsolvers** to the portfolio, leaving the inherited top-level config (phase4 -winner) untouched. - -Why a separate mechanism: a top-level param applies to *every* subsolver, -including the LNS workers. An expensive propagation technique enabled top-level -also fires inside LNS, making it useless; an objective-requiring config on an -objective-less model makes CP-SAT drop most/all subsolvers. Isolating the knob -in a single extra subsolver bounds the downside — if it doesn't help only that -one worker is slow; if it helps, that worker shares solutions / variable bounds -with the rest of the portfolio. +Phase 1-4가 top-level 파라미터를 튜닝하는 반면, Phase 5는 portfolio에 +**custom subsolver를 추가**한다 (inherited phase4 top-level config는 건드리지 +않음). -Evolve surface (`phase5_custom_subsolvers/initial_program.py` EVOLVE-BLOCK): +이유: top-level 파라미터는 모든 subsolver (LNS worker 포함)에 적용됨. +expensive propagation을 top-level에 켜면 LNS도 같이 비싸져 portfolio가 +무너짐. Isolated subsolver는 downside를 한 worker로 bound하면서, 도움이 +되면 solution / variable bound sharing으로 portfolio 전체에 lift. -| Surface | Applied when | Purpose | -|---|---|---| -| `CUSTOM_SUBSOLVERS` | every problem | portfolio additions for all problems | -| `STAGE3_CUSTOM_SUBSOLVERS` | `stage == "stage3"` AND `problem.is_outlier` | extra subsolvers for long-tail outliers | +Phase 5 EVOLVE-BLOCK: -Each entry is a dict: +| Surface | 적용 | +|---|---| +| `CUSTOM_SUBSOLVERS` | 모든 문제 | +| `STAGE3_CUSTOM_SUBSOLVERS` | stage3 outlier 전용 | +각 entry: ```python { - "name": "max_lp_heavy", # required, unique - "params": {"linearization_level": 2, "add_mir_cuts": True}, - "needs_objective": False, # optional; skip on objective-less models - "min_constraints": 50000, # optional inclusive lower gate - "max_constraints": None, # optional exclusive upper gate + "name": "max_lp_heavy", + "params": {"linearization_level": 2, "add_mir_cuts": True, + "max_num_cuts": 12000, "cut_level": 2}, + "min_constraints": 50000, + "max_constraints": None, } ``` -`get_params()` turns eligible entries into `subsolver_params` (a named -`SatParameters` set per subsolver) plus `extra_subsolvers` names, on top of the -inherited phase4 config. `needs_objective` entries are dropped when the model -has no objective (`shared/has_objective_cache.json`), avoiding portfolio -collapse. Locks: `random_seed=0`, `num_search_workers=8`, -`interleave_search=True` (the cross-worker sharing that makes an isolated -subsolver pay off requires it). - -The worker (`shared/_cpsat_solve_worker.py`) builds params on a standalone -`sat_parameters_pb2.SatParameters` proto and assigns it wholesale, so nested -`subsolver_params` messages apply on recent ortools (9.15+) where in-place -mutation of repeated messages is unsupported. Invalid subsolver fields surface -as `invalid_param: subsolver_params.`. - -Phase 5 is the terminal phase (no extract step). Phase 4 is therefore no longer -terminal: `run_phase.sh` materializes its EVOLVE-BLOCK before it runs (config -key `unified_prepare_before_dir`) and extracts `phase4_best.json` after, which -phase 5 inherits. - -## Quick start - -```bash -# 0) populate raw-data from gitlab package 71 (first time only) -cd input/cpsat-bench/raw-data && bash load_script.sh && cd - +`_solve_worker.py`가 `subsolver_params` 전체를 standalone proto로 빌드 후 +대입 — recent ortools (9.15+)의 nested repeated message in-place mutation +미지원 우회. -# 1) build sample files (re-run any time raw-data changes) -python input/cpsat-bench/evolve/build_samples.py - -# 2) sanity-check: does the runner reproduce baseline timings? -python input/cpsat-bench/evolve/shared/baseline_params.py - -# 3) optional: measure baseline on local box (captures objective_value -# for cost-mode scoring — first run picks it up automatically too) -python input/cpsat-bench/evolve/rebaseline_local.py - -# 4) run phases sequentially (small profile = historical run) -./input/run_phase.sh cpsat-bench 1 -./input/run_phase.sh cpsat-bench 2 -./input/run_phase.sh cpsat-bench 3 -./input/run_phase.sh cpsat-bench 4 # unified refinement (top-level params) -./input/run_phase.sh cpsat-bench 5 # custom subsolvers (inherits phase4_best) -# or all phases at once: -./input/run_phase.sh cpsat-bench -``` +Locked: `random_seed=0`, `num_search_workers=8`, `interleave_search=True` +(cross-worker sharing 전제). -After each non-final phase (1–4), `run_phase.sh` calls `extract_best.py` to -write `shared/phaseN_best.json`, which the next phase's `initial_program.py` -loads. Phase 5 is terminal (no extract). Running phase 5 standalone requires -`shared/phase4_best.json` — produced by phase 4, or regenerate with -`./input/run_phase.sh cpsat-bench 4 --extract-only`. +Phase 5는 terminal — extract 단계 없음. Phase 4가 `unified_prepare_before_dir` +target이라 `python -m _lib.prepare_phase cpsat-bench`로 미리 머터리얼됨. -## Profiles (`small` vs `large`) - -`run_phase.sh --profile ` switches between two independent -tuning tracks: - -| | small (default) | large | -|---|---|---| -| sample files | `stage1/2_sample.json` (stage3/4 empty) | `stage1_large_sample.json` (single sample) | -| phase1/2 workers | 1 | 8 | -| phase3/4 workers | 8 | 8 | -| cascade | stage1 → stage2 → **combined final** (no stage3/4) | single eval on all stages (cache-backed) | -| solve repeats | **10× per problem, averaged** | 1× | -| problem set | clustered fast (c1+c2) + mid (c3+c4) | top-`STAGE1_LARGE_N` outlier(s) sorted by `STAGE1_LARGE_SORT_BY` | -| output dir | `openevolve_output/` | `openevolve_output_large/` | - -Both profiles use **deterministic_time** as the primary score metric (wall is -diagnostic only) and treat a **non-feasible variant's real measured time** as -its ratio — a timed-out solve contributes its slow timeout ratio + a -`solved_rate` drop, never a fixed `1e-6` sentinel and never an abort. - -Profile sets `OPENEVOLVE_PROFILE` env var that: - -- `evaluator.py` reads to pick sample files and route the cascade: - - **small** → `evaluate_stage1` (stage1), `evaluate_stage2` (stage2), - `evaluate_stage3` = `_finalize_small()` which merges the cached stage1 + - stage2 per-problem results into one combined score (no stage3/4). Each - solve runs `N_REPEATS_SMALL` (=10) times and averages dtime/wall/counters - to damp multi-worker jitter (`OPENEVOLVE_SOLVE_REPEATS` overrides). - - **large** → every entry point dispatches to a single `_evaluate_large()` - over the outlier set (cache-backed, 1× solve). -- `rebaseline_local.py` reads to rebaseline only the active profile's sample set. -- `phase{1,2}_*/initial_program.py` reads to override `PHASE_LOCKED` - `num_search_workers=8` (default 1). - -Build samples per profile: +## Quick start ```bash -python build_samples.py # default: all 4 stages (stage3=outliers, stage4=broad) -python build_samples.py --small # small: stage1+stage2 only, stage3/4 empty -python build_samples.py --optimize-only # restrict pool to objective-bearing problems -``` - -`run_phase.sh --profile small` auto-passes `--small` to the build step. -Adjust `STAGE1_LARGE_N` / `STAGE1_LARGE_SORT_BY` in `build_samples.py` to -widen or re-rank the large outlier set. +# 1. raw-data 채우기 (최초 1회) +cd input/cpsat-bench/raw-data && bash load_script.sh && cd - -```bash -# large profile (all phases W=8, single hardest outlier) -./input/run_phase.sh cpsat-bench --profile large -./input/run_phase.sh cpsat-bench 1 --profile large # single phase +# 2. 전체 pipeline (sampler + rebaseline + 5 phases 순차) +./input/run_phase.sh cpsat-bench --pin 2-7 + +# 3. 단계별 +python -m _lib.sampler cpsat-bench # cache/stage{1..4}_sample.json +python -m _lib.self_test cpsat-bench # baseline sanity (stage1) +python -m _lib.rebaseline cpsat-bench # cache/local_baseline.json (10회 평균) +./input/run_phase.sh cpsat-bench 1 --pin 2-7 +./input/run_phase.sh cpsat-bench 2 --pin 2-7 +./input/run_phase.sh cpsat-bench 3 --pin 2-7 +./input/run_phase.sh cpsat-bench 4 --pin 2-7 +./input/run_phase.sh cpsat-bench 5 --pin 2-7 + +# 4. 최종 검증 — run_phase.sh가 마지막 phase 후 자동 생성한 final_program.py 사용 +python -m _lib.final_verify cpsat-bench \ + input/cpsat-bench/evolve/final_program.py ``` -`local_baseline.json` is shared across profiles (keyed by worker count); -running both profiles reuses each other's measurements where worker count -matches. +마지막 phase 완료 후 `_lib.finalize`가 자동 실행 → +`/evolve/final_program.py`에 phase5 best_program.py 복사. 이 파일이 +canonical evolved 결과. 수동 재생성: `python -m _lib.finalize cpsat-bench`. -> Note: `extract_best.py` writes a single `phaseN_best.json` per phase -> regardless of profile. Running both profiles back-to-back overwrites the -> previous profile's best file. Rename/move it manually if you want to keep -> both. +각 non-final phase 완료 후 `_lib.extract_best`가 +`cache/phaseN_best.json` (+ buckets / stage3) 자동 생성. +다음 phase는 그 파일을 inheritance source로 읽음. -## Resume from checkpoint +## Worker count 정책 -```bash -cd input/cpsat-bench/evolve/phase2_presolve/ -python /app/openevolve-run.py \ - initial_program.py \ - ../shared/evaluator.py \ - --config ../config.yaml \ - --checkpoint openevolve_output/checkpoints/checkpoint_50 \ - --iterations 100 -``` - -## Environment variables - -| variable | default | use | +| Phase | `num_search_workers` | 이유 | |---|---|---| -| `CLAUDE_CODE_OAUTH_TOKEN` / `OPENAI_API_KEY` | — | LLM credential (claude_code provider) | -| `OPENEVOLVE_PARALLEL_SOLVERS` | 1 | concurrent solver subprocesses per stage (taskset-pinned on Linux to cores 1..N). Each CP-SAT uses num_search_workers=8 internally — size accordingly. | -| `OPENEVOLVE_CORE_RANGE` | unset | explicit taskset core range `N-M` (overrides PARALLEL_SOLVERS for pinning; concurrency = range size). e.g. `2-7` → 6 workers on cores 2..7. `run_phase.sh --pin 2-7` is sugar for this. | -| `OPENEVOLVE_MAX_PROBLEMS` | unlimited | cap stage problem count (testing) | -| `OPENEVOLVE_STATS_WEIGHT` | 0.333 | exponent on efficiency factor (0 disables) | -| `OPENEVOLVE_COST_WEIGHT` | 1.0 | exponent on cost_ratio in cost-mode score (0 disables cost factor) | -| `OPENEVOLVE_PYTHON_BIN` | `sys.executable` | python used by solver worker | -| `OPENEVOLVE_PROFILE` | `small` | tuning track: `small` (cascade staging) or `large` (single outlier eval). Set automatically by `run_phase.sh --profile`. Drives sample file selection in `evaluator.py` / `rebaseline_local.py` and worker count override in phase1/2 `initial_program.py`. | -| `SKIP_REBASELINE` | 0 | skip per-host baseline remeasurement (reuse existing local_baseline.json) | +| 1 | 1 (small) / 8 (large profile) | 다른 knob noise 차단 | +| 2 | 1 (small) / 8 (large profile) | presolve clean signal | +| 3 | 8 | subsolver mix engaged | +| 4 | 8 | 통합 refinement | +| 5 | 8 | portfolio sharing 필요 | -## CPU pinning (Linux) +`OPENEVOLVE_PROFILE=large`로 phase 1/2도 W=8 운영 가능 (outlier 튜닝 트랙). -For stable wall-clock measurement, isolate cores via -`scripts/host-isolate-cores.sh start` (from the openevolve repo root) and -run the docker container with `./docker-run.sh dev -s cpsat --pin 1-6`. -The runner already pins each worker subprocess with `taskset -c `. - -## Score formula (cost mode) +## Score 공식 (cost mode) ``` -combined_score = geomean( (b_obj/v_obj)^COST_W * time_ratio ) +combined_score = geomean( (b_obj/v_obj)^COST_W * time_ratio ) * solved_rate^2 * efficiency^STATS_WEIGHT -time_ratio = baseline_dtime / variant_dtime (primary) - = baseline_ms / variant_ms (fallback when dtime missing) +time_ratio = baseline_dtime / variant_dtime (primary) + = baseline_ms / variant_ms (dtime 누락 시 fallback) +cost_ratio = (baseline_obj + eps) / (variant_obj + eps) ``` -- **Deterministic_time** (CP-SAT's hardware-independent work measure) is the - primary time metric. Wall-clock varies with CPU load / NUMA / thermal - state — using dtime removes that noise from the score so genuine knob - improvements are visible. `geomean_speedup` in the metrics dict is the - dtime ratio; `geomean_wall_speedup` is reported alongside as a - diagnostic. Override with `OPENEVOLVE_TIME_METRIC=wall` if needed. -- Fallback to wall when either side lacks `deterministic_time` in `stats` - (e.g. older local_baseline.json from before this change — rerun - `rebaseline_local.py` to refresh). -- All 85 baselines are OPTIMAL, so if the variant also reaches OPTIMAL, the - cost ratio collapses to 1.0 and score reduces to geomean(time speedup). -- Variants that bail to FEASIBLE-but-worse-objective are penalized via the - cost ratio; variants that bail to UNKNOWN/INFEASIBLE contribute 1e-6 to - the geomean (~60× penalty across stage1's 10 problems). -- Efficiency factor multiplies based on `num_conflicts` (weight 2.0) and - `num_branches` (weight 1.5) ratios vs baseline. +- `deterministic_time` 은 CP-SAT의 하드웨어 독립적 work measure. wall-clock + noise (CPU load / NUMA / thermal) 제거됨. `geomean_speedup` = dtime 기반, + `geomean_wall_speedup` = wall 기반 (진단용). +- 85 baseline 모두 OPTIMAL → variant도 OPTIMAL이면 cost_ratio = 1.0 → score + = geomean(time speedup). +- Variant가 FEASIBLE-but-worse-objective → cost_ratio < 1로 감점. +- Variant가 UNKNOWN/INFEASIBLE → solved_rate^2 drop + 실측 timeout ratio + contribution. +- Efficiency factor: `num_conflicts` (weight 2.0), `num_branches` (weight 1.5) + ratio. ## Locked params -`random_seed=0`, `num_search_workers` (per-phase: 1 in phase1/2, 8 in -phase3/4/5). Phase 5 additionally locks `interleave_search=True` (required for -the cross-worker sharing a custom subsolver depends on). +`random_seed=0` 전역. Phase별 `num_search_workers` lock. Phase 5는 추가로 +`interleave_search=True` lock. + +위반 시 `combined_score=0` + `locked_violated` artifact. 평가자가 +per-problem `get_params(problem, stage)` 호출 후 lock을 defensive하게 재적용 +— SIZE_BUCKETS / STAGE3_OVERRIDES로 우회 불가. + +## 참고 -Modifying any locked key in `get_params()` returns `combined_score=0` plus a -`locked_violated` artifact identifying the offending key. Per-problem -`get_params(problem, stage)` calls have locked keys and `num_search_workers` -re-pinned defensively by the evaluator after the call returns, so SIZE_BUCKETS -/ STAGE3_OVERRIDES cannot override them even by accident. +- 파라미터 카탈로그 + LLM prompt reference: `params.json` (rich schema — + type, range, default, desc). `_lib.params_catalog` 로 load + validate. + `config.yaml`의 `prompt.system_message`에 `{{params_reference}}` 토큰으로 + 삽입 가능 (prompt 자동 합성). +- 환경 변수: [`input/README.md`](../../README.md#environment-knobs) 참고. diff --git a/input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py b/input/cpsat-bench/evolve/_solve_worker.py similarity index 100% rename from input/cpsat-bench/evolve/shared/_cpsat_solve_worker.py rename to input/cpsat-bench/evolve/_solve_worker.py diff --git a/input/cpsat-bench/evolve/adapter.py b/input/cpsat-bench/evolve/adapter.py new file mode 100644 index 0000000000..386fae5063 --- /dev/null +++ b/input/cpsat-bench/evolve/adapter.py @@ -0,0 +1,38 @@ +""" +cpsat-bench solver hooks. Consumed by every _lib module via +bench_paths.load_adapter(). +""" + +SOLVER_NAME = "cpsat" + +# Field paths inside problems.jsonl entries. +PROBLEM_FILE_FIELD = "problem_filename" +STATUS_FIELD = "cpsat_status" # {"result", "elapsed_ms", "objective_value", ...} +STATS_FIELD = "cpsat_response_stats" # solver counters +FEATURES_FIELD = "features" # nested {"num_variables", "num_constraints", ...} +OBJECTIVE_FIELD = "objective_value" # path inside STATUS_FIELD + +# Result categorization. +DECISIVE_RESULTS = ("OPTIMAL", "FEASIBLE") +DECIDED_RESULTS = ("OPTIMAL", "FEASIBLE", "INFEASIBLE") + +# Solver counters surfaced into metrics / artifacts. +KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", + "wall_time", "user_time", "deterministic_time") + +# stats_weights for the efficiency factor (lifted from old cpsat score.py). +STATS_WEIGHTS = { + "num_conflicts": 2.0, + "num_branches": 1.5, +} + +# Score mode for _lib.scorer.score(). +SCORE_MODE = "cost" + +# Worker-count knob this solver uses (None when not applicable). +WORKERS_KEY = "num_search_workers" + + +def get_problem_size(features): + """Feature value used by the size-bucketing surface (SIZE_BUCKETS).""" + return int((features or {}).get("num_constraints") or 0) diff --git a/input/cpsat-bench/evolve/benchmark_final.py b/input/cpsat-bench/evolve/benchmark_final.py deleted file mode 100644 index dfadb990f5..0000000000 --- a/input/cpsat-bench/evolve/benchmark_final.py +++ /dev/null @@ -1,439 +0,0 @@ -""" -Repeated-trial benchmark of BASELINE vs final-best on the main test sample. - -For each problem in the sample, run BASELINE N times AND the optimized -program's params N times (default 20 each, back-to-back on the same core -to share warm-cache / system-noise envelope). Aggregate mean / median / -stddev / min / max per case and report speedup of variant vs baseline. - -Parallelism comes from config.yaml `parallel_solvers` (env -OPENEVOLVE_PARALLEL_SOLVERS overrides) or OPENEVOLVE_CORE_RANGE. Each -problem is pinned to one core; the 40 runs for that problem stay serial -on that core. Different problems run concurrently across cores. - -Usage: - python benchmark_final.py [--iters N] [--timeout S] - -Outputs (next to ): - benchmark_final.json summary metrics - benchmark_final_iterations.csv long-form: per-run row - benchmark_final_summary.csv per-problem aggregates - -Sample selection (same as final_verify.py): - 1. shared/final_sample.json — JSON file with {"sha256": [, ...]}. - 2. Fall back to ALL problems in problems.jsonl. -""" -import argparse -import csv -import importlib.util -import inspect -import json -import pathlib -import statistics -import sys -import time -from concurrent.futures import ThreadPoolExecutor, as_completed - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) - -from baseline_params import BASELINE, LOCKED # noqa: E402 -from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, core_range, alloc_core_blocks # noqa: E402 - -_BENCH_DIR = _HERE.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" -_OUTLIERS_JSON = _HERE / "shared" / "outliers.json" - -_DEFAULT_ITERS = 20 -_DEFAULT_TIMEOUT_S = 300 -_DECISIVE = ("OPTIMAL", "FEASIBLE") - - -def _load_outlier_shas(): - if not _OUTLIERS_JSON.exists(): - return set() - try: - d = json.loads(_OUTLIERS_JSON.read_text()) - except (json.JSONDecodeError, OSError): - return set() - return set(d.get("outliers") or {}) - - -def _supports_kwargs(fn, *kwargs): - try: - sig = inspect.signature(fn) - except (TypeError, ValueError): - return False - params_ = sig.parameters - if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params_.values()): - return True - return any(name in params_ for name in kwargs) - - -def _resolve_params(fn, problem, stage_name): - kwargs = {} - if _supports_kwargs(fn, "problem"): - kwargs["problem"] = problem - if _supports_kwargs(fn, "stage"): - kwargs["stage"] = stage_name - return fn(**kwargs) if kwargs else fn() - - -def _load_program(program_path): - spec = importlib.util.spec_from_file_location("program", program_path) - module = importlib.util.module_from_spec(spec) - spec.loader.exec_module(module) - if not hasattr(module, "get_params"): - print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) - sys.exit(2) - return module - - -def _load_problem_index(): - outliers = _load_outlier_shas() - idx = {} - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - sha = d["problem_sha256"] - features = d.get("features") or {} - idx[sha] = { - "sha": sha, - "problem_filename": d["problem_filename"], - "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), - "raw_result": (d.get("cpsat_status") or {}).get("result"), - "num_variables": int(features.get("num_variables") or 0), - "num_constraints": int(features.get("num_constraints") or 0), - "num_bool": int(features.get("num_bool") or 0), - "num_int": int(features.get("num_int") or 0), - "is_outlier": sha in outliers, - } - return idx - - -def _resolve_sample(idx): - if _FINAL_SAMPLE.exists(): - shas = list(json.loads(_FINAL_SAMPLE.read_text())["sha256"]) - source = f"shared/final_sample.json ({len(shas)} SHAs)" - else: - shas = list(idx.keys()) - source = f"problems.jsonl (full {len(shas)})" - metas = [] - for sha in shas: - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} from sample not in problems.jsonl", file=sys.stderr) - sys.exit(2) - pb = _RAW_DIR / meta["problem_filename"] - if not pb.exists(): - print(f"ERROR: missing {pb}", file=sys.stderr) - sys.exit(2) - metas.append((meta, pb)) - return metas, source - - -def _aggregate(runs): - """runs = list of dicts {elapsed_ms, result, objective?, timeout, stats?}. - Returns aggregate stats over only the decisive runs (others as 'failed'). - Tracks both wall (elapsed_ms) and deterministic_time aggregates.""" - decisive = [r for r in runs if r["result"] in _DECISIVE] - ms_list = [r["elapsed_ms"] for r in decisive] - dt_list = [(r.get("stats") or {}).get("deterministic_time") - for r in decisive] - dt_list = [d for d in dt_list if d is not None and d > 0] - obj_list = [r["objective"] for r in decisive - if r.get("objective") is not None] - agg = { - "n_total": len(runs), - "n_decisive": len(decisive), - "n_failed": len(runs) - len(decisive), - } - if ms_list: - agg["mean_ms"] = statistics.mean(ms_list) - agg["median_ms"] = statistics.median(ms_list) - agg["min_ms"] = min(ms_list) - agg["max_ms"] = max(ms_list) - agg["stddev_ms"] = statistics.stdev(ms_list) if len(ms_list) > 1 else 0.0 - else: - agg.update({"mean_ms": 0, "median_ms": 0, "min_ms": 0, "max_ms": 0, "stddev_ms": 0.0}) - if dt_list: - agg["mean_dt"] = statistics.mean(dt_list) - agg["median_dt"] = statistics.median(dt_list) - agg["stddev_dt"] = statistics.stdev(dt_list) if len(dt_list) > 1 else 0.0 - agg["n_dt"] = len(dt_list) - else: - agg.update({"mean_dt": 0, "median_dt": 0, "stddev_dt": 0.0, "n_dt": 0}) - if obj_list: - agg["mean_obj"] = statistics.mean(obj_list) - agg["min_obj"] = min(obj_list) - agg["max_obj"] = max(obj_list) - return agg - - -def _run_repeat(problem_path, params, n, timeout_s, core, tag): - runs = [] - for i in range(n): - r = run_cpsat(problem_path, params, timeout_s, cpu_core=core) - runs.append({ - "iter": i + 1, - "elapsed_ms": int(r.get("elapsed_ms", 0)), - "result": r.get("result", "Unknown"), - "objective": r.get("objective"), - "timeout": bool(r.get("timeout")), - "invalid_param": r.get("invalid_param"), - "error": r.get("error"), - "stats": r.get("stats") or {}, - }) - return runs - - -def main(): - ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) - ap.add_argument("program", help="path to best_program.py (must expose get_params())") - ap.add_argument("--iters", type=int, default=_DEFAULT_ITERS, - help=f"runs per (problem, variant) pair (default {_DEFAULT_ITERS})") - ap.add_argument("--timeout", type=int, default=_DEFAULT_TIMEOUT_S, - help=f"per-run timeout in seconds (default {_DEFAULT_TIMEOUT_S})") - args = ap.parse_args() - - program_path = pathlib.Path(args.program).resolve() - if not program_path.exists(): - print(f"ERROR: {program_path} not found", file=sys.stderr) - return 2 - - program = _load_program(program_path) - # No-arg path resolves the "global" params used for worker/block sizing, - # locked-key validation, and summary diff stats. Per-problem variants - # (SIZE_BUCKETS + STAGE3_OVERRIDES) are resolved inside _worker below. - variant_params = _resolve_params(program.get_params, None, "final") - _phase_locked = getattr(program, "PHASE_LOCKED", None) - _lock = _phase_locked if isinstance(_phase_locked, dict) else LOCKED - violations = {k: variant_params.get(k) for k in _lock - if variant_params.get(k) != _lock[k]} - if violations: - print(f"ERROR: locked params violated: {violations}", file=sys.stderr) - return 2 - - idx = _load_problem_index() - metas, source = _resolve_sample(idx) - - cores = core_range() - if cores is None: - cores = list(range(1, parallel_solvers(default=1) + 1)) - workers_per_solve = int(variant_params.get("num_search_workers", 1) or 1) - blocks = alloc_core_blocks(cores, workers_per_solve) - if not blocks: - blocks = [list(cores)] if cores else [None] - n_parallel = min(len(blocks), len(metas)) - blocks = blocks[:n_parallel] - baseline_cores = [(b[0] if isinstance(b, (list, tuple)) and b else b) for b in blocks] - - n_iters = args.iters - timeout_s = args.timeout - - n_total_runs = len(metas) * n_iters * 2 - print(f"benchmark final: {program_path}") - print(f" sample : {source}") - print(f" iters per case : {n_iters} baseline + {n_iters} variant = {n_iters * 2}") - print(f" total runs : {len(metas)} problems × {n_iters * 2} = {n_total_runs}") - print(f" per-run timeout : {timeout_s}s") - print(f" parallel solvers: {n_parallel} variant_workers={workers_per_solve} blocks={blocks}") - print(f" params diff : {sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} keys differ from BASELINE") - print() - - def _worker(idx_meta): - i, meta, pb = idx_meta - slot = i % n_parallel - v_core = blocks[slot] - b_core = baseline_cores[slot] - # Per-problem param resolution. Locked + worker count re-pinned to - # match `variant_params` so core blocks stay consistent. - per_params = _resolve_params(program.get_params, meta, "final") - for k, v in _lock.items(): - per_params[k] = v - if "num_search_workers" in variant_params: - per_params["num_search_workers"] = variant_params["num_search_workers"] - t0 = time.monotonic() - baseline_runs = _run_repeat(pb, BASELINE, n_iters, timeout_s, b_core, "baseline") - variant_runs = _run_repeat(pb, per_params, n_iters, timeout_s, v_core, "variant") - dt = time.monotonic() - t0 - return i, meta, baseline_runs, variant_runs, v_core, dt - - tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] - t_start = time.monotonic() - completed = [] - if n_parallel == 1: - for t in tasks: - completed.append(_worker(t)) - i, meta, b_runs, v_runs, core, dt = completed[-1] - b_agg = _aggregate(b_runs) - v_agg = _aggregate(v_runs) - sp_w = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 - sp_d = (b_agg["mean_dt"] / max(v_agg["mean_dt"], 1)) if v_agg["mean_dt"] else 0 - sp_main = sp_d if sp_d else sp_w - print(f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} core={core} " - f"base_mean={b_agg['mean_ms']:>7.0f}ms (n_ok={b_agg['n_decisive']}/{n_iters}) " - f"variant_mean={v_agg['mean_ms']:>7.0f}ms (n_ok={v_agg['n_decisive']}/{n_iters}) " - f"speedup={sp_main:.2f}x[{'dt' if sp_d else 'wall'}] wall={sp_w:.2f}x (took {dt:.1f}s)", - flush=True) - else: - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_worker, t) for t in tasks] - for fut in as_completed(futures): - completed.append(fut.result()) - i, meta, b_runs, v_runs, core, dt = completed[-1] - b_agg = _aggregate(b_runs) - v_agg = _aggregate(v_runs) - sp = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 - print(f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} core={core} " - f"base_mean={b_agg['mean_ms']:>7.0f}ms (n_ok={b_agg['n_decisive']}/{n_iters}) " - f"variant_mean={v_agg['mean_ms']:>7.0f}ms (n_ok={v_agg['n_decisive']}/{n_iters}) " - f"speedup={sp:.2f}x (took {dt:.1f}s)", - flush=True) - completed.sort(key=lambda x: x[0]) - wall = time.monotonic() - t_start - - # ----- write CSVs ----- - out_dir = program_path.parent - iter_csv = out_dir / "benchmark_final_iterations.csv" - summary_csv = out_dir / "benchmark_final_summary.csv" - json_path = out_dir / "benchmark_final.json" - - with open(iter_csv, "w", newline="") as f: - w = csv.writer(f) - w.writerow(["sha", "variant", "iter", "elapsed_ms", "result", - "objective", "timeout", "invalid_param", "error"]) - for _, meta, b_runs, v_runs, _, _ in completed: - sha = meta["sha"] - for r in b_runs: - w.writerow([sha, "baseline", r["iter"], r["elapsed_ms"], r["result"], - r["objective"] if r["objective"] is not None else "", - int(r["timeout"]), - r["invalid_param"] or "", - (r["error"] or "")[:200]]) - for r in v_runs: - w.writerow([sha, "variant", r["iter"], r["elapsed_ms"], r["result"], - r["objective"] if r["objective"] is not None else "", - int(r["timeout"]), - r["invalid_param"] or "", - (r["error"] or "")[:200]]) - - summary_rows = [] - for _, meta, b_runs, v_runs, _, _ in completed: - b_agg = _aggregate(b_runs) - v_agg = _aggregate(v_runs) - mean_sp_w = (b_agg["mean_ms"] / max(v_agg["mean_ms"], 1)) if v_agg["mean_ms"] else 0 - med_sp_w = (b_agg["median_ms"] / max(v_agg["median_ms"], 1)) if v_agg["median_ms"] else 0 - mean_sp_d = (b_agg["mean_dt"] / max(v_agg["mean_dt"], 1)) if v_agg["mean_dt"] else 0 - med_sp_d = (b_agg["median_dt"] / max(v_agg["median_dt"], 1)) if v_agg["median_dt"] else 0 - summary_rows.append({ - "sha": meta["sha"], - "n_iters": n_iters, - "baseline_n_decisive": b_agg["n_decisive"], - "baseline_mean_ms": round(b_agg["mean_ms"], 1), - "baseline_median_ms": round(b_agg["median_ms"], 1), - "baseline_min_ms": round(b_agg["min_ms"], 1), - "baseline_max_ms": round(b_agg["max_ms"], 1), - "baseline_stddev_ms": round(b_agg["stddev_ms"], 1), - "baseline_mean_dt": round(b_agg["mean_dt"], 3), - "baseline_median_dt": round(b_agg["median_dt"], 3), - "baseline_n_dt": b_agg["n_dt"], - "variant_n_decisive": v_agg["n_decisive"], - "variant_mean_ms": round(v_agg["mean_ms"], 1), - "variant_median_ms": round(v_agg["median_ms"], 1), - "variant_min_ms": round(v_agg["min_ms"], 1), - "variant_max_ms": round(v_agg["max_ms"], 1), - "variant_stddev_ms": round(v_agg["stddev_ms"], 1), - "variant_mean_dt": round(v_agg["mean_dt"], 3), - "variant_median_dt": round(v_agg["median_dt"], 3), - "variant_n_dt": v_agg["n_dt"], - "mean_speedup": round(mean_sp_w, 3), # wall (legacy) - "median_speedup": round(med_sp_w, 3), # wall (legacy) - "mean_dt_speedup": round(mean_sp_d, 3), # deterministic (primary) - "median_dt_speedup": round(med_sp_d, 3), - }) - - with open(summary_csv, "w", newline="") as f: - w = csv.DictWriter(f, fieldnames=list(summary_rows[0].keys())) - w.writeheader() - w.writerows(summary_rows) - - # ----- overall aggregate ----- - # speedup geomean over problems with both means valid. Compute both wall - # and deterministic-time geomeans; dt is preferred when populated for both - # baseline + variant on every (problem, iter) pair. - import math - valid = [r for r in summary_rows - if r["baseline_mean_ms"] > 0 and r["variant_mean_ms"] > 0 - and r["baseline_n_decisive"] > 0 and r["variant_n_decisive"] > 0] - valid_dt = [r for r in valid - if r["mean_dt_speedup"] > 0 and r["median_dt_speedup"] > 0] - if valid: - geo_mean = math.exp(sum(math.log(r["mean_speedup"]) for r in valid) / len(valid)) - geo_med = math.exp(sum(math.log(r["median_speedup"]) for r in valid) / len(valid)) - arith_mean = sum(r["mean_speedup"] for r in valid) / len(valid) - else: - geo_mean = geo_med = arith_mean = 0.0 - if valid_dt: - geo_mean_dt = math.exp(sum(math.log(r["mean_dt_speedup"]) - for r in valid_dt) / len(valid_dt)) - geo_med_dt = math.exp(sum(math.log(r["median_dt_speedup"]) - for r in valid_dt) / len(valid_dt)) - else: - geo_mean_dt = geo_med_dt = 0.0 - - n_baseline_failed = sum(r["baseline_n_decisive"] < n_iters for r in summary_rows) - n_variant_failed = sum(r["variant_n_decisive"] < n_iters for r in summary_rows) - n_baseline_all_failed = sum(r["baseline_n_decisive"] == 0 for r in summary_rows) - n_variant_all_failed = sum(r["variant_n_decisive"] == 0 for r in summary_rows) - - json_path.write_text(json.dumps({ - "program": str(program_path), - "sample_source": source, - "iters_per_case": n_iters, - "timeout_s": timeout_s, - "n_parallel": n_parallel, - "cores": cores, - "wall_clock_s": round(wall, 1), - "n_problems": len(metas), - "summary": { - "geomean_dt_speedup_mean": round(geo_mean_dt, 3), # primary - "geomean_dt_speedup_median": round(geo_med_dt, 3), - "geomean_wall_speedup_mean": round(geo_mean, 3), # diagnostic - "geomean_wall_speedup_median": round(geo_med, 3), - "arith_mean_wall_speedup": round(arith_mean, 3), - "n_problems_with_valid_speedup": len(valid), - "n_problems_with_valid_dt_speedup": len(valid_dt), - "n_baseline_partial_fail": n_baseline_failed, - "n_baseline_total_fail": n_baseline_all_failed, - "n_variant_partial_fail": n_variant_failed, - "n_variant_total_fail": n_variant_all_failed, - }, - "per_problem": summary_rows, - }, indent=2) + "\n") - - print() - print("== overall (mean-of-means across problems) ==") - print(f" problems with valid speedup : wall={len(valid)}/{len(metas)} dt={len(valid_dt)}/{len(metas)}") - print(f" geomean dt-speedup (mean) : {geo_mean_dt:.3f}x (primary, hardware-independent)") - print(f" geomean dt-speedup (median) : {geo_med_dt:.3f}x") - print(f" geomean wall-speedup (mean) : {geo_mean:.3f}x (diagnostic)") - print(f" geomean wall-speedup (med) : {geo_med:.3f}x") - print(f" arith mean wall-speedup : {arith_mean:.3f}x") - print(f" baseline partial-fail cases : {n_baseline_failed} (≥1 of {n_iters} runs non-decisive)") - print(f" baseline total-fail cases : {n_baseline_all_failed} (all {n_iters} runs non-decisive)") - print(f" variant partial-fail cases : {n_variant_failed}") - print(f" variant total-fail cases : {n_variant_all_failed}") - print(f" wall-clock : {wall:.1f}s") - print() - print(f" wrote {iter_csv}") - print(f" wrote {summary_csv}") - print(f" wrote {json_path}") - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/input/cpsat-bench/evolve/build_samples.py b/input/cpsat-bench/evolve/build_samples.py deleted file mode 100644 index 978be19d3c..0000000000 --- a/input/cpsat-bench/evolve/build_samples.py +++ /dev/null @@ -1,607 +0,0 @@ -""" -Build problems.jsonl + stage1/2/3/4 sample files from raw-data/. - -Layout (flat, mirroring z3-bench): - raw-data/.cpsat.pb binary CpModelProto - raw-data/____seed0.meta.jsonl one-line JSON with - problem_sha256, problem_filename, cpsat_applied_params, - cpsat_status (result, elapsed_ms), cpsat_response_stats, ... - -problems.jsonl is the full aggregate; sample selection applies a runtime cap -(MAX_BASELINE_MS) and a Tukey IQR outlier filter (k=3.0) so stage quintile -boundaries don't get distorted by long-tail monsters. - -Stages (decisive = OPTIMAL or FEASIBLE; this dataset is all OPTIMAL): - Runtime is clustered into N_BUCKETS via 1D k-means (Lloyd's). Clusters - are ordered by ascending centroid (c1=fastest, c5=slowest), then merged. - - stage1 (5) center pick from clusters c1+c2 (fast group) — default-param sanity - stage2 (5) center pick from clusters c3+c4 (mid group) — default-param sanity - stage3 (5) outliers from Statistics/outliers_top.csv — per-problem tune target - (top residual, capped at STAGE3_MAX_BASELINE_MS — higher than - MAX_BASELINE_MS so genuinely slow outliers enter the tune set; - still bounded so a single evolve iteration finishes) - stage4 (20) quintile-spread broad sample, dedup vs stage1-3 - -Stage3 sample also writes shared/outliers.json (sha -> {residual, baseline_ms, -n_cons, n_vars}) so the evaluator can mark `is_outlier` on problem records and -phase initial_program.py can branch STAGE3_OVERRIDES on it. -""" -import argparse -import csv -import json -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_BENCH = _HERE.parent -_RAW = _BENCH / "raw-data" -_PROBLEMS = _BENCH / "problems.jsonl" -_STAGE1 = _HERE / "shared" / "stage1_sample.json" -_STAGE2 = _HERE / "shared" / "stage2_sample.json" -_STAGE3 = _HERE / "shared" / "stage3_sample.json" -_STAGE4 = _HERE / "shared" / "stage4_sample.json" -_OUTLIERS_JSON = _HERE / "shared" / "outliers.json" - -# Large-profile sample (selected via OPENEVOLVE_PROFILE=large). Single file -# only — large profile bypasses cascade staging entirely; evaluator dispatches -# every stage entry point to a single outlier-set evaluation. File name keeps -# the stage1_large prefix so legacy callers (and evaluator's path resolver) -# continue to find it. -_STAGE1_LARGE = _HERE / "shared" / "stage1_large_sample.json" - -# outliers_top.csv lives under cpsat-bench/Statistics/ (or its rename "1/"). -_OUTLIERS_CSV_CANDIDATES = [ - _BENCH / "Statistics" / "outliers_top.csv", - _BENCH / "1" / "outliers_top.csv", -] - -STAGE1_N = 10 -STAGE2_N = 10 -STAGE3_N = 5 -STAGE4_N = 20 -N_BUCKETS = 5 -# Large profile: pick from outliers_top.csv. -# STAGE1_LARGE_N how many outliers in the sample -# STAGE1_LARGE_SORT_BY "elapsed_ms" → slowest first (large-runtime tuning); -# "residual" → most out-of-line vs predicted size. -# Make sure evaluator.timeout in config.yaml covers worst-case -# baseline_ms * 1.3 (= variant timeout). -STAGE1_LARGE_N = 1 -STAGE1_LARGE_SORT_BY = "elapsed_ms" -# Global cap for stage1/2/4 sample pool. Anything slower than 2 min skews -# the quintile clustering. -MAX_BASELINE_MS = 120_000 -# Stage3 (outlier-only) gets a higher cap so genuinely slow outliers can -# enter the tune set. 25 min ≈ what one stage3 problem can chew through -# under W=8 (raw-data times are W=8-equivalent). Variant timeout = -# baseline_ms * 1.3 in evaluator. -STAGE3_MAX_BASELINE_MS = 1_500_000 -# Stage3 target-based pick — outliers in outliers_top.csv span 4 orders of -# magnitude (180ms .. 5.7M ms). Picking by residual alone produces a sample -# with wild runtime variance, which makes per-iteration scoring noisy. Instead -# pick STAGE3_N outliers whose baseline elapsed_ms is closest to -# STAGE3_TARGET_MS, dropping any whose ratio to target exceeds -# STAGE3_TARGET_TOL_RATIO (e.g. target=20000 tol=5.0 → accepts 4000..100000ms). -STAGE3_TARGET_MS = 500_000 -STAGE3_TARGET_TOL_RATIO = 500.0 -OUTLIER_IQR_K = 3.0 - -STAGE1_STRATEGY = "center" -STAGE2_STRATEGY = "center" -STAGE3_STRATEGY = "target_ms" # pick outliers nearest STAGE3_TARGET_MS -STAGE4_STRATEGY = "spread" - -_DECISIVE_RESULTS = {"OPTIMAL", "FEASIBLE"} - - -def _scan_raw(): - """Glob raw-data/*.meta.jsonl (one-line JSON per problem). The meta - already contains problem_sha256 + problem_filename; no derivation needed.""" - rows = [] - for path in sorted(_RAW.glob("*.meta.jsonl")): - with open(path) as f: - line = f.readline().strip() - if not line: - continue - d = json.loads(line) - rows.append(d) - return rows - - -def _has_objective_set(): - """Scan raw-data/*.cpsat.pb once and return the set of SHAs whose - CpModelProto carries an objective (either `objective` or - `floating_point_objective`). Cached to shared/has_objective_cache.json so - re-runs skip the parse cost.""" - cache_path = _HERE / "shared" / "has_objective_cache.json" - pb_files = sorted(_RAW.glob("*.cpsat.pb")) - pb_count = len(pb_files) - - if cache_path.exists(): - try: - cache = json.loads(cache_path.read_text()) - if cache.get("pb_count") == pb_count: - return set(cache.get("with_objective") or []) - except (json.JSONDecodeError, OSError): - pass - - try: - from ortools.sat import cp_model_pb2 - except ImportError as e: - print(f"warning: ortools missing; cannot filter by objective: {e}", - file=sys.stderr) - return None - - with_obj = [] - for p in pb_files: - m = cp_model_pb2.CpModelProto() - m.ParseFromString(p.read_bytes()) - if m.HasField("objective") or m.HasField("floating_point_objective"): - # Strip ".cpsat.pb" suffix to recover bare SHA (matches - # problem_sha256 in meta.jsonl). pathlib's .stem only drops one - # extension, leaving ".cpsat". - with_obj.append(p.name[:-len(".cpsat.pb")]) - cache_path.write_text(json.dumps( - {"pb_count": pb_count, "with_objective": with_obj}, indent=2) + "\n") - print(f"objective scan: {len(with_obj)}/{pb_count} problems have objective" - f" (cached at {cache_path.relative_to(_BENCH.parent)})") - return set(with_obj) - - -def _runtime_key(d): - return (d.get("cpsat_status") or {}).get("elapsed_ms", 0) - - -def _result_key(d): - return (d.get("cpsat_status") or {}).get("result") - - -def _id_key(d): - return d["problem_sha256"] - - -def _drop_runtime_outliers(rows, k=OUTLIER_IQR_K): - ms_sorted = sorted(_runtime_key(d) for d in rows if _runtime_key(d) > 0) - n = len(ms_sorted) - if n < 4: - return list(rows), [] - q1 = ms_sorted[n // 4] - q3 = ms_sorted[(3 * n) // 4] - iqr = q3 - q1 - lo, hi = q1 - k * iqr, q3 + k * iqr - kept, dropped = [], [] - for d in rows: - ms = _runtime_key(d) - if ms <= 0 or lo <= ms <= hi: - kept.append(d) - else: - dropped.append(d) - return kept, dropped - - -def _pick(strategy, sorted_rows, n_pick): - if strategy == "center": - return _center_pick(sorted_rows, n_pick) - if strategy == "spread": - return _quintile_spread(sorted_rows, n_pick, N_BUCKETS) - if strategy == "outliers": - # stage3 uses _pick_outliers() directly; this branch should not fire. - raise ValueError("'outliers' strategy requires _pick_outliers(), not _pick()") - raise ValueError(f"unknown sample strategy: {strategy!r}") - - -def _find_outliers_csv(): - for p in _OUTLIERS_CSV_CANDIDATES: - if p.exists(): - return p - return None - - -def _load_outliers_top(csv_path): - """Read outliers_top.csv -> ordered list of {sha, residual, elapsed_ms, - n_vars, n_cons}, sorted by descending residual (already the file's order).""" - rows = [] - with open(csv_path) as f: - reader = csv.DictReader(f) - for r in reader: - try: - rows.append({ - "sha": r["_sha"], - "residual": float(r.get("_residual") or 0.0), - "elapsed_ms": float(r.get("_elapsed_ms") or 0.0), - "n_vars": int(float(r.get("_num_variables") or 0)), - "n_cons": int(float(r.get("_num_constraints") or 0)), - }) - except (KeyError, ValueError) as e: - print(f"warning: skipping malformed outlier row: {e}", - file=sys.stderr) - continue - rows.sort(key=lambda d: -d["residual"]) - return rows - - -def _pick_outliers(rows_by_sha, csv_path, all_rows=None, n_pick=None, - target_ms=None, tol_ratio=None): - """Target-ms pick for stage3: prefer outliers_top.csv entries whose - baseline elapsed_ms is closest to target_ms; if fewer than n_pick survive - the tol_ratio filter, backfill from the full problems pool (non-outlier - problems also near target_ms). - - Returns (picks, csv_rows). picks sorted by ascending |elapsed_ms-target_ms|. - csv_rows is the full csv (for outliers.json metadata). - - Returns (None, []) when csv missing — caller falls back to slow-cluster - center pick.""" - if csv_path is None: - print("warning: outliers_top.csv not found — falling back to " - "slow-cluster center pick for stage3", file=sys.stderr) - return None, [] - - if n_pick is None: - n_pick = STAGE3_N - if target_ms is None: - target_ms = STAGE3_TARGET_MS - if tol_ratio is None: - tol_ratio = STAGE3_TARGET_TOL_RATIO - - csv_rows = _load_outliers_top(csv_path) - - def _within_tol(ms): - if ms <= 0 or ms > STAGE3_MAX_BASELINE_MS: - return False - return max(ms / target_ms, target_ms / ms) <= tol_ratio - - # Pass 1: outliers within tol. - outlier_eligible = [c for c in csv_rows - if c["sha"] in rows_by_sha and _within_tol(c["elapsed_ms"])] - outlier_eligible.sort(key=lambda c: abs(c["elapsed_ms"] - target_ms)) - outlier_pick_csv = outlier_eligible[:n_pick] - picks = [rows_by_sha[c["sha"]] for c in outlier_pick_csv] - used_shas = {c["sha"] for c in outlier_pick_csv} - - # Pass 2: backfill from full problems pool near target_ms (non-outliers). - backfill_picks = [] - if len(picks) < n_pick and all_rows is not None: - decisive = (d for d in all_rows - if _id_key(d) not in used_shas - and _within_tol(_runtime_key(d)) - and _result_key(d) in _DECISIVE_RESULTS) - backfill_pool = sorted(decisive, - key=lambda d: abs(_runtime_key(d) - target_ms)) - need = n_pick - len(picks) - backfill_picks = backfill_pool[:need] - picks.extend(backfill_picks) - - print(f"outliers stage3: from {csv_path.relative_to(_BENCH.parent)}, " - f"target={target_ms}ms tol={tol_ratio}x cap={STAGE3_MAX_BASELINE_MS}ms " - f"→ {len(picks)}/{n_pick} " - f"(outliers={len(outlier_pick_csv)}, backfill={len(backfill_picks)})") - for c in outlier_pick_csv: - ratio = max(c["elapsed_ms"] / target_ms, target_ms / c["elapsed_ms"]) - print(f" outlier {c['sha'][:12]} {int(c['elapsed_ms']):>10}ms " - f"Δ={int(c['elapsed_ms'] - target_ms):+d}ms " - f"ratio={ratio:.2f}x residual={c['residual']:.3f}") - for d in backfill_picks: - ms = _runtime_key(d) - ratio = max(ms / target_ms, target_ms / ms) - print(f" backfill {_id_key(d)[:12]} {int(ms):>10}ms " - f"Δ={int(ms - target_ms):+d}ms ratio={ratio:.2f}x") - if len(picks) < n_pick: - print(f" warning: only {len(picks)} candidates within tol={tol_ratio}x " - f"of {target_ms}ms — widen STAGE3_TARGET_TOL_RATIO or change " - f"STAGE3_TARGET_MS to fill stage3") - - return picks, csv_rows - - -def _write_outliers_json(picks, csv_all): - """Write shared/outliers.json: {sha: {residual, elapsed_ms, n_vars, n_cons}} - for every entry in outliers_top.csv (not just the stage3 picks). The - evaluator uses this map to set `is_outlier` on problem records.""" - by_sha = {c["sha"]: { - "residual": c["residual"], - "elapsed_ms": c["elapsed_ms"], - "n_vars": c["n_vars"], - "n_cons": c["n_cons"], - } for c in (csv_all or [])} - stage3_shas = [_id_key(d) for d in picks] - payload = { - "stage3_sample": stage3_shas, - "outliers": by_sha, - } - _OUTLIERS_JSON.write_text(json.dumps(payload, indent=2) + "\n") - print(f"wrote {_OUTLIERS_JSON.relative_to(_BENCH.parent)} " - f"({len(by_sha)} outliers, stage3_sample={len(stage3_shas)})") - - -def _center_pick(sorted_rows, n_pick): - total = len(sorted_rows) - if total == 0 or n_pick <= 0: - return [] - if total <= n_pick: - return list(sorted_rows) - start = (total - n_pick) // 2 - return sorted_rows[start:start + n_pick] - - -def _cluster_runtime(sorted_rows, k, max_iter=100): - """1D Lloyd's k-means on runtime. Input must be runtime-sorted ascending. - Returns list of k buckets (lists of rows), ordered by ascending centroid.""" - n = len(sorted_rows) - if k <= 0: - return [] - if n == 0: - return [[] for _ in range(k)] - if n <= k: - buckets = [[r] for r in sorted_rows] - buckets += [[] for _ in range(k - n)] - return buckets - - values = [_runtime_key(d) for d in sorted_rows] - # init centroids at k-quantile midpoints over the sorted values. - centroids = [values[((2 * i + 1) * n) // (2 * k)] for i in range(k)] - labels = [0] * n - - for _ in range(max_iter): - changed = False - for i, v in enumerate(values): - best, best_d = 0, abs(v - centroids[0]) - for c in range(1, k): - d = abs(v - centroids[c]) - if d < best_d: - best_d, best = d, c - if labels[i] != best: - labels[i] = best - changed = True - if not changed: - break - sums = [0.0] * k - counts = [0] * k - for i, v in enumerate(values): - sums[labels[i]] += v - counts[labels[i]] += 1 - for c in range(k): - if counts[c] > 0: - centroids[c] = sums[c] / counts[c] - - order = sorted(range(k), key=lambda c: centroids[c]) - rank = {old: new for new, old in enumerate(order)} - buckets = [[] for _ in range(k)] - for i, lbl in enumerate(labels): - buckets[rank[lbl]].append(sorted_rows[i]) - return buckets - - -def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): - total = len(sorted_rows) - if total == 0 or n_pick <= 0: - return [] - if total <= n_pick: - return list(sorted_rows) - per_bucket = n_pick // n_buckets - remainder = n_pick % n_buckets - picked = [] - for b in range(n_buckets): - lo = (b * total) // n_buckets - hi = ((b + 1) * total) // n_buckets - bucket = sorted_rows[lo:hi] - if not bucket: - continue - k = per_bucket + (1 if b < remainder else 0) - if k <= 0: - continue - if k == 1: - picked.append(bucket[len(bucket) // 2]) - else: - for j in range(k): - idx = round(j * (len(bucket) - 1) / (k - 1)) - picked.append(bucket[idx]) - return picked - - -def _summary(d): - return { - "sha": _id_key(d)[:12], - "baseline_result": _result_key(d), - "baseline_ms": _runtime_key(d), - } - - -def _write_sample(path, picks, label, criteria): - path.write_text( - json.dumps( - { - "selection": f"{len(picks)} {criteria}", - "source": str(_PROBLEMS.relative_to(_BENCH.parent)), - "sha256": [_id_key(d) for d in picks], - "summary": [_summary(d) for d in picks], - }, - indent=2, - ) - + "\n" - ) - print(f"wrote {path.relative_to(_BENCH.parent)} ({len(picks)} {label})") - - -def main(): - ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) - ap.add_argument( - "--optimize-only", - action="store_true", - help="Filter the sample pool to problems whose CpModelProto carries " - "an objective (drops pure-feasibility models). Default off — " - "keep all problems.", - ) - ap.add_argument( - "--small", - action="store_true", - help="small-profile build: generate stage1 + stage2 only and leave " - "stage3 / stage4 empty (small cascade runs stage1+stage2). " - "Default off — generate all four stages.", - ) - args = ap.parse_args() - - rows = _scan_raw() - if not rows: - raise SystemExit(f"no *.meta.jsonl found under {_RAW}") - print(f"scanned {len(rows)} problems") - - if args.optimize_only: - obj_shas = _has_objective_set() - if obj_shas is None: - print("warning: --optimize-only requested but ortools unavailable " - "— keeping all problems", file=sys.stderr) - else: - before = len(rows) - rows = [d for d in rows if _id_key(d) in obj_shas] - print(f"objective filter: kept {len(rows)}/{before} problems " - f"(dropped feasibility-only)") - if not rows: - raise SystemExit("no problems with objective — nothing to sample") - else: - print("objective filter: OFF (use --optimize-only to drop " - "feasibility-only problems)") - - with open(_PROBLEMS, "w") as f: - for d in rows: - f.write(json.dumps(d) + "\n") - print(f"wrote {_PROBLEMS.relative_to(_BENCH.parent)} ({len(rows)} entries)") - - candidates = [d for d in rows if _runtime_key(d) <= MAX_BASELINE_MS] - print(f"sample pool: {len(candidates)} (skipped {len(rows) - len(candidates)} " - f"with baseline_ms > {MAX_BASELINE_MS}ms)") - - candidates, outliers = _drop_runtime_outliers(candidates) - if outliers: - print(f"dropped {len(outliers)} runtime outliers (Tukey IQR k={OUTLIER_IQR_K}):") - for d in sorted(outliers, key=_runtime_key): - print(f" {_id_key(d)[:12]} {int(_runtime_key(d)):>7}ms {_result_key(d)}") - - decided_by_rt = sorted( - (d for d in candidates if _result_key(d) in _DECISIVE_RESULTS), - key=_runtime_key, - ) - n_decided = len(decided_by_rt) - - clusters = _cluster_runtime(decided_by_rt, N_BUCKETS) - pool_c12 = clusters[0] + clusters[1] - pool_c34 = clusters[2] + clusters[3] - pool_c5 = clusters[4] - - def _bucket_range(b): - if not b: - return "empty" - return f"{int(_runtime_key(b[0]))}-{int(_runtime_key(b[-1]))}ms" - - print(f"decisive-result runtime pool: {n_decided} | clusters: " + - " | ".join(f"c{i+1}({len(b)},{_bucket_range(b)})" - for i, b in enumerate(clusters))) - print(f"stage pools: c1+2={len(pool_c12)} | c3+4={len(pool_c34)} | " - f"c5={len(pool_c5)}") - - s1 = _pick(STAGE1_STRATEGY, pool_c12, STAGE1_N) - s2 = _pick(STAGE2_STRATEGY, pool_c34, STAGE2_N) - - # outliers_top.csv feeds outliers.json (is_outlier flag + large-profile - # pick source) and, when generating all stages, the stage3 sample. - rows_by_sha = {_id_key(d): d for d in rows} - outliers_csv = _find_outliers_csv() - s3_outliers, csv_all = _pick_outliers(rows_by_sha, outliers_csv, - all_rows=rows) \ - if outliers_csv else (None, []) - - if args.small: - # small-profile build: stage1 + stage2 only. stage3 (outliers → large - # profile) and stage4 (broad spread) left empty; the small cascade in - # evaluator merges stage1+stage2. - _write_outliers_json([], csv_all) - _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") - _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") - _write_sample(_STAGE3, [], "stage3", "EMPTY — --small build (stage1+stage2 cascade)") - _write_sample(_STAGE4, [], "stage4", "EMPTY — --small build (stage1+stage2 cascade)") - printed_stages = (("stage1", s1), ("stage2", s2)) - else: - # Default build: all four stages. - if s3_outliers: - s3 = s3_outliers - stage3_criteria = ( - f"outliers from {outliers_csv.name} nearest " - f"{STAGE3_TARGET_MS}ms (tol={STAGE3_TARGET_TOL_RATIO}x, " - f"cap={STAGE3_MAX_BASELINE_MS}ms; target {STAGE3_N})" - ) - else: - s3 = _center_pick(pool_c5, STAGE3_N) - stage3_criteria = ("FALLBACK: decisive runtime cluster c5 " - "(outliers_top.csv unavailable or empty)") - - _write_outliers_json(s3 if s3_outliers else [], csv_all) - - used = {_id_key(d) for d in (s1 + s2 + s3)} - broad = sorted( - (d for d in candidates if _id_key(d) not in used), - key=_runtime_key, - ) - s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) - - _write_sample(_STAGE1, s1, "stage1", "decisive runtime clusters c1+c2 (fast group)") - _write_sample(_STAGE2, s2, "stage2", "decisive runtime clusters c3+c4 (mid group)") - _write_sample(_STAGE3, s3, "stage3", stage3_criteria) - _write_sample(_STAGE4, s4, "stage4", "broad runtime spread, dedup vs stage1-3") - printed_stages = (("stage1", s1), ("stage2", s2), ("stage3", s3), ("stage4", s4)) - - for label, picks in printed_stages: - print(f"\n{label}:") - for d in picks: - print(f" {_id_key(d)[:12]} " - f"{str(_result_key(d)):<10} " - f"{int(_runtime_key(d)):>7}ms") - - # ---- large profile sample (OPENEVOLVE_PROFILE=large) ---- - # Single sample file with STAGE1_LARGE_N outliers, sorted by - # STAGE1_LARGE_SORT_BY ("elapsed_ms" → slowest baseline first; "residual" - # → highest log10 deviation first). evaluator dispatches every cascade - # stage entry point to one outlier-set evaluation, so no stage2/3/4 split. - if csv_all: - eligible = [c for c in csv_all if c["sha"] in rows_by_sha] - if STAGE1_LARGE_SORT_BY == "elapsed_ms": - eligible.sort(key=lambda c: -c["elapsed_ms"]) - elif STAGE1_LARGE_SORT_BY == "residual": - eligible.sort(key=lambda c: -c["residual"]) - else: - raise ValueError( - f"unknown STAGE1_LARGE_SORT_BY: {STAGE1_LARGE_SORT_BY!r} " - f"(expected 'elapsed_ms' or 'residual')" - ) - large_picks = eligible[:STAGE1_LARGE_N] - large_rows = [rows_by_sha[c["sha"]] for c in large_picks] - else: - large_picks = [] - large_rows = [] - _write_sample( - _STAGE1_LARGE, large_rows, "stage1_large", - f"top-{STAGE1_LARGE_N} outlier(s) from outliers_top.csv " - f"sorted by {STAGE1_LARGE_SORT_BY} (W=8 tuning set)", - ) - - # Clean up stale empty stage{2,3,4}_large files from older builds — they - # would be picked up by evaluator's path resolver and produce stale empty - # pass-throughs, masking real outlier scores. - for stale in ( - _HERE / "shared" / "stage2_large_sample.json", - _HERE / "shared" / "stage3_large_sample.json", - _HERE / "shared" / "stage4_large_sample.json", - ): - if stale.exists(): - stale.unlink() - print(f"removed stale {stale.relative_to(_BENCH.parent)}") - - print(f"\nstage1_large ({len(large_rows)} outliers):") - for d in large_rows: - print(f" {_id_key(d)[:12]} " - f"{str(_result_key(d)):<10} " - f"{int(_runtime_key(d)):>7}ms") - - -if __name__ == "__main__": - main() diff --git a/input/cpsat-bench/evolve/cache/stage1_sample.json b/input/cpsat-bench/evolve/cache/stage1_sample.json new file mode 100644 index 0000000000..344e6096a8 --- /dev/null +++ b/input/cpsat-bench/evolve/cache/stage1_sample.json @@ -0,0 +1,79 @@ +{ + "selection": "10 from 352 candidates", + "criteria": "kmeans-clusters=[0, 1] feature=features.num_constraints spread=quintile", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", + "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9", + "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", + "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", + "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", + "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", + "41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09", + "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", + "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", + "ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111" + ], + "summary": [ + { + "sha": "5976726485c2", + "baseline_result": "OPTIMAL", + "baseline_ms": 105.102, + "features.num_constraints": 7361 + }, + { + "sha": "d7e09c73e7c3", + "baseline_result": "OPTIMAL", + "baseline_ms": 688.182, + "features.num_constraints": 20658 + }, + { + "sha": "2c283b1f086e", + "baseline_result": "OPTIMAL", + "baseline_ms": 1361.71, + "features.num_constraints": 20886 + }, + { + "sha": "cda37747aa2a", + "baseline_result": "OPTIMAL", + "baseline_ms": 1928.9, + "features.num_constraints": 15385 + }, + { + "sha": "cda37747aa2a", + "baseline_result": "OPTIMAL", + "baseline_ms": 2872.95, + "features.num_constraints": 15385 + }, + { + "sha": "303a6733c9ec", + "baseline_result": "OPTIMAL", + "baseline_ms": 3530.81, + "features.num_constraints": 20766 + }, + { + "sha": "41f6ecf9ca64", + "baseline_result": "OPTIMAL", + "baseline_ms": 5144.56, + "features.num_constraints": 21983 + }, + { + "sha": "7a78d4951c1a", + "baseline_result": "OPTIMAL", + "baseline_ms": 7019.67, + "features.num_constraints": 30546 + }, + { + "sha": "6396211e6842", + "baseline_result": "OPTIMAL", + "baseline_ms": 8973.46, + "features.num_constraints": 31882 + }, + { + "sha": "ba0fe698c28b", + "baseline_result": "OPTIMAL", + "baseline_ms": 25129, + "features.num_constraints": 15565 + } + ] +} diff --git a/input/cpsat-bench/evolve/cache/stage2_sample.json b/input/cpsat-bench/evolve/cache/stage2_sample.json new file mode 100644 index 0000000000..bf1bd8e7a4 --- /dev/null +++ b/input/cpsat-bench/evolve/cache/stage2_sample.json @@ -0,0 +1,79 @@ +{ + "selection": "10 from 332 candidates", + "criteria": "kmeans-clusters=[2, 3] feature=features.num_constraints spread=quintile", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071", + "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061", + "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", + "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", + "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec", + "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", + "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", + "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", + "a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a", + "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d" + ], + "summary": [ + { + "sha": "4c230e355482", + "baseline_result": "OPTIMAL", + "baseline_ms": 3021.82, + "features.num_constraints": 42727 + }, + { + "sha": "9c3c55cd54e6", + "baseline_result": "OPTIMAL", + "baseline_ms": 4022.2, + "features.num_constraints": 58096 + }, + { + "sha": "6ecbb5bc3a03", + "baseline_result": "OPTIMAL", + "baseline_ms": 5580.53, + "features.num_constraints": 58433 + }, + { + "sha": "e5c9e667fbee", + "baseline_result": "OPTIMAL", + "baseline_ms": 6608.39, + "features.num_constraints": 47566 + }, + { + "sha": "b13bb2432694", + "baseline_result": "OPTIMAL", + "baseline_ms": 8842.37, + "features.num_constraints": 57828 + }, + { + "sha": "f7041abae337", + "baseline_result": "OPTIMAL", + "baseline_ms": 11511.1, + "features.num_constraints": 38286 + }, + { + "sha": "f77cdd0764d8", + "baseline_result": "OPTIMAL", + "baseline_ms": 14497.4, + "features.num_constraints": 47233 + }, + { + "sha": "f5931bc8ee19", + "baseline_result": "OPTIMAL", + "baseline_ms": 18510.4, + "features.num_constraints": 45243 + }, + { + "sha": "a46c87c567e8", + "baseline_result": "OPTIMAL", + "baseline_ms": 25758.6, + "features.num_constraints": 62282 + }, + { + "sha": "58d58a76371e", + "baseline_result": "OPTIMAL", + "baseline_ms": 80851.6, + "features.num_constraints": 64588 + } + ] +} diff --git a/input/cpsat-bench/evolve/cache/stage3_sample.json b/input/cpsat-bench/evolve/cache/stage3_sample.json new file mode 100644 index 0000000000..0c90536be7 --- /dev/null +++ b/input/cpsat-bench/evolve/cache/stage3_sample.json @@ -0,0 +1,44 @@ +{ + "selection": "5 from 48 candidates", + "criteria": "kmeans-clusters=[4] feature=features.num_constraints spread=quintile", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a", + "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", + "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", + "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6", + "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d" + ], + "summary": [ + { + "sha": "c8c8858fad77", + "baseline_result": "OPTIMAL", + "baseline_ms": 8928.37, + "features.num_constraints": 85434 + }, + { + "sha": "5b8c61f99d31", + "baseline_result": "OPTIMAL", + "baseline_ms": 19871.1, + "features.num_constraints": 85727 + }, + { + "sha": "27507e95cd85", + "baseline_result": "OPTIMAL", + "baseline_ms": 45439.7, + "features.num_constraints": 97536 + }, + { + "sha": "0776535f7fe2", + "baseline_result": "OPTIMAL", + "baseline_ms": 76005.7, + "features.num_constraints": 126364 + }, + { + "sha": "38e83ff25869", + "baseline_result": "OPTIMAL", + "baseline_ms": 118894, + "features.num_constraints": 135485 + } + ] +} diff --git a/input/cpsat-bench/evolve/cache/stage4_sample.json b/input/cpsat-bench/evolve/cache/stage4_sample.json new file mode 100644 index 0000000000..eb8d71ad34 --- /dev/null +++ b/input/cpsat-bench/evolve/cache/stage4_sample.json @@ -0,0 +1,149 @@ +{ + "selection": "20 from 732 candidates", + "criteria": "kmeans-clusters=[0, 1, 2, 3, 4] feature=features.num_constraints spread=quintile", + "source": "cpsat-bench/problems.jsonl", + "sha256": [ + "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", + "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", + "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", + "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", + "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", + "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924", + "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", + "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965", + "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", + "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5", + "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", + "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", + "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", + "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", + "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3", + "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", + "d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a", + "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", + "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", + "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d" + ], + "summary": [ + { + "sha": "5976726485c2", + "baseline_result": "OPTIMAL", + "baseline_ms": 105.102, + "features.num_constraints": 7361 + }, + { + "sha": "67f5fac68782", + "baseline_result": "OPTIMAL", + "baseline_ms": 680.4, + "features.num_constraints": 14600 + }, + { + "sha": "90e1185ded53", + "baseline_result": "OPTIMAL", + "baseline_ms": 1323.68, + "features.num_constraints": 20644 + }, + { + "sha": "6c64b95d90a6", + "baseline_result": "OPTIMAL", + "baseline_ms": 1883.75, + "features.num_constraints": 30419 + }, + { + "sha": "024c5d8184d5", + "baseline_result": "OPTIMAL", + "baseline_ms": 2818.52, + "features.num_constraints": 22871 + }, + { + "sha": "40d5a4d59eb7", + "baseline_result": "OPTIMAL", + "baseline_ms": 3245.66, + "features.num_constraints": 44649 + }, + { + "sha": "5978abbd9b38", + "baseline_result": "OPTIMAL", + "baseline_ms": 3841.35, + "features.num_constraints": 58639 + }, + { + "sha": "1bbeb46bf120", + "baseline_result": "OPTIMAL", + "baseline_ms": 4447.05, + "features.num_constraints": 36510 + }, + { + "sha": "1cbb4fb20584", + "baseline_result": "OPTIMAL", + "baseline_ms": 5391.62, + "features.num_constraints": 37775 + }, + { + "sha": "683f174a879d", + "baseline_result": "OPTIMAL", + "baseline_ms": 6172.22, + "features.num_constraints": 57490 + }, + { + "sha": "0072ac871059", + "baseline_result": "OPTIMAL", + "baseline_ms": 6896.45, + "features.num_constraints": 51623 + }, + { + "sha": "6396211e6842", + "baseline_result": "OPTIMAL", + "baseline_ms": 7668.06, + "features.num_constraints": 31882 + }, + { + "sha": "d1b2c9992efd", + "baseline_result": "OPTIMAL", + "baseline_ms": 8999.29, + "features.num_constraints": 40187 + }, + { + "sha": "ccfac7f93fb9", + "baseline_result": "OPTIMAL", + "baseline_ms": 10637.7, + "features.num_constraints": 47437 + }, + { + "sha": "78efbf308c9f", + "baseline_result": "OPTIMAL", + "baseline_ms": 12361.7, + "features.num_constraints": 56476 + }, + { + "sha": "58d58a76371e", + "baseline_result": "OPTIMAL", + "baseline_ms": 14827, + "features.num_constraints": 64588 + }, + { + "sha": "d381b7ed2453", + "baseline_result": "OPTIMAL", + "baseline_ms": 18205, + "features.num_constraints": 52885 + }, + { + "sha": "e272c0e4899b", + "baseline_result": "OPTIMAL", + "baseline_ms": 24607.7, + "features.num_constraints": 61671 + }, + { + "sha": "62835d0eb69f", + "baseline_result": "OPTIMAL", + "baseline_ms": 43607.7, + "features.num_constraints": 61665 + }, + { + "sha": "38e83ff25869", + "baseline_result": "OPTIMAL", + "baseline_ms": 118894, + "features.num_constraints": 135485 + } + ] +} diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index f1bd22660a..e7820b47d8 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -17,18 +17,50 @@ bench: iters: 40 - dir: phase5_custom_subsolvers iters: 40 - unified_prepare_script: prepare_phase_unified.py - # The unified-prepare script materializes phase4_unified from phase{1,2,3} - # winners. phase4 is no longer the last phase (phase5 is), so the prep must - # fire before phase4 specifically, not "before the last phase". When unset, - # run_phase.sh falls back to the legacy "before last phase" trigger. + + # When unset, run_phase.sh fires the unified-prep before the last phase. + # cpsat keeps a phase AFTER phase4_unified, so the prep targets phase4 + # specifically. unified_prepare_before_dir: phase4_unified + solver_check_cmd: 'python -c "from ortools.sat.python import cp_model"' solver_install_hint: "install: pip install ortools" - # optional script-name overrides (defaults shown): - # rebaseline_script: rebaseline_local.py - # extract_best_script: extract_best.py - # build_samples_script: build_samples.py + + # === Refactor (2026-06) — paths to per-bench solver-specific files. === + # Resolved relative to /evolve/. + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + unified_dict_name: GLOBAL_OVERRIDES + + # === Clustering / stage sampling (consumed by _lib.sampler). === + clustering: + method: kmeans # kmeans | quintile | thresholds + feature: features.num_constraints + n_clusters: 5 + max_baseline_ms: 120000 # drop outliers > 120s from sample pool + spread: quintile + stage_sizes: + stage1: 10 + stage2: 10 + stage3: 5 + stage4: 20 + stage_clusters: + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + + # === Evaluation behavior (consumed by _lib.evaluator_core). === + evaluation: + repeats: 10 # 10-run averaging by default + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: cost # cpsat: cost (dtime + cost_ratio) + time_metric: dtime + cost_weight: 1.0 + enable_size_buckets: true # opt-in: SIZE_BUCKETS per-problem overrides + enable_outlier_stage: true # opt-in: STAGE3_OVERRIDES outlier-only knobs # === Custom cpsat-bench knobs (silently ignored by openevolve dacite) === # parallel_solvers: total concurrent CP-SAT worker subprocesses per stage. diff --git a/input/cpsat-bench/evolve/extract_best.py b/input/cpsat-bench/evolve/extract_best.py deleted file mode 100644 index 033b8c9056..0000000000 --- a/input/cpsat-bench/evolve/extract_best.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Thin wrapper: calls _lib.extract_best.main with cpsat-bench phase map. -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_SHARED = _HERE / "shared" -_INPUT_DIR = _HERE.parents[1] - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib.extract_best import main # noqa: E402 - -PHASE_DIRS = { - 1: "phase1_search", - 2: "phase2_presolve", - 3: "phase3_lp_cuts", - # phase4 is no longer terminal (phase5 follows it), so it gets extracted to - # phase4_best.json / phase4_buckets.json / phase4_stage3.json for phase5 to - # inherit. phase5 (custom subsolvers) is the terminal phase — no extract. - 4: "phase4_unified", -} - -if __name__ == "__main__": - main(_HERE, _SHARED, PHASE_DIRS) diff --git a/input/cpsat-bench/evolve/final_verify.py b/input/cpsat-bench/evolve/final_verify.py deleted file mode 100644 index 1c38b071f2..0000000000 --- a/input/cpsat-bench/evolve/final_verify.py +++ /dev/null @@ -1,334 +0,0 @@ -""" -Final verification for cpsat-bench: on a final-test sample, measure LOCAL -baseline elapsed_ms (+ objective_value) and then run the optimized program. -Report per-problem cost_ratio + time speedup using the fresh local baseline -(not the raw-data baseline recorded on a different machine). - -Usage: - python final_verify.py - -Example: - python input/cpsat-bench/evolve/final_verify.py \\ - input/cpsat-bench/evolve/phase4_unified/openevolve_output/best/best_program.py - -Sample selection (in priority order): - 1. shared/final_sample.json — JSON file with {"sha256": [, ...]}. - Hand-edit or generate this to pin a specific subset for verification. - 2. Fall back to ALL problems in problems.jsonl. - -Order of operations: - for each problem p in final sample: - run BASELINE on p → record base_ms_local, base_obj_local - run params on p → record variant_ms, variant_obj - cost_ratio = base_obj_local / variant_obj (cost mode, minimize) - speedup = base_ms_local / variant_ms (when status decisive) - -Baseline + variant are run back-to-back per problem so they share the same -warm cache / system noise. Concurrency = config parallel_solvers (taskset -pinned via OPENEVOLVE_CORE_RANGE or 1..N). -""" -import importlib.util -import inspect -import json -import pathlib -import sys -import time -from concurrent.futures import ThreadPoolExecutor, as_completed - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) - -from baseline_params import BASELINE, LOCKED # noqa: E402 -from score import score # noqa: E402 -from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, core_range, alloc_core_blocks # noqa: E402 - -_BENCH_DIR = _HERE.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" -_OUTLIERS_JSON = _HERE / "shared" / "outliers.json" - -TIMEOUT_S = 300 -_DECISIVE = ("OPTIMAL", "FEASIBLE") - - -def _load_outlier_shas(): - if not _OUTLIERS_JSON.exists(): - return set() - try: - d = json.loads(_OUTLIERS_JSON.read_text()) - except (json.JSONDecodeError, OSError): - return set() - return set(d.get("outliers") or {}) - - -def _supports_kwargs(fn, *kwargs): - try: - sig = inspect.signature(fn) - except (TypeError, ValueError): - return False - params_ = sig.parameters - if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params_.values()): - return True - return any(name in params_ for name in kwargs) - - -def _resolve_params(fn, problem, stage_name): - kwargs = {} - if _supports_kwargs(fn, "problem"): - kwargs["problem"] = problem - if _supports_kwargs(fn, "stage"): - kwargs["stage"] = stage_name - return fn(**kwargs) if kwargs else fn() - - -def _load_program(program_path): - spec = importlib.util.spec_from_file_location("program", program_path) - module = importlib.util.module_from_spec(spec) - spec.loader.exec_module(module) - if not hasattr(module, "get_params"): - print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) - sys.exit(2) - return module - - -def _load_problem_index(): - outliers = _load_outlier_shas() - idx = {} - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - sha = d["problem_sha256"] - features = d.get("features") or {} - idx[sha] = { - "sha": sha, - "problem_filename": d["problem_filename"], - "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), - "raw_result": (d.get("cpsat_status") or {}).get("result"), - "num_variables": int(features.get("num_variables") or 0), - "num_constraints": int(features.get("num_constraints") or 0), - "num_bool": int(features.get("num_bool") or 0), - "num_int": int(features.get("num_int") or 0), - "is_outlier": sha in outliers, - } - return idx - - -def _resolve_sample(idx): - if _FINAL_SAMPLE.exists(): - shas = list(json.loads(_FINAL_SAMPLE.read_text())["sha256"]) - source = f"shared/final_sample.json ({len(shas)} SHAs)" - else: - shas = list(idx.keys()) - source = f"problems.jsonl (full {len(shas)})" - metas = [] - for sha in shas: - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} from sample not in problems.jsonl", file=sys.stderr) - sys.exit(2) - pb = _RAW_DIR / meta["problem_filename"] - if not pb.exists(): - print(f"ERROR: missing {pb}", file=sys.stderr) - sys.exit(2) - metas.append((meta, pb)) - return metas, source - - -def main(): - if len(sys.argv) != 2: - print(__doc__, file=sys.stderr) - return 2 - - program_path = pathlib.Path(sys.argv[1]).resolve() - if not program_path.exists(): - print(f"ERROR: {program_path} not found", file=sys.stderr) - return 2 - - program = _load_program(program_path) - # final_verify treats stage as "final"; per-problem resolution still - # applies SIZE_BUCKETS but skips STAGE3_OVERRIDES (which is stage3-gated). - variant_params = _resolve_params(program.get_params, None, "final") - # Use the program's PHASE_LOCKED if it exposes one (later phases typically - # lock num_search_workers higher than baseline); fall back to global LOCKED. - _phase_locked = getattr(program, "PHASE_LOCKED", None) - _lock = _phase_locked if isinstance(_phase_locked, dict) else LOCKED - violations = {k: variant_params.get(k) for k in _lock - if variant_params.get(k) != _lock[k]} - if violations: - print(f"ERROR: locked params violated: {violations}", file=sys.stderr) - return 2 - - idx = _load_problem_index() - metas, source = _resolve_sample(idx) - - cores = core_range() - if cores is None: - cores = list(range(1, parallel_solvers(default=1) + 1)) - workers_per_solve = int(variant_params.get("num_search_workers", 1) or 1) - blocks = alloc_core_blocks(cores, workers_per_solve) - if not blocks: - blocks = [list(cores)] if cores else [None] - n_parallel = min(len(blocks), len(metas)) - blocks = blocks[:n_parallel] - # Baseline run still uses workers=1 (single core). Give it the first core - # of each block so it's pinned within the same NUMA neighborhood as the - # variant for fair comparison. - baseline_cores = [(b[0] if isinstance(b, (list, tuple)) and b else b) for b in blocks] - - print(f"final verify: {program_path}") - print(f" sample : {source}") - print(f" params : {len(variant_params)} keys, " - f"{sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} differ from BASELINE") - print(f" parallel solvers : {n_parallel} variant_workers={workers_per_solve} blocks={blocks}") - print(f" per-problem timeout : {TIMEOUT_S}s × 2 (baseline + variant)") - print() - - def _measure(idx_meta): - i, meta, pb = idx_meta - slot = i % n_parallel if n_parallel > 0 else 0 - v_core = blocks[slot] if n_parallel > 0 else None - b_core = baseline_cores[slot] if n_parallel > 0 else None - # Per-problem param resolution. PHASE_LOCKED keys re-pinned defensively. - per_params = _resolve_params(program.get_params, meta, "final") - for k, v in _lock.items(): - per_params[k] = v - if "num_search_workers" in variant_params: - per_params["num_search_workers"] = variant_params["num_search_workers"] - b = run_cpsat(pb, BASELINE, TIMEOUT_S, cpu_core=b_core) - v = run_cpsat(pb, per_params, TIMEOUT_S, cpu_core=v_core) - return i, meta, b, v - - tasks = [(i, meta, pb) for i, (meta, pb) in enumerate(metas)] - t_start = time.monotonic() - completed = [] - if n_parallel == 1: - for t in tasks: - completed.append(_measure(t)) - else: - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_measure, t) for t in tasks] - for fut in as_completed(futures): - completed.append(fut.result()) - completed.sort(key=lambda x: x[0]) - elapsed = time.monotonic() - t_start - - results = [] - for i, meta, b, v in completed: - base_ms_local = int(b.get("elapsed_ms", 0)) - base_result = b.get("result", "Unknown") - base_obj = b.get("objective") - var_ms = int(v.get("elapsed_ms", 0)) - var_result = v.get("result", "Unknown") - var_obj = v.get("objective") - var_invalid = v.get("invalid_param") - b_dt = (b.get("stats") or {}).get("deterministic_time") - v_dt = (v.get("stats") or {}).get("deterministic_time") - - wall_speedup = base_ms_local / max(var_ms, 1) - if b_dt and v_dt and b_dt > 0 and v_dt > 0: - dtime_speedup = float(b_dt) / float(v_dt) - speedup = dtime_speedup - speedup_src = "dt" - else: - speedup = wall_speedup - speedup_src = "wall" - if var_invalid: - flag = f" INVALID_PARAM={var_invalid}" - speedup = 0.0 - cost_ratio = 0.0 - elif base_result not in _DECISIVE and var_result not in _DECISIVE: - # Both failed to reach decisive status — uncomparable, NOT a regression. - # score.py skips this from geomean. - flag = f" BOTH_NONDECISIVE ({base_result}=base, {var_result}=variant) — skipped from score" - cost_ratio = 0.0 - elif base_result in _DECISIVE and var_result not in _DECISIVE: - # Baseline solved, variant didn't → real regression. - flag = f" REGRESSION (base={base_result} variant={var_result})" - speedup = 0.0 - cost_ratio = 0.0 - elif base_result not in _DECISIVE and var_result in _DECISIVE: - # Variant solved a problem baseline couldn't — bonus, but cost mode - # can't ratio it. Show but don't score. - flag = f" VARIANT_WIN_UNCOMPARABLE (base={base_result})" - cost_ratio = 0.0 - else: - if base_obj is not None and var_obj is not None: - cost_ratio = (float(base_obj) + 1e-9) / (float(var_obj) + 1e-9) - else: - cost_ratio = 1.0 - flag = "" - - print( - f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} " - f"base_local={base_result:<10}/{base_ms_local:>7}ms" - f"{('/obj=' + format(base_obj, '.3g')) if base_obj is not None else ''} " - f"variant={var_result:<10}/{var_ms:>7}ms" - f"{('/obj=' + format(var_obj, '.3g')) if var_obj is not None else ''} " - f"speedup={speedup:.2f}x[{speedup_src}] " - f"wall={wall_speedup:.2f}x cost_ratio={cost_ratio:.3f}{flag}", - flush=True, - ) - results.append({ - "sha": meta["sha"], - "input_file": meta["problem_filename"], - "baseline_ms": base_ms_local, - "baseline_result": base_result, - "baseline_objective": base_obj, - "result": var_result, - "elapsed_ms": var_ms, - "objective": var_obj, - "timeout": bool(v.get("timeout")), - "raw_baseline_ms": meta["raw_ms"], - "stats": v.get("stats") or {}, - "baseline_stats": b.get("stats") or {}, - }) - - metrics = score(results) - print() - print("== summary (cost-mode, vs fresh LOCAL baseline) ==") - print(f" total problems : {metrics['total']}") - print(f" comparable : {metrics['comparable']} " - f"(baseline reached decisive status; geomean computed over this subset)") - print(f" uncomparable : {metrics['uncomparable']} " - f"(baseline non-decisive; skipped from score)") - print(f" solved : {metrics['solved']}/{metrics['comparable']}") - print(f" regressions : {metrics['regressions']} " - f"(baseline OK, variant failed)") - print(f" geomean (cost×dtime): {metrics['geomean_speedup']:.3f} " - f"(dtime_used={metrics.get('dtime_used', 0)}/" - f"{metrics.get('dtime_used', 0) + metrics.get('dtime_fallback', 0)})") - print(f" geomean (cost×wall) : {metrics.get('geomean_wall_speedup', 0.0):.3f} " - f"(diagnostic)") - print(f" solved_rate : {metrics['solved_rate']:.3f} (over comparable)") - print(f" efficiency : {metrics.get('efficiency', 1.0):.3f}") - print(f" combined_score : {metrics['combined_score']:.3f}") - print(f" wall-clock : {elapsed:.1f}s") - - out_path = program_path.parent / "final_verify.json" - out_path.write_text(json.dumps({ - "program": str(program_path), - "sample_source": source, - "metrics": metrics, - "per_problem": [ - { - "sha": r["sha"][:12], - "base_result": r["baseline_result"], - "got_result": r["result"], - "base_local_ms": r["baseline_ms"], - "variant_ms": r["elapsed_ms"], - "base_obj": r["baseline_objective"], - "variant_obj": r["objective"], - "raw_baseline_ms": r["raw_baseline_ms"], - "timeout": r["timeout"], - } - for r in results - ], - }, indent=2) + "\n") - print(f" wrote {out_path}") - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/input/cpsat-bench/evolve/materialize_final.py b/input/cpsat-bench/evolve/materialize_final.py deleted file mode 100644 index 9a8a07ca60..0000000000 --- a/input/cpsat-bench/evolve/materialize_final.py +++ /dev/null @@ -1,224 +0,0 @@ -""" -Materialize a standalone final_program.py from the phase5 winner plus all -inherited prior-phase winners. - -Inputs: - shared/baseline_params.py BASELINE dict - shared/phase4_best.json inherited GLOBAL_OVERRIDES (1+2+3 unified) - shared/phase4_buckets.json inherited SIZE_BUCKETS - shared/phase4_stage3.json inherited STAGE3_OVERRIDES - shared/has_objective_cache.json SHA set used by needs_objective gating - phase5_custom_subsolvers/openevolve_output/best/best_program.py - CUSTOM_SUBSOLVERS, STAGE3_CUSTOM_SUBSOLVERS (Python literals only) - -Output: - final_program.py — self-contained: no JSON loads, no relative imports. - Exposes BASELINE/GLOBAL_OVERRIDES/SIZE_BUCKETS/ - STAGE3_OVERRIDES/CUSTOM_SUBSOLVERS/ - STAGE3_CUSTOM_SUBSOLVERS/PHASE_LOCKED constants and - get_params(problem=None, stage=None) using the exact - phase5 merge logic. - -Usage: - python materialize_final.py [--output PATH] [--phase5-best PATH] -""" -import argparse -import importlib.util -import json -import pathlib -import pprint -import sys -import textwrap - -_HERE = pathlib.Path(__file__).resolve().parent -_SHARED = _HERE / "shared" -_PHASE5_BEST = _HERE / "phase5_custom_subsolvers/openevolve_output/best/best_program.py" -_DEFAULT_OUT = _HERE / "final_program.py" - - -def _load_phase5_specs(phase5_path): - """Import phase5 best_program just to read CUSTOM_SUBSOLVERS and - STAGE3_CUSTOM_SUBSOLVERS. Those are static literals so the snapshot's - broken _SHARED relative path does not matter — the JSON loads that fail - inside the module only affect _PHASE4 / _PHASE4_BUCKETS / _PHASE4_STAGE3, - which we re-read directly from shared/ here.""" - spec = importlib.util.spec_from_file_location("phase5_best", phase5_path) - module = importlib.util.module_from_spec(spec) - sys.path.insert(0, str(_SHARED)) - spec.loader.exec_module(module) - return module.CUSTOM_SUBSOLVERS, module.STAGE3_CUSTOM_SUBSOLVERS - - -def _format_buckets(buckets): - lines = ["["] - for upper, override in buckets: - upper_src = "float('inf')" if upper is None else repr(upper) - ov_src = pprint.pformat(override, width=100, sort_dicts=True) - lines.append(f" ({upper_src}, {ov_src}),") - lines.append("]") - return "\n".join(lines) - - -_TEMPLATE = '''\ -""" -AUTO-GENERATED by materialize_final.py — DO NOT EDIT BY HAND. - -Self-contained final CP-SAT parameter program. Bakes every inherited dict -from phase1..4 plus phase5 custom subsolvers. No JSON loads, no relative -imports — drop-in for final_verify.py / benchmark_final.py. - -Source phase5 best_program: - {phase5_rel} -""" - -BASELINE = {baseline} - -# Inherited from shared/phase4_best.json (union of phase1+2+3 winners + phase4 -# unified pass). -GLOBAL_OVERRIDES = {global_overrides} - -# Inherited from shared/phase4_buckets.json. Selected by num_constraints -# (first bucket whose upper > num_constraints wins). -SIZE_BUCKETS = {size_buckets} - -# Inherited from shared/phase4_stage3.json. Applied only when -# stage == "stage3" and problem.is_outlier. NOTE: the current evaluator -# never passes stage="stage3" (small profile cascades stage1->stage2; large -# profile passes stage="large"), so this dict is dead code in practice. -STAGE3_OVERRIDES = {stage3_overrides} - -# Phase5 custom subsolvers (always-on, gated by needs_objective / -# min_constraints / max_constraints). -CUSTOM_SUBSOLVERS = {custom_subsolvers} - -# Phase5 stage3-only extra custom subsolvers (same dead-code caveat as -# STAGE3_OVERRIDES). -STAGE3_CUSTOM_SUBSOLVERS = {stage3_custom_subsolvers} - -# SHAs whose original model has an objective. Used by needs_objective gating -# so an objective-requiring subsolver is not added to a feasibility-only -# model (which would make CP-SAT drop most of the portfolio). -OBJECTIVE_SHAS = frozenset({objective_shas}) - -# Phase5 final lock. Enforced last so nothing above can override it. -PHASE_LOCKED = {{ - "random_seed": 0, - "num_search_workers": 8, - "interleave_search": True, -}} - - -def _problem_has_objective(problem): - if problem is None: - return True - sha = problem.get("sha") - if sha is None: - return problem.get("baseline_objective") is not None - return sha in OBJECTIVE_SHAS - - -def _eligible(spec, problem): - if spec.get("needs_objective") and not _problem_has_objective(problem): - return False - nc = int(problem.get("num_constraints") or 0) if problem else 0 - lo = spec.get("min_constraints") - if lo is not None and nc < lo: - return False - hi = spec.get("max_constraints") - if hi is not None and nc >= hi: - return False - return True - - -def _bucket_override(num_constraints): - out = {{}} - for upper, override in SIZE_BUCKETS: - if num_constraints < upper: - out.update(override) - break - return out - - -def _collect_specs(problem, stage): - specs = [s for s in CUSTOM_SUBSOLVERS if _eligible(s, problem)] - if stage == "stage3" and problem is not None and problem.get("is_outlier"): - specs += [s for s in STAGE3_CUSTOM_SUBSOLVERS if _eligible(s, problem)] - return specs - - -def _apply_custom_subsolvers(p, specs): - if not specs: - return - sub_entries = [] - new_names = [] - for spec in specs: - entry = {{"name": spec["name"]}} - entry.update(spec.get("params") or {{}}) - sub_entries.append(entry) - new_names.append(spec["name"]) - p["subsolver_params"] = sub_entries - existing = list(p.get("extra_subsolvers") or []) - for name in new_names: - if name not in existing: - existing.append(name) - p["extra_subsolvers"] = existing - - -def get_params(problem=None, stage=None): - p = dict(BASELINE) - p.update(GLOBAL_OVERRIDES) - if problem is not None: - p.update(_bucket_override(int(problem.get("num_constraints") or 0))) - if stage == "stage3" and problem.get("is_outlier"): - p.update(STAGE3_OVERRIDES) - _apply_custom_subsolvers(p, _collect_specs(problem, stage)) - p.update(PHASE_LOCKED) - return p -''' - - -def main(): - ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) - ap.add_argument("--output", default=str(_DEFAULT_OUT), - help=f"output path (default: {_DEFAULT_OUT.relative_to(_HERE)})") - ap.add_argument("--phase5-best", default=str(_PHASE5_BEST), - help="phase5 best_program.py path") - args = ap.parse_args() - - sys.path.insert(0, str(_SHARED)) - from baseline_params import BASELINE # noqa: E402 - - phase4_best = json.loads((_SHARED / "phase4_best.json").read_text()) - phase4_buckets_raw = json.loads((_SHARED / "phase4_buckets.json").read_text()) - phase4_buckets = [(None if u is None else u, ov) for u, ov in phase4_buckets_raw] - phase4_stage3 = json.loads((_SHARED / "phase4_stage3.json").read_text()) - - obj_cache_path = _SHARED / "has_objective_cache.json" - objective_shas = set(json.loads(obj_cache_path.read_text()).get("with_objective") or []) - - custom_subsolvers, stage3_custom_subsolvers = _load_phase5_specs( - pathlib.Path(args.phase5_best) - ) - - rendered = _TEMPLATE.format( - phase5_rel=pathlib.Path(args.phase5_best).resolve().relative_to(_HERE), - baseline=pprint.pformat(dict(BASELINE), width=100, sort_dicts=True), - global_overrides=pprint.pformat(phase4_best, width=100, sort_dicts=True), - size_buckets=_format_buckets(phase4_buckets), - stage3_overrides=pprint.pformat(phase4_stage3, width=100, sort_dicts=True), - custom_subsolvers=pprint.pformat(custom_subsolvers, width=100, sort_dicts=True), - stage3_custom_subsolvers=pprint.pformat(stage3_custom_subsolvers, width=100, sort_dicts=True), - objective_shas=pprint.pformat(sorted(objective_shas), width=100), - ) - - out = pathlib.Path(args.output) - out.write_text(rendered) - print(f"wrote {out.relative_to(_HERE)} " - f"({len(BASELINE)} baseline + {len(phase4_best)} global + " - f"{len(phase4_buckets)} buckets + {len(phase4_stage3)} stage3 + " - f"{len(custom_subsolvers)} custom subsolvers + " - f"{len(stage3_custom_subsolvers)} stage3 custom subsolvers)") - - -if __name__ == "__main__": - main() diff --git a/input/cpsat-bench/evolve/params.json b/input/cpsat-bench/evolve/params.json new file mode 100644 index 0000000000..9686b554ae --- /dev/null +++ b/input/cpsat-bench/evolve/params.json @@ -0,0 +1,235 @@ +{ + "solver": "cpsat", + "version": "ortools 9.14.6206", + + "defaults": { + "num_search_workers": 1, + "random_seed": 0, + "interleave_search": true + }, + + "locked": { + "random_seed": 0 + }, + + "subsolver_names": [ + "default_lp", "no_lp", "max_lp", "core", "quick_restart", + "reduced_costs", "lb_tree_search", "probing_search", + "objective_lb_search", "objective_shaving_search_no_lp", + "pseudo_costs", "fixed", "feasibility_pump", "feasibility_jump" + ], + + "groups": { + "parallel": { + "description": "Worker pool and subsolver mix. Pinned per-phase via PHASE_LOCKED; do not change inside get_params() except via the phase module.", + "params": { + "num_search_workers": { + "type": "int", "default": 1, "range": [1, 64], + "desc": "Number of parallel solver subprocesses. Locked per phase." + }, + "interleave_search": { + "type": "bool", "default": false, + "desc": "Interleave subsolvers via deterministic time slicing." + }, + "extra_subsolvers": { + "type": "list", "element_type": "subsolver", "default": [], + "desc": "Additional subsolvers to spin up beyond the default mix." + }, + "ignore_subsolvers": { + "type": "list", "element_type": "subsolver", "default": [], + "desc": "Subsolvers to suppress from the default mix." + }, + "share_glue_clauses": { + "type": "bool", "default": false, + "desc": "Share learned glue clauses across workers." + }, + "share_glue_clauses_dtime": { + "type": "float", "default": 1.0, "range": [0.0, 10.0], + "desc": "Deterministic-time budget between glue-clause shares." + } + } + }, + + "presolve_probing": { + "description": "Presolve, probing, and symmetry detection knobs.", + "params": { + "cp_model_probing_level": { + "type": "int", "default": 2, "range": [0, 3], + "desc": "Probing aggressiveness. 0=off, 3=most aggressive." + }, + "cp_model_presolve": { + "type": "bool", "default": true, + "desc": "Run presolve pass before search." + }, + "presolve_use_bva": { + "type": "bool", "default": true, + "desc": "Use bounded variable addition during presolve." + }, + "presolve_bve_threshold": { + "type": "int", "default": 500, "range": [0, 100000], + "desc": "Max product growth allowed for bounded variable elimination." + }, + "presolve_inclusion_work_limit": { + "type": "int", "default": 100000000, "range": [0, 10000000000], + "desc": "Work limit for clause-inclusion checks in presolve." + }, + "merge_at_most_one_work_limit": { + "type": "int", "default": 100000000, "range": [0, 10000000000], + "desc": "Work limit for at-most-one constraint merging." + }, + "probing_num_combinations_limit": { + "type": "int", "default": 20000, "range": [0, 10000000], + "desc": "Cap on probing combinations explored." + }, + "symmetry_level": { + "type": "int", "default": 2, "range": [0, 3], + "desc": "Symmetry detection depth. Higher = more aggressive." + } + } + }, + + "lp_cuts": { + "description": "Linear-programming relaxation and cut-generation knobs.", + "params": { + "linearization_level": { + "type": "int", "default": 1, "range": [0, 2], + "desc": "Aggressiveness of LP linearization. 0=off, 2=most aggressive." + }, + "cut_level": { + "type": "int", "default": 1, "range": [0, 2], + "desc": "Cut-generation aggressiveness. 0=no cuts." + }, + "max_num_cuts": { + "type": "int", "default": 10000, "range": [0, 50000], + "desc": "Cap on cuts kept in the LP." + }, + "cut_cleanup_target": { + "type": "int", "default": 1000, "range": [0, 50000], + "desc": "Number of cuts kept after periodic cleanup." + }, + "add_mir_cuts": { + "type": "bool", "default": true, + "desc": "Mixed-integer rounding cuts." + }, + "add_zero_half_cuts": { + "type": "bool", "default": true, + "desc": "Zero-half cuts." + }, + "add_clique_cuts": { + "type": "bool", "default": true, + "desc": "Clique cuts." + }, + "add_objective_cut": { + "type": "bool", "default": false, + "desc": "Add objective-bound cut." + }, + "root_lp_iterations": { + "type": "int", "default": 2000, "range": [0, 100000], + "desc": "LP iterations at root node." + }, + "new_constraints_batch_size": { + "type": "int", "default": 50, "range": [1, 1000], + "desc": "Batch size for adding new constraints to LP." + } + } + }, + + "clause_db": { + "description": "Learned clause database management.", + "params": { + "clause_cleanup_period": { + "type": "int", "default": 10000, "range": [1000, 100000], + "desc": "Conflicts between clause-db cleanups. Higher = keep clauses longer." + }, + "clause_cleanup_target": { + "type": "int", "default": 0, "range": [0, 200000], + "desc": "Target size after cleanup. 0 = ratio-based." + }, + "clause_cleanup_lbd_bound": { + "type": "int", "default": 5, "range": [2, 20], + "desc": "Clauses with LBD <= bound survive cleanup." + }, + "clause_cleanup_ordering": { + "type": "int", "default": 0, "range": [0, 1], + "desc": "0=CLAUSE_ACTIVITY, 1=CLAUSE_LBD." + } + } + }, + + "search_branching": { + "description": "Top-level search strategy and branching heuristics.", + "params": { + "search_branching": { + "type": "int", "default": 0, "range": [0, 8], + "desc": "0=AUTOMATIC, 1=FIXED, 2=PORTFOLIO, 3=LP, 4=PSEUDO_COST, 5=PORTFOLIO_WITH_QUICK_RESTART, 6=HINT, 7=PARTIAL_FIXED, 8=RANDOMIZED." + }, + "use_strong_propagation_in_disjunctive": { + "type": "bool", "default": false, + "desc": "Stronger (more expensive) propagation in disjunctive constraints." + }, + "use_erwa_heuristic": { + "type": "bool", "default": false, + "desc": "Exponential recency weighted average branching." + }, + "repair_hint": { + "type": "bool", "default": false, + "desc": "Repair inconsistent solution hints." + } + } + }, + + "optimization": { + "description": "Objective-search and solution-pool knobs.", + "params": { + "exploit_best_solution": { + "type": "bool", "default": false, + "desc": "Use incumbent objective to prune branches." + }, + "exploit_relaxation_solution": { + "type": "bool", "default": false, + "desc": "Use LP relaxation solution to guide search." + }, + "exploit_all_precedences": { + "type": "bool", "default": false, + "desc": "Propagate all derived precedence relations." + }, + "solution_pool_size": { + "type": "int", "default": 3, "range": [1, 100], + "desc": "Maximum solutions kept in the pool." + } + } + }, + + "mip_bridge": { + "description": "MIP-style numeric tolerances and scaling.", + "params": { + "mip_check_precision": { + "type": "float", "default": 0.0001, "range": [1e-10, 0.1], + "desc": "Precision threshold for MIP feasibility checks." + }, + "mip_drop_tolerance": { + "type": "float", "default": 1e-16, "range": [1e-20, 1e-4], + "desc": "Drop coefficients below this magnitude in MIP." + }, + "mip_max_bound": { + "type": "float", "default": 10000000.0, "range": [1.0, 1e15], + "desc": "Maximum finite bound for MIP variables." + }, + "mip_var_scaling": { + "type": "float", "default": 1.0, "range": [0.001, 1000.0], + "desc": "Per-variable scaling factor for MIP bridge." + } + } + }, + + "seed": { + "description": "Reproducibility. random_seed is LOCKED; do not modify.", + "params": { + "random_seed": { + "type": "int", "default": 0, "range": [0, 2147483647], + "desc": "Locked at 0 across all phases." + } + } + } + } +} diff --git a/input/cpsat-bench/evolve/phase1_search/initial_program.py b/input/cpsat-bench/evolve/phase1_search/initial_program.py index d950e72dd0..6532b0706a 100644 --- a/input/cpsat-bench/evolve/phase1_search/initial_program.py +++ b/input/cpsat-bench/evolve/phase1_search/initial_program.py @@ -1,29 +1,13 @@ """ Phase 1: tune CP-SAT search / subsolver knobs. -Reference: shared/cpsat_params_reference.md - (full proto field listing — consult before adding keys; invalid names - surface as `invalid_param` and zero the score.) - -Three evolution surfaces live in this file's EVOLVE-BLOCK: - GLOBAL_OVERRIDES — applied to every problem - SIZE_BUCKETS — applied conditionally on `num_constraints` - (small / medium / large; first match wins). - The dataset spans ~7k–246k constraints; thresholds - below split it ~evenly. Adjust freely. - STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND the problem - is in the outlier set (Statistics/outliers_top.csv). - Tune knobs that help long-tail / hard outliers - without regressing fast/mid problems. - -Targeted namespace for phase 1 (search/subsolvers): - extra_subsolvers, ignore_subsolvers, interleave_search, - use_feasibility_jump, use_feasibility_pump, search_branching, - preferred_variable_order, repair_hint, diversify_lns_params. - -Other params stay at BASELINE. This phase pins num_search_workers=1 so other -knobs are evaluated without multi-thread / multi-subsolver noise. Phase 3 -raises the worker count to explore subsolver-mix effects. +Targeted namespace: extra_subsolvers, ignore_subsolvers, interleave_search, +use_feasibility_jump, use_feasibility_pump, search_branching, +preferred_variable_order, repair_hint, diversify_lns_params. + +Other params stay at BASELINE. Phase 1 pins num_search_workers=1 so other +knobs are evaluated without multi-thread noise. Phase 3 raises the worker +count to explore subsolver-mix effects. Do NOT modify locked keys (random_seed, num_search_workers). Invalid solver keys cause evaluator to return 0 and surface the offending key. @@ -32,14 +16,31 @@ import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 -from baseline_params import BASELINE # noqa: E402 +BASELINE = params_catalog.load_for_bench(_BENCH).defaults -# OPENEVOLVE_PROFILE=large → run this phase at W=8 (outlier tuning track). -# Default (small) keeps the historical W=1 search-only sweep. +# OPENEVOLVE_PROFILE=large → W=8 (outlier tuning track); default small → W=1. _LARGE_PROFILE = (os.environ.get("OPENEVOLVE_PROFILE", "small").strip().lower() == "large") PHASE_LOCKED = { @@ -49,34 +50,19 @@ # EVOLVE-BLOCK-START -GLOBAL_OVERRIDES = { - "extra_subsolvers": ["default_lp", "no_lp"], - "ignore_subsolvers": ["max_lp"], - "interleave_search": True, - "use_feasibility_jump": False, - "use_feasibility_pump": False, -} - -# (max_num_constraints_exclusive, override_dict). First match wins; the final -# entry must use float("inf") as the sentinel for "no upper bound". +GLOBAL_OVERRIDES = {} SIZE_BUCKETS = [ - (50_000, {}), # small problems — keep GLOBAL_OVERRIDES intact - (150_000, {}), # medium - (float("inf"), {}), # large + (50_000, {}), + (150_000, {}), + (float("inf"), {}), ] - -# Applied ONLY when stage == "stage3" AND problem["is_outlier"] is True. -# Outliers are pre-identified in Statistics/outliers_top.csv (residual log10 -# slowdown vs the runtime ~ vars^a * cons^b regression). Their search budget -# is dominated by conflict learning + LP iter; use this dict to add aggressive -# settings that would hurt simple problems but pay off on hard ones. STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def _bucket_override(num_constraints): +def _bucket_override(size): for upper, override in SIZE_BUCKETS: - if num_constraints < upper: + if size < upper: return override return {} @@ -85,21 +71,18 @@ def get_params(problem=None, stage=None): p = dict(BASELINE) p.update(GLOBAL_OVERRIDES) if problem is not None: - p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + p.update(_bucket_override(int(problem.get("size") or 0))) if stage == "stage3" and problem.get("is_outlier"): p.update(STAGE3_OVERRIDES) - p.update(PHASE_LOCKED) # re-enforce phase lock last + p.update(PHASE_LOCKED) return p def get_phase_overrides(): - """Used by extract_best.py — returns ONLY this phase's evolved GLOBAL dict. - SIZE_BUCKETS / STAGE3_OVERRIDES are extracted via the helpers below.""" return dict(GLOBAL_OVERRIDES) def get_phase_size_buckets(): - """Returns list[(upper_exclusive, override_dict)] for chaining to next phase.""" return [(u, dict(d)) for u, d in SIZE_BUCKETS] diff --git a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py index 904978ccbd..fa3c47b36f 100644 --- a/input/cpsat-bench/evolve/phase2_presolve/initial_program.py +++ b/input/cpsat-bench/evolve/phase2_presolve/initial_program.py @@ -1,44 +1,44 @@ """ -Phase 2: tune CP-SAT presolve / probing knobs. - -Reference: shared/cpsat_params_reference.md (presolve section, lines ~132-162; -LP/cuts section may also be relevant for probing-LP interactions.) - -Three evolution surfaces in this file's EVOLVE-BLOCK: - GLOBAL_OVERRIDES — applied to every problem - SIZE_BUCKETS — applied conditionally on `num_constraints` - (large problems often want LIGHTER presolve to avoid - spending budget on substitution work that doesn't pay - off; small problems can afford full probing.) - STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND outlier. - Outliers have heavy presolve-time / search-time - imbalance — extra knobs here let you trade presolve - depth vs search depth without hurting normal cases. - -Targeted namespace: - cp_model_probing_level, cp_model_presolve, symmetry_level, - presolve_use_bva, presolve_bve_threshold, presolve_substitution_level, - max_presolve_iterations, presolve_probing_deterministic_time_limit, - find_big_linear_overlap, infer_all_diffs, mip_presolve_level. - -Inherits phase1 winners from shared/phase1_*.json. Like phase1, workers stays -at 1 — presolve effects must be measured without multi-worker search masking -them. Phase 3 raises workers. - -Do NOT modify locked keys (random_seed, num_search_workers). +Phase 2: tune CP-SAT presolve / probing / symmetry knobs. + +Targeted namespace: cp_model_probing_level, cp_model_presolve, presolve_use_bva, +presolve_bve_threshold, presolve_inclusion_work_limit, +merge_at_most_one_work_limit, probing_num_combinations_limit, symmetry_level. + +Inherits phase1 winners via get_params() chaining is NOT used — phase1 +GLOBAL_OVERRIDES live in cache/phase1_best.json (consumed by phase4_unified's +prepare step). Phase 2 evaluates presolve in isolation against BASELINE. + +Do NOT modify locked keys. W=1 (single worker) for clean signal. """ -import json import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) -from baseline_params import BASELINE # noqa: E402 +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults -# OPENEVOLVE_PROFILE=large → run this phase at W=8 (outlier tuning track). _LARGE_PROFILE = (os.environ.get("OPENEVOLVE_PROFILE", "small").strip().lower() == "large") PHASE_LOCKED = { @@ -47,69 +47,32 @@ } -def _load_prev_dict(name): - p = _SHARED / name - if p.exists(): - return json.loads(p.read_text()) - return {} - - -def _load_prev_buckets(name): - """Returns list[(upper, override_dict)] or None if file missing. - - File schema: [[upper_or_null, override_dict], ...] (JSON cannot encode inf, - so the writer stores null for the float('inf') sentinel).""" - p = _SHARED / name - if not p.exists(): - return None - raw = json.loads(p.read_text()) - out = [] - for upper, override in raw: - out.append((float("inf") if upper is None else upper, override)) - return out - - -_PHASE1 = _load_prev_dict("phase1_best.json") -_PHASE1_BUCKETS = _load_prev_buckets("phase1_buckets.json") -_PHASE1_STAGE3 = _load_prev_dict("phase1_stage3.json") - - # EVOLVE-BLOCK-START -GLOBAL_OVERRIDES = { - "cp_model_probing_level": 1, -} - +GLOBAL_OVERRIDES = {} SIZE_BUCKETS = [ (50_000, {}), (150_000, {}), (float("inf"), {}), ] - STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def _merge_bucket(num_constraints): - """Merge phase1 bucket + phase2 bucket. Phase2 wins on conflicts.""" - out = {} - for buckets in (_PHASE1_BUCKETS or [], SIZE_BUCKETS): - for upper, override in buckets: - if num_constraints < upper: - out.update(override) - break - return out +def _bucket_override(size): + for upper, override in SIZE_BUCKETS: + if size < upper: + return override + return {} def get_params(problem=None, stage=None): p = dict(BASELINE) - p.update(_PHASE1) p.update(GLOBAL_OVERRIDES) if problem is not None: - p.update(_merge_bucket(int(problem.get("num_constraints") or 0))) + p.update(_bucket_override(int(problem.get("size") or 0))) if stage == "stage3" and problem.get("is_outlier"): - p.update(_PHASE1_STAGE3) p.update(STAGE3_OVERRIDES) - p.update(PHASE_LOCKED) # phase1 may have stored workers; re-pin to 1 + p.update(PHASE_LOCKED) return p diff --git a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py index b14ed1f539..bc4221768a 100644 --- a/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py +++ b/input/cpsat-bench/evolve/phase3_lp_cuts/initial_program.py @@ -1,123 +1,76 @@ """ -Phase 3: tune CP-SAT LP / cuts / MIP-bridge AND subsolver-mix knobs. - -Reference: shared/cpsat_params_reference.md (sections "LP/cuts" lines -~164-198, "MIP bridge" ~200-214, "parallel/workers" ~10-32.) - -Worker count is RAISED to PHASE3_WORKERS (default 8) for this phase: many -subsolvers (max_lp, no_lp, core, quick_restart, reduced_costs, lb_tree_search, -probing_search, …) only activate when num_search_workers is large enough. -Phase 3's job is to find the best subsolver combination + LP/cuts tuning that -works at parallel-search scale. - -Three evolution surfaces (see EVOLVE-BLOCK): - GLOBAL_OVERRIDES — applied to every problem - SIZE_BUCKETS — applied conditionally on `num_constraints`. - LARGE problems (≥150k constraints) often suffer from - LP iteration explosion; smaller max_num_cuts, lower - cut_level, dropping `max_lp` from subsolvers can pay - off here. SMALL problems can afford richer LP work. - STAGE3_OVERRIDES — applied ONLY when stage == "stage3" AND outlier. - Outliers spend ~30x more LP iterations than baseline - median (see Statistics/outliers_report.txt). Use this - to ship outlier-only LP/cut tuning. - -Targeted namespace: - max_num_cuts, cut_level, linearization_level, - mip_max_bound, mip_var_scaling, mip_check_precision, mip_drop_tolerance, - extra_subsolvers, ignore_subsolvers, diversify_lns_params, repair_hint, - add_*_cuts toggles, root_lp_iterations, exploit_*_lp_solution. - -Inherits phase1+phase2 winners (+ their size_buckets / stage3_overrides if -present). num_search_workers is re-pinned to PHASE3_WORKERS at the end of -get_params() — phases 1/2 ran at workers=1 so their wins still need to be -re-validated at workers=PHASE3_WORKERS here. - -Do NOT modify locked keys (random_seed, num_search_workers). +Phase 3: tune CP-SAT LP relaxation + cut generation knobs at W=8. + +Targeted namespace: linearization_level, cut_level, max_num_cuts, +cut_cleanup_target, add_mir_cuts / add_zero_half_cuts / add_clique_cuts / +add_objective_cut, root_lp_iterations, new_constraints_batch_size, +exploit_best_solution, exploit_relaxation_solution. + +W=8 engages the multi-worker subsolver mix — many LP / cut knobs only +matter with the LP-heavy subsolvers (max_lp, default_lp) running. + +Do NOT modify locked keys. """ -import json +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + -from baseline_params import BASELINE # noqa: E402 +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults -PHASE3_WORKERS = 8 PHASE_LOCKED = { "random_seed": 0, - "num_search_workers": PHASE3_WORKERS, + "num_search_workers": 8, } -def _load_prev_dict(name): - p = _SHARED / name - if p.exists(): - return json.loads(p.read_text()) - return {} - - -def _load_prev_buckets(name): - p = _SHARED / name - if not p.exists(): - return None - raw = json.loads(p.read_text()) - return [(float("inf") if u is None else u, override) for u, override in raw] - - -_PHASE1 = _load_prev_dict("phase1_best.json") -_PHASE2 = _load_prev_dict("phase2_best.json") -_PHASE1_BUCKETS = _load_prev_buckets("phase1_buckets.json") -_PHASE2_BUCKETS = _load_prev_buckets("phase2_buckets.json") -_PHASE1_STAGE3 = _load_prev_dict("phase1_stage3.json") -_PHASE2_STAGE3 = _load_prev_dict("phase2_stage3.json") - - # EVOLVE-BLOCK-START -GLOBAL_OVERRIDES = { - "max_num_cuts": 3000, - "cut_level": 1, - "mip_max_bound": 1e+07, - "mip_var_scaling": 1, - "mip_check_precision": 1e-06, - "mip_drop_tolerance": 1e-07, -} - +GLOBAL_OVERRIDES = {} SIZE_BUCKETS = [ (50_000, {}), (150_000, {}), (float("inf"), {}), ] - STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def _merge_bucket(num_constraints): - out = {} - for buckets in (_PHASE1_BUCKETS or [], _PHASE2_BUCKETS or [], SIZE_BUCKETS): - for upper, override in buckets: - if num_constraints < upper: - out.update(override) - break - return out +def _bucket_override(size): + for upper, override in SIZE_BUCKETS: + if size < upper: + return override + return {} def get_params(problem=None, stage=None): p = dict(BASELINE) - p.update(_PHASE1) - p.update(_PHASE2) p.update(GLOBAL_OVERRIDES) if problem is not None: - p.update(_merge_bucket(int(problem.get("num_constraints") or 0))) + p.update(_bucket_override(int(problem.get("size") or 0))) if stage == "stage3" and problem.get("is_outlier"): - p.update(_PHASE1_STAGE3) - p.update(_PHASE2_STAGE3) p.update(STAGE3_OVERRIDES) - p.update(PHASE_LOCKED) # pin workers=PHASE3_WORKERS for this phase + p.update(PHASE_LOCKED) return p @@ -130,4 +83,4 @@ def get_phase_size_buckets(): def get_phase_stage3_overrides(): - return dict(STAGE3_OVERRIDES) + return dict(STAGE3_OVERRIDES) \ No newline at end of file diff --git a/input/cpsat-bench/evolve/phase4_unified/initial_program.py b/input/cpsat-bench/evolve/phase4_unified/initial_program.py index eb1a90c693..27bb187313 100644 --- a/input/cpsat-bench/evolve/phase4_unified/initial_program.py +++ b/input/cpsat-bench/evolve/phase4_unified/initial_program.py @@ -1,137 +1,61 @@ """ -Phase 4: unified refinement. +Phase 4: unified refinement at W=8. -Reference: shared/cpsat_params_reference.md (any section may be tuned here.) - -EVOLVE-BLOCK below is auto-materialized by prepare_phase_unified.py from the -union of phase{1,2,3}_best.json winners (GLOBAL_OVERRIDES), plus the merged -SIZE_BUCKETS and STAGE3_OVERRIDES from those phases. LLM may then tune all -three surfaces jointly: - - GLOBAL_OVERRIDES — every-problem params - SIZE_BUCKETS — per-constraint-count overrides - STAGE3_OVERRIDES — outlier-only overrides (stage3 cascade) - -num_search_workers stays at PHASE4_WORKERS (= phase3 setting) so unified -tuning happens at the same parallel-search scale as phase3. +EVOLVE-BLOCK is auto-materialized by `python -m _lib.prepare_phase cpsat-bench` +before this phase runs — pulling the union of phase{1,2,3}_best.json winners +into GLOBAL_OVERRIDES, merged SIZE_BUCKETS, and merged STAGE3_OVERRIDES. The +LLM then tunes all three surfaces jointly. Do NOT modify locked keys (random_seed, num_search_workers). """ +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) -from baseline_params import BASELINE # noqa: E402 +from _lib import params_catalog # noqa: E402 +BASELINE = params_catalog.load_for_bench(_BENCH).defaults -PHASE4_WORKERS = 8 PHASE_LOCKED = { "random_seed": 0, - "num_search_workers": PHASE4_WORKERS, + "num_search_workers": 8, } # EVOLVE-BLOCK-START -# Auto-generated by prepare_phase_unified.py from union of prior phase winners. -GLOBAL_OVERRIDES = {'add_clique_cuts': True, - 'add_mir_cuts': True, - 'add_objective_cut': True, - 'add_zero_half_cuts': True, - 'clause_cleanup_lbd_bound': 6, - 'clause_cleanup_ordering': 1, - 'clause_cleanup_period': 15000, - 'clause_cleanup_target': 50000, - 'cp_model_probing_level': 1, - 'cut_level': 1, - 'exploit_best_solution': True, - 'interleave_search': True, - 'linearization_level': 1, - 'max_num_cuts': 3000, - 'merge_at_most_one_work_limit': 500000000, - 'mip_check_precision': 1e-06, - 'mip_drop_tolerance': 1e-07, - 'mip_max_bound': 10000000.0, - 'mip_var_scaling': 1, - 'new_constraints_batch_size': 100, - 'presolve_inclusion_work_limit': 500000000, - 'presolve_use_bva': False, - 'probing_num_combinations_limit': 40000, - 'root_lp_iterations': 2500, - 'share_glue_clauses': True, - 'share_glue_clauses_dtime': 0.5, - 'symmetry_level': 1} +GLOBAL_OVERRIDES = {} SIZE_BUCKETS = [ - (50000, {'cp_model_probing_level': 3, - 'cut_level': 0, - 'interleave_search': False, - 'linearization_level': 1, - 'max_num_cuts': 0, - 'merge_at_most_one_work_limit': 1000000, - 'presolve_inclusion_work_limit': 50000000, - 'presolve_use_bva': False, - 'probing_num_combinations_limit': 5000, - 'root_lp_iterations': 500, - 'search_branching': 0, - 'symmetry_level': 2}), - (150000, {'add_clique_cuts': False, - 'add_mir_cuts': True, - 'add_zero_half_cuts': False, - 'cp_model_probing_level': 2, - 'cut_cleanup_target': 1500, - 'cut_level': 1, - 'exploit_relaxation_solution': True, - 'linearization_level': 1, - 'max_num_cuts': 4000, - 'root_lp_iterations': 3000, - 'search_branching': 0, - 'use_strong_propagation_in_disjunctive': True}), - (float('inf'), {'cut_cleanup_target': 2000, - 'cut_level': 0, - 'exploit_all_precedences': True, - 'ignore_subsolvers': ['max_lp'], - 'linearization_level': 0, - 'max_num_cuts': 1500, - 'root_lp_iterations': 4000, - 'search_branching': 0, - 'use_strong_propagation_in_disjunctive': True}), + (50_000, {}), + (150_000, {}), + (float("inf"), {}), ] -STAGE3_OVERRIDES = {'clause_cleanup_lbd_bound': 8, - 'clause_cleanup_ordering': 1, - 'clause_cleanup_period': 22000, - 'clause_cleanup_target': 150000, - 'cp_model_probing_level': 3, - 'cut_active_count_decay': 0.9, - 'cut_level': 1, - 'diversify_lns_params': True, - 'exploit_all_precedences': True, - 'extra_subsolvers': ['core', 'quick_restart', 'reduced_costs', 'lb_tree_search'], - 'inprocessing_dtime_ratio': 0.4, - 'inprocessing_minimization_dtime': 2.0, - 'inprocessing_probing_dtime': 2.0, - 'linearization_level': 1, - 'max_cut_rounds_at_level_zero': 3, - 'max_num_cuts': 4000, - 'merge_at_most_one_work_limit': 1000000000, - 'merge_no_overlap_work_limit': 2000000000000.0, - 'polish_lp_solution': True, - 'presolve_inclusion_work_limit': 1000000000, - 'probing_num_combinations_limit': 80000, - 'repair_hint': True, - 'root_lp_iterations': 8000, - 'solution_pool_size': 5, - 'symmetry_level': 3, - 'use_feasibility_jump': True, - 'use_feasibility_pump': True, - 'use_strong_propagation_in_disjunctive': True} +STAGE3_OVERRIDES = {} # EVOLVE-BLOCK-END -def _bucket_override(num_constraints): +def _bucket_override(size): for upper, override in SIZE_BUCKETS: - if num_constraints < upper: + if size < upper: return override return {} @@ -140,7 +64,7 @@ def get_params(problem=None, stage=None): p = dict(BASELINE) p.update(GLOBAL_OVERRIDES) if problem is not None: - p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + p.update(_bucket_override(int(problem.get("size") or 0))) if stage == "stage3" and problem.get("is_outlier"): p.update(STAGE3_OVERRIDES) p.update(PHASE_LOCKED) @@ -156,4 +80,4 @@ def get_phase_size_buckets(): def get_phase_stage3_overrides(): - return dict(STAGE3_OVERRIDES) + return dict(STAGE3_OVERRIDES) \ No newline at end of file diff --git a/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py b/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py index 2d7358d03f..e9dd451cdc 100644 --- a/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py +++ b/input/cpsat-bench/evolve/phase5_custom_subsolvers/initial_program.py @@ -1,72 +1,59 @@ """ -Phase 5: add CUSTOM SUBSOLVERS to the CP-SAT portfolio. +Phase 5: add CUSTOM SUBSOLVERS to the CP-SAT portfolio at W=8. -Reference: shared/cpsat_params_reference.md - (any SatParameters field may be set INSIDE a custom subsolver's `params`; - invalid names surface as `invalid_param: subsolver_params.` and - zero the score.) +CRITICAL — do NOT tune top-level parameters here. Top-level params apply to +EVERY subsolver, including LNS workers. Stick to a single isolated extra +subsolver per technique so its effect is attributable and the rest of the +portfolio is untouched. -WHY a dedicated phase for this ------------------------------- -CP-SAT solves a model with a PORTFOLIO of subsolvers, each with a slightly -different configuration (e.g. different linearization_level). You may add your -OWN subsolver with a specific configuration via `subsolver_params` (a named -SatParameters set) referenced from `extra_subsolvers`. +Inherits the unified phase4 winner via cache/phase{4}_best.json +(GLOBAL_OVERRIDES), cache/phase4_buckets.json (SIZE_BUCKETS), and +cache/phase4_stage3.json (STAGE3_OVERRIDES) as the immutable top-level +config. Phase 5 ONLY appends custom subsolvers on top. -CRITICAL — do NOT tune top-level parameters here. Top-level params apply to -EVERY subsolver, including the LNS workers. A very expensive propagation -technique enabled top-level would also fire inside LNS workers and make LNS so -slow it becomes useless, unbalancing the whole portfolio. You can also create a -default subsolver incompatible with the model: e.g. an objective-requiring -config on an objective-less model makes CP-SAT drop most/all subsolvers from -the portfolio, leaving the solver inefficient or non-functional. - -The safe pattern is a SINGLE extra subsolver carrying the expensive technique: - - if the technique does NOT help → only that one worker is slow; the rest of - the portfolio is untouched. - - if it DOES help → that worker shares its solutions and variable bounds with - the others, lifting whole-portfolio performance. - -This is exactly the packing-problem case: a high-cost propagation can speed up -search dramatically when isolated to one worker, but would cripple search if -forced on everyone. - -Inheritance ------------ -Inherits the phase4 unified winner (shared/phase4_best.json + phase4_buckets + -phase4_stage3) as the top-level configuration and does NOT modify it. Phase 5 -ONLY appends custom subsolvers on top. num_search_workers is pinned to -PHASE5_WORKERS (8) so the added subsolvers actually get worker slots; portfolio -sharing requires interleave_search, which is locked True. - -Evolve surface (EVOLVE-BLOCK) ------------------------------ +EVOLVE-BLOCK surface: CUSTOM_SUBSOLVERS — applied to every problem - STAGE3_CUSTOM_SUBSOLVERS — added ONLY for stage3 outliers (long-tail / hard) + STAGE3_CUSTOM_SUBSOLVERS — added ONLY for stage3 outliers -Each entry is a dict: +Spec dict: { - "name": "unique_subsolver_name", # required, unique string - "params": { ...SatParameters fields }, # the isolated configuration - "needs_objective": False, # optional; if True, skipped on - # objective-less models (avoids - # CP-SAT dropping the portfolio) - "min_constraints": 0, # optional inclusive lower gate - "max_constraints": None, # optional exclusive upper gate + "name": "unique_subsolver_name", + "params": { ...SatParameters fields }, + "needs_objective": False, # optional + "min_constraints": 0, # optional inclusive lower gate + "max_constraints": None, # optional exclusive upper gate } -Only put the expensive/experimental knob(s) in `params`. Keep it to one -technique per subsolver so its effect is attributable. Do NOT modify locked keys (random_seed, num_search_workers, interleave_search). """ import json +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 -from baseline_params import BASELINE # noqa: E402 +BASELINE = params_catalog.load_for_bench(_BENCH).defaults +_CACHE = _BENCH / "cache" PHASE5_WORKERS = 8 @@ -74,94 +61,52 @@ PHASE_LOCKED = { "random_seed": 0, "num_search_workers": PHASE5_WORKERS, - # Portfolio determinism + the cross-worker sharing that makes an isolated - # custom subsolver pay off (it broadcasts solutions / variable bounds). "interleave_search": True, } def _load_prev_dict(name): - p = _SHARED / name + p = _CACHE / name if p.exists(): return json.loads(p.read_text()) return {} def _load_prev_buckets(name): - p = _SHARED / name + p = _CACHE / name if not p.exists(): return None raw = json.loads(p.read_text()) return [(float("inf") if u is None else u, override) for u, override in raw] -def _load_objective_shas(): - """SHAs whose model carries an objective (build_samples cache). Used to skip - objective-requiring custom subsolvers on feasibility-only models.""" - p = _SHARED / "has_objective_cache.json" - if not p.exists(): - return None # unknown → treat every problem as having an objective - try: - data = json.loads(p.read_text()) - return set(data.get("with_objective") or []) - except (json.JSONDecodeError, OSError): - return None - - -# Inherit the consolidated phase4 unified winner as the top-level config. _PHASE4 = _load_prev_dict("phase4_best.json") _PHASE4_BUCKETS = _load_prev_buckets("phase4_buckets.json") _PHASE4_STAGE3 = _load_prev_dict("phase4_stage3.json") -_OBJECTIVE_SHAS = _load_objective_shas() # EVOLVE-BLOCK-START -# Custom subsolvers added to the portfolio. Start empty; the LLM introduces -# one isolated expensive technique at a time. See module docstring for schema. -# Example (commented — DO NOT enable blindly): -# { -# "name": "max_lp_heavy", -# "params": {"linearization_level": 2, "add_mir_cuts": True, -# "max_num_cuts": 12000, "cut_level": 2}, -# "min_constraints": 50000, -# }, CUSTOM_SUBSOLVERS = [] - -# Added on top of CUSTOM_SUBSOLVERS only for stage3 outliers. STAGE3_CUSTOM_SUBSOLVERS = [] # EVOLVE-BLOCK-END -def _problem_has_objective(problem): - if problem is None: - return True - if _OBJECTIVE_SHAS is None: - return True - sha = problem.get("sha") - if sha is None: - # fall back to the recorded baseline objective when sha is absent - return problem.get("baseline_objective") is not None - return sha in _OBJECTIVE_SHAS - - def _eligible(spec, problem): - if spec.get("needs_objective") and not _problem_has_objective(problem): - return False - nc = int(problem.get("num_constraints") or 0) if problem else 0 + size = int(problem.get("size") or 0) if problem else 0 lo = spec.get("min_constraints") - if lo is not None and nc < lo: + if lo is not None and size < lo: return False hi = spec.get("max_constraints") - if hi is not None and nc >= hi: + if hi is not None and size >= hi: return False return True -def _bucket_override(num_constraints): +def _bucket_override(size): out = {} for buckets in (_PHASE4_BUCKETS or [],): for upper, override in buckets: - if num_constraints < upper: + if size < upper: out.update(override) break return out @@ -175,22 +120,16 @@ def _collect_specs(problem, stage): def _apply_custom_subsolvers(p, specs): - """Append custom subsolvers to the portfolio WITHOUT touching top-level - params. Each spec → one entry in subsolver_params + one name in - extra_subsolvers (deduped against any inherited names).""" if not specs: return sub_entries = [] new_names = [] for spec in specs: - name = spec["name"] - entry = {"name": name} + entry = {"name": spec["name"]} entry.update(spec.get("params") or {}) sub_entries.append(entry) - new_names.append(name) - + new_names.append(spec["name"]) p["subsolver_params"] = sub_entries - existing = list(p.get("extra_subsolvers") or []) for name in new_names: if name not in existing: @@ -200,13 +139,17 @@ def _apply_custom_subsolvers(p, specs): def get_params(problem=None, stage=None): p = dict(BASELINE) - p.update(_PHASE4) # inherited top-level config — left untouched below + p.update(_PHASE4) if problem is not None: - p.update(_bucket_override(int(problem.get("num_constraints") or 0))) + p.update(_bucket_override(int(problem.get("size") or 0))) if stage == "stage3" and problem.get("is_outlier"): p.update(_PHASE4_STAGE3) - _apply_custom_subsolvers(p, _collect_specs(problem, stage)) - - p.update(PHASE_LOCKED) # re-enforce phase lock last + p.update(PHASE_LOCKED) return p + + +def get_phase_overrides(): + """Phase 5 evolves subsolver list, not a flat overrides dict. + Return empty so extract_best does the right (no-op) thing for downstream.""" + return {} \ No newline at end of file diff --git a/input/cpsat-bench/evolve/prepare_phase_unified.py b/input/cpsat-bench/evolve/prepare_phase_unified.py deleted file mode 100644 index a6ae80f94f..0000000000 --- a/input/cpsat-bench/evolve/prepare_phase_unified.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Thin wrapper: calls _lib.prepare_phase.main with cpsat-bench phase config. -Materializes phase4_unified/initial_program.py from phase{1,2,3}_best.json -plus phase{1,2,3}_buckets.json / phase{1,2,3}_stage3.json when present. -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_SHARED = _HERE / "shared" -_INPUT_DIR = _HERE.parents[1] -_UNIFIED_FILE = _HERE / "phase4_unified" / "initial_program.py" - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib.prepare_phase import main # noqa: E402 - -PRIOR_PHASES = [1, 2, 3] - -if __name__ == "__main__": - # cpsat-bench unified phase exposes GLOBAL_OVERRIDES (not the legacy - # UNIFIED_OVERRIDES) so prepare_phase writes that name. SIZE_BUCKETS and - # STAGE3_OVERRIDES are appended when prior phases produced bucket/stage3 - # extracts. - main(_HERE, _SHARED, PRIOR_PHASES, _UNIFIED_FILE, - dict_name="GLOBAL_OVERRIDES") diff --git a/input/cpsat-bench/evolve/rebaseline_local.py b/input/cpsat-bench/evolve/rebaseline_local.py deleted file mode 100644 index 07e8849e48..0000000000 --- a/input/cpsat-bench/evolve/rebaseline_local.py +++ /dev/null @@ -1,424 +0,0 @@ -""" -Init-phase rebaseline: measure BASELINE on the union of -stage{1,2,3,4}_sample.json (on the local host, with current CP-SAT version) -and write shared/local_baseline.json. Captures elapsed_ms, stats, AND -objective_value — the last is critical for cost-mode scoring (variant cost -needs a baseline_obj to ratio against). - -MULTI-WORKER BASELINES (2026-05 revision): - Each phase's initial_program.py pins num_search_workers via PHASE_LOCKED. - Comparing a workers=8 variant against a workers=1 baseline conflates - param-tuning gain with multi-thread parallelism gain. To keep speedup - honest, we capture one baseline PER unique worker count discovered across - the phase files, and store them under `by_workers` in the output. - - Auto-discovery: walks sibling phase*_*/initial_program.py and unions every - PHASE_LOCKED["num_search_workers"]. Override with --workers 1,8 if needed. - -STAGE3 OUTLIER POLICY (2026-05 revision): - Stage3 holds outlier problems with W=8-equivalent baselines from raw-data, - some > 1500s. Measuring those at W=1 would either timeout or take ~10× - longer with no value (evaluator skips stage3 for W=1 phases anyway — see - evaluate_stage3). To save rebaseline wall-clock, this script EXCLUDES stage3 - shas from the W=1 task list and measures stage3 only at W>=2. - -Output schema (shared/local_baseline.json): - { - "": { - "raw_result": "OPTIMAL", - "raw_elapsed_ms": 4321, - "by_workers": { - "1": {"elapsed_ms": ..., "result": ..., "stats": {...}, - "objective": ..., "matches_raw": true}, - "8": {"elapsed_ms": ..., "result": ..., "stats": {...}, - "objective": ..., "matches_raw": true} - } - } - } - -Wall-clock varies by hardware / ortools version. raw-data timings were -recorded elsewhere; evaluator overlays this local file so per-problem -timeout = baseline_ms * 1.3 and speedup = local_baseline_ms / variant_ms -are calibrated for this box AND for the variant's worker count. - -Per-problem timeout = REBASELINE_TIMEOUT_S (1 hr safety floor). Never cut a -baseline run short — a truncated baseline poisons every variant comparison. - -Concurrency = floor(len(core_pool) / W) per worker count. W=1 fills the -pool fully; W=8 typically runs sequentially on small hosts. -""" -import argparse -import importlib.util -import json -import os -import pathlib -import queue as _queue -import sys -import time -from concurrent.futures import ThreadPoolExecutor, as_completed - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) - -from baseline_params import BASELINE # noqa: E402 -from cpsat_runner import run_cpsat # noqa: E402 -from runtime import parallel_solvers, core_range, alloc_core_blocks # noqa: E402 - -_BENCH_DIR = _HERE.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_OUT = _HERE / "shared" / "local_baseline.json" - - -def _profile(): - return (os.environ.get("OPENEVOLVE_PROFILE") or "small").strip().lower() - - -def _stage_sample(stage_num): - profile = _profile() - if profile != "small": - suffixed = _HERE / "shared" / f"stage{stage_num}_{profile}_sample.json" - if suffixed.exists(): - return suffixed - return _HERE / "shared" / f"stage{stage_num}_sample.json" - - -_STAGE1_SAMPLE = _stage_sample(1) -_STAGE2_SAMPLE = _stage_sample(2) -_STAGE3_SAMPLE = _stage_sample(3) -_STAGE4_SAMPLE = _stage_sample(4) - -REBASELINE_TIMEOUT_S = 3600 - -# Match the evaluator: small profile averages N repeats per solve so the -# baseline is measured the SAME way variants are (fair dtime ratio). large -# profile measures once. OPENEVOLVE_SOLVE_REPEATS overrides. -N_REPEATS_SMALL = 10 - - -def _solve_repeats(): - env = os.environ.get("OPENEVOLVE_SOLVE_REPEATS") - if env: - try: - return max(1, int(env)) - except ValueError: - pass - return N_REPEATS_SMALL if _profile() == "small" else 1 - - -def _average_runs(runs): - """Mean elapsed_ms / stats / objective over N run_cpsat dicts. Mirrors - evaluator._average_runs so baseline + variant are averaged identically.""" - import collections - import statistics - - if not runs: - return {"result": "Unknown", "elapsed_ms": 0, "stats": {}} - for r in runs: - if "invalid_param" in r: - return r - if len(runs) == 1: - return runs[0] - - results = [r.get("result") for r in runs] - result = collections.Counter(results).most_common(1)[0][0] - elapsed = statistics.mean(r.get("elapsed_ms", 0) for r in runs) - timeout_any = any(r.get("timeout") for r in runs) - - stat_keys = set() - for r in runs: - stat_keys |= set((r.get("stats") or {}).keys()) - stats = {} - for k in stat_keys: - vals = [(r.get("stats") or {}).get(k) for r in runs] - vals = [v for v in vals if isinstance(v, (int, float))] - if vals: - stats[k] = statistics.mean(vals) - - out = { - "result": result, - "elapsed_ms": int(elapsed), - "timeout": timeout_any, - "stats": stats, - "n_repeats": len(runs), - } - objs = [r.get("objective") for r in runs if r.get("objective") is not None] - if objs: - out["objective"] = statistics.mean(objs) - return out - - -def _load_problem_index(): - idx = {} - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - sha = d["problem_sha256"] - idx[sha] = { - "sha": sha, - "problem_filename": d["problem_filename"], - "raw_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), - "raw_result": (d.get("cpsat_status") or {}).get("result"), - } - return idx - - -def _load_target_shas(include_stage3=True): - """Union of stage sample SHAs (dedup, ordered by first appearance). - include_stage3=False → drop stage3 sample (used for W=1 task list). - - Large profile short-circuits to a single sample (stage1_large only) — - cascade staging is disabled in evaluator for that profile.""" - if _profile() == "large": - large = _HERE / "shared" / "stage1_large_sample.json" - if not large.exists(): - print(f"ERROR: {large} missing — run build_samples.py first", - file=sys.stderr) - sys.exit(2) - return list(dict.fromkeys(json.loads(large.read_text())["sha256"])) - - if not _STAGE1_SAMPLE.exists(): - print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", - file=sys.stderr) - sys.exit(2) - samples = [ - (_STAGE1_SAMPLE, "stage1"), - (_STAGE2_SAMPLE, "stage2"), - (_STAGE4_SAMPLE, "stage4"), - ] - if include_stage3: - samples.insert(2, (_STAGE3_SAMPLE, "stage3")) - ids = [] - seen = set() - for sample_path, label in samples: - if not sample_path.exists(): - print(f"WARN: {sample_path.name} missing — skipping {label}", file=sys.stderr) - continue - for sha in json.loads(sample_path.read_text())["sha256"]: - if sha not in seen: - ids.append(sha) - seen.add(sha) - return ids - - -def _discover_phase_workers(): - """Union of PHASE_LOCKED['num_search_workers'] across sibling phase dirs. - - Returns sorted list of unique worker counts (defaults to [1] if nothing - discovered, so the script still produces a usable baseline).""" - workers = set() - for prog in sorted(_HERE.glob("phase*_*/initial_program.py")): - try: - spec = importlib.util.spec_from_file_location(prog.parent.name, prog) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - except Exception as e: - print(f"WARN: failed to load {prog.relative_to(_HERE)}: {e}", - file=sys.stderr) - continue - pl = getattr(mod, "PHASE_LOCKED", None) - if isinstance(pl, dict) and "num_search_workers" in pl: - try: - workers.add(int(pl["num_search_workers"])) - except (TypeError, ValueError): - pass - return sorted(workers) if workers else [1] - - -def _parse_workers_arg(s): - out = [] - for tok in s.split(","): - tok = tok.strip() - if not tok: - continue - try: - w = int(tok) - except ValueError: - raise SystemExit(f"--workers: bad integer {tok!r}") - if w < 1: - raise SystemExit(f"--workers: {w} must be >= 1") - if w not in out: - out.append(w) - if not out: - raise SystemExit("--workers: empty list") - return sorted(out) - - -def _measure_at_workers(tasks, w, cores): - """Run baseline for one worker count W across all tasks. Returns - list of (i, meta, res, core_block) tuples in submission order.""" - if not tasks: - print(f" workers={w}: no tasks — skipping", flush=True) - return [] - blocks = alloc_core_blocks(cores, w) - if not blocks: - blocks = [list(cores)] if cores else [None] - n_parallel = min(len(blocks), len(tasks)) - blocks = blocks[:n_parallel] - - pool = _queue.Queue() - for b in blocks: - pool.put(b) - - params = dict(BASELINE) - params["num_search_workers"] = w - - def _fmt(b): - if isinstance(b, (list, tuple)): - return ",".join(str(x) for x in b) - return str(b) if b is not None else "-" - - repeats = _solve_repeats() - print(f" workers={w}: parallel={n_parallel} repeats={repeats} " - f"blocks={[_fmt(b) for b in blocks]}", flush=True) - - def _solve(task): - i, meta, path = task - block = pool.get() - try: - runs = [] - for _ in range(repeats): - rr = run_cpsat(path, params, REBASELINE_TIMEOUT_S, cpu_core=block) - runs.append(rr) - if "invalid_param" in rr: - break - res = _average_runs(runs) - finally: - pool.put(block) - return i, meta, res, block - - out = [] - if n_parallel == 1: - for task in tasks: - out.append(_solve(task)) - else: - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_solve, t) for t in tasks] - for fut in as_completed(futures): - out.append(fut.result()) - out.sort(key=lambda x: x[0]) - return out - - -def main(): - ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) - ap.add_argument( - "--workers", - type=str, - default=None, - help="comma-separated worker counts (e.g. '1,8'). Default: union of " - "PHASE_LOCKED['num_search_workers'] across sibling phase dirs.", - ) - args = ap.parse_args() - - if args.workers: - worker_counts = _parse_workers_arg(args.workers) - print(f"[rebaseline] worker counts (from --workers): {worker_counts}") - else: - worker_counts = _discover_phase_workers() - print(f"[rebaseline] worker counts (auto-discovered): {worker_counts}") - - # Build BOTH task lists: full (W>=2) and stage3-excluded (W=1). - idx = _load_problem_index() - - def _build_tasks(shas): - out = [] - for i, sha in enumerate(shas): - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} not in problems.jsonl", - file=sys.stderr) - sys.exit(2) - path = _RAW_DIR / meta["problem_filename"] - if not path.exists(): - print(f"ERROR: input not found: {path}", file=sys.stderr) - sys.exit(2) - out.append((i, meta, path)) - return out - - shas_full = _load_target_shas(include_stage3=True) - shas_no_stage3 = _load_target_shas(include_stage3=False) - tasks_full = _build_tasks(shas_full) - tasks_no_stage3 = _build_tasks(shas_no_stage3) - n_stage3_only = len(shas_full) - len(shas_no_stage3) - - cores = core_range() - if cores is None: - cores = list(range(1, parallel_solvers(default=1) + 1)) - - print(f"rebaselining stage{{1,2,3,4}}_sample.json: " - f"{len(tasks_full)} problems total, {n_stage3_only} stage3-only") - print(f" W=1 skips stage3 ({len(tasks_no_stage3)} problems)") - print(f" W>=2 measures all ({len(tasks_full)} problems)") - print(f" worker counts: {worker_counts}") - print(f" per-problem timeout = {REBASELINE_TIMEOUT_S}s (never cut short), " - f"core pool = {cores}") - print() - - # results[sha]["by_workers"][str(w)] = {...} - results = {} - for meta in (m for _, m, _ in tasks_full): - results[meta["sha"]] = { - "raw_result": meta["raw_result"], - "raw_elapsed_ms": meta["raw_ms"], - "by_workers": {}, - } - - t_start = time.monotonic() - mismatch_total = 0 - for w in worker_counts: - tasks = tasks_no_stage3 if w == 1 else tasks_full - print(f"[W={w}] {len(tasks)} problems " - f"({'stage3 skipped' if w == 1 else 'all stages'})", flush=True) - completed = _measure_at_workers(tasks, w, cores) - for i, meta, res, block in completed: - got_result = res.get("result", "Unknown") - got_ms = int(res.get("elapsed_ms", 0)) - invalid = res.get("invalid_param") - ok = (got_result == meta["raw_result"]) and not invalid - if not ok: - mismatch_total += 1 - - if invalid: - flag = f" INVALID_PARAM={invalid}" - elif ok: - flag = "" - else: - flag = " MISMATCH" - ratio = got_ms / max(meta["raw_ms"], 1) - block_str = (",".join(str(x) for x in block) - if isinstance(block, (list, tuple)) else str(block)) - print( - f" [W={w} {i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " - f"raw={meta['raw_result']:<10}/{int(meta['raw_ms']):>7}ms " - f"local={got_result:<10}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " - f"cores={block_str}", - flush=True, - ) - - entry = { - "elapsed_ms": got_ms, - "result": got_result, - "matches_raw": ok, - "stats": res.get("stats") or {}, - } - if "objective" in res: - entry["objective"] = res["objective"] - results[meta["sha"]]["by_workers"][str(w)] = entry - - elapsed = time.monotonic() - t_start - _OUT.write_text(json.dumps(results, indent=2) + "\n") - n_runs = sum(len(r["by_workers"]) for r in results.values()) - print() - print(f"wrote {_OUT.relative_to(_BENCH_DIR.parent)} " - f"({len(results)} entries, {n_runs} (sha,W) runs, " - f"{mismatch_total} mismatches)") - print(f"total time: {elapsed:.1f}s") - if mismatch_total: - print(f"WARNING: {mismatch_total} (problem, W) pairs had result mismatch — " - f"evaluator will fall back to raw_ms for those.") - return 0 if mismatch_total == 0 else 1 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/input/cpsat-bench/evolve/shared/baseline_params.py b/input/cpsat-bench/evolve/shared/baseline_params.py deleted file mode 100644 index f6608e6769..0000000000 --- a/input/cpsat-bench/evolve/shared/baseline_params.py +++ /dev/null @@ -1,149 +0,0 @@ -""" -Baseline CP-SAT parameters captured from raw-data/____seed0.meta.jsonl -(uniform `cpsat_applied_params` across all problems in package 71 instances). - -DO NOT MODIFY. Imported by all phases. - -Pkg 71 applied_params has 5 keys: timeout_sec, num_search_workers, random_seed, -interleave_search, tuned. `timeout_sec` and `tuned` are wrapper-level -(scheduler) — NOT real CpSolverParameters proto fields. Including them -would make every variant fail with invalid_param. Dropped from BASELINE -and from LOCKED; the worker also has both in its _DROP set as belt+braces. - -Worker-count policy (2026-05 revision): - - BASELINE.num_search_workers = 1 (minimum) so phases 1+2 isolate other - knobs from parallel-search noise. - - Each phase declares its own PHASE_LOCKED in its initial_program.py, - pinning num_search_workers to the phase-specific value. Phase 3 raises - it (typically 8) to let the LLM explore subsolver variations that only - activate with multi-worker search. - - Global LOCKED only enforces random_seed; worker count is enforced per-phase. -""" - -BASELINE = { - "num_search_workers": 1, - "random_seed": 0, - "interleave_search": True, -} - -# Global locks enforced for all phases. Per-phase locks (incl. num_search_workers) -# live in each phase's initial_program.py as PHASE_LOCKED. -LOCKED = { - "random_seed": 0, -} - - -def _self_test(): - """ - Run stage1 problems with BASELINE in parallel; report per-problem ratio vs - recorded baseline_ms. - OK ratio in [0.5, 2.0] - WARN ratio out of band - FAIL result mismatch / invalid_param - """ - import json - import math - import pathlib - import sys - import time - from concurrent.futures import ThreadPoolExecutor, as_completed - - here = pathlib.Path(__file__).resolve().parent - sys.path.insert(0, str(here)) - from cpsat_runner import run_cpsat # noqa: E402 - from runtime import parallel_solvers, core_range # noqa: E402 - - bench = here.parent.parent - raw_dir = bench / "raw-data" - problems_jsonl = bench / "problems.jsonl" - stage1_sample = here / "stage1_sample.json" - - if not stage1_sample.exists(): - print(f"ERROR: {stage1_sample} missing. run build_samples.py first.", - file=sys.stderr) - return 2 - - ids = list(json.loads(stage1_sample.read_text())["sha256"]) - idx = {} - with open(problems_jsonl) as f: - for line in f: - d = json.loads(line) - idx[d["problem_sha256"]] = { - "problem_filename": d["problem_filename"], - "baseline_ms": (d.get("cpsat_status") or {}).get("elapsed_ms", 0), - "baseline_result": (d.get("cpsat_status") or {}).get("result"), - } - - tasks = [] - for i, pid in enumerate(ids): - meta = idx.get(pid) - if meta is None: - print(f"ERROR: {pid[:12]} not in problems.jsonl", file=sys.stderr) - return 2 - problem_path = raw_dir / meta["problem_filename"] - if not problem_path.exists(): - print(f"ERROR: input not found: {problem_path}", file=sys.stderr) - return 2 - tasks.append((i, pid, meta, problem_path)) - - cores = core_range() - if cores is None: - cores = list(range(1, parallel_solvers(default=5) + 1)) - n_parallel = min(len(cores), len(tasks)) - cores = cores[:n_parallel] - - print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel} " - f"cores={cores}") - print() - - def solve(t): - i, pid, meta, problem_path = t - timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) - core = cores[i % n_parallel] - r = run_cpsat(problem_path, BASELINE, timeout_s, cpu_core=core) - return i, pid, meta, r - - t_start = time.monotonic() - results = [] - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(solve, t) for t in tasks] - for fut in as_completed(futures): - results.append(fut.result()) - elapsed = time.monotonic() - t_start - results.sort(key=lambda x: x[0]) - - print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" - f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} core status") - print("-" * 84) - fail = 0 - warn = 0 - for i, pid, meta, r in results: - got_result = r.get("result", "Unknown") - got_ms = int(r.get("elapsed_ms", 0)) - ratio = got_ms / max(meta["baseline_ms"], 1) - result_ok = (got_result == meta["baseline_result"]) - invalid = r.get("invalid_param") - if invalid: - status = f"FAIL(invalid={invalid})" - fail += 1 - elif not result_ok: - status = "FAIL" - fail += 1 - elif not (0.5 <= ratio <= 2.0): - status = "WARN" - warn += 1 - else: - status = "OK" - print(f"{pid[:12]:<14}{str(meta['baseline_result']):<10}{str(got_result):<10}" - f"{int(meta['baseline_ms']):>10}{got_ms:>10}{ratio:>7.2f}x " - f"{cores[i % n_parallel]:>4} {status}") - - print() - print(f"wall-clock: {elapsed:.1f}s") - print(f"summary: {len(results) - fail - warn} ok, {warn} warn, {fail} fail") - return 0 if fail == 0 else 1 - - -if __name__ == "__main__": - import sys - sys.exit(_self_test()) diff --git a/input/cpsat-bench/evolve/shared/cpsat_params_reference.md b/input/cpsat-bench/evolve/shared/cpsat_params_reference.md deleted file mode 100644 index 66b8373964..0000000000 --- a/input/cpsat-bench/evolve/shared/cpsat_params_reference.md +++ /dev/null @@ -1,353 +0,0 @@ -# CpSolverParameters Reference (ortools 9.14.6206) - -Total fields: **275**. Auto-categorized by name pattern; some fields -appear under a best-fit bucket. Always verify with the upstream proto: - -`ortools/sat/sat_parameters.proto`. Setting any field on `cp_model.CpSolver().parameters` -via `setattr(s.parameters, name, value)` works for all of these. - - -## parallel/workers (19) - -| name | type | default | enum / notes | -|---|---|---|---| -| `diversify_lns_params` | bool | False | | -| `extra_subsolvers` | list | | | -| `filter_subsolvers` | list | | | -| `ignore_subsolvers` | list | | | -| `interleave_search` | bool | False | | -| `lb_relax_num_workers_threshold` | int32 | 16 | | -| `log_subsolver_statistics` | bool | False | | -| `num_full_subsolvers` | int32 | 0 | | -| `num_search_workers` | int32 | 0 | | -| `num_workers` | int32 | 0 | | -| `share_binary_clauses` | bool | True | | -| `share_glue_clauses` | bool | False | | -| `share_glue_clauses_dtime` | double | 1.0 | | -| `share_level_zero_bounds` | bool | True | | -| `share_objective_bounds` | bool | True | | -| `shared_tree_num_workers` | int32 | 0 | | -| `subsolver_params` | list | | | -| `subsolvers` | list | | | -| `use_objective_lb_search` | bool | False | | - -## seed/reproducibility (18) - -| name | type | default | enum / notes | -|---|---|---|---| -| `ignore_names` | bool | True | | -| `instantiate_all_variables` | bool | True | | -| `lns_initial_deterministic_limit` | double | 0.1 | | -| `log_prefix` | string | '' | | -| `log_search_progress` | bool | False | | -| `log_to_response` | bool | False | | -| `log_to_stdout` | bool | True | | -| `max_deterministic_time` | double | inf | | -| `max_num_deterministic_batches` | int32 | 0 | | -| `name` | string | '' | | -| `permute_presolve_constraint_order` | bool | False | | -| `permute_variable_randomly` | bool | False | | -| `presolve_probing_deterministic_time_limit` | double | 30.0 | | -| `probing_deterministic_time_limit` | double | 1.0 | | -| `random_seed` | int32 | 1 | | -| `shaving_deterministic_time_in_probing_search` | double | 0.001 | | -| `shaving_search_deterministic_time` | double | 0.1 | | -| `symmetry_detection_deterministic_time_limit` | double | 1.0 | | - -## timeout/limits (7) - -| name | type | default | enum / notes | -|---|---|---|---| -| `max_memory_in_mb` | int64 | 10000 | | -| `max_number_of_conflicts` | int64 | 9223372036854775807 | | -| `max_presolve_iterations` | int32 | 3 | | -| `max_time_in_seconds` | double | inf | | -| `stop_after_first_solution` | bool | False | | -| `stop_after_presolve` | bool | False | | -| `stop_after_root_propagation` | bool | False | | - -## search/branching (22) - -| name | type | default | enum / notes | -|---|---|---|---| -| `boolean_encoding_level` | int32 | 1 | | -| `fix_variables_to_their_hinted_value` | bool | False | | -| `hint_conflict_limit` | int32 | 10 | | -| `initial_polarity` | enum | 1 | {POLARITY_TRUE, POLARITY_FALSE, POLARITY_RANDOM} | -| `initial_variables_activity` | double | 0.0 | | -| `polarity_exploit_ls_hints` | bool | False | | -| `polarity_rephase_increment` | int32 | 1000 | | -| `preferred_variable_order` | enum | 0 | {IN_ORDER, IN_REVERSE_ORDER, IN_RANDOM_ORDER} | -| `random_polarity_ratio` | double | 0.0 | | -| `repair_hint` | bool | False | | -| `search_branching` | enum | 0 | {AUTOMATIC_SEARCH, FIXED_SEARCH, PORTFOLIO_SEARCH, LP_SEARCH, PSEUDO_COST_SEARCH, PORTFOLIO_WITH_QUICK_RESTART_SEARCH, HINT_SEARCH, PARTIAL_FIXED_SEARCH, RANDOMIZED_SEARCH} | -| `use_combined_no_overlap` | bool | False | | -| `use_disjunctive_constraint_in_cumulative` | bool | True | | -| `use_dual_scheduling_heuristics` | bool | True | | -| `use_erwa_heuristic` | bool | False | | -| `use_extended_probing` | bool | True | | -| `use_implied_bounds` | bool | True | | -| `use_lns` | bool | True | | -| `use_lns_only` | bool | False | | -| `use_objective_shaving_search` | bool | False | | -| `use_phase_saving` | bool | True | | -| `use_strong_propagation_in_disjunctive` | bool | False | | - -## conflict/restart (18) - -| name | type | default | enum / notes | -|---|---|---|---| -| `binary_minimization_algorithm` | enum | 1 | {NO_BINARY_MINIMIZATION, BINARY_MINIMIZATION_FIRST, BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION, BINARY_MINIMIZATION_WITH_REACHABILITY, EXPERIMENTAL_BINARY_MINIMIZATION} | -| `blocking_restart_multiplier` | double | 1.4 | | -| `blocking_restart_window_size` | int32 | 5000 | | -| `default_restart_algorithms` | string | 'LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART' | | -| `feasibility_jump_restart_factor` | int32 | 1 | | -| `glucose_decay_increment` | double | 0.01 | | -| `glucose_decay_increment_period` | int32 | 5000 | | -| `glucose_max_decay` | double | 0.95 | | -| `max_variable_activity_value` | double | 1e+100 | | -| `minimization_algorithm` | enum | 2 | {NONE, SIMPLE, RECURSIVE, EXPERIMENTAL} | -| `restart_algorithms` | list | | {NO_RESTART, LUBY_RESTART, DL_MOVING_AVERAGE_RESTART, LBD_MOVING_AVERAGE_RESTART, FIXED_RESTART} | -| `restart_dl_average_ratio` | double | 1.0 | | -| `restart_lbd_average_ratio` | double | 1.0 | | -| `restart_period` | int32 | 50 | | -| `restart_running_window_size` | int32 | 50 | | -| `subsumption_during_conflict_analysis` | bool | True | | -| `use_blocking_restart` | bool | False | | -| `variable_activity_decay` | double | 0.8 | | - -## clause db (8) - -| name | type | default | enum / notes | -|---|---|---|---| -| `clause_cleanup_lbd_bound` | int32 | 5 | | -| `clause_cleanup_ordering` | enum | 0 | {CLAUSE_ACTIVITY, CLAUSE_LBD} | -| `clause_cleanup_period` | int32 | 10000 | | -| `clause_cleanup_protection` | enum | 0 | {PROTECTION_NONE, PROTECTION_ALWAYS, PROTECTION_LBD} | -| `clause_cleanup_ratio` | double | 0.5 | | -| `clause_cleanup_target` | int32 | 0 | | -| `pb_cleanup_increment` | int32 | 200 | | -| `pb_cleanup_ratio` | double | 0.5 | | - -## presolve (27) - -| name | type | default | enum / notes | -|---|---|---|---| -| `convert_intervals` | bool | True | | -| `cp_model_presolve` | bool | True | | -| `cp_model_probing_level` | int32 | 2 | | -| `debug_crash_if_presolve_breaks_hint` | bool | False | | -| `debug_max_num_presolve_operations` | int32 | 0 | | -| `disable_constraint_expansion` | bool | False | | -| `encode_complex_linear_constraint_with_integer` | bool | False | | -| `expand_alldiff_constraints` | bool | False | | -| `expand_reservoir_constraints` | bool | True | | -| `expand_reservoir_using_circuit` | bool | False | | -| `find_big_linear_overlap` | bool | True | | -| `infer_all_diffs` | bool | True | | -| `max_pairs_pairwise_reasoning_in_no_overlap_2d` | int32 | 1250 | | -| `max_size_to_create_precedence_literals_in_disjunctive` | int32 | 60 | | -| `merge_at_most_one_work_limit` | double | 100000000.0 | | -| `merge_no_overlap_work_limit` | double | 1000000000000.0 | | -| `mip_presolve_level` | int32 | 2 | | -| `presolve_blocked_clause` | bool | True | | -| `presolve_bva_threshold` | int32 | 1 | | -| `presolve_bve_clause_weight` | int32 | 3 | | -| `presolve_bve_threshold` | int32 | 500 | | -| `presolve_extract_integer_enforcement` | bool | False | | -| `presolve_inclusion_work_limit` | int64 | 100000000 | | -| `presolve_substitution_level` | int32 | 1 | | -| `presolve_use_bva` | bool | True | | -| `remove_fixed_variables_early` | bool | True | | -| `symmetry_level` | int32 | 2 | | - -## LP/cuts (31) - -| name | type | default | enum / notes | -|---|---|---|---| -| `add_cg_cuts` | bool | True | | -| `add_clique_cuts` | bool | True | | -| `add_lin_max_cuts` | bool | True | | -| `add_lp_constraints_lazily` | bool | True | | -| `add_mir_cuts` | bool | True | | -| `add_objective_cut` | bool | False | | -| `add_rlt_cuts` | bool | True | | -| `add_zero_half_cuts` | bool | True | | -| `cut_active_count_decay` | double | 0.8 | | -| `cut_cleanup_target` | int32 | 1000 | | -| `cut_level` | int32 | 1 | | -| `cut_max_active_count_value` | double | 10000000000.0 | | -| `exploit_all_lp_solution` | bool | True | | -| `exploit_all_precedences` | bool | False | | -| `exploit_integer_lp_solution` | bool | True | | -| `feasibility_jump_linearization_level` | int32 | 2 | | -| `linearization_level` | int32 | 1 | | -| `lp_dual_tolerance` | double | 1e-07 | | -| `lp_primal_tolerance` | double | 1e-07 | | -| `max_all_diff_cut_size` | int32 | 64 | | -| `max_consecutive_inactive_count` | int32 | 100 | | -| `max_cut_rounds_at_level_zero` | int32 | 1 | | -| `max_integer_rounding_scaling` | int32 | 600 | | -| `max_num_cuts` | int32 | 10000 | | -| `new_constraints_batch_size` | int32 | 50 | | -| `only_add_cuts_at_level_zero` | bool | False | | -| `use_energetic_reasoning_in_no_overlap_2d` | bool | False | | -| `use_optimization_hints` | bool | True | | -| `use_overload_checker_in_cumulative` | bool | False | | -| `use_pb_resolution` | bool | False | | -| `use_timetabling_in_no_overlap_2d` | bool | False | | - -## MIP bridge (11) - -| name | type | default | enum / notes | -|---|---|---|---| -| `mip_automatically_scale_variables` | bool | True | | -| `mip_check_precision` | double | 0.0001 | | -| `mip_compute_true_objective_bound` | bool | True | | -| `mip_drop_tolerance` | double | 1e-16 | | -| `mip_max_activity_exponent` | int32 | 53 | | -| `mip_max_bound` | double | 10000000.0 | | -| `mip_max_valid_magnitude` | double | 1e+20 | | -| `mip_scale_large_domain` | bool | False | | -| `mip_treat_high_magnitude_bounds_as_infinity` | bool | False | | -| `mip_var_scaling` | double | 1.0 | | -| `mip_wanted_precision` | double | 1e-06 | | - -## LNS (1) - -| name | type | default | enum / notes | -|---|---|---|---| -| `lns_initial_difficulty` | double | 0.5 | | - -## feasibility jump/pump (10) - -| name | type | default | enum / notes | -|---|---|---|---| -| `feasibility_jump_batch_dtime` | double | 0.1 | | -| `feasibility_jump_decay` | double | 0.95 | | -| `feasibility_jump_enable_restarts` | bool | True | | -| `feasibility_jump_max_expanded_constraint_size` | int32 | 500 | | -| `feasibility_jump_var_perburbation_range_ratio` | double | 0.2 | | -| `feasibility_jump_var_randomization_probability` | double | 0.05 | | -| `use_feasibility_jump` | bool | True | | -| `use_feasibility_pump` | bool | True | | -| `violation_ls_compound_move_probability` | double | 0.5 | | -| `violation_ls_perturbation_period` | int32 | 100 | | - -## optimization (10) - -| name | type | default | enum / notes | -|---|---|---|---| -| `auto_detect_greater_than_at_least_one_of` | bool | True | | -| `binary_search_num_conflicts` | int32 | -1 | | -| `exploit_best_solution` | bool | False | | -| `exploit_relaxation_solution` | bool | False | | -| `minimize_reduction_during_pb_resolution` | bool | False | | -| `optimize_with_core` | bool | False | | -| `optimize_with_lb_tree_search` | bool | False | | -| `optimize_with_max_hs` | bool | False | | -| `use_absl_random` | bool | False | | -| `use_precedences_in_disjunctive_constraint` | bool | True | | - -## debug/output (3) - -| name | type | default | enum / notes | -|---|---|---|---| -| `debug_crash_on_bad_hint` | bool | False | | -| `debug_postsolve_with_full_solver` | bool | False | | -| `fp_rounding` | enum | 2 | {NEAREST_INTEGER, LOCK_BASED, ACTIVE_LOCK_BASED, PROPAGATION_ASSISTED} | - -## other/uncategorized (90) - -| name | type | default | enum / notes | -|---|---|---|---| -| `absolute_gap_limit` | double | 0.0001 | | -| `also_bump_variables_in_conflict_reasons` | bool | False | | -| `at_most_one_max_expansion_size` | int32 | 3 | | -| `catch_sigint_signal` | bool | True | | -| `clause_activity_decay` | double | 0.999 | | -| `core_minimization_level` | int32 | 2 | | -| `count_assumption_levels_in_lbd` | bool | True | | -| `cover_optimization` | bool | True | | -| `cp_model_use_sat_presolve` | bool | True | | -| `detect_linearized_product` | bool | False | | -| `detect_table_with_cost` | bool | False | | -| `encode_cumulative_as_reservoir` | bool | False | | -| `enumerate_all_solutions` | bool | False | | -| `exploit_objective` | bool | True | | -| `fill_additional_solutions_in_response` | bool | False | | -| `fill_tightened_domains_in_response` | bool | False | | -| `filter_sat_postsolve_clauses` | bool | False | | -| `find_multiple_cores` | bool | True | | -| `inprocessing_dtime_ratio` | double | 0.2 | | -| `inprocessing_minimization_dtime` | double | 1.0 | | -| `inprocessing_minimization_use_all_orderings` | bool | False | | -| `inprocessing_minimization_use_conflict_analysis` | bool | True | | -| `inprocessing_probing_dtime` | double | 1.0 | | -| `interleave_batch_size` | int32 | 0 | | -| `keep_all_feasible_solutions_in_presolve` | bool | False | | -| `keep_symmetry_in_presolve` | bool | False | | -| `linear_split_size` | int32 | 100 | | -| `max_alldiff_domain_size` | int32 | 256 | | -| `max_clause_activity_value` | double | 1e+20 | | -| `max_domain_size_when_encoding_eq_neq_constraints` | int32 | 16 | | -| `max_lin_max_size_for_expansion` | int32 | 0 | | -| `max_num_intervals_for_timetable_edge_finding` | int32 | 100 | | -| `max_sat_assumption_order` | enum | 0 | {DEFAULT_ASSUMPTION_ORDER, ORDER_ASSUMPTION_BY_DEPTH, ORDER_ASSUMPTION_BY_WEIGHT} | -| `max_sat_reverse_assumption_order` | bool | False | | -| `max_sat_stratification` | enum | 1 | {STRATIFICATION_NONE, STRATIFICATION_DESCENT, STRATIFICATION_ASCENT} | -| `maximum_regions_to_split_in_disconnected_no_overlap_2d` | int32 | 0 | | -| `min_orthogonality_for_lp_constraints` | double | 0.05 | | -| `minimize_shared_clauses` | bool | True | | -| `new_linear_propagation` | bool | True | | -| `no_overlap_2d_boolean_relations_limit` | int32 | 10 | | -| `num_conflicts_before_strategy_changes` | int32 | 0 | | -| `num_violation_ls` | int32 | 0 | | -| `only_solve_ip` | bool | False | | -| `polish_lp_solution` | bool | False | | -| `probing_num_combinations_limit` | int32 | 20000 | | -| `propagation_loop_detection_factor` | double | 10.0 | | -| `pseudo_cost_reliability_threshold` | int64 | 100 | | -| `push_all_tasks_toward_start` | bool | False | | -| `random_branches_ratio` | double | 0.0 | | -| `randomize_search` | bool | False | | -| `relative_gap_limit` | double | 0.0 | | -| `root_lp_iterations` | int32 | 2000 | | -| `routing_cut_dp_effort` | double | 10000000.0 | | -| `routing_cut_max_infeasible_path_length` | int32 | 6 | | -| `routing_cut_subset_size_for_binary_relation_bound` | int32 | 0 | | -| `routing_cut_subset_size_for_exact_binary_relation_bound` | int32 | 8 | | -| `routing_cut_subset_size_for_shortest_paths_bound` | int32 | 8 | | -| `routing_cut_subset_size_for_tight_binary_relation_bound` | int32 | 0 | | -| `save_lp_basis_in_lb_tree_search` | bool | False | | -| `search_random_variable_pool_size` | int64 | 0 | | -| `shared_tree_balance_tolerance` | int32 | 1 | | -| `shared_tree_max_nodes_per_worker` | int32 | 10000 | | -| `shared_tree_open_leaves_per_worker` | double | 2.0 | | -| `shared_tree_split_strategy` | enum | 0 | {SPLIT_STRATEGY_AUTO, SPLIT_STRATEGY_DISCREPANCY, SPLIT_STRATEGY_OBJECTIVE_LB, SPLIT_STRATEGY_BALANCED_TREE, SPLIT_STRATEGY_FIRST_PROPOSAL} | -| `shared_tree_worker_enable_phase_sharing` | bool | True | | -| `shared_tree_worker_enable_trail_sharing` | bool | True | | -| `shared_tree_worker_min_restarts_per_subtree` | int32 | 1 | | -| `shaving_search_threshold` | int64 | 64 | | -| `solution_pool_size` | int32 | 3 | | -| `strategy_change_increase_ratio` | double | 0.0 | | -| `table_compression_level` | int32 | 2 | | -| `use_all_different_for_circuit` | bool | False | | -| `use_area_energetic_reasoning_in_no_overlap_2d` | bool | False | | -| `use_conservative_scale_overload_checker` | bool | False | | -| `use_dynamic_precedence_in_cumulative` | bool | False | | -| `use_dynamic_precedence_in_disjunctive` | bool | False | | -| `use_exact_lp_reason` | bool | True | | -| `use_hard_precedences_in_cumulative` | bool | False | | -| `use_lb_relax_lns` | bool | True | | -| `use_linear3_for_no_overlap_2d_precedences` | bool | True | | -| `use_ls_only` | bool | False | | -| `use_optional_variables` | bool | False | | -| `use_probing_search` | bool | False | | -| `use_rins_lns` | bool | True | | -| `use_sat_inprocessing` | bool | True | | -| `use_shared_tree_search` | bool | False | | -| `use_symmetry_in_lp` | bool | False | | -| `use_timetable_edge_finding_in_cumulative` | bool | False | | -| `use_try_edge_reasoning_in_no_overlap_2d` | bool | False | | -| `variables_shaving_level` | int32 | -1 | | diff --git a/input/cpsat-bench/evolve/shared/cpsat_runner.py b/input/cpsat-bench/evolve/shared/cpsat_runner.py deleted file mode 100644 index 86de9089c3..0000000000 --- a/input/cpsat-bench/evolve/shared/cpsat_runner.py +++ /dev/null @@ -1,24 +0,0 @@ -""" -Thin wrapper: run_cpsat = subprocess_runner.run_solver bound to -_cpsat_solve_worker.py. - -Status strings produced by the worker: - OPTIMAL, FEASIBLE, INFEASIBLE, UNKNOWN, MODEL_INVALID -For cost mode, success dict also includes "objective" = solver.ObjectiveValue(). -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_INPUT_DIR = _HERE.parents[2] -_WORKER = _HERE / "_cpsat_solve_worker.py" - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib.subprocess_runner import run_solver # noqa: E402 - - -def run_cpsat(problem_path, params, timeout_s, python_bin=None, cpu_core=None): - return run_solver(_WORKER, problem_path, params, timeout_s, - python_bin=python_bin, cpu_core=cpu_core) diff --git a/input/cpsat-bench/evolve/shared/evaluator.py b/input/cpsat-bench/evolve/shared/evaluator.py deleted file mode 100644 index 107b7aec98..0000000000 --- a/input/cpsat-bench/evolve/shared/evaluator.py +++ /dev/null @@ -1,725 +0,0 @@ -""" -OpenEvolve evaluator for cpsat-bench parameter tuning. - -Score mode: cost (minimize CP-SAT objective; see score.py). - -Per-problem timeout = max(MIN_TIMEOUT_S, ceil(baseline_ms * TIMEOUT_FACTOR / 1000)). -Locked params (see baseline_params.LOCKED) must not deviate — violation => combined_score=0. - -Per-problem param resolution: - If the program defines `get_params(problem=None, stage=None)`, the evaluator - calls it once per problem with the problem dict (carries num_constraints, - num_variables, is_outlier) and the active stage name ("stage1"…"stage4"). - This lets phases ship SIZE_BUCKETS (constraint-count conditional overrides) - and STAGE3_OVERRIDES (outlier-only tuning) inside their EVOLVE-BLOCK. - Programs that still expose `get_params()` (no args) keep working — the - evaluator falls back to a single global call and applies it uniformly. - -Worker count / PHASE_LOCKED must stay identical across all problems within -a phase. The evaluator reads them once via the no-arg path; per-problem -get_params() calls must NOT change locked keys or num_search_workers. - -Environment overrides: - OPENEVOLVE_MAX_PROBLEMS cap stage problem count - OPENEVOLVE_PARALLEL_SOLVERS concurrent solver subprocesses (default 1) - OPENEVOLVE_PYTHON_BIN python for worker subprocess -""" -import importlib.util -import inspect -import json -import logging -import math -import os -import pathlib -import sys -import traceback - -logger = logging.getLogger(__name__) - -TIMEOUT_FACTOR = 1.3 -MIN_TIMEOUT_S = 5 - -# small profile repeats each solve N times and averages (deterministic_time -# + wall + counters) to damp multi-worker run-to-run variance. large profile -# (single huge outlier) runs once — repeating a ~10 min solve 10× is wasteful. -# Override with OPENEVOLVE_SOLVE_REPEATS. -N_REPEATS_SMALL = 10 - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE)) - -from baseline_params import BASELINE, LOCKED # noqa: E402 -from score import score # noqa: E402 -from cpsat_runner import run_cpsat # noqa: E402 -from runtime import ( # noqa: E402 - parallel_solvers, core_range, alloc_core_blocks, -) - -from openevolve.evaluation_result import EvaluationResult # noqa: E402 - -_BENCH_DIR = _HERE.parent.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_OUTLIERS_JSON = _HERE / "outliers.json" -_LOCAL_BASELINE = _HERE / "local_baseline.json" - - -def _profile(): - """Active sample profile (OPENEVOLVE_PROFILE env). 'small' (default) reads - legacy stage{N}_sample.json; 'large' reads stage{N}_large_sample.json, - falling back to legacy if the large file is missing.""" - return (os.environ.get("OPENEVOLVE_PROFILE") or "small").strip().lower() - - -def _stage_sample(stage_num): - profile = _profile() - if profile != "small": - suffixed = _HERE / f"stage{stage_num}_{profile}_sample.json" - if suffixed.exists(): - return suffixed - return _HERE / f"stage{stage_num}_sample.json" - - -_STAGE1_SAMPLE = _stage_sample(1) -_STAGE2_SAMPLE = _stage_sample(2) -_STAGE3_SAMPLE = _stage_sample(3) -_STAGE4_SAMPLE = _stage_sample(4) - - -def _load_outlier_shas(): - """Return set of SHAs flagged by outliers_top.csv (via build_samples.py - writing shared/outliers.json). Empty if file missing.""" - if not _OUTLIERS_JSON.exists(): - return set() - try: - d = json.loads(_OUTLIERS_JSON.read_text()) - except (json.JSONDecodeError, OSError): - return set() - return set(d.get("outliers") or {}) - -_PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") - -# Raw per-problem results cache (small profile). {(program_path, stage): [recs]} -_SMALL_RESULTS_CACHE: dict = {} - -_KEY_STATS = ("num_branches", "num_conflicts", "num_booleans", - "wall_time", "user_time", "deterministic_time") -_DECISIVE = ("OPTIMAL", "FEASIBLE") - - -def _load_program(path): - spec = importlib.util.spec_from_file_location("program", path) - module = importlib.util.module_from_spec(spec) - spec.loader.exec_module(module) - return module - - -def _solve_repeats(): - """How many times to run each solve before averaging. small profile → 10 - (damps multi-worker variance), large → 1. OPENEVOLVE_SOLVE_REPEATS env - overrides.""" - env = os.environ.get("OPENEVOLVE_SOLVE_REPEATS") - if env: - try: - return max(1, int(env)) - except ValueError: - pass - return N_REPEATS_SMALL if _profile() == "small" else 1 - - -def _average_runs(runs): - """Collapse N run_cpsat dicts into one with mean elapsed_ms / stats / - objective. Repeated runs of the same params are near-identical except for - multi-worker timing jitter, so the mean is the stable estimate. A run that - surfaced invalid_param short-circuits (config error, not a timing sample). - result = modal label; timeout = any run timed out.""" - import collections - import statistics - - if not runs: - return {"result": "Unknown", "elapsed_ms": 0, "stats": {}} - for r in runs: - if "invalid_param" in r: - return r - if len(runs) == 1: - return runs[0] - - results = [r.get("result") for r in runs] - result = collections.Counter(results).most_common(1)[0][0] - elapsed = statistics.mean(r.get("elapsed_ms", 0) for r in runs) - timeout_any = any(r.get("timeout") for r in runs) - - stat_keys = set() - for r in runs: - stat_keys |= set((r.get("stats") or {}).keys()) - stats = {} - for k in stat_keys: - vals = [(r.get("stats") or {}).get(k) for r in runs] - vals = [v for v in vals if isinstance(v, (int, float))] - if vals: - stats[k] = statistics.mean(vals) - - out = { - "result": result, - "elapsed_ms": int(elapsed), - "timeout": timeout_any, - "stats": stats, - "n_repeats": len(runs), - } - objs = [r.get("objective") for r in runs if r.get("objective") is not None] - if objs: - out["objective"] = statistics.mean(objs) - return out - - -def _pick_local_baseline(lo_entry, workers): - """Select the right local baseline entry for `workers`. - - New schema: {"by_workers": {"1": {...}, "8": {...}}, ...}. - Legacy schema (flat keys: elapsed_ms/stats/objective/matches_raw) is - treated as workers=1 measurement. - - Returns the inner dict (with matches_raw/elapsed_ms/stats/objective) - or None if no usable entry exists for that worker count. - """ - if not isinstance(lo_entry, dict): - return None - bw = lo_entry.get("by_workers") - if isinstance(bw, dict) and bw: - key = str(int(workers)) - if key in bw: - return bw[key] - # No exact match. Return None so caller falls back to raw_ms; we - # intentionally do NOT cross-substitute (e.g. W=8 → W=1) because the - # whole point of by_workers is to keep speedup ratios honest. - return None - # Legacy flat schema — treat as W=1 only. - if "elapsed_ms" in lo_entry and int(workers) == 1: - return lo_entry - return None - - -def _load_problems(workers=1): - local = {} - if _LOCAL_BASELINE.exists(): - local = json.loads(_LOCAL_BASELINE.read_text()) - outlier_shas = _load_outlier_shas() - rows = [] - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - sha = d["problem_sha256"] - baseline_ms = (d.get("cpsat_status") or {}).get("elapsed_ms", 0) - baseline_result = (d.get("cpsat_status") or {}).get("result") - baseline_stats = d.get("cpsat_response_stats") or {} - baseline_objective = (d.get("cpsat_status") or {}).get("objective_value") - features = d.get("features") or {} - lo = _pick_local_baseline(local.get(sha), workers) - if lo and lo.get("matches_raw"): - baseline_ms = lo["elapsed_ms"] - baseline_stats = lo.get("stats") or baseline_stats - if lo.get("objective") is not None: - baseline_objective = lo["objective"] - rows.append({ - "sha": sha, - "input_file": d["problem_filename"], - "baseline_ms": baseline_ms, - "baseline_result": baseline_result, - "baseline_stats": baseline_stats, - "baseline_objective": baseline_objective, - "num_variables": int(features.get("num_variables") or 0), - "num_constraints": int(features.get("num_constraints") or 0), - "num_bool": int(features.get("num_bool") or 0), - "num_int": int(features.get("num_int") or 0), - "is_outlier": sha in outlier_shas, - }) - return rows - - -def _filter_stage1(problems): - if not _STAGE1_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _filter_stage2(problems): - if not _STAGE2_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE2_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _filter_stage4(problems): - if not _STAGE4_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE4_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _err_result(metrics_extra, artifacts): - metrics = { - "combined_score": 0.0, - "geomean_speedup": 0.0, - "solved_rate": 0.0, - "regressions": 0, - "solved": 0, - "total": 0, - } - metrics.update(metrics_extra) - return EvaluationResult(metrics=metrics, artifacts=artifacts) - - -def _supports_kwargs(fn, *kwargs): - """Return True if `fn` accepts any of the named kwargs (problem/stage).""" - try: - sig = inspect.signature(fn) - except (TypeError, ValueError): - return False - params_ = sig.parameters - if any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params_.values()): - return True - return any(name in params_ for name in kwargs) - - -def _resolve_params(program_get_params, problem, stage_name): - """Call program.get_params(problem=..., stage=...) when supported, else - fall back to get_params() (legacy single-dict per phase). Returns dict.""" - kwargs = {} - if _supports_kwargs(program_get_params, "problem"): - kwargs["problem"] = problem - if _supports_kwargs(program_get_params, "stage"): - kwargs["stage"] = stage_name - p = program_get_params(**kwargs) if kwargs else program_get_params() - if not isinstance(p, dict): - raise TypeError( - f"get_params() returned {type(p).__name__}, expected dict") - return p - - -def _evaluate(program_path, problems, stage_name): - try: - program = _load_program(program_path) - except Exception as e: - return _err_result( - {"error": f"program load failed: {e}"}, - {"error_type": type(e).__name__, "error_message": str(e), - "full_traceback": traceback.format_exc()[-2000:], "stage": stage_name}, - ) - - if not hasattr(program, "get_params"): - return _err_result( - {"error": "missing get_params()"}, - {"suggestion": "initial_program.py must expose get_params() -> dict", - "stage": stage_name}, - ) - - # Resolve "global" params (no problem context) once — used for worker - # count, core-block allocation, and PHASE_LOCKED enforcement. Per-problem - # variation only affects non-locked knobs (see _solve below). - try: - params = _resolve_params(program.get_params, None, stage_name) - except Exception as e: - return _err_result( - {"error": f"get_params() raised: {e}"}, - {"error_type": type(e).__name__, "error_message": str(e), - "full_traceback": traceback.format_exc()[-2000:], "stage": stage_name}, - ) - - # Per-phase lock (worker count varies by phase) overrides the global lock. - phase_locked = getattr(program, "PHASE_LOCKED", None) - locked = phase_locked if isinstance(phase_locked, dict) else LOCKED - - # DEBUG: surface the resolved global params delta vs BASELINE so the run - # log shows exactly which knobs the LLM mutated this iteration. - if logger.isEnabledFor(logging.DEBUG): - global_delta = { - k: params[k] for k in params - if k not in locked and params.get(k) != BASELINE.get(k) - } - logger.debug( - f"[{stage_name}] resolved_global_delta_vs_baseline={global_delta} " - f"program={pathlib.Path(program_path).name} " - f"phase_locked={dict(locked) if isinstance(locked, dict) else locked}" - ) - for attr in ("GLOBAL_OVERRIDES", "SIZE_BUCKETS", "STAGE3_OVERRIDES"): - val = getattr(program, attr, None) - if val: - logger.debug(f"[{stage_name}] {attr}={val}") - - violations = {k: params.get(k) for k in locked if params.get(k) != locked[k]} - if violations: - return _err_result( - {"error": "locked params violated"}, - {"locked_violated": violations, "locked_expected": locked, - "stage": stage_name, - "suggestion": "Do not modify locked keys (see PHASE_LOCKED in " - "this phase's initial_program.py)."}, - ) - - if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: - problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] - - # Empty stage sample → pass-through. Score is set well above any sane - # cascade_thresholds entry so downstream stages keep running. Use this to - # debug a single stage in isolation by emptying the samples for the others. - if not problems: - pass_through = { - "combined_score": 100.0, - "geomean_speedup": 100.0, - "geomean_wall_speedup": 100.0, - "solved_rate": 1.0, - "regressions": 0, - "solved": 0, - "comparable": 0, - "total": 0, - "uncomparable": 0, - "efficiency": 1.0, - "efficiency_pairs": 0, - "stats_weight": 0.0, - "dtime_used": 0, - "dtime_fallback": 0, - "stage": stage_name, - } - return EvaluationResult( - metrics=pass_through, - artifacts={ - "stage": stage_name, - "summary": "empty sample — stage skipped (cascade pass-through, score=100)", - }, - ) - - for p in problems: - input_path = _RAW_DIR / p["input_file"] - if not input_path.exists(): - return _err_result( - {"error": f"input not found: {p['input_file']}"}, - {"missing_file": str(input_path), "stage": stage_name}, - ) - - import queue as _queue - # Core pool: OPENEVOLVE_CORE_RANGE (e.g. "2-7") overrides; else - # cores 1..parallel_solvers() (core 0 reserved for kernel housekeeping). - # - # When params["num_search_workers"] = W > 1, each variant solve needs W - # cores. We floor-chunk the core list into W-sized blocks; concurrency = - # number of blocks. Leftover cores at the tail are dropped to keep every - # solve's CPU budget identical (comparable timings). - _cores = core_range() - if _cores is None: - _cores = list(range(1, parallel_solvers(default=1) + 1)) - workers_per_solve = int(params.get("num_search_workers", 1) or 1) - _blocks = alloc_core_blocks(_cores, workers_per_solve) - if not _blocks: - # Not enough cores for even one block at workers_per_solve. Fall back - # to a single block of all available cores (still respect taskset pin). - _blocks = [list(_cores)] if _cores else [None] - n_parallel = min(len(_blocks), len(problems)) - _blocks = _blocks[:n_parallel] - _core_pool = _queue.Queue() - for _b in _blocks: - _core_pool.put(_b) - - repeats = _solve_repeats() - - def _solve(idx_p): - idx, p = idx_p - input_path = _RAW_DIR / p["input_file"] - timeout_s = max(MIN_TIMEOUT_S, math.ceil(p["baseline_ms"] * TIMEOUT_FACTOR / 1000)) - # Per-problem param resolution. Locked keys + num_search_workers MUST - # match the global `params` resolved earlier — re-pin defensively. - try: - per_params = _resolve_params(program.get_params, p, stage_name) - except Exception as e: - return idx, p, {"result": "ERROR", "elapsed_ms": 0, - "invalid_param": f"get_params(problem,stage) raised: {e}"}, \ - None, timeout_s - for k, v in locked.items(): - per_params[k] = v - if "num_search_workers" in params: - per_params["num_search_workers"] = params["num_search_workers"] - if logger.isEnabledFor(logging.DEBUG): - per_delta = {k: per_params[k] for k in per_params - if per_params.get(k) != params.get(k)} - if per_delta: - logger.debug( - f"[{stage_name}] sha={p['sha'][:10]} " - f"num_constraints={p['num_constraints']} " - f"is_outlier={p['is_outlier']} " - f"per_problem_delta_vs_global={per_delta}" - ) - core = _core_pool.get() - try: - runs = [] - for _ in range(repeats): - rr = run_cpsat(input_path, per_params, timeout_s, - python_bin=_PYTHON_BIN, cpu_core=core) - runs.append(rr) - if "invalid_param" in rr: - break # config error — no point repeating - r = _average_runs(runs) - finally: - _core_pool.put(core) - return idx, p, r, core, timeout_s - - def _invalid_err(r): - return _err_result( - {"error": f"invalid param: {r['invalid_param']}"}, - {"invalid_param": r["invalid_param"], "stderr": r.get("stderr", "")[:2000], - "stage": stage_name, - "suggestion": "Remove or fix this key in get_params()."}, - ) - - def _fmt_core(c): - if c is None: - return "-" - if isinstance(c, (list, tuple)): - return ",".join(str(x) for x in c) if c else "-" - return str(c) - - print(f" [{stage_name}] workers/solve={workers_per_solve} " - f"repeats={repeats} " - f"core_blocks={[_fmt_core(b) for b in _blocks]}", flush=True) - - # Non-feasible variants are NO LONGER aborted/zeroed — the variant's real - # measured time (≈ timeout when it ran the full budget) flows into the - # score, so a regression is penalized by its true slowdown + solved_rate - # drop, not by a 1e-6 sentinel. Only invalid_param (a config error, not a - # timing sample) still aborts the whole evaluation. - by_idx = {} - abort = None - if n_parallel == 1: - for pair in enumerate(problems): - idx, p, r, core, timeout_s = _solve(pair) - print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={_fmt_core(core)})", flush=True) - if "invalid_param" in r: - return _invalid_err(r) - by_idx[idx] = (p, r) - else: - from concurrent.futures import ThreadPoolExecutor, as_completed - ordered = sorted(enumerate(problems), key=lambda ip: -ip[1]["baseline_ms"]) - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_solve, pair) for pair in ordered] - for fut in as_completed(futures): - if abort is not None: - continue - idx, p, r, core, timeout_s = fut.result() - print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={_fmt_core(core)})", flush=True) - if "invalid_param" in r: - abort = ("invalid", p, r) - print(f" [{stage_name}] invalid_param — cancelling pending " - f"(in-flight workers will drain)", flush=True) - for f in futures: - f.cancel() - continue - by_idx[idx] = (p, r) - if abort is not None: - kind, p, r = abort - return _invalid_err(r) - - results = [] - for idx in range(len(problems)): - p, r = by_idx[idx] - rec = { - **p, - "result": r["result"], - "elapsed_ms": r["elapsed_ms"], - "timeout": bool(r.get("timeout")), - "stats": r.get("stats") or {}, - } - if "objective" in r: - rec["objective"] = r["objective"] - results.append(rec) - - # Cache raw per-problem results so the small cascade can merge stage1 + - # stage2 into one combined final score (see evaluate_stage3). Keyed by - # program_path + stage; overwritten each cascade so no stale leakage. - _SMALL_RESULTS_CACHE[(str(program_path), stage_name)] = results - - metrics = score(results) - metrics["stage"] = stage_name - - for k in _KEY_STATS: - metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in results)) - - sample = [ - { - "sha": r["sha"][:10], - "base_result": r["baseline_result"], - "got_result": r["result"], - "base_ms": r["baseline_ms"], - "ms": r["elapsed_ms"], - "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), - "timeout": r["timeout"], - "base_obj": r.get("baseline_objective"), - "obj": r.get("objective"), - "stats": {k: r["stats"].get(k, 0) for k in _KEY_STATS if k in r["stats"]}, - "base_stats": {k: r["baseline_stats"].get(k, 0) - for k in _KEY_STATS if k in r.get("baseline_stats", {})}, - } - for r in results - ] - artifacts = { - "stage": stage_name, - "summary": ( - f"solved={metrics['solved']}/{metrics['total']} " - f"regressions={metrics['regressions']} " - f"geomean_dtime={metrics['geomean_speedup']:.3f} " - f"geomean_wall={metrics.get('geomean_wall_speedup', 0.0):.3f} " - f"dtime_used={metrics.get('dtime_used', 0)}/" - f"{metrics.get('dtime_used', 0) + metrics.get('dtime_fallback', 0)} " - f"efficiency={metrics.get('efficiency', 1.0):.3f} " - f"score={metrics['combined_score']:.3f}" - ), - "per_problem": sample[:20], - } - return EvaluationResult(metrics=metrics, artifacts=artifacts) - - -def _peek_workers(program_path): - """Resolve num_search_workers for baseline lookup BEFORE running _evaluate. - - Prefer PHASE_LOCKED (authoritative); fall back to get_params(). On any - failure, return 1 — _evaluate's own program-load handles the real error - reporting later.""" - try: - program = _load_program(program_path) - except Exception: - return 1 - pl = getattr(program, "PHASE_LOCKED", None) - if isinstance(pl, dict) and "num_search_workers" in pl: - try: - return int(pl["num_search_workers"]) - except (TypeError, ValueError): - pass - try: - params = program.get_params() - return int(params.get("num_search_workers", 1) or 1) - except Exception: - return 1 - - -# Large profile: no cascade stages — every cascade call evaluates the same -# outlier set once and caches. Cache lifetime = current evaluator process -# (openevolve spawns a fresh worker per variant, so cache holds exactly one -# entry per iteration). Keyed by program_path so a re-used path string doesn't -# leak stale metrics across variants. -_LARGE_RESULT_CACHE: dict = {} - - -def _load_large_sample_shas(): - path = _HERE / "stage1_large_sample.json" - if not path.exists(): - return None - try: - return set(json.loads(path.read_text())["sha256"]) - except (json.JSONDecodeError, KeyError, OSError): - return None - - -def _evaluate_large(program_path): - """Single-stage evaluation for OPENEVOLVE_PROFILE=large. Runs all outliers - once, caches result, returns same EvaluationResult on subsequent cascade - calls (stage2/stage3 entry points) so the final variant score reflects the - real outlier score instead of a pass-through placeholder.""" - key = str(program_path) - cached = _LARGE_RESULT_CACHE.get(key) - if cached is not None: - return cached - - keep = _load_large_sample_shas() - if keep is None: - result = _err_result( - {"error": "stage1_large_sample.json missing/invalid"}, - {"suggestion": "Run build_samples.py to regenerate.", - "stage": "large"}, - ) - _LARGE_RESULT_CACHE[key] = result - return result - - w = _peek_workers(program_path) - problems = [p for p in _load_problems(w) if p["sha"] in keep] - result = _evaluate(program_path, problems, "large") - _LARGE_RESULT_CACHE[key] = result - return result - - -def evaluate_stage1(program_path): - if _profile() == "large": - return _evaluate_large(program_path) - w = _peek_workers(program_path) - return _evaluate(program_path, _filter_stage1(_load_problems(w)), "stage1") - - -def evaluate_stage2(program_path): - if _profile() == "large": - return _evaluate_large(program_path) - w = _peek_workers(program_path) - return _evaluate(program_path, _filter_stage2(_load_problems(w)), "stage2") - - -def _finalize_small(program_path): - """Small-profile final cascade slot. The cascade runs stage1 then stage2; - this merges their cached per-problem results into ONE combined score over - stage1 ∪ stage2. No stage3 (outliers live in the large profile) and no - stage4. Falls back to re-running a stage if its cache entry is absent.""" - key = str(program_path) - r1 = _SMALL_RESULTS_CACHE.get((key, "stage1")) - if r1 is None: - res = evaluate_stage1(program_path) - if not isinstance(res, EvaluationResult): - return res - r1 = _SMALL_RESULTS_CACHE.get((key, "stage1"), []) - r2 = _SMALL_RESULTS_CACHE.get((key, "stage2")) - if r2 is None: - res = evaluate_stage2(program_path) - if not isinstance(res, EvaluationResult): - return res - r2 = _SMALL_RESULTS_CACHE.get((key, "stage2"), []) - - combined = list(r1) + list(r2) - if not combined: - return _evaluate(program_path, [], "small_final") # empty pass-through - - metrics = score(combined) - metrics["stage"] = "small_final" - for k in _KEY_STATS: - metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in combined)) - artifacts = { - "stage": "small_final", - "summary": ( - f"combined stage1+stage2 ({len(combined)} problems) " - f"solved={metrics['solved']}/{metrics['total']} " - f"regressions={metrics['regressions']} " - f"geomean_dtime={metrics['geomean_speedup']:.3f} " - f"score={metrics['combined_score']:.3f}" - ), - } - return EvaluationResult(metrics=metrics, artifacts=artifacts) - - -def evaluate_stage3(program_path): - if _profile() == "large": - return _evaluate_large(program_path) - # small profile: cascade is stage1 → stage2 only. This final slot merges - # cached stage1 + stage2 results into one combined score. stage3 (outliers) - # and stage4 (broad spread) are no longer part of the small cascade. - return _finalize_small(program_path) - - -def evaluate_stage4(program_path): - # Standalone entry for manual / final-verify use. Not invoked by cascade. - if _profile() == "large": - return _evaluate_large(program_path) - w = _peek_workers(program_path) - problems = _filter_stage4(_load_problems(w)) - return _evaluate(program_path, problems, "stage4") - - -def evaluate(program_path): - # Evolution loop entry: stage1 only. Cascade chains 2/3/4. - return evaluate_stage1(program_path) diff --git a/input/cpsat-bench/evolve/shared/runtime.py b/input/cpsat-bench/evolve/shared/runtime.py deleted file mode 100644 index 0f15616ab7..0000000000 --- a/input/cpsat-bench/evolve/shared/runtime.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -Thin wrapper around input/_lib/runtime.py. -Binds config.yaml path; re-exports parallel_solvers / cascade_threshold / core_range. -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_CONFIG_YAML = _HERE.parent / "config.yaml" -_INPUT_DIR = _HERE.parents[2] # input/ - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib import runtime as _rt # noqa: E402 - -core_range = _rt.core_range -alloc_core_blocks = _rt.alloc_core_blocks - - -def parallel_solvers(default=1): - return _rt.parallel_solvers(_CONFIG_YAML, default=default) - - -def cascade_threshold(index, default): - return _rt.cascade_threshold(_CONFIG_YAML, index, default) diff --git a/input/cpsat-bench/evolve/shared/score.py b/input/cpsat-bench/evolve/shared/score.py deleted file mode 100644 index 826aaa4881..0000000000 --- a/input/cpsat-bench/evolve/shared/score.py +++ /dev/null @@ -1,222 +0,0 @@ -""" -Scoring for cpsat-bench. - -Score mode: cost (minimize CP-SAT objective). - - combined = geomean(cost_ratio^COST_W * time_ratio) * solved_rate^2 * efficiency^STATS_WEIGHT - - time_ratio (preferred): baseline_dtime / variant_dtime - CP-SAT's deterministic_time is hardware-independent, - so per-iteration noise across machines / system load - stays out of the score. ~order-of-magnitude same as - wall_time but stable across runs. - time_ratio (fallback) : baseline_ms / variant_ms (wall) - used when either dtime is missing (legacy local - baselines without dtime in stats, or worker not - emitting it). Diagnostic geomean_wall_speedup is - always reported alongside. - - - both baseline+variant decisive (OPTIMAL or FEASIBLE) with objective values: - cost_ratio = (baseline_obj + EPS) / (variant_obj + EPS) [minimize] - - status mismatch (e.g. variant UNKNOWN where baseline OPTIMAL): 1e-6 - - missing baseline_objective (rebaseline not yet run) falls back to time_ratio only - -Note: all 85 baseline runs in this dataset reach OPTIMAL, so when variant -ALSO reaches OPTIMAL, cost_ratio collapses to 1.0 and score reduces to -geomean(time_ratio). Cost mode mainly catches variants that bail to FEASIBLE -with a worse objective. - -Efficiency factor: cross-problem geomean of per-problem weighted geomean over -CP-SAT counters (num_conflicts, num_branches). Each ratio -(baseline+1)/(variant+1) clipped to [0.1, 10]. Lower variant work => efficiency > 1. - -Env overrides: - OPENEVOLVE_STATS_WEIGHT exponent on efficiency, default 0.333, 0 disables - OPENEVOLVE_COST_WEIGHT exponent on cost_ratio, default 1.0, 0 disables cost factor - OPENEVOLVE_TIME_METRIC "dtime" (default) | "wall" — force wall ratio -""" -import math -import os - -_SCORE_MODE = "cost" - -_STATS_WEIGHTS = { - "num_conflicts": 2.0, - "num_branches": 1.5, -} -_RATIO_CLIP_LO = 0.1 -_RATIO_CLIP_HI = 10.0 - -_COST_RATIO_CLIP_LO = 0.01 -_COST_RATIO_CLIP_HI = 100.0 -_COST_EPS = 1e-9 - -_DECISIVE = ("OPTIMAL", "FEASIBLE") - - -def _efficiency(per_problem): - per_prob_effs = [] - for p in per_problem: - if p["result"] != p["baseline_result"]: - continue - bs = p.get("baseline_stats") or {} - vs = p.get("stats") or {} - log_sum = 0.0 - w_sum = 0.0 - for k, w in _STATS_WEIGHTS.items(): - b = bs.get(k) - v = vs.get(k) - if b is None or v is None: - continue - r = (float(b) + 1.0) / (float(v) + 1.0) - r = max(_RATIO_CLIP_LO, min(_RATIO_CLIP_HI, r)) - log_sum += w * math.log(r) - w_sum += w - if w_sum > 0: - per_prob_effs.append(math.exp(log_sum / w_sum)) - if not per_prob_effs: - return 1.0, 0 - log_sum = sum(math.log(e) for e in per_prob_effs) - return math.exp(log_sum / len(per_prob_effs)), len(per_prob_effs) - - -def _time_ratio(p, metric): - """Compute time_ratio. metric ∈ {"dtime", "wall"}. - Returns (ratio, source) where source describes which clock was used. - Falls back to wall when dtime missing on either side.""" - bs = p.get("baseline_stats") or {} - vs = p.get("stats") or {} - if metric == "dtime": - b_dt = bs.get("deterministic_time") - v_dt = vs.get("deterministic_time") - if b_dt and v_dt and b_dt > 0 and v_dt > 0: - return float(b_dt) / float(v_dt), "dtime" - # fallback / forced wall - return p["baseline_ms"] / max(p["elapsed_ms"], 1), "wall" - - -def _wall_ratio(p): - return p["baseline_ms"] / max(p["elapsed_ms"], 1) - - -def _score_cost(per_problem): - """ - Cost mode scoring rules: - - baseline NOT decisive → uncomparable; skip from geomean entirely. - (Baseline never reached OPTIMAL/FEASIBLE within timeout → variant has - no target to beat. Counting it as 1e-6 unfairly tanks the geomean.) - - baseline decisive + variant decisive → ratio = cost_ratio^W * time_ratio - (time_ratio is deterministic_time-based when both sides have it, else wall) - - baseline decisive + variant NOT decisive → 1e-6 + regression++ (real loss). - - Returns: (geomean, geomean_wall, solved_rate, solved, regressions, - comparable, dtime_used, dtime_fallback) - comparable = problems where baseline was decisive (counted in geomean). - dtime_used = comparable problems where dtime ratio applied. - dtime_fallback= comparable problems forced to wall ratio (dtime missing). - """ - cost_weight = float(os.environ.get("OPENEVOLVE_COST_WEIGHT", "1.0")) - cost_weight = max(0.0, min(cost_weight, 2.0)) - time_metric = os.environ.get("OPENEVOLVE_TIME_METRIC", "dtime").lower() - if time_metric not in ("dtime", "wall"): - time_metric = "dtime" - - ratios = [] - wall_ratios = [] - solved = 0 - regressions = 0 - comparable = 0 - dtime_used = 0 - dtime_fallback = 0 - for p in per_problem: - b_ok = p["baseline_result"] in _DECISIVE - if not b_ok: - continue # uncomparable - comparable += 1 - v_ok = p["result"] in _DECISIVE - b_cost = p.get("baseline_objective") - v_cost = p.get("objective") - time_r, src = _time_ratio(p, time_metric) - wall_r = _wall_ratio(p) - if time_metric == "dtime": - if src == "dtime": - dtime_used += 1 - else: - dtime_fallback += 1 - if v_ok: - solved += 1 - if b_cost is not None and v_cost is not None: - cost_r = (float(b_cost) + _COST_EPS) / (float(v_cost) + _COST_EPS) - cost_r = max(_COST_RATIO_CLIP_LO, min(_COST_RATIO_CLIP_HI, cost_r)) - ratios.append((cost_r ** cost_weight) * time_r) - wall_ratios.append((cost_r ** cost_weight) * wall_r) - else: - ratios.append(time_r) - wall_ratios.append(wall_r) - else: - # Non-decisive variant (UNKNOWN/INFEASIBLE on a decisive baseline). - # Use its REAL measured time_ratio instead of a 1e-6 sentinel — a - # variant that exhausted the timeout contributes its (slow) timeout - # ratio, not a fixed penalty. solved_rate (squared in combined) - # still drops, so a lost solve is penalized via that channel. - ratios.append(time_r) - wall_ratios.append(wall_r) - regressions += 1 - if not ratios: - return 1.0, 1.0, 0.0, 0, 0, 0, 0, 0 - geomean = math.exp(sum(math.log(r) for r in ratios) / len(ratios)) - geomean_wall = math.exp(sum(math.log(r) for r in wall_ratios) - / len(wall_ratios)) - solved_rate = solved / comparable - return (geomean, geomean_wall, solved_rate, solved, regressions, - comparable, dtime_used, dtime_fallback) - - -def score(per_problem): - n = len(per_problem) - if n == 0: - return { - "combined_score": 0.0, - "geomean_speedup": 0.0, - "geomean_wall_speedup": 0.0, - "solved_rate": 0.0, - "regressions": 0, - "solved": 0, - "comparable": 0, - "total": 0, - "uncomparable": 0, - "efficiency": 1.0, - "efficiency_pairs": 0, - "stats_weight": 0.0, - "dtime_used": 0, - "dtime_fallback": 0, - } - - (geomean, geomean_wall, solved_rate, solved, regressions, - comparable, dtime_used, dtime_fallback) = _score_cost(per_problem) - - efficiency, eff_pairs = _efficiency(per_problem) - try: - stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0.333")) - except ValueError: - stats_weight = 0.0 - stats_weight = max(0.0, min(stats_weight, 2.0)) - - combined = geomean * (solved_rate ** 2.0) * (efficiency ** stats_weight) - - return { - "combined_score": float(combined), - "geomean_speedup": float(geomean), # primary (dtime when available) - "geomean_wall_speedup": float(geomean_wall), # diagnostic (wall) - "solved_rate": float(solved_rate), - "regressions": int(regressions), - "solved": int(solved), - "comparable": int(comparable), - "total": int(n), - "uncomparable": int(n - comparable), - "efficiency": float(efficiency), - "efficiency_pairs": int(eff_pairs), - "stats_weight": float(stats_weight), - "dtime_used": int(dtime_used), - "dtime_fallback": int(dtime_fallback), - } diff --git a/input/run_phase.sh b/input/run_phase.sh index 577e7b0dd8..8bad7909cf 100755 --- a/input/run_phase.sh +++ b/input/run_phase.sh @@ -1,57 +1,42 @@ #!/bin/bash # Single entry for all bench phase runs. Reads `bench:` section of # /evolve/config.yaml (via _lib/load_bench_config.py), then drives the -# standard flow: -# parse flags → rebaseline → solver check → openevolve-run → extract_best. +# refactored flow — everything routes through `python -m _lib.`, +# there are no per-bench wrapper scripts anymore. # # Usage: # ./input/run_phase.sh [] [--pin N-M] [--extract-only] # [--iterations ] [--profile small|large] -# [extra flags] +# [extra openevolve flags] # # omitted → run ALL phases sequentially (1..N). # numeric → run that single phase. # -# --profile small (default) historical run: phase1/2 W=1, phase3/4 W=8, -# uses stage{1..4}_sample.json. Output: openevolve_output/. -# --profile large outlier-only tuning track: phase1..4 all W=8, uses -# stage{1..4}_large_sample.json (stage1=outliers, rest -# empty → cascade pass-through). Output: -# openevolve_output_large/. Sets OPENEVOLVE_PROFILE=large -# so evaluator + phase initial_program.py pick the right -# sample files and worker count. +# Pre-flight (run once before the phase loop): +# - if cache/stage1_sample.json missing → `python -m _lib.sampler ` +# - if cache/local_baseline.json missing → `python -m _lib.rebaseline ` +# (SKIP_REBASELINE=1 reuses an existing baseline file) +# - if `bench.solver_check_cmd` defined → run it # -# Examples: -# ./input/run_phase.sh cpsat-bench # all phases, small profile -# ./input/run_phase.sh cpsat-bench --profile large # all phases, large profile -# ./input/run_phase.sh cpsat-bench 1 --profile large # single phase, large -# ./input/run_phase.sh cpsat-bench --pin 2-7 # all phases, pinned -# ./input/run_phase.sh cpsat-bench 1 --pin 2-7 -# ./input/run_phase.sh z3-bench 4 -# ./input/run_phase.sh cpsat-bench 2 --extract-only +# Per-phase: +# - if `bench.unified_prepare_before_dir` matches the current dir, +# materialize its EVOLVE-BLOCK via `python -m _lib.prepare_phase `. +# - run openevolve-run.py with $INPUT_DIR/_lib/evaluator_entry.py as +# evaluator (OPENEVOLVE_BENCH_ROOT is exported). +# - non-last phases: `python -m _lib.extract_best `. # -# Bench config (in /evolve/config.yaml under `bench:` key — see -# _lib/load_bench_config.py for schema). Loader exports these into env: -# PHASE_DIRS space-separated phase dir names, in order -# (last entry = "unified"/final phase, no extract step) -# PHASE_ITERS space-separated iter counts per phase (omitted => -# use config.yaml max_iterations only) -# UNIFIED_PREPARE_SCRIPT (optional) script name run before the last phase -# SOLVER_CHECK_CMD (optional) shell command returning 0 if solver works -# SOLVER_INSTALL_HINT (optional) message on solver check fail -# REBASELINE_SCRIPT (optional, default rebaseline_local.py) -# EXTRACT_BEST_SCRIPT (optional, default extract_best.py) -# BUILD_SAMPLES_SCRIPT (optional, default build_samples.py) -# -# Env overrides (any bench): -# SKIP_REBASELINE=1 reuse existing local_baseline.json -# OPENEVOLVE_PARALLEL_SOLVERS=N concurrent solver subprocesses -# OPENEVOLVE_CORE_RANGE=N-M taskset core range (also set via --pin) +# Env knobs honored: +# OPENEVOLVE_PARALLEL_SOLVERS concurrent solver subprocesses +# OPENEVOLVE_CORE_RANGE explicit taskset core range N-M +# (also set via --pin) +# OPENEVOLVE_PROFILE "small"|"large" — phase modules read it for +# W=1 vs W=8 switching (cpsat). +# SKIP_REBASELINE=1 reuse existing cache/local_baseline.json set -euo pipefail usage() { - echo "usage: $(basename "$0") [] [--pin N-M] [--extract-only] [--iterations N] [extra flags]" >&2 + echo "usage: $(basename "$0") [] [--pin N-M] [--extract-only] [--iterations N] [--profile small|large] [extra flags]" >&2 echo " omit to run all phases sequentially" >&2 echo " = dir name under input/ (e.g. cpsat-bench, z3-bench)" >&2 } @@ -63,7 +48,6 @@ fi BENCH="$1"; shift -# Optional : numeric next arg. PHASE="" if [ $# -ge 1 ] && [[ "$1" =~ ^[0-9]+$ ]]; then PHASE="$1"; shift @@ -82,93 +66,56 @@ if [ ! -f "$CONFIG_YAML" ]; then exit 2 fi -# Load `bench:` section from config.yaml → exports PHASE_DIRS, PHASE_ITERS, -# UNIFIED_PREPARE_SCRIPT, SOLVER_CHECK_CMD, ... -_BENCH_EXPORTS="$(python "$INPUT_DIR/_lib/load_bench_config.py" "$CONFIG_YAML")" +_BENCH_EXPORTS="$(cd "$INPUT_DIR" && python3 -m _lib.load_bench_config "$CONFIG_YAML")" eval "$_BENCH_EXPORTS" : "${PHASE_DIRS:?bench.phases missing in $CONFIG_YAML}" -REBASELINE_SCRIPT="${REBASELINE_SCRIPT:-rebaseline_local.py}" -EXTRACT_BEST_SCRIPT="${EXTRACT_BEST_SCRIPT:-extract_best.py}" -BUILD_SAMPLES_SCRIPT="${BUILD_SAMPLES_SCRIPT:-build_samples.py}" read -r -a _DIRS <<< "$PHASE_DIRS" read -r -a _ITERS <<< "${PHASE_ITERS:-}" N_PHASES=${#_DIRS[@]} LAST_PHASE=$N_PHASES -PHASE_RANGE_STR="1..$N_PHASES" -# Parse remaining flags EXTRACT_ONLY=0 PIN_RANGE="" PROFILE="small" PASSTHROUGH=() while [ $# -gt 0 ]; do case "$1" in - --extract-only) - EXTRACT_ONLY=1 - shift - ;; - --pin) - PIN_RANGE="$2" - shift 2 - ;; - --pin=*) - PIN_RANGE="${1#--pin=}" - shift - ;; - --profile) - PROFILE="$2" - shift 2 - ;; - --profile=*) - PROFILE="${1#--profile=}" - shift - ;; - -h|--help) - usage - exit 0 - ;; - *) - PASSTHROUGH+=("$1") - shift - ;; + --extract-only) EXTRACT_ONLY=1; shift ;; + --pin) PIN_RANGE="$2"; shift 2 ;; + --pin=*) PIN_RANGE="${1#--pin=}"; shift ;; + --profile) PROFILE="$2"; shift 2 ;; + --profile=*) PROFILE="${1#--profile=}"; shift ;; + -h|--help) usage; exit 0 ;; + *) PASSTHROUGH+=("$1"); shift ;; esac done set -- "${PASSTHROUGH[@]+"${PASSTHROUGH[@]}"}" case "$PROFILE" in small|large) ;; - *) - echo "--profile must be 'small' or 'large' (got: $PROFILE)" >&2 - exit 2 - ;; + *) echo "--profile must be 'small' or 'large' (got: $PROFILE)" >&2; exit 2 ;; esac - export OPENEVOLVE_PROFILE="$PROFILE" -echo "[run_phase] OPENEVOLVE_PROFILE=$PROFILE" -# Profile-suffixed output dir so small/large runs don't collide. if [ "$PROFILE" = "small" ]; then OUTPUT_DIR="openevolve_output" else OUTPUT_DIR="openevolve_output_${PROFILE}" fi -# Decide phase list if [ -z "$PHASE" ]; then if [ "$EXTRACT_ONLY" = "1" ]; then - echo "--extract-only requires explicit (refuses to bulk-aggregate all)" >&2 + echo "--extract-only requires explicit " >&2 exit 2 fi PHASES_TO_RUN=() - for ((i = 1; i <= N_PHASES; i++)); do - PHASES_TO_RUN+=("$i") - done + for ((i = 1; i <= N_PHASES; i++)); do PHASES_TO_RUN+=("$i"); done RUN_ALL=1 else if [ "$PHASE" -lt 1 ] || [ "$PHASE" -gt "$N_PHASES" ]; then - echo "phase must be in {$PHASE_RANGE_STR} (got: $PHASE)" >&2 + echo "phase must be in {1..$N_PHASES} (got: $PHASE)" >&2 exit 2 fi PHASES_TO_RUN=("$PHASE") @@ -181,122 +128,37 @@ if [ -n "$PIN_RANGE" ]; then exit 2 fi export OPENEVOLVE_CORE_RANGE="$PIN_RANGE" - echo "[run_phase] OPENEVOLVE_CORE_RANGE=$PIN_RANGE" fi REPO_ROOT="$(cd "$INPUT_DIR/.." && pwd)" RUNNER="$REPO_ROOT/openevolve-run.py" +EVALUATOR_ENTRY="$INPUT_DIR/_lib/evaluator_entry.py" -# ============ pre-flight (once, even in run-all mode) ============ +export OPENEVOLVE_BENCH_ROOT="$ROOT" +echo "[run_phase] bench=$BENCH profile=$PROFILE output=$OUTPUT_DIR" +# ============ pre-flight ============ if [ "$EXTRACT_ONLY" != "1" ]; then if [ ! -f "$RUNNER" ]; then echo "openevolve-run.py not found at $RUNNER" >&2 exit 1 fi - - need_build=0 - if [ ! -f "$ROOT/shared/stage1_sample.json" ] || [ ! -f "$ROOT/shared/stage2_sample.json" ]; then - need_build=1 - fi - if [ "$PROFILE" = "large" ] && [ ! -f "$ROOT/shared/stage1_large_sample.json" ]; then - need_build=1 - fi - if [ "$need_build" = "1" ]; then - # small profile builds stage1+stage2 only (--small); large/default - # builds all four stages. Both emit stage1_large_sample.json. - build_args=() - if [ "$PROFILE" = "small" ]; then - build_args+=(--small) - fi - echo "[run_phase] sample json missing — running $BUILD_SAMPLES_SCRIPT ${build_args[*]}..." - python "$ROOT/$BUILD_SAMPLES_SCRIPT" "${build_args[@]+"${build_args[@]}"}" + if [ ! -f "$EVALUATOR_ENTRY" ]; then + echo "evaluator_entry not found at $EVALUATOR_ENTRY" >&2 + exit 1 fi - if [ -f "$ROOT/$REBASELINE_SCRIPT" ]; then - # Bench-specific: if phase initial_program.py files declare PHASE_LOCKED - # with num_search_workers, the rebaseline script captures one baseline - # per unique W. SKIP_REBASELINE=1 only reuses an existing file when its - # schema covers every required W; legacy/incomplete files force a - # fresh rebaseline. - rebaseline_needed=0 - if [ ! -f "$ROOT/shared/local_baseline.json" ]; then - rebaseline_needed=1 - reason="missing local_baseline.json" - else - # Determine required worker counts from phase modules. Returns - # space-separated ints (e.g. "1 8") or empty if none declared. - REQ_WORKERS="$( - python - "$ROOT" <<'PY' -import importlib.util -import pathlib -import sys -root = pathlib.Path(sys.argv[1]) -workers = set() -for prog in sorted(root.glob("phase*_*/initial_program.py")): - try: - spec = importlib.util.spec_from_file_location(prog.parent.name, prog) - mod = importlib.util.module_from_spec(spec) - spec.loader.exec_module(mod) - except Exception: - continue - pl = getattr(mod, "PHASE_LOCKED", None) - if isinstance(pl, dict) and "num_search_workers" in pl: - try: - workers.add(int(pl["num_search_workers"])) - except (TypeError, ValueError): - pass -print(" ".join(str(w) for w in sorted(workers))) -PY - )" - if [ -n "$REQ_WORKERS" ]; then - # Check that local_baseline.json's by_workers covers each W. - MISSING="$( - python - "$ROOT/shared/local_baseline.json" "$REQ_WORKERS" <<'PY' -import json -import sys -path, req = sys.argv[1], sys.argv[2].split() -try: - data = json.load(open(path)) -except Exception: - print("unreadable") - sys.exit(0) -if not isinstance(data, dict) or not data: - print("empty") - sys.exit(0) -missing = [] -for w in req: - covered = False - for v in data.values(): - if isinstance(v, dict) and isinstance(v.get("by_workers"), dict) and w in v["by_workers"]: - covered = True - break - if not covered: - missing.append(w) -print(",".join(missing)) -PY - )" - if [ "$MISSING" = "unreadable" ] || [ "$MISSING" = "empty" ]; then - rebaseline_needed=1 - reason="local_baseline.json $MISSING" - elif [ -n "$MISSING" ]; then - rebaseline_needed=1 - reason="local_baseline.json missing worker counts: $MISSING (required: $REQ_WORKERS)" - fi - fi - fi + if [ ! -f "$ROOT/cache/stage1_sample.json" ]; then + echo "[run_phase] cache missing — running _lib.sampler..." + (cd "$INPUT_DIR" && python3 -m _lib.sampler "$BENCH") + fi - if [ "${SKIP_REBASELINE:-0}" = "1" ] && [ "$rebaseline_needed" = "0" ]; then - echo "[run_phase] SKIP_REBASELINE=1 — reusing existing local_baseline.json" - elif [ "${SKIP_REBASELINE:-0}" = "1" ] && [ "$rebaseline_needed" = "1" ]; then - echo "[run_phase] SKIP_REBASELINE=1 but $reason — forcing rebaseline." - python "$ROOT/$REBASELINE_SCRIPT" || \ - echo "warning: $REBASELINE_SCRIPT finished with mismatches; evaluator falls back to raw_ms for those." - else - echo "[run_phase] running $REBASELINE_SCRIPT (set SKIP_REBASELINE=1 to skip on re-runs)..." - python "$ROOT/$REBASELINE_SCRIPT" || \ - echo "warning: $REBASELINE_SCRIPT finished with mismatches; evaluator falls back to raw_ms for those." - fi + if [ -f "$ROOT/cache/local_baseline.json" ] && [ "${SKIP_REBASELINE:-0}" = "1" ]; then + echo "[run_phase] SKIP_REBASELINE=1 — reusing cache/local_baseline.json" + else + echo "[run_phase] running _lib.rebaseline (set SKIP_REBASELINE=1 to skip)..." + (cd "$INPUT_DIR" && python3 -m _lib.rebaseline "$BENCH") || \ + echo "warning: _lib.rebaseline finished with mismatches; evaluator falls back to raw_ms for those." fi if [ -n "${SOLVER_CHECK_CMD:-}" ]; then @@ -305,15 +167,10 @@ PY fi fi - # Re-using local_baseline across the phase loop is the right thing to do — - # force-set SKIP_REBASELINE=1 so the inner per-phase logic (if any) doesn't - # rerun. Currently the inner logic does NOT rerun (we did it above), but - # set anyway for any subscript that honors it. export SKIP_REBASELINE=1 fi -# ============ phase runner (called per phase) ============ - +# ============ phase runner ============ run_one_phase() { local phase="$1" shift @@ -325,69 +182,67 @@ run_one_phase() { if [ "$EXTRACT_ONLY" = "1" ]; then if [ "$phase" -eq "$LAST_PHASE" ]; then - echo "--extract-only not supported for phase $LAST_PHASE (no extract step)" >&2 + echo "--extract-only not supported for phase $LAST_PHASE" >&2 return 2 fi - echo "[run_phase] --extract-only phase $phase: aggregating from checkpoints..." - python "$ROOT/$EXTRACT_BEST_SCRIPT" "$phase" --from-checkpoints + (cd "$INPUT_DIR" && python3 -m _lib.extract_best "$BENCH" "$phase" --from-checkpoints) return 0 fi - # Unified-prep: materialize a phase's EVOLVE-BLOCK from prior-phase winners. - # Fires before the configured UNIFIED_PREPARE_BEFORE_DIR (so a later phase - # can still follow the unified phase); falls back to the last phase when the - # key is unset (legacy benches with the unified phase terminal). local prep_here=0 - if [ -n "${UNIFIED_PREPARE_SCRIPT:-}" ]; then - if [ -n "${UNIFIED_PREPARE_BEFORE_DIR:-}" ]; then - [ "$dir" = "$UNIFIED_PREPARE_BEFORE_DIR" ] && prep_here=1 - elif [ "$phase" -eq "$LAST_PHASE" ]; then - prep_here=1 - fi + if [ -n "${UNIFIED_PREPARE_BEFORE_DIR:-}" ]; then + [ "$dir" = "$UNIFIED_PREPARE_BEFORE_DIR" ] && prep_here=1 + elif [ "$phase" -eq "$LAST_PHASE" ]; then + prep_here=1 fi if [ "$prep_here" = "1" ]; then local missing=0 for ((i = 1; i < phase; i++)); do - if [ ! -f "$ROOT/shared/phase${i}_best.json" ]; then - echo "phase $phase ($dir) requires shared/phase${i}_best.json (run phase $i first)" >&2 + if [ ! -f "$ROOT/cache/phase${i}_best.json" ]; then + echo "phase $phase ($dir) requires cache/phase${i}_best.json" >&2 missing=1 fi done [ "$missing" = "1" ] && return 1 - echo "[run_phase] materializing $dir EVOLVE-BLOCK via $UNIFIED_PREPARE_SCRIPT..." - python "$ROOT/$UNIFIED_PREPARE_SCRIPT" + echo "[run_phase] materializing $dir EVOLVE-BLOCK via _lib.prepare_phase..." + (cd "$INPUT_DIR" && python3 -m _lib.prepare_phase "$BENCH") fi cd "$ROOT/$dir" - echo "[run_phase] === bench=$BENCH phase=$phase dir=$dir profile=$PROFILE output=$OUTPUT_DIR ${iter:+iter=$iter }cwd=$(pwd) ===" + echo "[run_phase] === bench=$BENCH phase=$phase dir=$dir ${iter:+iter=$iter }cwd=$(pwd) ===" local iter_flag=() if [ -n "$iter" ]; then iter_flag=(--iterations "$iter") fi - python "$RUNNER" \ + python3 "$RUNNER" \ initial_program.py \ - "$ROOT/shared/evaluator.py" \ + "$EVALUATOR_ENTRY" \ --config "$ROOT/config.yaml" \ --output "$OUTPUT_DIR" \ "${iter_flag[@]+"${iter_flag[@]}"}" \ "$@" - echo "[run_phase] phase $phase finished." - if [ "$phase" -lt "$LAST_PHASE" ]; then - echo "[run_phase] extracting best overrides for phase $phase..." - python "$ROOT/$EXTRACT_BEST_SCRIPT" "$phase" + echo "[run_phase] extracting best for phase $phase..." + (cd "$INPUT_DIR" && python3 -m _lib.extract_best "$BENCH" "$phase") fi } -# ============ drive ============ - +_LAST_RUN="" for p in "${PHASES_TO_RUN[@]}"; do run_one_phase "$p" "$@" + _LAST_RUN="$p" done +# Finalize when last phase was reached (run-all OR explicit last phase). +# Skipped for --extract-only. +if [ "$EXTRACT_ONLY" != "1" ] && [ "$_LAST_RUN" = "$LAST_PHASE" ]; then + echo "[run_phase] finalizing → $ROOT/final_program.py" + (cd "$INPUT_DIR" && python3 -m _lib.finalize "$BENCH") +fi + if [ "$RUN_ALL" = "1" ]; then echo "[run_phase] all $N_PHASES phases completed for $BENCH." elif [ "${PHASES_TO_RUN[0]}" -lt "$LAST_PHASE" ]; then diff --git a/input/z3-bench/evolve/OPENEVOLVE_INTRO.md b/input/z3-bench/evolve/OPENEVOLVE_INTRO.md index 6473a64d53..6308b5c617 100644 --- a/input/z3-bench/evolve/OPENEVOLVE_INTRO.md +++ b/input/z3-bench/evolve/OPENEVOLVE_INTRO.md @@ -168,9 +168,13 @@ python openevolve-run.py \ - `sls.random_seed = 0` - `parallel.enable = False` -**Phase 간 핸드오프**: 자동. P{N} 종료 후 `run_phase.sh`가 `extract_best.py N` 자동 호출 → `shared/phase{N}_best.json` 작성 → P{N+1}이 import. +**Phase 간 핸드오프**: 자동. P{N} 종료 후 `run_phase.sh`가 +`python -m _lib.extract_best z3-bench N` 자동 호출 → `cache/phase{N}_best.json` +작성 → P{N+1}이 import. -P4 시작 시 `prepare_phase4.py` 자동 실행 → `phase4_unified/initial_program.py`의 EVOLVE-BLOCK을 union dict literal로 머터리얼라이즈 (LLM이 diff 편집 가능하도록). +P4 시작 전 `python -m _lib.prepare_phase z3-bench` 자동 실행 → +`phase4_unified/initial_program.py`의 EVOLVE-BLOCK을 union dict literal로 +머터리얼라이즈 (LLM이 diff 편집 가능하도록). ## 4. 스코어링 diff --git a/input/z3-bench/evolve/README.md b/input/z3-bench/evolve/README.md index 00dc3ac051..212587aa19 100644 --- a/input/z3-bench/evolve/README.md +++ b/input/z3-bench/evolve/README.md @@ -1,284 +1,143 @@ -# Z3 Parameter Tuning via OpenEvolve — 실행 & 구조 +# z3-bench — Z3 SMT 솔버 파라미터 튜닝 -OpenEvolve를 사용해 Z3 SMT 솔버의 파라미터를 진화적으로 탐색한다. 입력은 `input/z3-bench/` 데이터셋(50개 SMT2 인스턴스 + baseline 실행 로그). 목표는 baseline 대비 wall-clock 시간 단축, 단 정답(Sat/Unsat) 보존. +Z3 SMT 솔버 (v4.13.x) 파라미터를 진화적 탐색으로 튜닝. 데이터셋: +`input/z3-bench/raw-data/` (50개 SMT2 인스턴스, ~13k Int / 19k Bool / 40 Real +변수, ~2k soft + 105k hard 제약). 목표: baseline 대비 wall-clock 시간 단축, +정답성 (Sat/Unsat) 보존. -> OpenEvolve 소개, 본 프로젝트의 목적/접근, 스코어링 공식, 설계 결정, 로드맵은 [OPENEVOLVE_INTRO.md](OPENEVOLVE_INTRO.md) 참고. +플랫폼 전반 구조는 [`input/README.md`](../../README.md), OpenEvolve 개념은 +[`OPENEVOLVE_INTRO.md`](OPENEVOLVE_INTRO.md) 참고. 본 문서는 z3-bench 고유 +사항만 다룬다. ---- - -## 1. 디렉토리 구조 +## 디렉토리 구조 ``` input/z3-bench/ -├── README.md # 데이터셋 스키마 설명 -├── problems.jsonl # baseline 실행 결과 50행 -├── problems.csv # 평탄화 버전 -├── raw-data/ # 원본 SMT2 + meta jsonl +├── raw-data/ # .smt2 + meta.jsonl +├── problems.jsonl # baseline 실행 기록 (50 rows) └── evolve/ - ├── README.md # 이 파일 (실행 & 구조) - ├── OPENEVOLVE_INTRO.md # 개념/목적/설계 - ├── config.yaml # 공유 OpenEvolve config - ├── run_phase.sh # 1/2/3/4 phase 실행 진입점 - ├── build_samples.py # stage1/stage2 sample 생성 - ├── extract_best.py # phase N 종료 후 best 추출 - ├── prepare_phase4.py # phase4 EVOLVE-BLOCK 머터리얼라이즈 - ├── rebaseline_local.py # 로컬에서 baseline 재측정 - ├── final_verify.py # P4 best 전수 검증 - ├── shared/ - │ ├── baseline_params.py # BASELINE 19키, LOCKED 4키 - │ ├── score.py # geomean × solved_rate^2 - │ ├── z3_runner.py # subprocess z3 CLI 호출 - │ ├── evaluator.py # cascade stage1/stage2 - │ ├── stage1_sample.json # 5문제 stratified sample (seed=42) - │ ├── stage2_sample.json # stage2 problem set - │ └── phase{1,2,3}_best.json # 각 phase 종료 후 생성됨 - ├── phase1_opt_sls/ - │ └── initial_program.py # EVOLVE-BLOCK: OPT_SLS_OVERRIDES (~34키) - ├── phase2_sat/ - │ └── initial_program.py # EVOLVE-BLOCK: SAT_OVERRIDES (~121키) - ├── phase3_smt/ - │ └── initial_program.py # EVOLVE-BLOCK: SMT_OVERRIDES (~97키) - └── phase4_unified/ - └── initial_program.py # EVOLVE-BLOCK: UNIFIED_OVERRIDES (union) + ├── config.yaml # bench / LLM / clustering / evaluation + ├── params.json # Z3 파라미터 카탈로그 + ├── adapter.py # solver hooks + ├── _solve_worker.py # z3 Python binding subprocess + ├── phase1_opt_sls/ # opt.* + sls.* + ├── phase2_sat/ # sat.* (CDCL core) + ├── phase3_smt/ # smt.* (theories, quantifier, arith) + ├── phase4_unified/ # 통합 refinement (자동 머터리얼) + └── cache/ # 생성물, 삭제 안전 + ├── stage{1..4}_sample.json + ├── local_baseline.json + └── phase{N}_best.json ``` -## 2. 평가 흐름 (cascade) - -``` -LLM 변이된 initial_program.py - ↓ -evaluator.py: - 1. get_params() 호출 → dict - 2. LOCKED 위반 체크 → 위반 시 0점 + locked_violated artifact - 3. stage1 (5문제, per-problem 15s timeout): - for each problem in stage1_sample: - run_z3(smt2, params, timeout=15s) - invalid_param 감지 시 즉시 0점 + 어떤 키인지 artifact - score → cascade_threshold 0.3 통과 시 stage2 진입 - 4. stage2 (50문제, per-problem 120s timeout): - 동일 방식, 전수 - 5. 최종 metrics + per_problem artifacts (상위 20개) 반환 -``` +## 평가 흐름 -### Stage1 sample (stratified by baseline elapsed_ms, seed=42) - -``` -ac90ca97ff99 239 ms Unsat (fast) -133383a624ef 480 ms Unsat (fast) -29efe6d38d7b 12,712 ms Unsat (medium) -86468fd861ff 15,671 ms Sat (medium) -3854194b901b 66,100 ms Sat (slow) -``` +`config.yaml` `bench.evaluation`: -5분위 버킷에서 하나씩 → Sat/Unsat + 빠름/느림 골고루. - -## 3. Initial program 표준 형태 - -각 phase의 `initial_program.py`는 동일 패턴: - -```python -import pathlib, sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) - -from baseline_params import BASELINE +| 키 | 값 | +|---|---| +| `repeats` | 10 (10회 평균) | +| `score_mode` | `speedup` (wall-clock) | +| `enable_size_buckets` | `false` (z3는 단일 surface) | +| `enable_outlier_stage` | `false` | -# (phase 2-3-4는 이전 phase best.json 로드) -import json -_PHASE1 = json.loads((_SHARED / "phase1_best.json").read_text()) \ - if (_SHARED / "phase1_best.json").exists() else {} +Cascade: stage1 (5문제) → stage2 (5문제) → stage3 (5문제, outlier) → stage4 +(20문제, 전체 spread). 각 stage gate는 `cascade_thresholds`. -# EVOLVE-BLOCK-START -PHASE_OVERRIDES = { - "opt.priority": "pareto", - "opt.maxsat_engine": "wmax", - # ... -} -# EVOLVE-BLOCK-END +정답성 regression (baseline decisive + variant mismatch)은 abort + `1e-6` +penalty. invalid_param은 즉시 0점 + 어떤 키인지 artifact. -def get_params(): - p = dict(BASELINE) - p.update(_PHASE1) # 누적 (phase 2+) - p.update(PHASE_OVERRIDES) # 현재 phase - return p +## Clustering (config.yaml `bench.clustering`) -def get_phase_overrides(): - """extract_best.py가 사용 — 현재 phase의 dict만 반환.""" - return dict(PHASE_OVERRIDES) -``` +| 키 | 값 | +|---|---| +| `method` | `kmeans` | +| `feature` | `features.num_hard_constraints` (dominant size signal) | +| `n_clusters` | 5 | +| `max_baseline_ms` | 300000 (5분 cap) | +| `stage_sizes` | stage1=5, stage2=5, stage3=5, stage4=20 | +| `stage_clusters` | stage1=c0+c1, stage2=c2+c3, stage3=c4, stage4=전체 | -evaluator는 phase를 모름 — `get_params()` 결과만 받음. `extract_best.py`는 `get_phase_overrides()`만 호출 → phase별 dict 분리 유지. +`python -m _lib.sampler z3-bench`로 `cache/stage{1..4}_sample.json` 생성. -## 4. 실행 절차 (Docker) +## Phase별 surface -### 4.1 백엔드 선택 +cpsat과 달리 z3는 SIZE_BUCKETS / STAGE3_OVERRIDES 미사용. 단일 surface +`OVERRIDES` 만 LLM 변이. -| 항목 | OpenAI 호환 (기본) | Claude Code | +| Phase | EVOLVE-BLOCK | inheritance | |---|---|---| -| 인증 | env var `OPENAI_API_KEY` (Gemini/OpenAI/local 등) | env var `CLAUDE_CODE_OAUTH_TOKEN` (host에서 `claude setup-token`) | -| config.yaml model | `provider` 없음 또는 `openai` | `provider: claude_code` | -| Config 예시 | `configs/default_config.yaml` | `configs/claude_code_example.yaml` | -| Rate limit | 키 발급사 정책 | Pro/Max 5h window — 빠르게 막힘 | -| 재현성 | `temperature`/`seed` 적용 | SDK 미지원, 약함 | -| Docker 자동 셋업 | skip 권장 (`AUTO_INSTALL_CLAUDE=0`) | docker-init-claude.sh가 자동 실행 | - -### 4.2 Quickstart — Claude Code 백엔드 +| 1 (opt_sls) | `OVERRIDES = {}` | BASELINE only | +| 2 (sat) | `OVERRIDES = {}` | + cache/phase1_best.json | +| 3 (smt) | `OVERRIDES = {}` | + cache/phase2_best.json | +| 4 (unified) | `UNIFIED_OVERRIDES = {}` | `_lib.prepare_phase`가 phase{1,2,3}_best union으로 자동 채움 | -```bash -# === Host에서 (1회만) === -claude setup-token # 출력 토큰 복사 (Keychain 우회용 long-lived OAuth) -export CLAUDE_CODE_OAUTH_TOKEN="sk-..." # ~/.zshrc 등 영구화 권장 +`get_params()` 적용 순서: `BASELINE → prior_phase_best → current OVERRIDES`. -./docker-run.sh dev -s z3evo # 진입 — 첫 실행: claude CLI + SDK 자동 설치 (수 분) - # 두 번째부터: 즉시 셸 (영속 mount로 skip) -``` +## Quick start ```bash -# === Container 안 (1회만) === -pip install -e ".[dev]" # OpenEvolve 본체 -apt-get install -y z3 # 또는: pip install z3-solver - -python -c "from openevolve.llm.claude_code import ClaudeCodeLLM; print('ok')" # sanity check - -# 데이터 sample (이미 생성됨; 재생성 원할 때만) -python input/z3-bench/evolve/build_samples.py - -# Phase 순차 실행 — 각 phase 종료 시 extract_best.py 자동 호출 -./input/z3-bench/evolve/run_phase.sh 1 -./input/z3-bench/evolve/run_phase.sh 2 -./input/z3-bench/evolve/run_phase.sh 3 -./input/z3-bench/evolve/run_phase.sh 4 +# 1. 전체 pipeline (sampler + rebaseline + 4 phases 순차) +./input/run_phase.sh z3-bench --pin 2-7 + +# 2. 단계별 +python -m _lib.sampler z3-bench # cache/stage{1..4}_sample.json +python -m _lib.self_test z3-bench # baseline sanity (stage1) +python -m _lib.rebaseline z3-bench # cache/local_baseline.json (10회 평균) +./input/run_phase.sh z3-bench 1 --pin 2-7 +./input/run_phase.sh z3-bench 2 --pin 2-7 +./input/run_phase.sh z3-bench 3 --pin 2-7 +./input/run_phase.sh z3-bench 4 --pin 2-7 + +# 3. 최종 검증 — run_phase.sh가 마지막 phase 후 자동 생성한 final_program.py 사용 +python -m _lib.final_verify z3-bench \ + input/z3-bench/evolve/final_program.py ``` -### 4.3 Quickstart — OpenAI 호환 백엔드 - -```bash -# === Host에서 === -export OPENAI_API_KEY="..." # config.yaml의 api_base에 맞는 키 -AUTO_INSTALL_CLAUDE=0 ./docker-run.sh dev -s z3evo # claude 셋업 skip - -# === Container 안 === -pip install -e ".[dev]" -apt-get install -y z3 -export OPENAI_API_KEY="..." # 셸 안에서도 필요 (-e로 전달됨) -./input/z3-bench/evolve/run_phase.sh 1 -``` - -`OPENAI_API_KEY`라는 이름은 OpenEvolve가 OpenAI 호환 SDK를 쓰기 때문. 실제 라우팅은 `config.yaml`의 `api_base`가 결정 (Gemini, OpenAI, vLLM 등). - -### 4.4 docker-run.sh의 Claude Code 셋업 동작 - -docker-run.sh가 [scripts/docker-init-claude.sh](../../../scripts/docker-init-claude.sh)를 컨테이너 startup 명령으로 실행. **멱등** (이미 설치돼 있으면 skip). +마지막 phase 완료 후 `_lib.finalize`가 자동 실행 → +`/evolve/final_program.py`에 phase4 best_program.py 복사. 이 파일이 +canonical evolved 결과. 수동 재생성: `python -m _lib.finalize z3-bench`. -| 단계 | 동작 | Skip 조건 | -|---|---|---| -| 1 | `~/.local/bin`을 PATH 추가 + `~/.bashrc` 영구화 | grep로 중복 차단 | -| 2 | `claude` CLI 설치 (`curl -fsSL https://claude.ai/install.sh \| bash`) | `command -v claude` 성공 | -| 3 | `pip install -e ".[claude-code]"` (= claude-agent-sdk) | `import claude_agent_sdk` 성공 | -| 4 | Auth env var 체크 → 없으면 경고 | — | - -**영속화**: `--rm` 컨테이너지만 `~/.axion-docker-persist/claude-local/` → `/root/.local` 마운트로 설치 결과 호스트에 남음. 다음 컨테이너 즉시 사용. - -**자동 셋업 끄기**: `AUTO_INSTALL_CLAUDE=0 ./docker-run.sh ...` - -**Host OS별 차이**: -- Linux host: host의 `claude` 바이너리도 read-only 자동 마운트 (`/usr/local/bin/claude`) → init script가 installer skip. -- Mac host: cross-OS 불가 → init script가 standalone installer 실행 (Node 번들 포함). +각 non-final phase 완료 후 `_lib.extract_best`가 +`cache/phaseN_best.json` 자동 생성. Phase 4 시작 전 +`_lib.prepare_phase`가 EVOLVE-BLOCK 머터리얼. -**Mount 요약** (root mode 기준): -- `$HOME/.claude/` → `/root/.claude` (settings/sessions/projects 공유) -- `~/.axion-docker-persist/claude-local/` → `/root/.local` (claude 바이너리 영속) -- env forward: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_BASE_URL`, `CLAUDE_CODE_OAUTH_TOKEN`, `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` +## Score 공식 (speedup mode) -### 4.5 체크포인트 재개 - -OpenEvolve가 `phase{N}_*/openevolve_output/checkpoints/checkpoint_K/`에 자동 저장. 재개: - -```bash -cd input/z3-bench/evolve/phase2_sat/ -python /app/openevolve-run.py \ - initial_program.py \ - ../shared/evaluator.py \ - --config ../config.yaml \ - --checkpoint openevolve_output/checkpoints/checkpoint_50 \ - --iterations 100 ``` +combined_score = weighted_geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT -### 4.6 Detached 장시간 실행 - -```bash -./docker-run.sh dev -s z3evo -d -docker exec -it axion-cell-container-dev-$USER-z3evo bash -nohup ./input/z3-bench/evolve/run_phase.sh 1 \ - &> /app/logs/phase1.log & -``` - -Detached mode에서도 init script가 background로 한 번 실행됨. `docker logs $CONTAINER_NAME`로 init 출력 확인. - -### 4.7 트러블슈팅 - -| 증상 | 원인 / 해결 | -|---|---| -| 진입 시 `[init-claude] no CLAUDE_CODE_OAUTH_TOKEN ...` 경고 | host에서 `claude setup-token` → token export → 재실행 | -| `claude --version` 안 됨 | `source ~/.bashrc` 또는 `export PATH="$HOME/.local/bin:$PATH"` | -| init이 매번 재설치 | `~/.axion-docker-persist/claude-local/` 마운트 누락 (rootless면 `$HOME` bind에 포함되어 있어야 함). `ls ~/.local/bin/claude` 확인 | -| `pip install` 실패 | cwd 확인 (`pyproject.toml` 있는지) — rootless면 `cd $SCRIPT_DIR` 먼저 | -| Rate limit | Pro/Max 5h window 소진. `OPENEVOLVE_MAX_PROBLEMS` 축소 또는 OpenAI 호환 백엔드 병행 | -| Mac에서 host claude 마운트 시도 | Mac 바이너리는 Linux 컨테이너에서 안 돎 → docker-run.sh가 자동 skip하고 installer로 fallback | - -### 4.8 CPU 핀닝 / 코어 격리 (측정 안정성) - -z3 wall-clock을 일관되게 재기 위해 컨테이너를 특정 코어에 고정. 호스트 사이드 격리(cgroup v2 isolated partition)와 컨테이너 핀닝을 짝지어 사용한다. - -```bash -# === Host (재부팅 없음) === -sudo ./scripts/host-isolate-cores.sh start # cores 1-6 격리 -sudo ./scripts/host-isolate-cores.sh status # 상태 확인 -# 끝나면 -sudo ./scripts/host-isolate-cores.sh stop # 원복 - -# === Docker 실행 === -./docker-run.sh dev -s z3evo --pin # = --pin 1-6 (default) -./docker-run.sh dev -s z3evo --pin 2-7 # 다른 범위 +speedup = baseline_ms / variant_ms (match 시) + = 1e-6 (regression 시) +weight = baseline_ms (긴 문제 dominate) +efficiency = geomean over {conflicts(w=2), decisions(w=1.5), propagations(w=0.5)} + of (baseline_stat + 1) / (variant_stat + 1), clipped [0.1, 10] ``` -`--pin` 동작: -- `--cpuset-cpus=` 추가 (커널 cpuset 강제) -- `/sys/fs/cgroup/isolated.slice` 존재 시 `--cgroup-parent=/isolated.slice`로 격리된 cgroup에 합류 (없으면 경고만) -- 컨테이너 엔트리포인트를 `taskset -c bash -lc ...`로 래핑 +- 매치 (baseline Sat→variant Sat 또는 Unsat→Unsat) 시 wall-clock ratio가 + 점수에 기여. +- Mismatch (baseline decided + variant Unknown/timeout/opposite) 시 `1e-6` + → 한 문제 regression이 geomean을 크게 감점. +- baseline이 Unknown인 경우 variant가 풀어내면 개선으로 카운트, regression + 아님. -`host-isolate-cores.sh start` 메커니즘: -- `/sys/fs/cgroup/isolated.slice` 생성 → `cpuset.cpus=1-6`, `cpuset.cpus.partition=isolated` -- 커널이 1-6을 system.slice/user.slice 등 다른 모든 cgroup에서 제거 + 스케줄러 load-balancing 끔 -- `/proc/irq/*/smp_affinity`를 `0,7-19`로 마스크 → 디바이스 IRQ가 격리 코어에 안 떨어짐 -- 상태/IRQ 백업은 `/var/lib/host-isolate-cores/`에 저장됨 (stop이 원복) +## Locked params -| 변수 | 기본 | 용도 | -|---|---|---| -| `ISOLATED_CPUS` | `1-6` | 격리할 CPU 리스트 (`host-isolate-cores.sh`) | -| `CGROUP_NAME` | `isolated.slice` | 격리 cgroup 이름 | -| `ISOLATED_CGROUP_NAME` | `isolated.slice` | `docker-run.sh`가 합류할 cgroup 이름 | +`sat.random_seed=0`, `smt.random_seed=0`, `sls.random_seed=0`, +`parallel.enable=false`, `threads=1`. 위반 시 `combined_score=0`. -**한계**: 런타임 격리로는 커널 스레드(kthread)와 타이머 틱은 못 막음. 완전 격리가 필요하면 boot param을 추가하고 재부팅: +## 디버깅 / 트러블슈팅 -``` -isolcpus=1-6 nohz_full=1-6 rcu_nocbs=1-6 -``` - -(`host-isolate-cores.sh start` 출력 마지막에 같은 안내가 나옴.) - -## 5. 환경 변수 - -| 변수 | 기본 | 용도 | -|---|---|---| -| `OPENAI_API_KEY` | — | LLM API 키 (api_base에 맞는 것) | -| `OPENEVOLVE_MAX_PROBLEMS` | 50 | stage2 문제수 상한 (테스트용 축소) | -| `OPENEVOLVE_STAGE1_TIMEOUT` | 15 | stage1 문제당 초 | -| `OPENEVOLVE_STAGE2_TIMEOUT` | 120 | stage2 문제당 초 | -| `OPENEVOLVE_Z3_BIN` | `z3` | z3 바이너리 경로 | +| 증상 | 대응 | +|---|---| +| `invalid_param: ` artifact | params.json 카탈로그에 누락된 키. `_lib.params_catalog`가 catch하거나 z3 binary가 reject. params.json `groups[*].params[*]`에 추가하거나 LLM prompt에 명시. | +| Result regression abort | baseline은 Sat/Unsat인데 variant Unknown/timeout. presolve / SLS / restart 튜닝이 completeness 깬 경우 많음. | +| 로컬 baseline mismatch | `_lib.rebaseline`이 raw baseline과 불일치 결과 → evaluator는 raw_ms fallback. Z3 binary 버전 차이 또는 hardware noise. | -## 6. 도커 안에서 추가 검증 필요 +## 참고 -- `z3 -pmd | less` 출력으로 4.13.3.0의 실제 키 검증 (일부 키명/타입이 마이너 버전마다 다를 수 있음) -- baseline 변이로 stage1 1회 평가 직접 호출 → z3 binary 동작/타임아웃 검증 -- LLM API 호출 sanity check (`config.yaml`의 api_base + 키 매칭) +- 파라미터 카탈로그 + 검증: `params.json` (rich schema). 1265개 Z3 4.13.x + 키 중 LLM이 실제로 변이하는 ~27개 그룹화 + type/enum/range/desc 명시. +- 환경 변수: [`input/README.md`](../../README.md#environment-knobs) 참고. +- Z3 도커 셋업 / Claude Code 백엔드 / CPU 핀닝: 이전 버전 본 문서 + (`git log -p`) 또는 `docker-run.sh --help` 참고. diff --git a/input/z3-bench/evolve/_probe_parallel.py b/input/z3-bench/evolve/_probe_parallel.py deleted file mode 100644 index 29b7851001..0000000000 --- a/input/z3-bench/evolve/_probe_parallel.py +++ /dev/null @@ -1,74 +0,0 @@ -"""Probe: serial vs parallel z3 measurement noise (run inside docker).""" -import json -import pathlib -import statistics -import sys -import time -from concurrent.futures import ThreadPoolExecutor - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) -from baseline_params import BASELINE # noqa -from z3_runner import run_z3 # noqa - - -def main(): - shas = json.loads((_HERE / "shared/stage1_sample.json").read_text())["sha256"] - prob_idx = {} - with open(_HERE.parent / "problems.jsonl") as f: - for line in f: - d = json.loads(line) - if d["problem_sha256"] in shas: - prob_idx[d["problem_sha256"]] = d["smt2_filename"] - - raw_dir = _HERE.parent / "raw-data" - tasks = [(i, sha, raw_dir / prob_idx[sha]) for i, sha in enumerate(shas)] - - def solve(i, sha, smt2, pin): - r = run_z3(smt2, BASELINE, 60, cpu_core=pin) - return i, sha, r - - # --- A: serial, no pin (3 reps each) --- - print("=== A: serial no-pin (3 reps) ===") - serial = {sha: [] for _, sha, _ in tasks} - for rep in range(3): - for i, sha, smt2 in tasks: - t0 = time.monotonic() - _, _, r = solve(i, sha, smt2, None) - wall = int((time.monotonic() - t0) * 1000) - serial[sha].append((r.get("result"), r["elapsed_ms"], wall)) - print(f" rep{rep} [{i+1}/5] {sha[:10]} {r.get('result')} " - f"z3={r['elapsed_ms']}ms wall={wall}ms") - - # --- B: parallel=5, pin (3 reps batch) --- - print("\n=== B: parallel=5 pinned (3 reps) ===") - par = {sha: [] for _, sha, _ in tasks} - for rep in range(3): - with ThreadPoolExecutor(max_workers=5) as ex: - futs = [ex.submit(solve, i, sha, smt2, (i % 5) + 1) for i, sha, smt2 in tasks] - for fut in futs: - i, sha, r = fut.result() - par[sha].append((r.get("result"), r["elapsed_ms"])) - print(f" rep{rep} [{i+1}/5] {sha[:10]} {r.get('result')} " - f"z3={r['elapsed_ms']}ms core={(i % 5) + 1}") - - # --- summary --- - print("\n=== SUMMARY (z3 elapsed_ms) ===") - print(f"{'sha':<12} {'serial(med/stdev)':<24} {'parallel(med/stdev)':<24} par/ser") - for _, sha, _ in tasks: - s = [t[1] for t in serial[sha]] - p = [t[1] for t in par[sha]] - sm, ss = statistics.median(s), statistics.stdev(s) if len(s) > 1 else 0 - pm, ps = statistics.median(p), statistics.stdev(p) if len(p) > 1 else 0 - ratio = pm / sm if sm else 0 - print(f"{sha[:12]} {sm:>7.0f} / {ss:>6.0f} {pm:>7.0f} / {ps:>6.0f} " - f"{ratio:.2f}x") - # result drift - s_res = set(t[0] for t in serial[sha]) - p_res = set(t[0] for t in par[sha]) - if s_res != p_res: - print(f" RESULT DRIFT: serial={s_res} parallel={p_res}") - - -if __name__ == "__main__": - main() diff --git a/input/z3-bench/evolve/shared/_z3_solve_worker.py b/input/z3-bench/evolve/_solve_worker.py similarity index 100% rename from input/z3-bench/evolve/shared/_z3_solve_worker.py rename to input/z3-bench/evolve/_solve_worker.py diff --git a/input/z3-bench/evolve/adapter.py b/input/z3-bench/evolve/adapter.py new file mode 100644 index 0000000000..da9aa9841e --- /dev/null +++ b/input/z3-bench/evolve/adapter.py @@ -0,0 +1,33 @@ +""" +z3-bench solver hooks. Consumed by every _lib module via +bench_paths.load_adapter(). +""" + +SOLVER_NAME = "z3" + +PROBLEM_FILE_FIELD = "smt2_filename" +STATUS_FIELD = "z3_status" # {"result", "elapsed_ms"} +STATS_FIELD = None # baseline has no separate stats block +FEATURES_FIELD = "features" +OBJECTIVE_FIELD = None # SMT2/MaxSMT: no objective in baseline + +DECISIVE_RESULTS = ("Sat", "Unsat") +DECIDED_RESULTS = ("Sat", "Unsat") + +KEY_STATS = ("decisions", "propagations", "conflicts", "mk clause") + +STATS_WEIGHTS = { + "conflicts": 2.0, + "decisions": 1.5, + "propagations": 0.5, +} + +SCORE_MODE = "speedup" + +WORKERS_KEY = None # z3 single-threaded in this bench + + +def get_problem_size(features): + """Z3 problems carry num_hard_constraints as the dominant size signal + (mean ~106k hard / ~2k soft / ~33k vars across the workload).""" + return int((features or {}).get("num_hard_constraints") or 0) diff --git a/input/z3-bench/evolve/build_samples.py b/input/z3-bench/evolve/build_samples.py deleted file mode 100644 index 98f6c70e61..0000000000 --- a/input/z3-bench/evolve/build_samples.py +++ /dev/null @@ -1,272 +0,0 @@ -""" -Build problems.jsonl + stage1/2/3/4 sample files from raw-data. - -Source of truth = raw-data/*.meta.jsonl. raw-data accumulates over time; -this script rescans each run, rewrites problems.jsonl as the full aggregate, -and re-selects all stage samples. - -Sample pool cap: baseline_ms <= MAX_BASELINE_MS (5 min). problems.jsonl -still contains the full set; only sample selection applies the cap. - -Outlier filter: after the cap, problems whose baseline_ms lies beyond -[Q1 - k*IQR, Q3 + k*IQR] (Tukey rule, k=OUTLIER_IQR_K=3.0 "far outlier") are -dropped. k=3 instead of the textbook 1.5 because runtime is heavily right- -skewed — k=1.5 would trim away the entire upper quartile that stage3 is -supposed to test. k=3 only removes the genuine long-tail monsters that -distort quintile boundaries and inflate stage3/4 wall-clock. - -Runtime quintiles (SAT-only, sorted by elapsed_ms ascending): - Q1 = bottom 20%, Q2 = 20-40%, ..., Q5 = top 20%. - -Stage1 (5): SAT, quintiles 1+2 (fastest 40%). Strategy: STAGE1_STRATEGY. - Cascade gate: geomean_speedup >= 1.03 → stage2. -Stage2 (5): SAT, quintiles 3+4 (middle 40-80%). Strategy: STAGE2_STRATEGY. - Cascade gate: geomean_speedup >= 1.03 → stage3. -Stage3 (5): SAT, quintile 5 (slowest 20%). Strategy: STAGE3_STRATEGY. - Cascade gate: geomean_speedup >= 1.03 → stage4. -Stage4 (20): SAT+UNSAT, broad. Strategy: STAGE4_STRATEGY. Deduplicated - against stage1+2+3. - -Strategies (STAGE{N}_STRATEGY): - "center" : pick N contiguous elements around the median of the pool. - Tight within-stage runtime variance (~2-3x). - "spread" : quintile-spread across the pool (N/N_BUCKETS per bucket via - rank-linspace). Intentionally wide distribution. - -Quintile-spread = sort by key, split into N_BUCKETS equal-rank buckets, -pick N/N_BUCKETS from each bucket via rank-linspace within bucket. -Deterministic, no randomness. -""" -import json -import pathlib - -_HERE = pathlib.Path(__file__).resolve().parent -_BENCH = _HERE.parent -_RAW = _BENCH / "raw-data" -_PROBLEMS = _BENCH / "problems.jsonl" -_STAGE1 = _HERE / "shared" / "stage1_sample.json" -_STAGE2 = _HERE / "shared" / "stage2_sample.json" -_STAGE3 = _HERE / "shared" / "stage3_sample.json" -_STAGE4 = _HERE / "shared" / "stage4_sample.json" - -STAGE1_N = 5 -STAGE2_N = 5 -STAGE3_N = 5 -STAGE4_N = 20 -N_BUCKETS = 5 -MAX_BASELINE_MS = 300_000 # 5 min cap — exclude monster problems from sample pool -OUTLIER_IQR_K = 3.0 # linear Tukey k (k=1.5=outlier, k=3=far outlier). - # k=3 drops only extreme tails (e.g. 181s, 132s vs ~13s median). - -# Per-stage selection strategy. "center" = contiguous N picks around median -# (tight within-stage runtime variance); "spread" = quintile-spread across -# whole pool (intentionally wide distribution). -STAGE1_STRATEGY = "center" -STAGE2_STRATEGY = "center" -STAGE3_STRATEGY = "center" -STAGE4_STRATEGY = "spread" - - -def _scan_raw(): - rows = [] - for path in sorted(_RAW.glob("*.meta.jsonl")): - with open(path) as f: - for line in f: - line = line.strip() - if not line: - continue - rows.append(json.loads(line)) - break - return rows - - -def _runtime_key(d): - return (d.get("z3_status") or {}).get("elapsed_ms", 0) - - -def _drop_runtime_outliers(rows, k=OUTLIER_IQR_K): - """ - Remove problems whose baseline_ms lies beyond [Q1 - k*IQR, Q3 + k*IQR]. - Tukey-style linear IQR rule. k=1.5 = standard "outlier", k=3.0 = "far - outlier" — we use 3.0 because runtime is heavily right-skewed and 1.5 - would trim too aggressively (the upper quartile already lives in the - long tail). - Returns (kept_rows, dropped_rows). - """ - ms_sorted = sorted(_runtime_key(d) for d in rows if _runtime_key(d) > 0) - n = len(ms_sorted) - if n < 4: - return list(rows), [] - q1 = ms_sorted[n // 4] - q3 = ms_sorted[(3 * n) // 4] - iqr = q3 - q1 - lo, hi = q1 - k * iqr, q3 + k * iqr - kept, dropped = [], [] - for d in rows: - ms = _runtime_key(d) - if ms <= 0 or lo <= ms <= hi: - kept.append(d) - else: - dropped.append(d) - return kept, dropped - - -def _pick(strategy, sorted_rows, n_pick): - if strategy == "center": - return _center_pick(sorted_rows, n_pick) - if strategy == "spread": - return _quintile_spread(sorted_rows, n_pick, N_BUCKETS) - raise ValueError(f"unknown sample strategy: {strategy!r}") - - -def _center_pick(sorted_rows, n_pick): - """ - Pick n_pick contiguous elements centered on the median of sorted_rows. - Used for stage1/2/3 where samples should cluster tightly (similar runtime) - rather than span the whole pool — reduces within-stage variance to ~2-3x - instead of 5-8x. - """ - total = len(sorted_rows) - if total == 0 or n_pick <= 0: - return [] - if total <= n_pick: - return list(sorted_rows) - start = (total - n_pick) // 2 - return sorted_rows[start:start + n_pick] - - -def _quintile_spread(sorted_rows, n_pick, n_buckets=N_BUCKETS): - total = len(sorted_rows) - if total == 0 or n_pick <= 0: - return [] - if total <= n_pick: - return list(sorted_rows) - - per_bucket = n_pick // n_buckets - remainder = n_pick % n_buckets - picked = [] - for b in range(n_buckets): - lo = (b * total) // n_buckets - hi = ((b + 1) * total) // n_buckets - bucket = sorted_rows[lo:hi] - if not bucket: - continue - k = per_bucket + (1 if b < remainder else 0) - if k <= 0: - continue - if k == 1: - picked.append(bucket[len(bucket) // 2]) - else: - for j in range(k): - idx = round(j * (len(bucket) - 1) / (k - 1)) - picked.append(bucket[idx]) - return picked - - -def _summary(d): - f = d.get("features") or {} - z = d.get("z3_status") or {} - return { - "sha": d["problem_sha256"][:12], - "num_hard_constraints": f.get("num_hard_constraints", 0), - "num_variables": f.get("num_variables", 0), - "baseline_result": z.get("result"), - "baseline_ms": z.get("elapsed_ms"), - } - - -def _write_sample(path, picks, label, criteria): - path.write_text( - json.dumps( - { - "selection": f"{len(picks)} {criteria}", - "source": str(_PROBLEMS.relative_to(_BENCH.parent)), - "sha256": [d["problem_sha256"] for d in picks], - "summary": [_summary(d) for d in picks], - }, - indent=2, - ) - + "\n" - ) - print(f"wrote {path.relative_to(_BENCH.parent)} ({len(picks)} {label})") - - -def main(): - rows = _scan_raw() - if not rows: - raise SystemExit(f"no *.meta.jsonl files found under {_RAW}") - print(f"scanned {len(rows)} raw meta files") - - with open(_PROBLEMS, "w") as f: - for d in rows: - f.write(json.dumps(d) + "\n") - print(f"wrote {_PROBLEMS.relative_to(_BENCH.parent)} ({len(rows)} entries)") - - candidates = [ - d for d in rows - if (d.get("z3_status") or {}).get("elapsed_ms", 0) <= MAX_BASELINE_MS - ] - skipped = len(rows) - len(candidates) - print(f"sample pool: {len(candidates)} (skipped {skipped} with " - f"baseline_ms > {MAX_BASELINE_MS}ms)") - - candidates, outliers = _drop_runtime_outliers(candidates) - if outliers: - print(f"dropped {len(outliers)} runtime outliers " - f"(Tukey IQR k={OUTLIER_IQR_K}):") - for d in sorted(outliers, key=_runtime_key): - print(f" {d['problem_sha256'][:12]} " - f"{_runtime_key(d):>7}ms " - f"{(d.get('z3_status') or {}).get('result', '?')}") - - # SAT pool sorted by runtime — basis for stage1/2/3 quintile split. - sat_by_rt = sorted( - (d for d in candidates if (d.get("z3_status") or {}).get("result") == "Sat"), - key=_runtime_key, - ) - n_sat = len(sat_by_rt) - - def q_idx(i): # rank boundary for the i-th quintile cut (i in 0..5) - return (i * n_sat) // 5 - - pool_q12 = sat_by_rt[q_idx(0):q_idx(2)] # quintiles 1+2 (fastest 40%) - pool_q34 = sat_by_rt[q_idx(2):q_idx(4)] # quintiles 3+4 (middle 40%) - pool_q5 = sat_by_rt[q_idx(4):q_idx(5)] # quintile 5 (slowest 20%) - print(f"SAT runtime pool: {n_sat} | Q1+2={len(pool_q12)} | " - f"Q3+4={len(pool_q34)} | Q5={len(pool_q5)}") - - # Strategy per stage configurable via STAGE{N}_STRATEGY constants. - s1 = _pick(STAGE1_STRATEGY, pool_q12, STAGE1_N) - s2 = _pick(STAGE2_STRATEGY, pool_q34, STAGE2_N) - s3 = _pick(STAGE3_STRATEGY, pool_q5, STAGE3_N) - - # Stage4: SAT+UNSAT, exclude SHAs already in stage1+2+3. - used = {d["problem_sha256"] for d in (s1 + s2 + s3)} - broad = sorted( - (d for d in candidates if d["problem_sha256"] not in used), - key=_runtime_key, - ) - s4 = _pick(STAGE4_STRATEGY, broad, STAGE4_N) - - _write_sample(_STAGE1, s1, "stage1", "SAT runtime Q1+2 (fastest 40%)") - _write_sample(_STAGE2, s2, "stage2", "SAT runtime Q3+4 (middle 40%)") - _write_sample(_STAGE3, s3, "stage3", "SAT runtime Q5 (slowest 20%)") - _write_sample(_STAGE4, s4, "stage4", "SAT+UNSAT broad, dedup vs stage1-3") - - for label, picks in (("stage1", s1), ("stage2", s2), - ("stage3", s3), ("stage4", s4)): - print(f"\n{label}:") - for d in picks: - f_ = d.get("features") or {} - z = d.get("z3_status") or {} - print( - f" {d['problem_sha256'][:12]} " - f"hc={f_.get('num_hard_constraints', 0):>7} " - f"vars={f_.get('num_variables', 0):>7} " - f"{z.get('result', '?'):<7} " - f"{z.get('elapsed_ms', 0):>6}ms" - ) - - -if __name__ == "__main__": - main() diff --git a/input/z3-bench/evolve/cache/stage1_sample.json b/input/z3-bench/evolve/cache/stage1_sample.json new file mode 100644 index 0000000000..83a88a2015 --- /dev/null +++ b/input/z3-bench/evolve/cache/stage1_sample.json @@ -0,0 +1,44 @@ +{ + "selection": "5 from 27 candidates", + "criteria": "kmeans-clusters=[0, 1] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", + "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", + "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c" + ], + "summary": [ + { + "sha": "fac53f0ffed2", + "baseline_result": "Unsat", + "baseline_ms": 221, + "features.num_hard_constraints": 14932 + }, + { + "sha": "4fb703b12127", + "baseline_result": "Unsat", + "baseline_ms": 311, + "features.num_hard_constraints": 15034 + }, + { + "sha": "872cbdb83f73", + "baseline_result": "Sat", + "baseline_ms": 1298, + "features.num_hard_constraints": 59387 + }, + { + "sha": "069af7891076", + "baseline_result": "Sat", + "baseline_ms": 13885, + "features.num_hard_constraints": 105784 + }, + { + "sha": "03b7e129d625", + "baseline_result": "Sat", + "baseline_ms": 16518, + "features.num_hard_constraints": 106100 + } + ] +} diff --git a/input/z3-bench/evolve/cache/stage2_sample.json b/input/z3-bench/evolve/cache/stage2_sample.json new file mode 100644 index 0000000000..3a44296d91 --- /dev/null +++ b/input/z3-bench/evolve/cache/stage2_sample.json @@ -0,0 +1,44 @@ +{ + "selection": "5 from 17 candidates", + "criteria": "kmeans-clusters=[2, 3] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", + "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", + "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", + "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", + "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b" + ], + "summary": [ + { + "sha": "aeec9f77b092", + "baseline_result": "Sat", + "baseline_ms": 2193, + "features.num_hard_constraints": 112978 + }, + { + "sha": "3cacf544225e", + "baseline_result": "Unsat", + "baseline_ms": 2996, + "features.num_hard_constraints": 112978 + }, + { + "sha": "7d51ef2bfc4c", + "baseline_result": "Sat", + "baseline_ms": 40558, + "features.num_hard_constraints": 524936 + }, + { + "sha": "86efb0762e6d", + "baseline_result": "Sat", + "baseline_ms": 80512, + "features.num_hard_constraints": 696736 + }, + { + "sha": "7f7b5c632ef8", + "baseline_result": "Sat", + "baseline_ms": 181205, + "features.num_hard_constraints": 696736 + } + ] +} diff --git a/input/z3-bench/evolve/cache/stage3_sample.json b/input/z3-bench/evolve/cache/stage3_sample.json new file mode 100644 index 0000000000..3c27606ff6 --- /dev/null +++ b/input/z3-bench/evolve/cache/stage3_sample.json @@ -0,0 +1,44 @@ +{ + "selection": "5 from 6 candidates", + "criteria": "kmeans-clusters=[4] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", + "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", + "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", + "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" + ], + "summary": [ + { + "sha": "f54dba052fbf", + "baseline_result": "Unsat", + "baseline_ms": 31406, + "features.num_hard_constraints": 1092831 + }, + { + "sha": "3b58bd47434b", + "baseline_result": "Unsat", + "baseline_ms": 31732, + "features.num_hard_constraints": 1092831 + }, + { + "sha": "bc60e5e73924", + "baseline_result": "Unsat", + "baseline_ms": 32076, + "features.num_hard_constraints": 1093104 + }, + { + "sha": "96158dd28c0b", + "baseline_result": "Unsat", + "baseline_ms": 33160, + "features.num_hard_constraints": 1095737 + }, + { + "sha": "be1c308d7977", + "baseline_result": "Unsat", + "baseline_ms": 33752, + "features.num_hard_constraints": 1095737 + } + ] +} diff --git a/input/z3-bench/evolve/cache/stage4_sample.json b/input/z3-bench/evolve/cache/stage4_sample.json new file mode 100644 index 0000000000..0737417ddd --- /dev/null +++ b/input/z3-bench/evolve/cache/stage4_sample.json @@ -0,0 +1,149 @@ +{ + "selection": "20 from 50 candidates", + "criteria": "kmeans-clusters=[0, 1, 2, 3, 4] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", + "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", + "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", + "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", + "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", + "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", + "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", + "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", + "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", + "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", + "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", + "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", + "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", + "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", + "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", + "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b" + ], + "summary": [ + { + "sha": "fac53f0ffed2", + "baseline_result": "Unsat", + "baseline_ms": 221, + "features.num_hard_constraints": 14932 + }, + { + "sha": "e57b3cf2bc7e", + "baseline_result": "Unsat", + "baseline_ms": 268, + "features.num_hard_constraints": 24936 + }, + { + "sha": "505a2e36055c", + "baseline_result": "Sat", + "baseline_ms": 307, + "features.num_hard_constraints": 24937 + }, + { + "sha": "17cc4d349ce3", + "baseline_result": "Sat", + "baseline_ms": 366, + "features.num_hard_constraints": 15243 + }, + { + "sha": "133383a624ef", + "baseline_result": "Unsat", + "baseline_ms": 480, + "features.num_hard_constraints": 24797 + }, + { + "sha": "872cbdb83f73", + "baseline_result": "Sat", + "baseline_ms": 1298, + "features.num_hard_constraints": 59387 + }, + { + "sha": "aeec9f77b092", + "baseline_result": "Sat", + "baseline_ms": 2193, + "features.num_hard_constraints": 112978 + }, + { + "sha": "21069961e8dc", + "baseline_result": "Sat", + "baseline_ms": 2900, + "features.num_hard_constraints": 113006 + }, + { + "sha": "d8d5ffa7d824", + "baseline_result": "Sat", + "baseline_ms": 3350, + "features.num_hard_constraints": 112812 + }, + { + "sha": "42bc61a62698", + "baseline_result": "Unsat", + "baseline_ms": 12692, + "features.num_hard_constraints": 105784 + }, + { + "sha": "65444d693881", + "baseline_result": "Unsat", + "baseline_ms": 13089, + "features.num_hard_constraints": 105784 + }, + { + "sha": "069af7891076", + "baseline_result": "Sat", + "baseline_ms": 13885, + "features.num_hard_constraints": 105784 + }, + { + "sha": "4a02d7846394", + "baseline_result": "Sat", + "baseline_ms": 14428, + "features.num_hard_constraints": 105784 + }, + { + "sha": "03b7e129d625", + "baseline_result": "Sat", + "baseline_ms": 16518, + "features.num_hard_constraints": 106100 + }, + { + "sha": "3b58bd47434b", + "baseline_result": "Unsat", + "baseline_ms": 31732, + "features.num_hard_constraints": 1092831 + }, + { + "sha": "96158dd28c0b", + "baseline_result": "Unsat", + "baseline_ms": 33160, + "features.num_hard_constraints": 1095737 + }, + { + "sha": "7d51ef2bfc4c", + "baseline_result": "Sat", + "baseline_ms": 40558, + "features.num_hard_constraints": 524936 + }, + { + "sha": "5250d459bef2", + "baseline_result": "Sat", + "baseline_ms": 67552, + "features.num_hard_constraints": 524936 + }, + { + "sha": "a7df812c620d", + "baseline_result": "Sat", + "baseline_ms": 93445, + "features.num_hard_constraints": 696365 + }, + { + "sha": "7f7b5c632ef8", + "baseline_result": "Sat", + "baseline_ms": 181205, + "features.num_hard_constraints": 696736 + } + ] +} diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index b99bed10ae..bae9f23e2d 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -11,10 +11,43 @@ bench: - dir: phase2_sat - dir: phase3_smt - dir: phase4_unified - unified_prepare_script: prepare_phase4.py + solver_check_cmd: "command -v z3" solver_install_hint: "install: apt-get install -y z3 or pip install z3-solver" + # === Refactor (2026-06) — paths to per-bench solver-specific files. === + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + unified_dict_name: UNIFIED_OVERRIDES + + # === Clustering / stage sampling. === + clustering: + method: kmeans + feature: features.num_hard_constraints + n_clusters: 5 + max_baseline_ms: 300000 # 5 min cap + spread: quintile + stage_sizes: + stage1: 5 + stage2: 5 + stage3: 5 + stage4: 20 + stage_clusters: + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + + # === Evaluation behavior. === + evaluation: + repeats: 10 + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: speedup # z3: wall-clock speedup + enable_size_buckets: false + enable_outlier_stage: false + # === Custom z3-bench knobs (silently ignored by openevolve dacite parser) === # parallel_solvers: total concurrent z3 worker subprocesses per stage. # - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. diff --git a/input/z3-bench/evolve/extract_best.py b/input/z3-bench/evolve/extract_best.py deleted file mode 100644 index f7f611501f..0000000000 --- a/input/z3-bench/evolve/extract_best.py +++ /dev/null @@ -1,23 +0,0 @@ -""" -Thin wrapper: calls _lib.extract_best.main with z3-bench phase map. -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_SHARED = _HERE / "shared" -_INPUT_DIR = _HERE.parents[1] - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib.extract_best import main # noqa: E402 - -PHASE_DIRS = { - 1: "phase1_opt_sls", - 2: "phase2_sat", - 3: "phase3_smt", -} - -if __name__ == "__main__": - main(_HERE, _SHARED, PHASE_DIRS) diff --git a/input/z3-bench/evolve/final_verify.py b/input/z3-bench/evolve/final_verify.py deleted file mode 100644 index b289340ee7..0000000000 --- a/input/z3-bench/evolve/final_verify.py +++ /dev/null @@ -1,216 +0,0 @@ -""" -Final verification: on a final-test sample, measure LOCAL baseline elapsed_ms -and then run the optimized program. Report per-problem speedup using the -fresh local baseline (not the raw-data baseline which was recorded on a -different machine). - -Usage: - python final_verify.py - -Sample selection (in priority order): - 1. shared/final_sample.json — JSON file with {"sha256": [, ...]}. - Hand-edit or generate this to pin a specific subset for verification. - 2. Fall back to ALL problems in problems.jsonl (50). - -Order of operations: - for each problem p in final sample: - run BASELINE on p → record base_ms_local - run params on p → record variant_ms - speedup = base_ms_local / variant_ms (when result matches) - -Baseline + variant are run back-to-back per problem so they share the same -warm cache / system noise. Concurrency = config parallel_solvers (one z3 -process pair per problem; each problem runs baseline then variant serially -inside its slot to keep timing apples-to-apples). -""" -import importlib.util -import json -import pathlib -import sys -import time -from concurrent.futures import ThreadPoolExecutor, as_completed - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) - -from baseline_params import BASELINE, LOCKED # noqa: E402 -from score import score # noqa: E402 -from z3_runner import run_z3 # noqa: E402 -from runtime import parallel_solvers # noqa: E402 - -_BENCH_DIR = _HERE.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_FINAL_SAMPLE = _HERE / "shared" / "final_sample.json" - -TIMEOUT_S = 120 - - -def _load_get_params(program_path): - spec = importlib.util.spec_from_file_location("program", program_path) - module = importlib.util.module_from_spec(spec) - spec.loader.exec_module(module) - if not hasattr(module, "get_params"): - print(f"ERROR: {program_path} missing get_params()", file=sys.stderr) - sys.exit(2) - return module.get_params() - - -def _load_problem_index(): - idx = {} - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - idx[d["problem_sha256"]] = { - "sha": d["problem_sha256"], - "smt2": d["smt2_filename"], - "raw_ms": d["z3_status"]["elapsed_ms"], - "raw_result": d["z3_status"]["result"], - } - return idx - - -def _resolve_sample(idx): - """Pick the SHA list for final verification.""" - if _FINAL_SAMPLE.exists(): - shas = list(json.loads(_FINAL_SAMPLE.read_text())["sha256"]) - source = f"shared/final_sample.json ({len(shas)} SHAs)" - else: - shas = list(idx.keys()) - source = f"problems.jsonl (full {len(shas)})" - metas = [] - for sha in shas: - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} from sample not in problems.jsonl", file=sys.stderr) - sys.exit(2) - smt2 = _RAW_DIR / meta["smt2"] - if not smt2.exists(): - print(f"ERROR: missing {smt2}", file=sys.stderr) - sys.exit(2) - metas.append((meta, smt2)) - return metas, source - - -def main(): - if len(sys.argv) != 2: - print(__doc__, file=sys.stderr) - return 2 - - program_path = pathlib.Path(sys.argv[1]).resolve() - if not program_path.exists(): - print(f"ERROR: {program_path} not found", file=sys.stderr) - return 2 - - variant_params = _load_get_params(program_path) - violations = {k: variant_params.get(k) for k in LOCKED - if variant_params.get(k) != LOCKED[k]} - if violations: - print(f"ERROR: locked params violated: {violations}", file=sys.stderr) - return 2 - - idx = _load_problem_index() - metas, source = _resolve_sample(idx) - n_parallel = min(parallel_solvers(default=1), len(metas)) - - print(f"final verify: {program_path}") - print(f" sample : {source}") - print(f" params : {len(variant_params)} keys, " - f"{sum(1 for k, v in variant_params.items() if BASELINE.get(k) != v)} differ from BASELINE") - print(f" parallel solvers : {n_parallel} (taskset core pin)") - print(f" per-problem timeout : {TIMEOUT_S}s × 2 (baseline + variant)") - print() - - def _measure(idx_meta): - i, meta, smt2 = idx_meta - # Skip core 0 — pin baseline + variant to cores 1..n_parallel. - core = ((i % n_parallel) + 1) if n_parallel > 1 else None - # Baseline first, then variant — back-to-back so system noise affects - # both equally and speedup ratio cancels it out. - b = run_z3(smt2, BASELINE, TIMEOUT_S, cpu_core=core) - v = run_z3(smt2, variant_params, TIMEOUT_S, cpu_core=core) - return i, meta, b, v - - tasks = [(i, meta, smt2) for i, (meta, smt2) in enumerate(metas)] - t_start = time.monotonic() - completed = [] - if n_parallel == 1: - for t in tasks: - completed.append(_measure(t)) - else: - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_measure, t) for t in tasks] - for fut in as_completed(futures): - completed.append(fut.result()) - completed.sort(key=lambda x: x[0]) - elapsed = time.monotonic() - t_start - - results = [] - for i, meta, b, v in completed: - base_ms_local = int(b.get("elapsed_ms", 0)) - base_result = b.get("result", "Unknown") - var_ms = int(v.get("elapsed_ms", 0)) - var_result = v.get("result", "Unknown") - var_invalid = v.get("invalid_param") - # Speedup uses LOCAL baseline (this run), not raw_ms. - if var_invalid: - speedup = 0.0 - flag = f" invalid={var_invalid}" - elif var_result != base_result: - speedup = 0.0 - flag = f" MISMATCH (base={base_result} variant={var_result})" - else: - speedup = base_ms_local / max(var_ms, 1) - flag = "" - print( - f" [{i+1:>2}/{len(metas)}] {meta['sha'][:10]} " - f"base_local={base_result:<7}/{base_ms_local:>7}ms " - f"variant={var_result:<7}/{var_ms:>7}ms " - f"speedup={speedup:.2f}x{flag}", - flush=True, - ) - results.append({ - "sha": meta["sha"], - "smt2": meta["smt2"], - "baseline_ms": base_ms_local, - "baseline_result": base_result, - "result": var_result, - "elapsed_ms": var_ms, - "timeout": bool(v.get("timeout")), - "raw_baseline_ms": meta["raw_ms"], - }) - - metrics = score(results) - print() - print(f"== summary (speedup vs fresh LOCAL baseline) ==") - print(f" solved : {metrics['solved']}/{metrics['total']}") - print(f" regressions : {metrics['regressions']}") - print(f" geomean_speedup : {metrics['geomean_speedup']:.3f}") - print(f" solved_rate : {metrics['solved_rate']:.3f}") - print(f" combined_score : {metrics['combined_score']:.3f}") - print(f" wall-clock : {elapsed:.1f}s") - - out_path = program_path.parent / "final_verify.json" - out_path.write_text(json.dumps({ - "program": str(program_path), - "sample_source": source, - "metrics": metrics, - "per_problem": [ - { - "sha": r["sha"][:12], - "base_result": r["baseline_result"], - "got_result": r["result"], - "base_local_ms": r["baseline_ms"], - "variant_ms": r["elapsed_ms"], - "raw_baseline_ms": r["raw_baseline_ms"], - "timeout": r["timeout"], - } - for r in results - ], - }, indent=2) + "\n") - print(f" wrote {out_path}") - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/input/z3-bench/evolve/params.json b/input/z3-bench/evolve/params.json new file mode 100644 index 0000000000..f9536265de --- /dev/null +++ b/input/z3-bench/evolve/params.json @@ -0,0 +1,194 @@ +{ + "solver": "z3", + "version": "z3 4.13.x", + + "defaults": { + "opt.enable_core_rotate": true, + "opt.enable_sat": true, + "opt.enable_sls": true, + "opt.maxres.hill_climb": true, + "opt.maxsat_engine": "wmax", + "opt.priority": "pareto", + "opt.rc2.totalizer": true, + "parallel.enable": false, + "sat.branching.heuristic": "vsids", + "sat.pb.solver": "totalizer", + "sat.phase": "caching", + "sat.random_seed": 0, + "sat.restart": "geometric", + "sat.threads": 1, + "sls.random_seed": 0, + "smt.phase_selection": 3, + "smt.random_seed": 0, + "smt.threads": 1, + "threads": 1 + }, + + "locked": { + "sat.random_seed": 0, + "smt.random_seed": 0, + "sls.random_seed": 0, + "parallel.enable": false, + "threads": 1 + }, + + "groups": { + "opt": { + "description": "Optimization engine and MaxSAT settings (opt.*).", + "params": { + "opt.maxsat_engine": { + "type": "enum", + "values": ["maxres", "pd-maxres", "wmax", "sortmax", "rc2", "maxres-bin"], + "default": "wmax", + "desc": "MaxSAT solver engine." + }, + "opt.optsmt_engine": { + "type": "enum", + "values": ["basic", "farkas", "symba"], + "default": "basic", + "desc": "OPT-SMT engine choice." + }, + "opt.priority": { + "type": "enum", + "values": ["lex", "pareto", "box"], + "default": "pareto", + "desc": "Multi-objective combination strategy." + }, + "opt.enable_sat": { + "type": "bool", "default": true, + "desc": "Enable SAT-based MaxSAT engines." + }, + "opt.enable_sls": { + "type": "bool", "default": true, + "desc": "Enable SLS engine for unsat-core minimization." + }, + "opt.enable_core_rotate": { + "type": "bool", "default": true, + "desc": "Rotate among unsat cores during MaxSAT." + }, + "opt.maxres.hill_climb": { + "type": "bool", "default": true, + "desc": "Hill-climb in MaxRes." + }, + "opt.maxres.max_core_size": { + "type": "int", "default": 0, "range": [0, 100], + "desc": "Max core size considered in MaxRes (0=unlimited)." + }, + "opt.maxres.add_upper_bound_block": { + "type": "bool", "default": false, + "desc": "Add objective upper-bound blocking clause." + }, + "opt.rc2.totalizer": { + "type": "bool", "default": true, + "desc": "Use totalizer encoding inside RC2." + } + } + }, + + "sat_branching": { + "description": "Boolean SAT branching and restart strategy.", + "params": { + "sat.branching.heuristic": { + "type": "enum", + "values": ["vsids", "lrb", "chb"], + "default": "vsids", + "desc": "Branching variable scoring strategy." + }, + "sat.phase": { + "type": "enum", + "values": ["always_false", "always_true", "basic_caching", "random", "caching"], + "default": "caching", + "desc": "Variable phase-selection policy." + }, + "sat.restart": { + "type": "enum", + "values": ["luby", "geometric", "ema", "static"], + "default": "geometric", + "desc": "Restart schedule family." + }, + "sat.gc": { + "type": "enum", + "values": ["glue", "psm", "glue_psm", "dyn_psm"], + "default": "glue_psm", + "desc": "Clause garbage-collection strategy." + }, + "sat.pb.solver": { + "type": "enum", + "values": ["circuit", "sorting", "totalizer", "solver", "segmented", "binary_merge"], + "default": "totalizer", + "desc": "Pseudo-Boolean constraint encoding." + }, + "sat.cardinality.encoding": { + "type": "enum", + "values": ["grouped", "bimander", "ordered", "unate", "circuit"], + "default": "grouped", + "desc": "Cardinality constraint encoding." + } + } + }, + + "smt": { + "description": "Top-level SMT solver controls (smt.*).", + "params": { + "smt.phase_selection": { + "type": "int", "default": 3, "range": [0, 5], + "desc": "0=always_false 1=always_true 2=basic_caching 3=caching 4=random 5=occurrence." + }, + "smt.case_split": { + "type": "int", "default": 1, "range": [0, 6], + "desc": "Case-split heuristic. 0..6." + }, + "smt.restart_strategy": { + "type": "int", "default": 0, "range": [0, 4], + "desc": "0=geometric 1=inner_outer 2=luby 3=fixed 4=arithmetic." + }, + "smt.arith.solver": { + "type": "enum", + "values": [2, 5, 6], + "default": 2, + "desc": "2=simplex 5=infinitary_lra 6=lra." + } + } + }, + + "sls": { + "description": "Stochastic local search engine controls.", + "params": { + "sls.walksat_ucb_constant": { + "type": "float", "default": 0.9, "range": [0.0, 10.0], + "desc": "UCB exploration constant for WalkSAT." + }, + "sls.wp": { + "type": "int", "default": 20, "range": [0, 100], + "desc": "Walk probability percent." + } + } + }, + + "locked_keys": { + "description": "Seeds + parallelism — LOCKED, do not modify.", + "params": { + "sat.random_seed": { + "type": "int", "default": 0, "range": [0, 2147483647], + "desc": "Locked." + }, + "smt.random_seed": { + "type": "int", "default": 0, "range": [0, 2147483647], + "desc": "Locked." + }, + "sls.random_seed": { + "type": "int", "default": 0, "range": [0, 2147483647], + "desc": "Locked." + }, + "parallel.enable": { + "type": "bool", "default": false, + "desc": "Locked off." + }, + "threads": { + "type": "int", "default": 1, "range": [1, 1], + "desc": "Locked at 1." + } + } + } + } +} diff --git a/input/z3-bench/evolve/phase1_opt_sls/initial_program.py b/input/z3-bench/evolve/phase1_opt_sls/initial_program.py index bafdea9fde..c1f517d673 100644 --- a/input/z3-bench/evolve/phase1_opt_sls/initial_program.py +++ b/input/z3-bench/evolve/phase1_opt_sls/initial_program.py @@ -1,70 +1,49 @@ """ -Phase 1: tune opt.* + sls.*. +Phase 1: tune Z3 opt.* + sls.* knobs. Other namespaces (sat.*, smt.*, parallel.*) stay at baseline. Z3 4.13.x keys. -EVOLVE-BLOCK below is the only thing the LLM should change. Keys may be added, -removed, or have values modified. -Do NOT modify locked keys (sls.random_seed; sat./smt./parallel.* live in BASELINE -and stay there). Invalid Z3 keys cause evaluator to return 0. +Do NOT modify locked keys (sat.random_seed, smt.random_seed, sls.random_seed, +parallel.enable, threads). Invalid Z3 keys cause evaluator to return 0. """ +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) -from baseline_params import BASELINE # noqa: E402 +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) -# EVOLVE-BLOCK-START -OPT_SLS_OVERRIDES = { - # opt.* — MaxSMT engine, MaxRes/RC2 knobs, optsmt engine - "opt.priority": "pareto", # lex | pareto | box - "opt.maxsat_engine": "wmax", # maxres | pd-maxres | wmax | sortmax | rc2 | maxres-bin - "opt.optsmt_engine": "basic", # basic | farkas | symba - "opt.enable_sat": True, - "opt.enable_sls": True, - "opt.enable_core_rotate": True, - # opt.enable_lns / opt.lns.threshold: not in z3 4.13.3.0 — removed. - "opt.maxres.hill_climb": True, - "opt.maxres.add_upper_bound_block": False, - "opt.maxres.max_core_size": 3, - "opt.maxres.max_correction_set_size": 3, - "opt.maxres.maximize_assignment": False, - "opt.maxres.pivot_on_correction_set": True, - "opt.maxres.wmax": False, - "opt.maxlex.enable": True, - "opt.rc2.totalizer": True, - "opt.pb.compile_equality": False, - "opt.elim_01": True, +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults - # sls.* — stochastic local search (engaged via opt.enable_sls) - "sls.early_prune": True, - "sls.walksat": True, - "sls.walksat_repick": True, - "sls.walksat_ucb": True, - "sls.walksat_ucb_constant": 20.0, - "sls.walksat_ucb_forget": 0.1, - "sls.walksat_ucb_init": False, - "sls.walksat_ucb_noise": 0.0002, - "sls.wp": 20, # walk probability (percent 0..100) - # sls.parallel: API-only key (z3 CLI rejects); pinned to default False. - "sls.random_offset": True, - "sls.rescore": True, - "sls.restart_base": 100, - "sls.restart_init": False, - "sls.track_unsat": False, -} + +# EVOLVE-BLOCK-START +OVERRIDES = {} # EVOLVE-BLOCK-END def get_params(): p = dict(BASELINE) - p.update(OPT_SLS_OVERRIDES) + p.update(OVERRIDES) return p def get_phase_overrides(): - """Used by extract_best.py — returns ONLY this phase's evolved dict.""" - return dict(OPT_SLS_OVERRIDES) + return dict(OVERRIDES) \ No newline at end of file diff --git a/input/z3-bench/evolve/phase2_sat/initial_program.py b/input/z3-bench/evolve/phase2_sat/initial_program.py index 22861aaeaf..074bc77188 100644 --- a/input/z3-bench/evolve/phase2_sat/initial_program.py +++ b/input/z3-bench/evolve/phase2_sat/initial_program.py @@ -1,177 +1,60 @@ """ Phase 2: tune sat.* (CDCL SAT core). -Loads phase1_best.json (opt.*+sls.* winners) as locked. smt.* and parallel.* -stay at baseline. EVOLVE-BLOCK is SAT_OVERRIDES below. +Inherits phase1 (opt.*+sls.*) winners via cache/phase1_best.json. smt.* and +parallel.* stay at baseline. EVOLVE-BLOCK is OVERRIDES below. -Do NOT modify sat.random_seed (locked). Invalid keys -> evaluator returns 0. +Do NOT modify sat.random_seed (locked). Invalid keys → evaluator returns 0. """ import json +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) -from baseline_params import BASELINE # noqa: E402 -_PHASE1_FILE = _SHARED / "phase1_best.json" -_PHASE1 = ( - json.loads(_PHASE1_FILE.read_text()) if _PHASE1_FILE.exists() else {} -) +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults +_CACHE = _BENCH / "cache" + + +def _load_prev(name): + p = _CACHE / name + return json.loads(p.read_text()) if p.exists() else {} + + +_PHASE1 = _load_prev("phase1_best.json") # EVOLVE-BLOCK-START -SAT_OVERRIDES = { - # Branching / phase / restart - "sat.branching.heuristic": "vsids", # vsids | lrb | chb - "sat.branching.anti_exploration": 0.4, - "sat.phase": "caching", # always_false | always_true | basic_caching | random | caching - "sat.phase.sticky": True, - "sat.restart": "geometric", # luby | geometric | ema | static - "sat.restart.fast": True, - "sat.restart.initial": 2, - "sat.restart.factor": 1.5, - "sat.restart.margin": 1.1, - "sat.restart.emafastglue": 0.03, - "sat.restart.emaslowglue": 1e-05, - "sat.rephase.base": 1000, - "sat.reorder.base": 4294967295, - "sat.reorder.itau": 4.0, - "sat.reorder.activity_scale": 100, - "sat.random_freq": 0.01, - "sat.variable_decay": 110, - "sat.burst_search": 100, - "sat.search.sat.conflicts": 400, - "sat.search.unsat.conflicts": 400, - "sat.backtrack.conflicts": 4000, - "sat.backtrack.scopes": 100, - - # Garbage collection - "sat.gc": "glue_psm", # glue | psm | glue_psm | dyn_psm - "sat.gc.burst": False, - "sat.gc.defrag": True, - "sat.gc.increment": 500, - "sat.gc.initial": 20000, - "sat.gc.k": 7, - "sat.gc.small_lbd": 3, - "sat.minimize_lemmas": True, - # sat.dyn.sub_res: not in z3 4.13.3.0 — removed. - - # Preprocessing / simplification - "sat.scc": True, - "sat.scc.tr": True, - "sat.elim_vars": True, - # sat.elim_vars_bdd / sat.elim_vars_bdd_delay: not in z3 4.13.3.0 — removed. - "sat.subsumption": True, - "sat.subsumption.limit": 100000000, - "sat.asymm_branch": True, - "sat.asymm_branch.all": False, - "sat.asymm_branch.delay": 1, - "sat.asymm_branch.limit": 100000000, - "sat.asymm_branch.rounds": 2, - "sat.asymm_branch.sampled": True, - "sat.probing": True, - "sat.probing_binary": True, - "sat.probing_cache": True, - "sat.probing_cache_limit": 1024, - "sat.probing_limit": 5000000, - "sat.propagate.prefetch": True, - "sat.ate": True, - "sat.acce": False, - "sat.bce": False, - "sat.bce_at": 2, - "sat.bce_delay": 2, - "sat.bca": False, - # sat.binspr: not in z3 4.13.3.0 — removed. - "sat.cce": False, - "sat.blocked_clause_limit": 100000000, - "sat.retain_blocked_clauses": True, - "sat.enable_pre_simplify": False, - "sat.force_cleanup": False, - "sat.inprocess.max": 4294967295, - "sat.simplify.delay": 0, - # sat.next_simplify1: not in z3 4.13.3.0 — removed. - - # Cardinality / PB - "sat.cardinality.solver": True, - "sat.cardinality.encoding": "grouped", # grouped | bimander | ordered | unate | circuit - "sat.pb.solver": "totalizer", # circuit | sorting | totalizer | solver | segmented | binary_merge - "sat.pb.lemma_format": "cardinality", # cardinality | pb - "sat.pb.resolve": "cardinality", # cardinality | rounding - - # Core minimization - "sat.core.minimize": False, - "sat.core.minimize_partial": False, - - # Threading (keep 1 for fair compare; parallel.enable stays locked false) - "sat.threads": 1, - - # SLS-within-SAT (separate from opt-level sls.*) - "sat.local_search": False, - "sat.local_search_mode": "wsat", # wsat | gsat - "sat.local_search_threads": 0, - "sat.ddfw_search": False, - "sat.ddfw.threads": 0, - "sat.ddfw.init_clause_weight": 8, - "sat.ddfw.reinit_base": 10000, - "sat.ddfw.restart_base": 100000, - "sat.ddfw.use_reward_pct": 15, - "sat.prob_search": False, - - # Cut/AIG/ANF preprocessing (default off for this workload) - "sat.cut": False, - "sat.cut.aig": False, - "sat.cut.delay": 2, - "sat.cut.dont_cares": True, - "sat.cut.force": False, - "sat.cut.lut": False, - "sat.cut.npn3": False, - "sat.cut.redundancies": True, - "sat.cut.xor": False, - "sat.anf": False, - "sat.anf.delay": 2, - "sat.anf.exlin": False, - - # Lookahead (mostly off; expose for solver-specific subproblems) - "sat.lookahead.cube.cutoff": "depth", # depth | freevars | psat | adaptive_freevars | adaptive_psat - "sat.lookahead.cube.depth": 1, - "sat.lookahead.cube.fraction": 0.4, - "sat.lookahead.cube.freevars": 0.8, - "sat.lookahead.cube.psat.clause_base": 2.0, - "sat.lookahead.cube.psat.trigger": 5.0, - "sat.lookahead.cube.psat.var_exp": 1.0, - "sat.lookahead.delta_fraction": 1.0, - "sat.lookahead.double": True, - "sat.lookahead.global_autarky": False, - "sat.lookahead.preselect": False, - "sat.lookahead.reward": "march_cu", # ternary | heule_schur | heule_unit | unit | march_cu - "sat.lookahead.use_learned": False, - "sat.lookahead_scores": False, - "sat.lookahead_simplify": False, - "sat.lookahead_simplify.bca": True, - - # Resolution-based simplification limits - "sat.resolution.cls_cutoff1": 100000000, - "sat.resolution.cls_cutoff2": 700000000, - "sat.resolution.limit": 500000000, - "sat.resolution.lit_cutoff_range1": 700, - "sat.resolution.lit_cutoff_range2": 400, - "sat.resolution.lit_cutoff_range3": 300, - "sat.resolution.occ_cutoff": 10, - "sat.resolution.occ_cutoff_range1": 8, - "sat.resolution.occ_cutoff_range2": 5, - "sat.resolution.occ_cutoff_range3": 3, -} +OVERRIDES = {} # EVOLVE-BLOCK-END def get_params(): p = dict(BASELINE) p.update(_PHASE1) - p.update(SAT_OVERRIDES) + p.update(OVERRIDES) return p def get_phase_overrides(): - return dict(SAT_OVERRIDES) + return dict(OVERRIDES) \ No newline at end of file diff --git a/input/z3-bench/evolve/phase3_smt/initial_program.py b/input/z3-bench/evolve/phase3_smt/initial_program.py index 5635303efb..42126f09fd 100644 --- a/input/z3-bench/evolve/phase3_smt/initial_program.py +++ b/input/z3-bench/evolve/phase3_smt/initial_program.py @@ -1,154 +1,55 @@ """ Phase 3: tune smt.* (SMT core — theories, quantifier instantiation, arith). -Loads phase1_best.json (opt./sls.*) and phase2_best.json (sat.*) as locked. -parallel.* stays at baseline. EVOLVE-BLOCK is SMT_OVERRIDES below. +Inherits phase1 (opt.*/sls.*) and phase2 (sat.*) winners via cache/. +parallel.* stays at baseline. -NOTE: smt.auto_config=True (default) can silently override other smt.* options; -we force False here so the LLM's choices stick. +NOTE: smt.auto_config=True (default) can silently override other smt.* options. +Force False inside OVERRIDES if your evolved keys must stick. -Do NOT modify smt.random_seed (locked). Invalid keys -> evaluator returns 0. +Do NOT modify smt.random_seed (locked). Invalid keys → evaluator returns 0. """ import json +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) -from baseline_params import BASELINE # noqa: E402 -_PHASE1 = ( - json.loads((_SHARED / "phase1_best.json").read_text()) - if (_SHARED / "phase1_best.json").exists() - else {} -) -_PHASE2 = ( - json.loads((_SHARED / "phase2_best.json").read_text()) - if (_SHARED / "phase2_best.json").exists() - else {} -) +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults +_CACHE = _BENCH / "cache" + + +def _load_prev(name): + p = _CACHE / name + return json.loads(p.read_text()) if p.exists() else {} + + +_PHASE1 = _load_prev("phase1_best.json") +_PHASE2 = _load_prev("phase2_best.json") # EVOLVE-BLOCK-START -SMT_OVERRIDES = { - # Core SMT control - "smt.auto_config": False, # FORCED False so other smt.* take effect - "smt.logic": "", # "" | "QF_LIA" | "QF_LRA" | "LIA" | ... - "smt.threads": 1, # keep 1; parallel.enable is locked false - "smt.threads.cube_frequency": 2, - "smt.threads.max_conflicts": 400, - "smt.cube_depth": 1, - "smt.relevancy": 2, # 0 | 1 | 2 - "smt.case_split": 1, # 0=activity | 1=random | 2=theory | 3=relevancy | 5 | 6 - "smt.phase_selection": 3, # 0=always_false | 1=always_true | 2=basic_caching | 3=caching | 4=random | 5=occurrence - "smt.phase_caching_on": 400, - "smt.phase_caching_off": 100, - "smt.restart_strategy": 1, # 0=geometric | 1=inner_outer | 2=luby | 3=fixed | 4=arithmetic - # smt.restart.factor: not in z3 4.13.3.0 — removed. - "smt.lemma_gc_strategy": 0, # 0=fixed | 1=geometric | 2=at_restart | 3=none - - # Lemma / unit delay - "smt.delay_units": False, - "smt.delay_units_threshold": 32, - - # Dynamic ackermann (dack) - "smt.dack": 1, # 0=off | 1=on - "smt.dack.eq": False, - "smt.dack.factor": 0.1, - "smt.dack.gc": 2000, - "smt.dack.gc_inv_decay": 0.8, - "smt.dack.threshold": 10, - - # Generic - "smt.elim_unconstrained": True, - "smt.ematching": True, - "smt.macro_finder": False, - "smt.quasi_macros": False, - "smt.propagate_values": True, - "smt.pull_nested_quantifiers": False, - "smt.refine_inj_axioms": True, - "smt.solve_eqs": True, - # smt.solve_eqs_max_occs: not in z3 4.13.3.0 — removed. - "smt.theory_aware_branching": False, - "smt.theory_case_split": False, - "smt.dt_lazy_splits": 1, - "smt.induction": False, - - # Core extension / minimization - "smt.core.extend_patterns": False, - "smt.core.extend_nonlocal_patterns": False, - "smt.core.extend_patterns.max_distance": 4294967295, - "smt.core.minimize": False, - "smt.core.validate": False, - - # MBQI / quantifier instantiation - "smt.mbqi": True, - "smt.mbqi.max_iterations": 1000, - "smt.mbqi.max_cexs": 1, - "smt.mbqi.max_cexs_incr": 0, - "smt.mbqi.force_template": 10, - "smt.qi.eager_threshold": 10.0, - "smt.qi.lazy_threshold": 20.0, - "smt.qi.max_instances": 4294967295, - "smt.qi.max_multi_patterns": 0, - "smt.qi.cost": "(+ weight generation)", - "smt.qi.quick_checker": 0, # 0=no | 1=unsat | 2=both - - # Arithmetic theory (workload has 13k Int + 40 Real — IMPORTANT) - "smt.arith.solver": 6, # 2=simplex | 5=infinitary_lra | 6=lra - "smt.arith.simplex_strategy": 0, - "smt.arith.propagation_mode": 1, # 0=none | 1=at_pivot | 2=cheap - "smt.arith.propagate_eqs": True, - "smt.arith.eager_eq_axioms": True, - "smt.arith.branch_cut_ratio": 2, - "smt.arith.bprop_on_pivoted_rows": True, - "smt.arith.enable_hnf": True, - "smt.arith.greatest_error_pivot": False, - "smt.arith.ignore_int": False, - "smt.arith.int_eq_branch": False, - "smt.arith.min": False, - "smt.arith.random_initial_value": False, - "smt.arith.rep_freq": 0, - "smt.arith.auto_config_simplex": False, - - # Nonlinear arith (mostly off for LIA-heavy workload; expose anyway) - "smt.arith.nl": True, - "smt.arith.nl.branching": True, - "smt.arith.nl.delay": 500, - "smt.arith.nl.expp": False, - "smt.arith.nl.gr_q": 10, - "smt.arith.nl.grobner": True, - "smt.arith.nl.grobner_cnfl_to_report": 1, - "smt.arith.nl.grobner_eqs_growth": 10, - "smt.arith.nl.grobner_expr_degree_growth": 2, - "smt.arith.nl.grobner_expr_size_growth": 2, - "smt.arith.nl.grobner_frequency": 4, - "smt.arith.nl.grobner_max_simplified": 10000, - "smt.arith.nl.grobner_subs_fixed": 1, - "smt.arith.nl.horner": True, - "smt.arith.nl.horner_frequency": 4, - "smt.arith.nl.horner_row_length_limit": 10, - "smt.arith.nl.horner_subs_fixed": 2, - "smt.arith.nl.nra": True, - "smt.arith.nl.order": True, - "smt.arith.nl.rounds": 1024, - "smt.arith.nl.tangents": True, - - # BV (light usage in this workload) - "smt.bv.delay": True, - # smt.bv.eager: not in z3 4.13.3.0 — removed. - "smt.bv.enable_int2bv": True, - "smt.bv.reflect": True, - "smt.bv.size_reduce": False, - "smt.bv.solver": 0, - - # Array / PB - "smt.array.extensional": True, - "smt.array.weak": False, - "smt.pb.conflict_frequency": 1000, - "smt.pb.learn_complements": True, -} +OVERRIDES = {} # EVOLVE-BLOCK-END @@ -156,9 +57,9 @@ def get_params(): p = dict(BASELINE) p.update(_PHASE1) p.update(_PHASE2) - p.update(SMT_OVERRIDES) + p.update(OVERRIDES) return p def get_phase_overrides(): - return dict(SMT_OVERRIDES) + return dict(OVERRIDES) \ No newline at end of file diff --git a/input/z3-bench/evolve/phase4_unified/initial_program.py b/input/z3-bench/evolve/phase4_unified/initial_program.py index 11575f0e92..873c63080f 100644 --- a/input/z3-bench/evolve/phase4_unified/initial_program.py +++ b/input/z3-bench/evolve/phase4_unified/initial_program.py @@ -1,248 +1,42 @@ """ -Phase 4: unified fine-tuning — interaction effects. +Phase 4: unified Z3 refinement. -The EVOLVE-BLOCK below is a literal dict materialized from phase1/2/3 best -overrides by prepare_phase4.py. Run that script BEFORE invoking run_phase.sh 4: +EVOLVE-BLOCK is auto-materialized by `python -m _lib.prepare_phase z3-bench` +before this phase runs — pulling the union of phase{1,2,3}_best.json winners +into UNIFIED_OVERRIDES. The LLM then tunes the merged dict. - python ../prepare_phase4.py - -The LLM evolves UNIFIED_OVERRIDES directly. It may modify, remove, or add -keys from the Z3 4.13.x parameter space. Smaller iteration budget — local -refinement, not exploration. +Do NOT modify locked keys. """ +import os import pathlib import sys -_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" -sys.path.insert(0, str(_SHARED)) +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 -from baseline_params import BASELINE # noqa: E402 +BASELINE = params_catalog.load_for_bench(_BENCH).defaults # EVOLVE-BLOCK-START -# Auto-generated by prepare_phase4.py from union of phase 1/2/3 best. -UNIFIED_OVERRIDES = {'opt.elim_01': True, - 'opt.enable_core_rotate': True, - 'opt.enable_sat': True, - 'opt.enable_sls': True, - 'opt.maxlex.enable': True, - 'opt.maxres.add_upper_bound_block': False, - 'opt.maxres.hill_climb': True, - 'opt.maxres.max_core_size': 5, - 'opt.maxres.max_correction_set_size': 3, - 'opt.maxres.maximize_assignment': False, - 'opt.maxres.pivot_on_correction_set': True, - 'opt.maxres.wmax': False, - 'opt.maxsat_engine': 'rc2', - 'opt.optsmt_engine': 'basic', - 'opt.pb.compile_equality': False, - 'opt.priority': 'pareto', - 'opt.rc2.totalizer': True, - 'sat.acce': False, - 'sat.anf': False, - 'sat.anf.delay': 2, - 'sat.anf.exlin': False, - 'sat.asymm_branch': True, - 'sat.asymm_branch.all': False, - 'sat.asymm_branch.delay': 1, - 'sat.asymm_branch.limit': 100000000, - 'sat.asymm_branch.rounds': 2, - 'sat.asymm_branch.sampled': True, - 'sat.ate': False, - 'sat.backtrack.conflicts': 4000, - 'sat.backtrack.scopes': 100, - 'sat.bca': False, - 'sat.bce': False, - 'sat.bce_at': 2, - 'sat.bce_delay': 2, - 'sat.blocked_clause_limit': 100000000, - 'sat.branching.anti_exploration': 0.1, - 'sat.branching.heuristic': 'lrb', - 'sat.burst_search': 0, - 'sat.cardinality.encoding': 'grouped', - 'sat.cardinality.solver': True, - 'sat.cce': False, - 'sat.core.minimize': False, - 'sat.core.minimize_partial': False, - 'sat.cut': False, - 'sat.cut.aig': False, - 'sat.cut.delay': 2, - 'sat.cut.dont_cares': True, - 'sat.cut.force': False, - 'sat.cut.lut': False, - 'sat.cut.npn3': False, - 'sat.cut.redundancies': True, - 'sat.cut.xor': False, - 'sat.ddfw.init_clause_weight': 8, - 'sat.ddfw.reinit_base': 10000, - 'sat.ddfw.restart_base': 100000, - 'sat.ddfw.threads': 0, - 'sat.ddfw.use_reward_pct': 15, - 'sat.ddfw_search': False, - 'sat.elim_vars': True, - 'sat.enable_pre_simplify': False, - 'sat.force_cleanup': False, - 'sat.gc': 'dyn_psm', - 'sat.gc.burst': False, - 'sat.gc.defrag': True, - 'sat.gc.increment': 500, - 'sat.gc.initial': 80000, - 'sat.gc.k': 7, - 'sat.gc.small_lbd': 3, - 'sat.inprocess.max': 4294967295, - 'sat.local_search': False, - 'sat.local_search_mode': 'wsat', - 'sat.local_search_threads': 0, - 'sat.lookahead.cube.cutoff': 'depth', - 'sat.lookahead.cube.depth': 1, - 'sat.lookahead.cube.fraction': 0.4, - 'sat.lookahead.cube.freevars': 0.8, - 'sat.lookahead.cube.psat.clause_base': 2.0, - 'sat.lookahead.cube.psat.trigger': 5.0, - 'sat.lookahead.cube.psat.var_exp': 1.0, - 'sat.lookahead.delta_fraction': 1.0, - 'sat.lookahead.double': True, - 'sat.lookahead.global_autarky': False, - 'sat.lookahead.preselect': False, - 'sat.lookahead.reward': 'march_cu', - 'sat.lookahead.use_learned': False, - 'sat.lookahead_scores': False, - 'sat.lookahead_simplify': False, - 'sat.lookahead_simplify.bca': True, - 'sat.minimize_lemmas': True, - 'sat.pb.lemma_format': 'cardinality', - 'sat.pb.resolve': 'cardinality', - 'sat.pb.solver': 'binary_merge', - 'sat.phase': 'caching', - 'sat.phase.sticky': True, - 'sat.prob_search': False, - 'sat.probing': True, - 'sat.probing_binary': True, - 'sat.probing_cache': True, - 'sat.probing_cache_limit': 1024, - 'sat.probing_limit': 5000000, - 'sat.propagate.prefetch': True, - 'sat.random_freq': 0.01, - 'sat.reorder.activity_scale': 100, - 'sat.reorder.base': 4294967295, - 'sat.reorder.itau': 4.0, - 'sat.rephase.base': 1000, - 'sat.resolution.cls_cutoff1': 100000000, - 'sat.resolution.cls_cutoff2': 700000000, - 'sat.resolution.limit': 500000000, - 'sat.resolution.lit_cutoff_range1': 700, - 'sat.resolution.lit_cutoff_range2': 400, - 'sat.resolution.lit_cutoff_range3': 300, - 'sat.resolution.occ_cutoff': 10, - 'sat.resolution.occ_cutoff_range1': 8, - 'sat.resolution.occ_cutoff_range2': 5, - 'sat.resolution.occ_cutoff_range3': 3, - 'sat.restart': 'ema', - 'sat.restart.emafastglue': 0.03, - 'sat.restart.emaslowglue': 1e-05, - 'sat.restart.factor': 1.5, - 'sat.restart.fast': True, - 'sat.restart.initial': 100, - 'sat.restart.margin': 1.1, - 'sat.retain_blocked_clauses': True, - 'sat.scc': True, - 'sat.scc.tr': True, - 'sat.search.sat.conflicts': 1500, - 'sat.search.unsat.conflicts': 1500, - 'sat.simplify.delay': 0, - 'sat.subsumption': True, - 'sat.subsumption.limit': 100000000, - 'sat.threads': 1, - 'sat.variable_decay': 110, - 'sls.early_prune': True, - 'sls.random_offset': True, - 'sls.rescore': True, - 'sls.restart_base': 100, - 'sls.restart_init': False, - 'sls.track_unsat': False, - 'sls.walksat': True, - 'sls.walksat_repick': True, - 'sls.walksat_ucb': True, - 'sls.walksat_ucb_constant': 23.0, - 'sls.walksat_ucb_forget': 0.1, - 'sls.walksat_ucb_init': False, - 'sls.walksat_ucb_noise': 0.0002, - 'sls.wp': 23, - 'smt.arith.auto_config_simplex': False, - 'smt.arith.bprop_on_pivoted_rows': True, - 'smt.arith.branch_cut_ratio': 2, - 'smt.arith.eager_eq_axioms': True, - 'smt.arith.enable_hnf': True, - 'smt.arith.greatest_error_pivot': False, - 'smt.arith.ignore_int': False, - 'smt.arith.int_eq_branch': False, - 'smt.arith.min': False, - 'smt.arith.nl': True, - 'smt.arith.nl.rounds': 512, - 'smt.arith.propagate_eqs': True, - 'smt.arith.propagation_mode': 1, - 'smt.arith.random_initial_value': False, - 'smt.arith.rep_freq': 0, - 'smt.arith.simplex_strategy': 0, - 'smt.arith.solver': 2, - 'smt.array.extensional': True, - 'smt.array.weak': False, - 'smt.auto_config': False, - 'smt.bv.delay': True, - 'smt.bv.enable_int2bv': True, - 'smt.bv.reflect': True, - 'smt.bv.size_reduce': False, - 'smt.bv.solver': 0, - 'smt.case_split': 1, - 'smt.core.extend_nonlocal_patterns': False, - 'smt.core.extend_patterns': False, - 'smt.core.extend_patterns.max_distance': 4294967295, - 'smt.core.minimize': False, - 'smt.core.validate': False, - 'smt.cube_depth': 1, - 'smt.dack': 1, - 'smt.dack.eq': False, - 'smt.dack.factor': 0.1, - 'smt.dack.gc': 2000, - 'smt.dack.gc_inv_decay': 0.8, - 'smt.dack.threshold': 10, - 'smt.delay_units': False, - 'smt.delay_units_threshold': 32, - 'smt.dt_lazy_splits': 1, - 'smt.elim_unconstrained': True, - 'smt.ematching': True, - 'smt.induction': False, - 'smt.lemma_gc_strategy': 2, - 'smt.logic': '', - 'smt.macro_finder': False, - 'smt.mbqi': True, - 'smt.mbqi.force_template': 10, - 'smt.mbqi.max_cexs': 1, - 'smt.mbqi.max_cexs_incr': 0, - 'smt.mbqi.max_iterations': 1000, - 'smt.pb.conflict_frequency': 1000, - 'smt.pb.learn_complements': True, - 'smt.phase_caching_off': 100, - 'smt.phase_caching_on': 400, - 'smt.phase_selection': 3, - 'smt.propagate_values': True, - 'smt.pull_nested_quantifiers': False, - 'smt.qi.cost': '(+ weight generation)', - 'smt.qi.eager_threshold': 15.0, - 'smt.qi.lazy_threshold': 30.0, - 'smt.qi.max_instances': 4294967295, - 'smt.qi.max_multi_patterns': 0, - 'smt.qi.quick_checker': 0, - 'smt.quasi_macros': False, - 'smt.refine_inj_axioms': True, - 'smt.relevancy': 2, - 'smt.restart_strategy': 1, - 'smt.solve_eqs': True, - 'smt.theory_aware_branching': False, - 'smt.theory_case_split': False, - 'smt.threads': 1, - 'smt.threads.cube_frequency': 2, - 'smt.threads.max_conflicts': 400} +UNIFIED_OVERRIDES = {} # EVOLVE-BLOCK-END @@ -253,4 +47,4 @@ def get_params(): def get_phase_overrides(): - return dict(UNIFIED_OVERRIDES) + return dict(UNIFIED_OVERRIDES) \ No newline at end of file diff --git a/input/z3-bench/evolve/prepare_phase4.py b/input/z3-bench/evolve/prepare_phase4.py deleted file mode 100644 index 0aa8996b7b..0000000000 --- a/input/z3-bench/evolve/prepare_phase4.py +++ /dev/null @@ -1,21 +0,0 @@ -""" -Thin wrapper: calls _lib.prepare_phase.main with z3-bench phase config. -Materializes phase4_unified/initial_program.py from phase{1,2,3}_best.json. -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_SHARED = _HERE / "shared" -_INPUT_DIR = _HERE.parents[1] -_UNIFIED_FILE = _HERE / "phase4_unified" / "initial_program.py" - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib.prepare_phase import main # noqa: E402 - -PRIOR_PHASES = [1, 2, 3] - -if __name__ == "__main__": - main(_HERE, _SHARED, PRIOR_PHASES, _UNIFIED_FILE) diff --git a/input/z3-bench/evolve/probe_cli_keys.py b/input/z3-bench/evolve/probe_cli_keys.py deleted file mode 100644 index 5a4aa4a8e0..0000000000 --- a/input/z3-bench/evolve/probe_cli_keys.py +++ /dev/null @@ -1,105 +0,0 @@ -""" -Probe which keys from shared/z3_valid_keys.json the Z3 CLI actually accepts -as positional `key=value` arguments. Some keys exist in `-pm:` doc but -are rejected by the CLI (structural / API-only options). - -For each key, run: - z3 -smt2 = -Capture stderr -> classify as CLI_OK / CLI_REJECT. - -Writes shared/z3_cli_skip_keys.json with the list to skip. - -Run inside the container (z3 binary required). This is slow (~N seconds for -N ~1000 keys, ~1s per probe). Use --limit to test a subset first. -""" -import argparse -import json -import pathlib -import re -import shutil -import subprocess -import sys -import tempfile - -ROOT = pathlib.Path(__file__).resolve().parent -SHARED = ROOT / "shared" - -# Trivial SMT2: instant decide. -_TRIVIAL_SMT2 = "(declare-const x Bool)\n(assert x)\n(check-sat)\n" - -_REJECT_RES = [ - re.compile(r"unknown\s+parameter", re.IGNORECASE), - re.compile(r"invalid\s+parameter", re.IGNORECASE), - re.compile(r"unknown\s+option", re.IGNORECASE), - re.compile(r"error\s+setting", re.IGNORECASE), - re.compile(r"is\s+a\s+structural\s+parameter", re.IGNORECASE), -] - - -def is_rejection(stderr): - for rx in _REJECT_RES: - if rx.search(stderr): - return True - return False - - -def probe(key, value, smt2_path, z3_bin): - """Return True if CLI rejects this key.""" - args = [z3_bin, "-smt2", "-T:5", f"{key}={value}", smt2_path] - try: - proc = subprocess.run(args, capture_output=True, text=True, timeout=10) - except subprocess.TimeoutExpired: - return False # timeout != reject; key was accepted but eval slow - return is_rejection(proc.stderr) - - -def main(): - ap = argparse.ArgumentParser() - ap.add_argument("--limit", type=int, default=0, help="probe at most N keys (0 = all)") - ap.add_argument("--z3-bin", default="z3") - args = ap.parse_args() - - if shutil.which(args.z3_bin) is None: - print(f"ERROR: {args.z3_bin} not on PATH", file=sys.stderr) - sys.exit(1) - - valid_keys_path = SHARED / "z3_valid_keys.json" - if not valid_keys_path.exists(): - print(f"ERROR: {valid_keys_path} missing. Run validate_keys.py first.", file=sys.stderr) - sys.exit(1) - keys = sorted(json.loads(valid_keys_path.read_text())) - - # Use a safe sentinel value: integer 0 works for bool/uint/int/double; - # for symbol-typed options z3 ignores numeric mismatches but typically - # doesn't error at the parse level. Falls back to "false" if 0 rejected. - candidate_values = ["0", "false"] - - with tempfile.NamedTemporaryFile("w", suffix=".smt2", delete=False) as f: - f.write(_TRIVIAL_SMT2) - smt2 = f.name - - rejects = [] - total = len(keys) if args.limit == 0 else min(args.limit, len(keys)) - print(f"probing {total} keys with z3={args.z3_bin}") - for i, k in enumerate(keys[:total], 1): - rejected_all = True - for v in candidate_values: - if not probe(k, v, smt2, args.z3_bin): - rejected_all = False - break - if rejected_all: - rejects.append(k) - if i % 50 == 0: - print(f" {i}/{total} rejects so far: {len(rejects)}") - - out = SHARED / "z3_cli_skip_keys.json" - out.write_text(json.dumps(sorted(rejects), indent=2) + "\n") - print(f"\nwrote {out.relative_to(ROOT)} ({len(rejects)} CLI-rejected keys)") - if rejects: - print("examples:") - for r in rejects[:20]: - print(f" - {r}") - - -if __name__ == "__main__": - main() diff --git a/input/z3-bench/evolve/rebaseline_local.py b/input/z3-bench/evolve/rebaseline_local.py deleted file mode 100644 index babea9b3ab..0000000000 --- a/input/z3-bench/evolve/rebaseline_local.py +++ /dev/null @@ -1,191 +0,0 @@ -""" -Init-phase rebaseline: measure BASELINE elapsed_ms on the union of -stage1 + stage2 + stage3 + stage4 sample files and write -shared/local_baseline.json. - -Wall-clock varies by hardware / z3 version. Raw-data baseline_ms was recorded -on a different machine, so comparing against it gives misleading speedup. -evaluator._load_problems overlays this local file onto raw data so that -speedup = local_baseline_ms / variant_elapsed_ms and per-problem timeout -= baseline_ms * 1.3 is calibrated for the local box. - -All three stages feed the evolve loop (cascade_evaluation: true). Without -rebaselining stage3 (50 SHAs), 45/50 problems would fall back to raw_ms -recorded elsewhere and timeout/speedup calculations would drift. -final_verify.py re-measures baseline on the fly per problem anyway, but -the evolve-loop stage3 invocation needs trustworthy local baselines up front. - -Per-problem: 1 run, timeout = REBASELINE_TIMEOUT_S (1 hr safety floor — a -truncated baseline measurement is worse than a slow one). MISMATCH-by-timeout -that the old multiplier produced would poison local_baseline. Big problems -under parallel contention may run ~2x raw; let them finish. -Concurrency = config parallel_solvers (env OPENEVOLVE_PARALLEL_SOLVERS override). -""" -import json -import pathlib -import sys -import time -from concurrent.futures import ThreadPoolExecutor, as_completed - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) - -from baseline_params import BASELINE # noqa: E402 -from z3_runner import run_z3 # noqa: E402 -from runtime import parallel_solvers, core_range # noqa: E402 - -_BENCH_DIR = _HERE.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" -_STAGE2_SAMPLE = _HERE / "shared" / "stage2_sample.json" -_STAGE3_SAMPLE = _HERE / "shared" / "stage3_sample.json" -_STAGE4_SAMPLE = _HERE / "shared" / "stage4_sample.json" -_OUT = _HERE / "shared" / "local_baseline.json" - -# Baseline measurement must never be truncated — let z3 finish naturally. -# 1 hour cap is just a safety against true infinite loops; not expected to trigger. -REBASELINE_TIMEOUT_S = 3600 - - -def _load_problem_index(): - idx = {} - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - idx[d["problem_sha256"]] = { - "sha": d["problem_sha256"], - "smt2": d["smt2_filename"], - "raw_ms": d["z3_status"]["elapsed_ms"], - "raw_result": d["z3_status"]["result"], - } - return idx - - -def _load_target_shas(): - # Rebaseline the union of stage1 + stage2 + stage3 samples. With cascade - # evaluation enabled all three stages run in the evolve loop, so accurate - # local baseline is required for per-problem timeout = baseline_ms * 1.3 - # to be machine-correct. Without rebaselining stage3, 45/50 problems fall - # back to raw_ms recorded on a different machine and timeout calibration - # drifts. - if not _STAGE1_SAMPLE.exists(): - print(f"ERROR: {_STAGE1_SAMPLE} missing — run build_samples.py first", - file=sys.stderr) - sys.exit(2) - shas = [] - seen = set() - for sample_path, label in ( - (_STAGE1_SAMPLE, "stage1"), - (_STAGE2_SAMPLE, "stage2"), - (_STAGE3_SAMPLE, "stage3"), - (_STAGE4_SAMPLE, "stage4"), - ): - if not sample_path.exists(): - print(f"WARN: {sample_path.name} missing — skipping {label}", - file=sys.stderr) - continue - for sha in json.loads(sample_path.read_text())["sha256"]: - if sha not in seen: - shas.append(sha) - seen.add(sha) - return shas - - -def main(): - shas = _load_target_shas() - idx = _load_problem_index() - - tasks = [] - for i, sha in enumerate(shas): - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) - return 2 - smt2_path = _RAW_DIR / meta["smt2"] - if not smt2_path.exists(): - print(f"ERROR: smt2 not found: {smt2_path}", file=sys.stderr) - return 2 - tasks.append((i, meta, smt2_path)) - - import queue as _queue - # Cores leased from a queue so each in-flight task holds a unique slot. - # OPENEVOLVE_CORE_RANGE (e.g. "1-5") overrides; else cores 1..N from - # parallel_solvers (core 0 reserved for kernel housekeeping). - cores = core_range() - if cores is None: - cores = list(range(1, parallel_solvers(default=1) + 1)) - n_parallel = min(len(cores), len(tasks)) - cores = cores[:n_parallel] - print(f"rebaselining stage1+stage2+stage3+stage4 samples: {len(tasks)} problems " - f"(union of stage{{1,2,3,4}}_sample.json)") - print(f"timeout per problem = {REBASELINE_TIMEOUT_S}s (effectively unbounded " - f"— never cut a baseline run short), parallel={n_parallel} cores={cores}") - print() - - _core_pool = _queue.Queue() - for _c in cores: - _core_pool.put(_c) - - def _solve(task): - i, meta, smt2_path = task - core = _core_pool.get() - try: - res = run_z3(smt2_path, BASELINE, REBASELINE_TIMEOUT_S, cpu_core=core) - finally: - _core_pool.put(core) - return i, meta, res, core - - t_start = time.monotonic() - completed = [] - if n_parallel == 1: - for task in tasks: - completed.append(_solve(task)) - else: - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_solve, t) for t in tasks] - for fut in as_completed(futures): - completed.append(fut.result()) - completed.sort(key=lambda x: x[0]) - - out = {} - mismatch = 0 - for i, meta, res, core in completed: - got_result = res.get("result", "Unknown") - got_ms = int(res.get("elapsed_ms", 0)) - ok = (got_result == meta["raw_result"]) - if not ok: - mismatch += 1 - - flag = "" if ok else " MISMATCH" - ratio = got_ms / max(meta["raw_ms"], 1) - print( - f" [{i+1:>2}/{len(tasks)}] {meta['sha'][:10]} " - f"raw={meta['raw_result']:<7}/{meta['raw_ms']:>7}ms " - f"local={got_result:<7}/{got_ms:>7}ms ratio={ratio:.2f}x{flag} " - f"core={core}", - flush=True, - ) - - out[meta["sha"]] = { - "elapsed_ms": got_ms, - "result": got_result, - "matches_raw": ok, - "raw_elapsed_ms": meta["raw_ms"], - "stats": res.get("stats") or {}, - } - - elapsed = time.monotonic() - t_start - _OUT.write_text(json.dumps(out, indent=2) + "\n") - print() - print(f"wrote {_OUT.relative_to(_BENCH_DIR.parent)} " - f"({len(out)} entries, {mismatch} mismatches)") - print(f"total time: {elapsed:.1f}s") - if mismatch: - print(f"WARNING: {mismatch} problems had result mismatch — " - f"evaluator will keep raw_ms for those") - return 0 if mismatch == 0 else 1 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/input/z3-bench/evolve/shared/baseline_params.py b/input/z3-bench/evolve/shared/baseline_params.py deleted file mode 100644 index 27e7a04796..0000000000 --- a/input/z3-bench/evolve/shared/baseline_params.py +++ /dev/null @@ -1,164 +0,0 @@ -""" -Baseline Z3 parameters (applied_params_hash 543b29...) from problems.jsonl. -DO NOT MODIFY. Imported by all phases. -""" - -BASELINE = { - "opt.enable_core_rotate": True, - "opt.enable_sat": True, - "opt.enable_sls": True, - "opt.maxres.hill_climb": True, - "opt.maxsat_engine": "wmax", - "opt.priority": "pareto", - "opt.rc2.totalizer": True, - "parallel.enable": False, - "sat.branching.heuristic": "vsids", - "sat.pb.solver": "totalizer", - "sat.phase": "caching", - "sat.random_seed": 0, - "sat.restart": "geometric", - "sat.threads": 1, - "sls.random_seed": 0, - "smt.phase_selection": 3, - "smt.random_seed": 0, - "smt.threads": 1, - "threads": 1, - # NOTE: global "threads" — Z3 4.13.x CLI rejects as positional `key=value`. - # z3_runner.py omits it from CLI args. Default is 1 so behavior matches. - # Kept in BASELINE for fidelity with applied_params_hash 543b29... -} - -LOCKED = { - "sat.random_seed": 0, - "smt.random_seed": 0, - "sls.random_seed": 0, - "parallel.enable": False, - "threads": 1, -} - - -def _self_test(): - """ - Self-test: run stage1 5 problems with BASELINE in parallel and report - per-problem ratio vs raw baseline_ms. Use to sanity-check that the worker - + z3 binding reproduce the recorded baseline within tolerance, and that - parallel dispatch (taskset core pinning) doesn't perturb timing. - - Defaults: OPENEVOLVE_PARALLEL_SOLVERS=5 (matches config.yaml - parallel_evaluations), capped at problem count. - - Status: - OK — result matches, ratio in [0.5, 2.0] - WARN — result matches, ratio out of band (noise / hw drift) - FAIL — result mismatch or invalid_param - """ - import json - import math - import pathlib - import sys - import time - from concurrent.futures import ThreadPoolExecutor, as_completed - - here = pathlib.Path(__file__).resolve().parent - sys.path.insert(0, str(here)) - from z3_runner import run_z3 # noqa: E402 - from runtime import parallel_solvers, core_range # noqa: E402 - - bench = here.parent.parent # input/z3-bench/ - raw_dir = bench / "raw-data" - problems_jsonl = bench / "problems.jsonl" - stage1_sample = here / "stage1_sample.json" - - if not stage1_sample.exists(): - print(f"ERROR: {stage1_sample} missing. run build_samples.py first.", - file=sys.stderr) - return 2 - - shas = list(json.loads(stage1_sample.read_text())["sha256"]) - idx = {} - with open(problems_jsonl) as f: - for line in f: - d = json.loads(line) - idx[d["problem_sha256"]] = { - "smt2": d["smt2_filename"], - "baseline_ms": d["z3_status"]["elapsed_ms"], - "baseline_result": d["z3_status"]["result"], - } - - tasks = [] - for i, sha in enumerate(shas): - meta = idx.get(sha) - if meta is None: - print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) - return 2 - smt2 = raw_dir / meta["smt2"] - if not smt2.exists(): - print(f"ERROR: smt2 not found: {smt2}", file=sys.stderr) - return 2 - tasks.append((i, sha, meta, smt2)) - - cores = core_range() - if cores is None: - cores = list(range(1, parallel_solvers(default=5) + 1)) - n_parallel = min(len(cores), len(tasks)) - cores = cores[:n_parallel] - - print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel} " - f"cores={cores}") - print() - - def solve(t): - i, sha, meta, smt2 = t - # Generous timeout: 2x baseline_ms (matches the [0.5, 2.0] tolerance band). - timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) - core = cores[i % n_parallel] - r = run_z3(smt2, BASELINE, timeout_s, cpu_core=core) - return i, sha, meta, r - - t_start = time.monotonic() - results = [] - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(solve, t) for t in tasks] - for fut in as_completed(futures): - results.append(fut.result()) - elapsed = time.monotonic() - t_start - results.sort(key=lambda x: x[0]) - - print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" - f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} core status") - print("-" * 84) - fail = 0 - warn = 0 - sum_got_ms = 0 - for i, sha, meta, r in results: - got_result = r.get("result", "Unknown") - got_ms = int(r.get("elapsed_ms", 0)) - sum_got_ms += got_ms - ratio = got_ms / max(meta["baseline_ms"], 1) - result_ok = (got_result == meta["baseline_result"]) - invalid = r.get("invalid_param") - if invalid: - status = f"FAIL(invalid={invalid})" - fail += 1 - elif not result_ok: - status = "FAIL" - fail += 1 - elif not (0.5 <= ratio <= 2.0): - status = "WARN" - warn += 1 - else: - status = "OK" - print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" - f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x " - f"{cores[i % n_parallel]:>4} {status}") - - seq_estimate = sum_got_ms / 1000 - print() - print(f"wall-clock: {elapsed:.1f}s (sequential would be ~{seq_estimate:.0f}s)") - print(f"summary: {len(results) - fail - warn} ok, {warn} warn, {fail} fail") - return 0 if fail == 0 else 1 - - -if __name__ == "__main__": - import sys - sys.exit(_self_test()) diff --git a/input/z3-bench/evolve/shared/evaluator.py b/input/z3-bench/evolve/shared/evaluator.py deleted file mode 100644 index e03857c54b..0000000000 --- a/input/z3-bench/evolve/shared/evaluator.py +++ /dev/null @@ -1,443 +0,0 @@ -""" -OpenEvolve evaluator for Z3 parameter tuning. - -Sample selection (built by build_samples.py): - stage1: stage1_sample.json (5 SAT, quintile-spread by problem size) - stage2: stage2_sample.json (50 SAT+UNSAT, quintile-spread by problem size) - -Per-problem timeout = max(MIN_TIMEOUT_S, ceil(baseline_ms * TIMEOUT_FACTOR / 1000)). -Adaptive: small problems get tight cap, huge problems get proportional headroom. -Constants TIMEOUT_FACTOR=1.3, MIN_TIMEOUT_S=5 (z3 startup overhead floor). -Baseline_ms reflects local rebaseline (rebaseline_local.py) when SHA is in -local_baseline.json, else raw_ms from problems.jsonl. - -Score: geomean(speedup) * solved_rate^2 * efficiency^OPENEVOLVE_STATS_WEIGHT. - efficiency = geomean over {decisions, propagations, conflicts, mk clause} - of (baseline_stat / variant_stat) across solved problems. Default - OPENEVOLVE_STATS_WEIGHT=0 keeps prior behaviour. Per-problem solver - stats (z3 Optimize.statistics) are always surfaced via metrics + - artifacts so the LLM sees solver-internal cost beyond wall-clock. - -Locked params (sat.random_seed / smt.random_seed / sls.random_seed / parallel.enable) -must not deviate from baseline_params.LOCKED — violation => combined_score=0. - -Environment overrides: - OPENEVOLVE_MAX_PROBLEMS int — cap stage2 problem count - OPENEVOLVE_PARALLEL_SOLVERS int — SINGLE knob for total z3 concurrency - (default 1). Spawns N z3 worker subprocesses - concurrently per stage; each pinned to a - dedicated core via taskset (Linux). Capped at - len(problems). Config.yaml parallel_evaluations - is fixed at 1 so total concurrent z3 = this env - value (no parallel_evaluations × N blow-up). - Total RAM ≈ N × 4 GB worst-case. - OPENEVOLVE_Z3_BIN str — z3 binary path (default "z3") -""" -import importlib.util -import json -import math -import os -import pathlib -import sys -import traceback - -TIMEOUT_FACTOR = 1.3 -MIN_TIMEOUT_S = 5 - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE)) - -from baseline_params import BASELINE, LOCKED # noqa: E402 -from score import score # noqa: E402 -from z3_runner import run_z3 # noqa: E402 -from runtime import parallel_solvers, cascade_threshold, core_range # noqa: E402 - -from openevolve.evaluation_result import EvaluationResult # noqa: E402 - -_BENCH_DIR = _HERE.parent.parent # input/z3-bench/ -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_STAGE1_SAMPLE = _HERE / "stage1_sample.json" -_STAGE2_SAMPLE = _HERE / "stage2_sample.json" -_STAGE3_SAMPLE = _HERE / "stage3_sample.json" -_STAGE4_SAMPLE = _HERE / "stage4_sample.json" -_LOCAL_BASELINE = _HERE / "local_baseline.json" - -_PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") # None -> sys.executable - - -def _load_program(path): - spec = importlib.util.spec_from_file_location("program", path) - module = importlib.util.module_from_spec(spec) - # Phase initial_programs add shared/ to sys.path themselves. - spec.loader.exec_module(module) - return module - - -def _load_problems(): - # Always returns the full problems.jsonl set (50 problems). - # local_baseline.json (if present) overlays per-SHA local timing so that - # speedup uses on-machine wall-clock for rebaselined SHAs; non-rebaselined - # SHAs fall back to raw_ms recorded in problems.jsonl. Local elapsed_ms is - # only trusted when local result matches raw — otherwise raw_ms wins to - # avoid speedup distortion from a bad local run (timeout, mismatch). - local = {} - if _LOCAL_BASELINE.exists(): - local = json.loads(_LOCAL_BASELINE.read_text()) - - rows = [] - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - sha = d["problem_sha256"] - baseline_ms = d["z3_status"]["elapsed_ms"] - baseline_result = d["z3_status"]["result"] - baseline_stats = {} - lo = local.get(sha) - if lo and lo.get("matches_raw"): - baseline_ms = lo["elapsed_ms"] - baseline_stats = lo.get("stats") or {} - rows.append( - { - "sha": sha, - "smt2": d["smt2_filename"], - "baseline_ms": baseline_ms, - "baseline_result": baseline_result, - "baseline_stats": baseline_stats, - } - ) - return rows - - -def _filter_stage1(problems): - if not _STAGE1_SAMPLE.exists(): - return problems[:5] - keep = set(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _filter_stage2(problems): - # stage2_sample.json: 5 SAT problems from the runtime upper-half - # (medium-slow). Catches regressions on harder instances. - if not _STAGE2_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE2_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _filter_stage3(problems): - # stage3_sample.json: 5 SAT problems from runtime quintile 5 (slowest 20%). - # Gates entry to stage4 via internal STAGE3_TO_STAGE4_THRESHOLD. - if not _STAGE3_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE3_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _filter_stage4(problems): - # stage4_sample.json: 20 SAT+UNSAT broad-runtime, deduplicated vs stage1-3. - # Final cascade sample. Chained inside evaluate_stage3 because openevolve - # hardcodes 3 cascade stages. - if not _STAGE4_SAMPLE.exists(): - return problems - keep = set(json.loads(_STAGE4_SAMPLE.read_text())["sha256"]) - return [p for p in problems if p["sha"] in keep] - - -def _err_result(metrics_extra, artifacts): - metrics = { - "combined_score": 0.0, - "geomean_speedup": 0.0, - "solved_rate": 0.0, - "regressions": 0, - "solved": 0, - "total": 0, - } - metrics.update(metrics_extra) - return EvaluationResult(metrics=metrics, artifacts=artifacts) - - -def _evaluate(program_path, problems, stage_name): - try: - program = _load_program(program_path) - except Exception as e: - return _err_result( - {"error": f"program load failed: {e}"}, - { - "error_type": type(e).__name__, - "error_message": str(e), - "full_traceback": traceback.format_exc()[-2000:], - "stage": stage_name, - }, - ) - - if not hasattr(program, "get_params"): - return _err_result( - {"error": "missing get_params()"}, - {"suggestion": "initial_program.py must expose get_params() -> dict", "stage": stage_name}, - ) - - try: - params = program.get_params() - if not isinstance(params, dict): - raise TypeError(f"get_params() returned {type(params).__name__}, expected dict") - except Exception as e: - return _err_result( - {"error": f"get_params() raised: {e}"}, - { - "error_type": type(e).__name__, - "error_message": str(e), - "full_traceback": traceback.format_exc()[-2000:], - "stage": stage_name, - }, - ) - - violations = {k: params.get(k) for k in LOCKED if params.get(k) != LOCKED[k]} - if violations: - return _err_result( - {"error": "locked params violated"}, - { - "locked_violated": violations, - "locked_expected": LOCKED, - "stage": stage_name, - "suggestion": "Do not modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable", - }, - ) - - if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: - problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] - - # Verify smt2 files exist up front so parallel dispatch doesn't race. - for p in problems: - smt2_path = _RAW_DIR / p["smt2"] - if not smt2_path.exists(): - return _err_result( - {"error": f"smt2 not found: {p['smt2']}"}, - {"missing_file": str(smt2_path), "stage": stage_name}, - ) - - # Parallel dispatch — `OPENEVOLVE_PARALLEL_SOLVERS` controls how many - # z3 worker subprocesses run concurrently for the stage's problem list. - # Cores leased from a queue.Queue so each in-flight task holds a unique - # slot (idx % n_parallel would collide when len(problems) > n_parallel). - # OPENEVOLVE_CORE_RANGE (e.g. "1-5") overrides; else cores - # 1..parallel_solvers() (core 0 reserved for kernel housekeeping). - import queue as _queue - _cores = core_range() - if _cores is None: - _cores = list(range(1, parallel_solvers(default=1) + 1)) - n_parallel = min(len(_cores), len(problems)) - _cores = _cores[:n_parallel] - _core_pool = _queue.Queue() - for _c in _cores: - _core_pool.put(_c) - - def _solve(idx_p): - idx, p = idx_p - smt2_path = _RAW_DIR / p["smt2"] - timeout_s = max(MIN_TIMEOUT_S, math.ceil(p["baseline_ms"] * TIMEOUT_FACTOR / 1000)) - core = _core_pool.get() - try: - r = run_z3(smt2_path, params, timeout_s, - python_bin=_PYTHON_BIN, cpu_core=core) - finally: - _core_pool.put(core) - return idx, p, r, core, timeout_s - - def _is_regression(p, r): - # Correctness regression: baseline gave a definitive answer (Sat/Unsat) - # and variant disagrees (Unsat, Unknown, or timeout). Unknown baseline - # is excluded — variant solving an Unknown is an improvement, not a - # regression. invalid_param handled separately (param-level error). - if "invalid_param" in r: - return False - return ( - p["baseline_result"] in ("Sat", "Unsat") - and r.get("result") != p["baseline_result"] - ) - - def _invalid_err(r): - return _err_result( - {"error": f"invalid z3 param: {r['invalid_param']}"}, - { - "invalid_param": r["invalid_param"], - "stderr": r.get("stderr", "")[:2000], - "stage": stage_name, - "suggestion": "Remove or fix this key in get_params().", - }, - ) - - def _regression_err(p, r): - return _err_result( - {"error": f"result regression on {p['sha'][:10]}: " - f"baseline={p['baseline_result']} got={r.get('result')}"}, - { - "result_mismatch": { - "sha": p["sha"][:12], - "baseline_result": p["baseline_result"], - "got_result": r.get("result"), - "elapsed_ms": r.get("elapsed_ms"), - "timeout": bool(r.get("timeout")), - }, - "stage": stage_name, - "suggestion": ( - "Variant lost correctness on a problem baseline solved. " - "Revert params that disable preprocessing or relax completeness " - "(e.g. simplifier off, aggressive sls early-prune, restart " - "tuning that starves Sat search)." - ), - }, - ) - - by_idx = {} - abort = None # ("invalid"|"regression", p, r) — first failure observed - if n_parallel == 1: - # Sequential: short-circuit immediately on invalid or regression. - for pair in enumerate(problems): - idx, p, r, core, timeout_s = _solve(pair) - print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={core})", flush=True) - if "invalid_param" in r: - return _invalid_err(r) - if _is_regression(p, r): - print(f" [{stage_name}] regression — aborting remaining " - f"{len(problems) - idx - 1} problems", flush=True) - return _regression_err(p, r) - by_idx[idx] = (p, r) - else: - # Parallel: LPT (longest-processing-time) submission — sort problems - # by baseline_ms descending so big jobs dispatch first. ThreadPool's - # internal FIFO queue then drains small jobs onto whichever worker - # frees up, minimising tail idle time when n_parallel < len(problems). - # Cancel pending futures on first failure; in-flight tasks keep - # running until subprocess timeout (with __exit__ waits for them). - # Per-problem timeout is baseline_ms * 1.3 (adaptive), so worst-case - # drain depends on the slowest in-flight problem rather than a fixed cap. - from concurrent.futures import ThreadPoolExecutor, as_completed - ordered = sorted(enumerate(problems), key=lambda ip: -ip[1]["baseline_ms"]) - with ThreadPoolExecutor(max_workers=n_parallel) as ex: - futures = [ex.submit(_solve, pair) for pair in ordered] - for fut in as_completed(futures): - if abort is not None: - continue - idx, p, r, core, timeout_s = fut.result() - print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={core})", flush=True) - if "invalid_param" in r: - abort = ("invalid", p, r) - elif _is_regression(p, r): - abort = ("regression", p, r) - if abort is not None: - print(f" [{stage_name}] {abort[0]} — cancelling pending " - f"problems (in-flight workers will drain)", flush=True) - for f in futures: - f.cancel() - continue - by_idx[idx] = (p, r) - if abort is not None: - kind, p, r = abort - return _invalid_err(r) if kind == "invalid" else _regression_err(p, r) - - # No failure — reassemble in original problem order. - results = [] - for idx in range(len(problems)): - p, r = by_idx[idx] - results.append( - { - **p, - "result": r["result"], - "elapsed_ms": r["elapsed_ms"], - "timeout": bool(r.get("timeout")), - "stats": r.get("stats") or {}, - } - ) - - metrics = score(results) - metrics["stage"] = stage_name - - # Surface a small fixed set of solver-internal counters that drive Z3's - # search shape. LLM sees these via metrics + per-problem artifacts and can - # reason about what a param tweak did beyond wall-clock (e.g. fewer - # decisions/conflicts at same elapsed_ms = sturdier improvement). - # `mk clause` chosen over `restarts` since z3 does not emit `restarts` - # for the optimize / arith-heavy stack used here. - _KEY_STATS = ("decisions", "propagations", "conflicts", "mk clause") - for k in _KEY_STATS: - metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in results)) - - sample = [ - { - "sha": r["sha"][:10], - "base_result": r["baseline_result"], - "got_result": r["result"], - "base_ms": r["baseline_ms"], - "ms": r["elapsed_ms"], - "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), - "timeout": r["timeout"], - "stats": {k: r["stats"].get(k, 0) for k in _KEY_STATS if k in r["stats"]}, - "base_stats": {k: r["baseline_stats"].get(k, 0) for k in _KEY_STATS if k in r.get("baseline_stats", {})}, - } - for r in results - ] - artifacts = { - "stage": stage_name, - "summary": ( - f"solved={metrics['solved']}/{metrics['total']} " - f"regressions={metrics['regressions']} " - f"geomean_speedup={metrics['geomean_speedup']:.3f} " - f"efficiency={metrics.get('efficiency', 1.0):.3f} " - f"score={metrics['combined_score']:.3f}" - ), - "per_problem": sample[:20], - } - return EvaluationResult(metrics=metrics, artifacts=artifacts) - - -def evaluate_stage1(program_path): - # Per-problem timeout = baseline_ms * TIMEOUT_FACTOR (computed in _solve). - # Stage1 wall-clock budget ≈ TIMEOUT_FACTOR * sum(baseline_ms) over 5 sample - # problems (parallel mode divides by n_parallel). - problems = _filter_stage1(_load_problems()) - return _evaluate(program_path, problems, "stage1") - - -def evaluate_stage2(program_path): - problems = _filter_stage2(_load_problems()) - return _evaluate(program_path, problems, "stage2") - - -def evaluate_stage3(program_path): - # openevolve cascade is hardcoded to 3 stages, so user-stage4 (20 broad - # problems) is folded in here. Gate threshold = config.yaml - # evaluator.cascade_thresholds[2] (defaults to 1.03 if absent). - problems3 = _filter_stage3(_load_problems()) - r3 = _evaluate(program_path, problems3, "stage3") - if not isinstance(r3, EvaluationResult): - return r3 - gate = cascade_threshold(2, default=1.03) - if r3.metrics.get("combined_score", 0.0) < gate: - return r3 - problems4 = _filter_stage4(_load_problems()) - r4 = _evaluate(program_path, problems4, "stage4") - if not isinstance(r4, EvaluationResult): - return r4 - # Merge: stage4 metrics overlay stage3's (final combined_score = stage4's). - merged_metrics = {**r3.metrics, **r4.metrics} - merged_artifacts = {**r3.artifacts, **r4.artifacts} - return EvaluationResult(metrics=merged_metrics, artifacts=merged_artifacts) - - -def evaluate_stage4(program_path): - # Standalone entry for manual / final-verify use. Not invoked by - # openevolve cascade — evaluate_stage3 chains here internally. - problems = _filter_stage4(_load_problems()) - return _evaluate(program_path, problems, "stage4") - - -def evaluate(program_path): - # Evolution uses stage1 (5 sampled problems) only — fast iteration loop. - # Stage2 (full 50 problems) is reserved for final verification via - # final_verify.py on the best-program, not the per-variant search loop. - return evaluate_stage1(program_path) diff --git a/input/z3-bench/evolve/shared/runtime.py b/input/z3-bench/evolve/shared/runtime.py deleted file mode 100644 index ba708c1055..0000000000 --- a/input/z3-bench/evolve/shared/runtime.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -Thin wrapper around input/_lib/runtime.py. -Binds config.yaml path; re-exports parallel_solvers / cascade_threshold / core_range. -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_CONFIG_YAML = _HERE.parent / "config.yaml" -_INPUT_DIR = _HERE.parents[2] # input/ - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib import runtime as _rt # noqa: E402 - -core_range = _rt.core_range - - -def parallel_solvers(default=1): - return _rt.parallel_solvers(_CONFIG_YAML, default=default) - - -def cascade_threshold(index, default): - return _rt.cascade_threshold(_CONFIG_YAML, index, default) diff --git a/input/z3-bench/evolve/shared/score.py b/input/z3-bench/evolve/shared/score.py deleted file mode 100644 index 04062cd4da..0000000000 --- a/input/z3-bench/evolve/shared/score.py +++ /dev/null @@ -1,137 +0,0 @@ -""" -Scoring: weighted_geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. - -- match baseline result: speedup = baseline_ms / elapsed_ms -- mismatch (regression / unknown / timeout): contributes 1e-6 to geomean -- per-problem weight = baseline_ms so absolute time savings on long-running - problems dominate; small-runtime wins barely move the needle, and a - regression on a slow problem is penalized far more than on a fast one -- solved_rate squared to strongly gate on correctness -- efficiency = cross-problem geomean of per-problem weighted geomean over - SMT solver stats {conflicts, decisions, propagations}, with each ratio - (baseline_stat+1)/(variant_stat+1) clipped to [0.1, 10] to bound outliers. - Only solved problems with baseline stats present contribute. Lower solver - work vs baseline -> efficiency > 1. Folded multiplicatively via STATS_WEIGHT - exponent (default 0.333 -> stats / (speedup + stats) ~= 25% in log space; - recommended band 0.2-0.5). Override via env OPENEVOLVE_STATS_WEIGHT - (0 disables). - -Per-key weights reflect SMT solver signal quality: -- conflicts (2.0): CDCL backtracks/learned clauses. Strongest predictor of - search difficulty; lower vs baseline = smarter navigation; robust to - hardware noise. -- decisions (1.5): branching choices. Tracks search-tree size and branching - heuristic quality independent of conflicts. -- propagations (0.5): BCP + theory propagation. High variance; can mean - early pruning (good) or theory thrashing (bad). Tiebreaker only. -- 'mk clause' / 'restarts' intentionally excluded: learning is a feature - (fewer learned clauses != better), restart count alone no work signal. - -Two-level aggregate (per-problem then cross-problem) gives each benchmark -an equal vote regardless of how many stat keys it reports. - -Why stats matter: identical elapsed_ms with far fewer conflicts/decisions is -a sturdier improvement (less variance across machines / problems) than a raw -wall-clock win, and runtime alone can hide regressions where Z3 happens to -hit a fast path on the stage1 sample. -""" -import math -import os - -_STATS_WEIGHTS = {"conflicts": 2.0, "decisions": 1.5, "propagations": 0.5} -_RATIO_CLIP_LO = 0.1 -_RATIO_CLIP_HI = 10.0 - - -def _efficiency(per_problem): - """Cross-problem geomean of per-problem weighted geomean of clipped ratios. - - Returns (efficiency, num_problems). efficiency=1.0 if no usable problems - (no baseline stats yet, or no solved problems) so the multiplier is a no-op. - """ - per_prob_effs = [] - for p in per_problem: - if p["result"] != p["baseline_result"]: - continue - bs = p.get("baseline_stats") or {} - vs = p.get("stats") or {} - log_sum = 0.0 - w_sum = 0.0 - for k, w in _STATS_WEIGHTS.items(): - b = bs.get(k) - v = vs.get(k) - if b is None or v is None: - continue - # +1 smoothing avoids div-by-zero and absurd ratios for tiny counts - r = (float(b) + 1.0) / (float(v) + 1.0) - # Clip so one runaway problem/key can't dominate the geomean - r = max(_RATIO_CLIP_LO, min(_RATIO_CLIP_HI, r)) - log_sum += w * math.log(r) - w_sum += w - if w_sum > 0: - per_prob_effs.append(math.exp(log_sum / w_sum)) - if not per_prob_effs: - return 1.0, 0 - log_sum = sum(math.log(e) for e in per_prob_effs) - return math.exp(log_sum / len(per_prob_effs)), len(per_prob_effs) - - -def score(per_problem): - n = len(per_problem) - if n == 0: - return { - "combined_score": 0.0, - "geomean_speedup": 0.0, - "solved_rate": 0.0, - "regressions": 0, - "solved": 0, - "total": 0, - "efficiency": 1.0, - "efficiency_pairs": 0, - "stats_weight": 0.0, - } - - speedups = [] - weights = [] - solved = 0 - regressions = 0 - for p in per_problem: - baseline_decided = p["baseline_result"] in ("Sat", "Unsat") - match = p["result"] == p["baseline_result"] - w = max(float(p["baseline_ms"]), 1.0) - weights.append(w) - if match: - solved += 1 - sp = p["baseline_ms"] / max(p["elapsed_ms"], 1) - speedups.append(sp) - else: - speedups.append(1e-6) - if baseline_decided and p["result"] in ("Sat", "Unsat"): - regressions += 1 - - w_total = sum(weights) - log_sum = sum(w * math.log(s) for s, w in zip(speedups, weights)) - geomean = math.exp(log_sum / w_total) - solved_rate = solved / n - - efficiency, eff_problems = _efficiency(per_problem) - try: - stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0.333")) - except ValueError: - stats_weight = 0.0 - # Clamp to a sensible band so a runaway env var can't dominate score. - stats_weight = max(0.0, min(stats_weight, 2.0)) - - combined = geomean * (solved_rate**2) * (efficiency**stats_weight) - - return { - "combined_score": float(combined), - "geomean_speedup": float(geomean), - "solved_rate": float(solved_rate), - "regressions": int(regressions), - "solved": int(solved), - "total": int(n), - "efficiency": float(efficiency), - "efficiency_pairs": int(eff_problems), - "stats_weight": float(stats_weight), - } diff --git a/input/z3-bench/evolve/shared/stage1_sample.json b/input/z3-bench/evolve/shared/stage1_sample.json deleted file mode 100644 index 2f7e6d7d1f..0000000000 --- a/input/z3-bench/evolve/shared/stage1_sample.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "selection": "5 SAT runtime Q1+2 (fastest 40%)", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", - "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", - "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", - "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07" - ], - "summary": [ - { - "sha": "b6393502fdb5", - "num_hard_constraints": 25205, - "num_variables": 5854, - "baseline_result": "Sat", - "baseline_ms": 312 - }, - { - "sha": "17cc4d349ce3", - "num_hard_constraints": 15243, - "num_variables": 3932, - "baseline_result": "Sat", - "baseline_ms": 366 - }, - { - "sha": "a4658d3a051a", - "num_hard_constraints": 25205, - "num_variables": 5854, - "baseline_result": "Sat", - "baseline_ms": 597 - }, - { - "sha": "872cbdb83f73", - "num_hard_constraints": 59387, - "num_variables": 10244, - "baseline_result": "Sat", - "baseline_ms": 1298 - }, - { - "sha": "aa358daf4226", - "num_hard_constraints": 59387, - "num_variables": 10244, - "baseline_result": "Sat", - "baseline_ms": 1674 - } - ] -} diff --git a/input/z3-bench/evolve/shared/stage2_sample.json b/input/z3-bench/evolve/shared/stage2_sample.json deleted file mode 100644 index f49a539fa8..0000000000 --- a/input/z3-bench/evolve/shared/stage2_sample.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "selection": "5 SAT runtime Q3+4 (middle 40%)", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", - "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", - "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12" - ], - "summary": [ - { - "sha": "6aab51935a09", - "num_hard_constraints": 113172, - "num_variables": 17151, - "baseline_result": "Sat", - "baseline_ms": 3681 - }, - { - "sha": "75ee534dbc92", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 13086 - }, - { - "sha": "069af7891076", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 13885 - }, - { - "sha": "318bc251e0bd", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 14232 - }, - { - "sha": "493242c37992", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 14353 - } - ] -} diff --git a/input/z3-bench/evolve/shared/stage3_sample.json b/input/z3-bench/evolve/shared/stage3_sample.json deleted file mode 100644 index 720a79a9c9..0000000000 --- a/input/z3-bench/evolve/shared/stage3_sample.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "selection": "5 SAT runtime Q5 (slowest 20%)", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", - "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", - "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", - "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40" - ], - "summary": [ - { - "sha": "cc611a5155b2", - "num_hard_constraints": 524539, - "num_variables": 59881, - "baseline_result": "Sat", - "baseline_ms": 42599 - }, - { - "sha": "3854194b901b", - "num_hard_constraints": 524914, - "num_variables": 59955, - "baseline_result": "Sat", - "baseline_ms": 66100 - }, - { - "sha": "5250d459bef2", - "num_hard_constraints": 524936, - "num_variables": 59955, - "baseline_result": "Sat", - "baseline_ms": 67552 - }, - { - "sha": "86efb0762e6d", - "num_hard_constraints": 696736, - "num_variables": 83621, - "baseline_result": "Sat", - "baseline_ms": 80512 - }, - { - "sha": "a7df812c620d", - "num_hard_constraints": 696365, - "num_variables": 83551, - "baseline_result": "Sat", - "baseline_ms": 93445 - } - ] -} diff --git a/input/z3-bench/evolve/shared/stage4_sample.json b/input/z3-bench/evolve/shared/stage4_sample.json deleted file mode 100644 index 5dfe3cfec6..0000000000 --- a/input/z3-bench/evolve/shared/stage4_sample.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "selection": "20 SAT+UNSAT broad, dedup vs stage1-3", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", - "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", - "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", - "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", - "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", - "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", - "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", - "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", - "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", - "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", - "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", - "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", - "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", - "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", - "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", - "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", - "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", - "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", - "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea" - ], - "summary": [ - { - "sha": "fac53f0ffed2", - "num_hard_constraints": 14932, - "num_variables": 3797, - "baseline_result": "Unsat", - "baseline_ms": 221 - }, - { - "sha": "fe3a23ba2a11", - "num_hard_constraints": 24936, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 258 - }, - { - "sha": "e57b3cf2bc7e", - "num_hard_constraints": 24936, - "num_variables": 5752, - "baseline_result": "Unsat", - "baseline_ms": 268 - }, - { - "sha": "505a2e36055c", - "num_hard_constraints": 24937, - "num_variables": 5752, - "baseline_result": "Sat", - "baseline_ms": 307 - }, - { - "sha": "4fb703b12127", - "num_hard_constraints": 15034, - "num_variables": 3842, - "baseline_result": "Unsat", - "baseline_ms": 311 - }, - { - "sha": "133383a624ef", - "num_hard_constraints": 24797, - "num_variables": 5701, - "baseline_result": "Unsat", - "baseline_ms": 480 - }, - { - "sha": "aeec9f77b092", - "num_hard_constraints": 112978, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2193 - }, - { - "sha": "0f6f9aa28440", - "num_hard_constraints": 112990, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2728 - }, - { - "sha": "21069961e8dc", - "num_hard_constraints": 113006, - "num_variables": 17097, - "baseline_result": "Sat", - "baseline_ms": 2900 - }, - { - "sha": "8a304b9c461a", - "num_hard_constraints": 112796, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3053 - }, - { - "sha": "d8d5ffa7d824", - "num_hard_constraints": 112812, - "num_variables": 17043, - "baseline_result": "Sat", - "baseline_ms": 3350 - }, - { - "sha": "29efe6d38d7b", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 12712 - }, - { - "sha": "65444d693881", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Unsat", - "baseline_ms": 13089 - }, - { - "sha": "4a02d7846394", - "num_hard_constraints": 105784, - "num_variables": 32912, - "baseline_result": "Sat", - "baseline_ms": 14428 - }, - { - "sha": "86468fd861ff", - "num_hard_constraints": 106100, - "num_variables": 33068, - "baseline_result": "Sat", - "baseline_ms": 15671 - }, - { - "sha": "f54dba052fbf", - "num_hard_constraints": 1092831, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 31406 - }, - { - "sha": "3b58bd47434b", - "num_hard_constraints": 1092831, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 31732 - }, - { - "sha": "c5d46b1e315a", - "num_hard_constraints": 1093134, - "num_variables": 99386, - "baseline_result": "Unsat", - "baseline_ms": 32836 - }, - { - "sha": "be1c308d7977", - "num_hard_constraints": 1095737, - "num_variables": 99809, - "baseline_result": "Unsat", - "baseline_ms": 33752 - }, - { - "sha": "76bcc4964307", - "num_hard_constraints": 696736, - "num_variables": 83621, - "baseline_result": "Sat", - "baseline_ms": 112662 - } - ] -} diff --git a/input/z3-bench/evolve/shared/z3_runner.py b/input/z3-bench/evolve/shared/z3_runner.py deleted file mode 100644 index 69c71a52a9..0000000000 --- a/input/z3-bench/evolve/shared/z3_runner.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Thin wrapper: run_z3 = subprocess_runner.run_solver bound to _z3_solve_worker.py. - -Worker uses the z3 Python binding (z3.set_param + Optimize/Solver). Python -binding is preferred over CLI because z3 4.13.x CLI rejects globals like -`threads`, `parallel.enable`, `sls.parallel` as positional `key=value`, -which the binding accepts. Matches the original benchmark's -`applied_params_hash 543b29...` setup. - -Status strings: "Sat" / "Unsat" / "Unknown". -""" -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -_INPUT_DIR = _HERE.parents[2] -_WORKER = _HERE / "_z3_solve_worker.py" - -if str(_INPUT_DIR) not in sys.path: - sys.path.insert(0, str(_INPUT_DIR)) - -from _lib.subprocess_runner import run_solver # noqa: E402 - - -def run_z3(smt2_path, params, timeout_s, python_bin=None, cpu_core=None): - return run_solver(_WORKER, smt2_path, params, timeout_s, - python_bin=python_bin, cpu_core=cpu_core) diff --git a/input/z3-bench/evolve/shared/z3_valid_keys.json b/input/z3-bench/evolve/shared/z3_valid_keys.json deleted file mode 100644 index 2ff0093f49..0000000000 --- a/input/z3-bench/evolve/shared/z3_valid_keys.json +++ /dev/null @@ -1,1266 +0,0 @@ -[ - "abce", - "acce", - "ackermannization.eager", - "ackermannization.inc_sat_backend", - "ackermannization.sat_backend", - "add_all_coeffs", - "algebraic.factor", - "algebraic.factor_max_prime", - "algebraic.factor_num_primes", - "algebraic.factor_search_size", - "algebraic.min_mag", - "algebraic.zero_accuracy", - "algebraic_number_evaluator", - "anf", - "anf.delay", - "anf.exlin", - "arith", - "arith.auto_config_simplex", - "arith.bprop_on_pivoted_rows", - "arith.branch_cut_ratio", - "arith.dump_bound_lemmas", - "arith.dump_lemmas", - "arith.eager_eq_axioms", - "arith.enable_hnf", - "arith.epsilon", - "arith.greatest_error_pivot", - "arith.ignore_int", - "arith.int_eq_branch", - "arith.min", - "arith.nl", - "arith.nl.branching", - "arith.nl.cross_nested", - "arith.nl.delay", - "arith.nl.expensive_patching", - "arith.nl.expp", - "arith.nl.gr_q", - "arith.nl.grobner", - "arith.nl.grobner_cnfl_to_report", - "arith.nl.grobner_eqs_growth", - "arith.nl.grobner_exp_delay", - "arith.nl.grobner_expand_terms", - "arith.nl.grobner_expr_degree_growth", - "arith.nl.grobner_expr_size_growth", - "arith.nl.grobner_frequency", - "arith.nl.grobner_gcd_test", - "arith.nl.grobner_max_simplified", - "arith.nl.grobner_propagate_quotients", - "arith.nl.grobner_row_length_limit", - "arith.nl.grobner_subs_fixed", - "arith.nl.horner", - "arith.nl.horner_frequency", - "arith.nl.horner_row_length_limit", - "arith.nl.horner_subs_fixed", - "arith.nl.log", - "arith.nl.nra", - "arith.nl.optimize_bounds", - "arith.nl.order", - "arith.nl.propagate_linear_monomials", - "arith.nl.reduce_pseudo_linear", - "arith.nl.rounds", - "arith.nl.tangents", - "arith.print_ext_var_names", - "arith.print_stats", - "arith.propagate_eqs", - "arith.propagation_mode", - "arith.random_initial_value", - "arith.rep_freq", - "arith.simplex_strategy", - "arith.solver", - "arith.validate", - "arith_allow_plateau", - "arith_ineq_lhs", - "arith_lhs", - "arith_use_clausal_lookahead", - "arith_use_lookahead", - "arith_weight", - "array.extensional", - "array.weak", - "array_as_stores", - "array_equalities", - "asymm_branch", - "asymm_branch.all", - "asymm_branch.delay", - "asymm_branch.limit", - "asymm_branch.rounds", - "asymm_branch.sampled", - "ate", - "auto_config", - "axioms2files", - "backtrack.conflicts", - "backtrack.scopes", - "bca", - "bce", - "bce_at", - "bce_delay", - "bit2bool", - "blast_distinct", - "blast_distinct_threshold", - "blast_eq_value", - "blast_select_store", - "blast_term_ite.max_inflation", - "blast_term_ite.max_steps", - "block_loop_patterns", - "blocked_clause_limit", - "bmc.linear_unrolling_depth", - "bound_simplifier", - "bounded", - "branching.anti_exploration", - "branching.heuristic", - "burst_search", - "bv.delay", - "bv.enable_int2bv", - "bv.reflect", - "bv.size_reduce", - "bv.solver", - "bv.watch_diseq", - "bv_allow_rotation", - "bv_extract_prop", - "bv_ineq_consistency_test_max", - "bv_ite2id", - "bv_le2extract", - "bv_le_extra", - "bv_literals", - "bv_neg", - "bv_not_simpl", - "bv_sort_ac", - "bv_use_lookahead", - "bv_use_top_level_assertions", - "cache_all", - "cancel_backup_file", - "candidate_models", - "cardinality.encoding", - "cardinality.solver", - "case_split", - "cce", - "cell_sample", - "check_lemmas", - "clause_proof", - "clean_denominators", - "coalesce_chars", - "combined_solver.ignore_solver1", - "combined_solver.solver2_timeout", - "combined_solver.solver2_unknown", - "compact", - "completion", - "conquer.backtrack_frequency", - "conquer.batch_size", - "conquer.delay", - "conquer.restart.max", - "core.extend_nonlocal_patterns", - "core.extend_patterns", - "core.extend_patterns.max_distance", - "core.minimize", - "core.minimize_partial", - "core.validate", - "ctrl_c", - "cube_depth", - "cut", - "cut.aig", - "cut.delay", - "cut.dont_cares", - "cut.force", - "cut.lut", - "cut.npn3", - "cut.redundancies", - "cut.xor", - "dack", - "dack.eq", - "dack.factor", - "dack.gc", - "dack.gc_inv_decay", - "dack.threshold", - "datalog.all_or_nothing_deltas", - "datalog.check_relation", - "datalog.compile_with_widening", - "datalog.dbg_fpr_nonempty_relation_signature", - "datalog.default_relation", - "datalog.default_table", - "datalog.default_table_checked", - "datalog.default_table_checker", - "datalog.explanations_on_relation_level", - "datalog.generate_explanations", - "datalog.initial_restart_timeout", - "datalog.magic_sets_for_queries", - "datalog.output_profile", - "datalog.print.tuples", - "datalog.profile_timeout_milliseconds", - "datalog.similarity_compressor", - "datalog.similarity_compressor_threshold", - "datalog.subsumption", - "datalog.timeout", - "datalog.unbound_compressor", - "datalog.use_map_names", - "ddfw.init_clause_weight", - "ddfw.reinit_base", - "ddfw.restart_base", - "ddfw.threads", - "ddfw.use_reward_pct", - "ddfw_search", - "debug_ref_count", - "decimal", - "decimal_precision", - "decompose_patterns", - "default_tactic", - "delay_units", - "delay_units_threshold", - "dimacs.core", - "dio", - "dio_branching_period", - "dio_calls_period", - "dio_cuts_enable_gomory", - "dio_cuts_enable_hnf", - "dio_ignore_big_nums", - "dio_run_gcd", - "div0_ackermann_limit", - "dot_proof_file", - "drat.activity", - "drat.binary", - "drat.check_sat", - "drat.check_unsat", - "drat.disable", - "drat.file", - "dt_axiomatic", - "dt_lazy_splits", - "dump_benchmarks", - "dump_mathematica", - "dump_models", - "dyn_sub_res", - "eager", - "early_prune", - "elim_01", - "elim_and", - "elim_ite", - "elim_rem", - "elim_sign_ext", - "elim_to_real", - "elim_unconstrained", - "elim_vars", - "ematching", - "enable", - "enable_core_rotate", - "enable_der", - "enable_lns", - "enable_pre_simplify", - "enable_sat", - "enable_sls", - "enabled", - "encoding", - "engine", - "eq2ineq", - "error_for_visual_studio", - "euf", - "expand_nested_stores", - "expand_power", - "expand_select_ite", - "expand_select_store", - "expand_store_eq", - "expand_tan", - "factor", - "factor_max_prime", - "factor_num_primes", - "factor_search_size", - "fixed_indent", - "flat", - "flat_and_or", - "flat_assoc", - "force_cleanup", - "fp.bmc.linear_unrolling_depth", - "fp.datalog.all_or_nothing_deltas", - "fp.datalog.check_relation", - "fp.datalog.compile_with_widening", - "fp.datalog.dbg_fpr_nonempty_relation_signature", - "fp.datalog.default_relation", - "fp.datalog.default_table", - "fp.datalog.default_table_checked", - "fp.datalog.default_table_checker", - "fp.datalog.explanations_on_relation_level", - "fp.datalog.generate_explanations", - "fp.datalog.initial_restart_timeout", - "fp.datalog.magic_sets_for_queries", - "fp.datalog.output_profile", - "fp.datalog.print.tuples", - "fp.datalog.profile_timeout_milliseconds", - "fp.datalog.similarity_compressor", - "fp.datalog.similarity_compressor_threshold", - "fp.datalog.subsumption", - "fp.datalog.timeout", - "fp.datalog.unbound_compressor", - "fp.datalog.use_map_names", - "fp.engine", - "fp.generate_proof_trace", - "fp.print_aig", - "fp.print_answer", - "fp.print_boogie_certificate", - "fp.print_certificate", - "fp.print_fixedpoint_extensions", - "fp.print_low_level_smt2", - "fp.print_statistics", - "fp.print_with_variable_declarations", - "fp.spacer.arith.solver", - "fp.spacer.blast_term_ite_inflation", - "fp.spacer.ctp", - "fp.spacer.dump_benchmarks", - "fp.spacer.dump_threshold", - "fp.spacer.elim_aux", - "fp.spacer.eq_prop", - "fp.spacer.expand_bnd", - "fp.spacer.gg.concretize", - "fp.spacer.gg.conjecture", - "fp.spacer.gg.subsume", - "fp.spacer.global", - "fp.spacer.gpdr", - "fp.spacer.gpdr.bfs", - "fp.spacer.ground_pobs", - "fp.spacer.iuc", - "fp.spacer.iuc.arith", - "fp.spacer.iuc.debug_proof", - "fp.spacer.iuc.old_hyp_reducer", - "fp.spacer.iuc.print_farkas_stats", - "fp.spacer.iuc.split_farkas_literals", - "fp.spacer.keep_proxy", - "fp.spacer.logic", - "fp.spacer.max_level", - "fp.spacer.max_num_contexts", - "fp.spacer.mbqi", - "fp.spacer.min_level", - "fp.spacer.native_mbp", - "fp.spacer.order_children", - "fp.spacer.p3.share_invariants", - "fp.spacer.p3.share_lemmas", - "fp.spacer.propagate", - "fp.spacer.push_pob", - "fp.spacer.push_pob_max_depth", - "fp.spacer.q3", - "fp.spacer.q3.instantiate", - "fp.spacer.q3.qgen.normalize", - "fp.spacer.q3.use_qgen", - "fp.spacer.random_seed", - "fp.spacer.reach_dnf", - "fp.spacer.reset_pob_queue", - "fp.spacer.restart_initial_threshold", - "fp.spacer.restarts", - "fp.spacer.simplify_lemmas_post", - "fp.spacer.simplify_lemmas_pre", - "fp.spacer.simplify_pob", - "fp.spacer.trace_file", - "fp.spacer.use_array_eq_generalizer", - "fp.spacer.use_bg_invs", - "fp.spacer.use_derivations", - "fp.spacer.use_euf_gen", - "fp.spacer.use_inc_clause", - "fp.spacer.use_inductive_generalizer", - "fp.spacer.use_iuc", - "fp.spacer.use_lemma_as_cti", - "fp.spacer.use_lim_num_gen", - "fp.spacer.validate_lemmas", - "fp.spacer.weak_abs", - "fp.tab.selection", - "fp.validate", - "fp.xform.array_blast", - "fp.xform.array_blast_full", - "fp.xform.bit_blast", - "fp.xform.coalesce_rules", - "fp.xform.coi", - "fp.xform.compress_unbound", - "fp.xform.elim_term_ite", - "fp.xform.elim_term_ite.inflation", - "fp.xform.fix_unbound_vars", - "fp.xform.inline_eager", - "fp.xform.inline_linear", - "fp.xform.inline_linear_branch", - "fp.xform.instantiate_arrays", - "fp.xform.instantiate_arrays.enforce", - "fp.xform.instantiate_arrays.nb_quantifier", - "fp.xform.instantiate_arrays.slice_technique", - "fp.xform.instantiate_quantifiers", - "fp.xform.magic", - "fp.xform.quantify_arrays", - "fp.xform.scale", - "fp.xform.slice", - "fp.xform.subsumption_checker", - "fp.xform.tail_simplifier_pve", - "fp.xform.transform_arrays", - "fp.xform.unfold_rules", - "fp_real_literals", - "gc", - "gc.burst", - "gc.defrag", - "gc.increment", - "gc.initial", - "gc.k", - "gc.small_lbd", - "gcd_rounding", - "generate_proof_trace", - "hi_div0", - "hi_fp_unspecified", - "hoist_ite", - "hoist_mul", - "ignore_bad_patterns", - "ignore_labels", - "ignore_patterns_on_ground_qbody", - "ignore_solver1", - "ignore_user_patterns", - "inc_sat_backend", - "incremental", - "induction", - "inf_precision", - "initial_precision", - "inline_def", - "inline_vars", - "inprocess.max", - "inprocess.out", - "instantiations2console", - "ite_extra_rules", - "known_sat_assignment_file_name", - "lazy", - "lazy_algebraic_normalization", - "lemma_gc_strategy", - "lemmas2console", - "lia2card.max_ite_nesting", - "lia2card.max_range", - "lns_conflicts", - "local_ctx", - "local_ctx_limit", - "local_search", - "local_search_dbg_flips", - "local_search_mode", - "local_search_threads", - "log_lemmas", - "logic", - "lookahead.cube.cutoff", - "lookahead.cube.depth", - "lookahead.cube.fraction", - "lookahead.cube.freevars", - "lookahead.cube.psat.clause_base", - "lookahead.cube.psat.trigger", - "lookahead.cube.psat.var_exp", - "lookahead.delta_fraction", - "lookahead.double", - "lookahead.global_autarky", - "lookahead.preselect", - "lookahead.reward", - "lookahead.use_learned", - "lookahead_scores", - "lookahead_simplify", - "lookahead_simplify.bca", - "lp.dio", - "lp.dio_branching_period", - "lp.dio_calls_period", - "lp.dio_cuts_enable_gomory", - "lp.dio_cuts_enable_hnf", - "lp.dio_ignore_big_nums", - "lp.dio_run_gcd", - "macro_finder", - "max_conflicts", - "max_degree", - "max_depth", - "max_indent", - "max_memory", - "max_multi_patterns", - "max_num_lines", - "max_precision", - "max_repairs", - "max_restarts", - "max_ribbon", - "max_steps", - "max_width", - "maxlex.enable", - "maxres.add_upper_bound_block", - "maxres.hill_climb", - "maxres.max_core_size", - "maxres.max_correction_set_size", - "maxres.max_num_cores", - "maxres.maximize_assignment", - "maxres.pivot_on_correction_set", - "maxres.wmax", - "maxsat_engine", - "mbqi", - "mbqi.force_template", - "mbqi.id", - "mbqi.max_cexs", - "mbqi.max_cexs_incr", - "mbqi.max_iterations", - "mbqi.trace", - "memory_high_watermark", - "memory_high_watermark_mb", - "memory_max_alloc_count", - "memory_max_size", - "min_alias_size", - "min_mag", - "minimize_conflicts", - "minimize_lemmas", - "mode", - "model", - "model.compact", - "model.completion", - "model.inline_def", - "model.partial", - "model.user_functions", - "model.v1", - "model.v2", - "model_evaluator.array_as_stores", - "model_evaluator.array_equalities", - "model_evaluator.completion", - "model_evaluator.max_memory", - "model_evaluator.max_steps", - "model_validate", - "mul2concat", - "mul_to_power", - "nlsat.add_all_coeffs", - "nlsat.cell_sample", - "nlsat.check_lemmas", - "nlsat.dump_mathematica", - "nlsat.factor", - "nlsat.inline_vars", - "nlsat.known_sat_assignment_file_name", - "nlsat.lazy", - "nlsat.log_lemmas", - "nlsat.max_conflicts", - "nlsat.max_memory", - "nlsat.minimize_conflicts", - "nlsat.randomize", - "nlsat.reorder", - "nlsat.seed", - "nlsat.shuffle_vars", - "nlsat.simple_check", - "nlsat.simplify_conflicts", - "nlsat.variable_ordering_strategy", - "nnf.ignore_labels", - "nnf.max_memory", - "nnf.mode", - "nnf.sk_hack", - "no_lets", - "non_nested_arith_weight", - "opt.dump_benchmarks", - "opt.dump_models", - "opt.elim_01", - "opt.enable_core_rotate", - "opt.enable_lns", - "opt.enable_sat", - "opt.enable_sls", - "opt.incremental", - "opt.lns_conflicts", - "opt.maxlex.enable", - "opt.maxres.add_upper_bound_block", - "opt.maxres.hill_climb", - "opt.maxres.max_core_size", - "opt.maxres.max_correction_set_size", - "opt.maxres.max_num_cores", - "opt.maxres.maximize_assignment", - "opt.maxres.pivot_on_correction_set", - "opt.maxres.wmax", - "opt.maxsat_engine", - "opt.optsmt_engine", - "opt.pb.compile_equality", - "opt.pp.neat", - "opt.pp.wcnf", - "opt.priority", - "opt.rc2.totalizer", - "opt.rlimit", - "opt.solution_prefix", - "opt.timeout", - "optsmt_engine", - "override_incremental", - "parallel.conquer.backtrack_frequency", - "parallel.conquer.batch_size", - "parallel.conquer.delay", - "parallel.conquer.restart.max", - "parallel.enable", - "parallel.simplify.exp", - "parallel.simplify.inprocess.max", - "parallel.simplify.max_conflicts", - "parallel.simplify.restart.max", - "parallel.threads.max", - "parser.error_for_visual_studio", - "parser.ignore_bad_patterns", - "parser.ignore_user_patterns", - "partial", - "paws_init", - "paws_sp", - "pb.compile_equality", - "pb.conflict_frequency", - "pb.learn_complements", - "pb.lemma_format", - "pb.min_arity", - "pb.resolve", - "pb.solver", - "phase", - "phase.sticky", - "phase_caching_off", - "phase_caching_on", - "phase_selection", - "pi.arith", - "pi.arith_weight", - "pi.block_loop_patterns", - "pi.decompose_patterns", - "pi.enabled", - "pi.max_multi_patterns", - "pi.non_nested_arith_weight", - "pi.pull_quantifiers", - "pi.use_database", - "pi.warnings", - "pp.bounded", - "pp.bv_literals", - "pp.bv_neg", - "pp.decimal", - "pp.decimal_precision", - "pp.fixed_indent", - "pp.flat_assoc", - "pp.fp_real_literals", - "pp.max_depth", - "pp.max_indent", - "pp.max_num_lines", - "pp.max_ribbon", - "pp.max_width", - "pp.min_alias_size", - "pp.neat", - "pp.no_lets", - "pp.pretty_proof", - "pp.simplify_implies", - "pp.single_line", - "pp.wcnf", - "pretty_proof", - "print_aig", - "print_answer", - "print_boogie_certificate", - "print_certificate", - "print_fixedpoint_extensions", - "print_low_level_smt2", - "print_statistics", - "print_with_variable_declarations", - "priority", - "prob_search", - "probing", - "probing_binary", - "probing_cache", - "probing_cache_limit", - "probing_limit", - "proof", - "proof.check", - "proof.check_rup", - "proof.log", - "proof.save", - "proof.trim", - "propagate.prefetch", - "propagate_values", - "propagate_values.max_rounds", - "pull_cheap_ite", - "pull_nested_quantifiers", - "pull_quantifiers", - "push_ite_arith", - "push_ite_bv", - "push_to_real", - "q.lift_ite", - "q.lite", - "qi.cost", - "qi.eager_threshold", - "qi.lazy_threshold", - "qi.max_instances", - "qi.max_multi_patterns", - "qi.profile", - "qi.profile_freq", - "qi.quick_checker", - "qsat_use_qel", - "quasi_macros", - "random_freq", - "random_offset", - "random_seed", - "randomize", - "randomizer.seed", - "rc2.totalizer", - "rcf.clean_denominators", - "rcf.inf_precision", - "rcf.initial_precision", - "rcf.lazy_algebraic_normalization", - "rcf.max_precision", - "rcf.use_prem", - "refine_inj_axioms", - "relevancy", - "reorder", - "reorder.activity_scale", - "reorder.base", - "reorder.itau", - "rephase.base", - "rescore", - "resolution.cls_cutoff1", - "resolution.cls_cutoff2", - "resolution.limit", - "resolution.lit_cutoff_range1", - "resolution.lit_cutoff_range2", - "resolution.lit_cutoff_range3", - "resolution.occ_cutoff", - "resolution.occ_cutoff_range1", - "resolution.occ_cutoff_range2", - "resolution.occ_cutoff_range3", - "restart", - "restart.emafastglue", - "restart.emaslowglue", - "restart.factor", - "restart.fast", - "restart.initial", - "restart.margin", - "restart.max", - "restart_base", - "restart_factor", - "restart_init", - "restart_strategy", - "restricted_quasi_macros", - "retain_blocked_clauses", - "rewrite_patterns", - "rewriter.algebraic_number_evaluator", - "rewriter.arith_ineq_lhs", - "rewriter.arith_lhs", - "rewriter.bit2bool", - "rewriter.blast_distinct", - "rewriter.blast_distinct_threshold", - "rewriter.blast_eq_value", - "rewriter.blast_select_store", - "rewriter.bv_extract_prop", - "rewriter.bv_ineq_consistency_test_max", - "rewriter.bv_ite2id", - "rewriter.bv_le2extract", - "rewriter.bv_le_extra", - "rewriter.bv_not_simpl", - "rewriter.bv_sort_ac", - "rewriter.cache_all", - "rewriter.coalesce_chars", - "rewriter.div0_ackermann_limit", - "rewriter.elim_and", - "rewriter.elim_ite", - "rewriter.elim_rem", - "rewriter.elim_sign_ext", - "rewriter.elim_to_real", - "rewriter.enable_der", - "rewriter.eq2ineq", - "rewriter.expand_nested_stores", - "rewriter.expand_power", - "rewriter.expand_select_ite", - "rewriter.expand_select_store", - "rewriter.expand_store_eq", - "rewriter.expand_tan", - "rewriter.flat", - "rewriter.flat_and_or", - "rewriter.gcd_rounding", - "rewriter.hi_div0", - "rewriter.hi_fp_unspecified", - "rewriter.hoist_ite", - "rewriter.hoist_mul", - "rewriter.ignore_patterns_on_ground_qbody", - "rewriter.ite_extra_rules", - "rewriter.local_ctx", - "rewriter.local_ctx_limit", - "rewriter.max_degree", - "rewriter.max_memory", - "rewriter.max_steps", - "rewriter.mul2concat", - "rewriter.mul_to_power", - "rewriter.pull_cheap_ite", - "rewriter.push_ite_arith", - "rewriter.push_ite_bv", - "rewriter.push_to_real", - "rewriter.rewrite_patterns", - "rewriter.som", - "rewriter.som_blowup", - "rewriter.sort_disjunctions", - "rewriter.sort_store", - "rewriter.sort_sums", - "rewriter.split_concat_eq", - "rlimit", - "sat.abce", - "sat.acce", - "sat.anf", - "sat.anf.delay", - "sat.anf.exlin", - "sat.asymm_branch", - "sat.asymm_branch.all", - "sat.asymm_branch.delay", - "sat.asymm_branch.limit", - "sat.asymm_branch.rounds", - "sat.asymm_branch.sampled", - "sat.ate", - "sat.backtrack.conflicts", - "sat.backtrack.scopes", - "sat.bca", - "sat.bce", - "sat.bce_at", - "sat.bce_delay", - "sat.blocked_clause_limit", - "sat.branching.anti_exploration", - "sat.branching.heuristic", - "sat.burst_search", - "sat.cardinality.encoding", - "sat.cardinality.solver", - "sat.cce", - "sat.core.minimize", - "sat.core.minimize_partial", - "sat.cut", - "sat.cut.aig", - "sat.cut.delay", - "sat.cut.dont_cares", - "sat.cut.force", - "sat.cut.lut", - "sat.cut.npn3", - "sat.cut.redundancies", - "sat.cut.xor", - "sat.ddfw.init_clause_weight", - "sat.ddfw.reinit_base", - "sat.ddfw.restart_base", - "sat.ddfw.threads", - "sat.ddfw.use_reward_pct", - "sat.ddfw_search", - "sat.dimacs.core", - "sat.drat.activity", - "sat.drat.binary", - "sat.drat.check_sat", - "sat.drat.check_unsat", - "sat.drat.disable", - "sat.drat.file", - "sat.dyn_sub_res", - "sat.elim_vars", - "sat.enable_pre_simplify", - "sat.euf", - "sat.force_cleanup", - "sat.gc", - "sat.gc.burst", - "sat.gc.defrag", - "sat.gc.increment", - "sat.gc.initial", - "sat.gc.k", - "sat.gc.small_lbd", - "sat.inprocess.max", - "sat.inprocess.out", - "sat.local_search", - "sat.local_search_dbg_flips", - "sat.local_search_mode", - "sat.local_search_threads", - "sat.lookahead.cube.cutoff", - "sat.lookahead.cube.depth", - "sat.lookahead.cube.fraction", - "sat.lookahead.cube.freevars", - "sat.lookahead.cube.psat.clause_base", - "sat.lookahead.cube.psat.trigger", - "sat.lookahead.cube.psat.var_exp", - "sat.lookahead.delta_fraction", - "sat.lookahead.double", - "sat.lookahead.global_autarky", - "sat.lookahead.preselect", - "sat.lookahead.reward", - "sat.lookahead.use_learned", - "sat.lookahead_scores", - "sat.lookahead_simplify", - "sat.lookahead_simplify.bca", - "sat.max_conflicts", - "sat.max_memory", - "sat.minimize_lemmas", - "sat.override_incremental", - "sat.pb.lemma_format", - "sat.pb.min_arity", - "sat.pb.resolve", - "sat.pb.solver", - "sat.phase", - "sat.phase.sticky", - "sat.prob_search", - "sat.probing", - "sat.probing_binary", - "sat.probing_cache", - "sat.probing_cache_limit", - "sat.probing_limit", - "sat.propagate.prefetch", - "sat.random_freq", - "sat.random_seed", - "sat.reorder.activity_scale", - "sat.reorder.base", - "sat.reorder.itau", - "sat.rephase.base", - "sat.resolution.cls_cutoff1", - "sat.resolution.cls_cutoff2", - "sat.resolution.limit", - "sat.resolution.lit_cutoff_range1", - "sat.resolution.lit_cutoff_range2", - "sat.resolution.lit_cutoff_range3", - "sat.resolution.occ_cutoff", - "sat.resolution.occ_cutoff_range1", - "sat.resolution.occ_cutoff_range2", - "sat.resolution.occ_cutoff_range3", - "sat.restart", - "sat.restart.emafastglue", - "sat.restart.emaslowglue", - "sat.restart.factor", - "sat.restart.fast", - "sat.restart.initial", - "sat.restart.margin", - "sat.restart.max", - "sat.retain_blocked_clauses", - "sat.scc", - "sat.scc.tr", - "sat.search.sat.conflicts", - "sat.search.unsat.conflicts", - "sat.simplify.delay", - "sat.smt", - "sat.smt.proof.check", - "sat.subsumption", - "sat.subsumption.limit", - "sat.threads", - "sat.variable_decay", - "sat_backend", - "scale_unsat", - "scc", - "scc.tr", - "search.sat.conflicts", - "search.unsat.conflicts", - "seed", - "seq.max_unfolding", - "seq.min_unfolding", - "seq.split_w_len", - "seq.validate", - "shuffle_vars", - "simple_check", - "simplify.delay", - "simplify.exp", - "simplify.inprocess.max", - "simplify.max_conflicts", - "simplify.restart.max", - "simplify_conflicts", - "simplify_implies", - "single_line", - "sk_hack", - "slice", - "sls.arith_allow_plateau", - "sls.arith_use_clausal_lookahead", - "sls.arith_use_lookahead", - "sls.bv_allow_rotation", - "sls.bv_use_lookahead", - "sls.bv_use_top_level_assertions", - "sls.dt_axiomatic", - "sls.early_prune", - "sls.enable", - "sls.max_memory", - "sls.max_repairs", - "sls.max_restarts", - "sls.parallel", - "sls.paws_init", - "sls.paws_sp", - "sls.random_offset", - "sls.random_seed", - "sls.rescore", - "sls.restart_base", - "sls.restart_init", - "sls.scale_unsat", - "sls.str_update_strategy", - "sls.track_unsat", - "sls.vns_mc", - "sls.vns_repick", - "sls.walksat", - "sls.walksat_repick", - "sls.walksat_ucb", - "sls.walksat_ucb_constant", - "sls.walksat_ucb_forget", - "sls.walksat_ucb_init", - "sls.walksat_ucb_noise", - "sls.wp", - "smt", - "smt.arith.auto_config_simplex", - "smt.arith.bprop_on_pivoted_rows", - "smt.arith.branch_cut_ratio", - "smt.arith.dump_bound_lemmas", - "smt.arith.dump_lemmas", - "smt.arith.eager_eq_axioms", - "smt.arith.enable_hnf", - "smt.arith.epsilon", - "smt.arith.greatest_error_pivot", - "smt.arith.ignore_int", - "smt.arith.int_eq_branch", - "smt.arith.min", - "smt.arith.nl", - "smt.arith.nl.branching", - "smt.arith.nl.cross_nested", - "smt.arith.nl.delay", - "smt.arith.nl.expensive_patching", - "smt.arith.nl.expp", - "smt.arith.nl.gr_q", - "smt.arith.nl.grobner", - "smt.arith.nl.grobner_cnfl_to_report", - "smt.arith.nl.grobner_eqs_growth", - "smt.arith.nl.grobner_exp_delay", - "smt.arith.nl.grobner_expand_terms", - "smt.arith.nl.grobner_expr_degree_growth", - "smt.arith.nl.grobner_expr_size_growth", - "smt.arith.nl.grobner_frequency", - "smt.arith.nl.grobner_gcd_test", - "smt.arith.nl.grobner_max_simplified", - "smt.arith.nl.grobner_propagate_quotients", - "smt.arith.nl.grobner_row_length_limit", - "smt.arith.nl.grobner_subs_fixed", - "smt.arith.nl.horner", - "smt.arith.nl.horner_frequency", - "smt.arith.nl.horner_row_length_limit", - "smt.arith.nl.horner_subs_fixed", - "smt.arith.nl.log", - "smt.arith.nl.nra", - "smt.arith.nl.optimize_bounds", - "smt.arith.nl.order", - "smt.arith.nl.propagate_linear_monomials", - "smt.arith.nl.reduce_pseudo_linear", - "smt.arith.nl.rounds", - "smt.arith.nl.tangents", - "smt.arith.print_ext_var_names", - "smt.arith.print_stats", - "smt.arith.propagate_eqs", - "smt.arith.propagation_mode", - "smt.arith.random_initial_value", - "smt.arith.rep_freq", - "smt.arith.simplex_strategy", - "smt.arith.solver", - "smt.arith.validate", - "smt.array.extensional", - "smt.array.weak", - "smt.auto_config", - "smt.bound_simplifier", - "smt.bv.delay", - "smt.bv.enable_int2bv", - "smt.bv.reflect", - "smt.bv.size_reduce", - "smt.bv.solver", - "smt.bv.watch_diseq", - "smt.candidate_models", - "smt.case_split", - "smt.clause_proof", - "smt.core.extend_nonlocal_patterns", - "smt.core.extend_patterns", - "smt.core.extend_patterns.max_distance", - "smt.core.minimize", - "smt.core.validate", - "smt.cube_depth", - "smt.dack", - "smt.dack.eq", - "smt.dack.factor", - "smt.dack.gc", - "smt.dack.gc_inv_decay", - "smt.dack.threshold", - "smt.delay_units", - "smt.delay_units_threshold", - "smt.dt_lazy_splits", - "smt.elim_unconstrained", - "smt.ematching", - "smt.induction", - "smt.lemma_gc_strategy", - "smt.logic", - "smt.macro_finder", - "smt.max_conflicts", - "smt.mbqi", - "smt.mbqi.force_template", - "smt.mbqi.id", - "smt.mbqi.max_cexs", - "smt.mbqi.max_cexs_incr", - "smt.mbqi.max_iterations", - "smt.mbqi.trace", - "smt.pb.conflict_frequency", - "smt.pb.learn_complements", - "smt.phase_caching_off", - "smt.phase_caching_on", - "smt.phase_selection", - "smt.proof.check", - "smt.propagate_values", - "smt.pull_nested_quantifiers", - "smt.q.lift_ite", - "smt.q.lite", - "smt.qi.cost", - "smt.qi.eager_threshold", - "smt.qi.lazy_threshold", - "smt.qi.max_instances", - "smt.qi.max_multi_patterns", - "smt.qi.profile", - "smt.qi.profile_freq", - "smt.qi.quick_checker", - "smt.qsat_use_qel", - "smt.quasi_macros", - "smt.random_seed", - "smt.refine_inj_axioms", - "smt.relevancy", - "smt.restart.max", - "smt.restart_factor", - "smt.restart_strategy", - "smt.restricted_quasi_macros", - "smt.seq.max_unfolding", - "smt.seq.min_unfolding", - "smt.seq.split_w_len", - "smt.seq.validate", - "smt.sls.enable", - "smt.sls.parallel", - "smt.solve_eqs", - "smt.solve_eqs.non_ground", - "smt.string_solver", - "smt.theory_aware_branching", - "smt.theory_case_split", - "smt.threads", - "smt.threads.cube_frequency", - "smt.threads.max_conflicts", - "smt.up.persist_clauses", - "smtlib2_compliant", - "smtlib2_log", - "solution_prefix", - "solve_eqs", - "solve_eqs.context_solve", - "solve_eqs.ite_solver", - "solve_eqs.max_occs", - "solve_eqs.non_ground", - "solve_eqs.theory_solver", - "solver.axioms2files", - "solver.cancel_backup_file", - "solver.instantiations2console", - "solver.lemmas2console", - "solver.proof.check", - "solver.proof.check_rup", - "solver.proof.log", - "solver.proof.save", - "solver.proof.trim", - "solver.slice", - "solver.smtlib2_log", - "solver.timeout", - "solver2_timeout", - "solver2_unknown", - "som", - "som_blowup", - "sort_disjunctions", - "sort_store", - "sort_sums", - "spacer.arith.solver", - "spacer.blast_term_ite_inflation", - "spacer.ctp", - "spacer.dump_benchmarks", - "spacer.dump_threshold", - "spacer.elim_aux", - "spacer.eq_prop", - "spacer.expand_bnd", - "spacer.gg.concretize", - "spacer.gg.conjecture", - "spacer.gg.subsume", - "spacer.global", - "spacer.gpdr", - "spacer.gpdr.bfs", - "spacer.ground_pobs", - "spacer.iuc", - "spacer.iuc.arith", - "spacer.iuc.debug_proof", - "spacer.iuc.old_hyp_reducer", - "spacer.iuc.print_farkas_stats", - "spacer.iuc.split_farkas_literals", - "spacer.keep_proxy", - "spacer.logic", - "spacer.max_level", - "spacer.max_num_contexts", - "spacer.mbqi", - "spacer.min_level", - "spacer.native_mbp", - "spacer.order_children", - "spacer.p3.share_invariants", - "spacer.p3.share_lemmas", - "spacer.propagate", - "spacer.push_pob", - "spacer.push_pob_max_depth", - "spacer.q3", - "spacer.q3.instantiate", - "spacer.q3.qgen.normalize", - "spacer.q3.use_qgen", - "spacer.random_seed", - "spacer.reach_dnf", - "spacer.reset_pob_queue", - "spacer.restart_initial_threshold", - "spacer.restarts", - "spacer.simplify_lemmas_post", - "spacer.simplify_lemmas_pre", - "spacer.simplify_pob", - "spacer.trace_file", - "spacer.use_array_eq_generalizer", - "spacer.use_bg_invs", - "spacer.use_derivations", - "spacer.use_euf_gen", - "spacer.use_inc_clause", - "spacer.use_inductive_generalizer", - "spacer.use_iuc", - "spacer.use_lemma_as_cti", - "spacer.use_lim_num_gen", - "spacer.validate_lemmas", - "spacer.weak_abs", - "split_concat_eq", - "stats", - "str_update_strategy", - "string_solver", - "subsumption", - "subsumption.limit", - "tab.selection", - "tactic.blast_term_ite.max_inflation", - "tactic.blast_term_ite.max_steps", - "tactic.default_tactic", - "tactic.lia2card.max_ite_nesting", - "tactic.lia2card.max_range", - "tactic.propagate_values.max_rounds", - "tactic.randomizer.seed", - "tactic.solve_eqs.context_solve", - "tactic.solve_eqs.ite_solver", - "tactic.solve_eqs.max_occs", - "tactic.solve_eqs.theory_solver", - "theory_aware_branching", - "theory_case_split", - "threads", - "threads.cube_frequency", - "threads.max", - "threads.max_conflicts", - "timeout", - "trace", - "trace_file_name", - "track_unsat", - "type_check", - "unsat_core", - "up.persist_clauses", - "use_database", - "use_prem", - "user_functions", - "v1", - "v2", - "validate", - "variable_decay", - "variable_ordering_strategy", - "verbose", - "vns_mc", - "vns_repick", - "walksat", - "walksat_repick", - "walksat_ucb", - "walksat_ucb_constant", - "walksat_ucb_forget", - "walksat_ucb_init", - "walksat_ucb_noise", - "warning", - "warnings", - "well_sorted_check", - "wp", - "xform.array_blast", - "xform.array_blast_full", - "xform.bit_blast", - "xform.coalesce_rules", - "xform.coi", - "xform.compress_unbound", - "xform.elim_term_ite", - "xform.elim_term_ite.inflation", - "xform.fix_unbound_vars", - "xform.inline_eager", - "xform.inline_linear", - "xform.inline_linear_branch", - "xform.instantiate_arrays", - "xform.instantiate_arrays.enforce", - "xform.instantiate_arrays.nb_quantifier", - "xform.instantiate_arrays.slice_technique", - "xform.instantiate_quantifiers", - "xform.magic", - "xform.quantify_arrays", - "xform.scale", - "xform.slice", - "xform.subsumption_checker", - "xform.tail_simplifier_pve", - "xform.transform_arrays", - "xform.unfold_rules", - "zero_accuracy" -] \ No newline at end of file diff --git a/input/z3-bench/evolve/validate_keys.py b/input/z3-bench/evolve/validate_keys.py deleted file mode 100644 index b289ccce07..0000000000 --- a/input/z3-bench/evolve/validate_keys.py +++ /dev/null @@ -1,160 +0,0 @@ -""" -Validate phase EVOLVE-BLOCK keys against the installed z3 binary. - -Strategy: - 1. `z3 -pm` -> list of module names - 2. `z3 -pm:` for each module -> option names + types + defaults - 3. `z3 -p` -> global (module-less) option names - -> build canonical set of valid `module.option` (and bare global) keys - Then for each phase initial_program.py, report invalid keys. - -Run inside the container (z3 binary required): - - python input/z3-bench/evolve/validate_keys.py - -Output: - shared/z3_valid_keys.json # full valid set - stdout report per phase, listing invalid keys - -Does NOT modify initial_program.py. Edit manually after reviewing. -""" -import importlib.util -import json -import pathlib -import re -import shutil -import subprocess -import sys - -ROOT = pathlib.Path(__file__).resolve().parent -SHARED = ROOT / "shared" -PHASES = [ - "phase1_opt_sls", - "phase2_sat", - "phase3_smt", - "phase4_unified", -] - - -_OPTION_LINE_RE = re.compile(r"^\s+([\w\-]+(?:\.[\w\-]+)*)\s+\(") - - -def _run_z3(args): - proc = subprocess.run(["z3", *args], capture_output=True, text=True) - if proc.returncode != 0: - # Some -pm: invocations exit non-zero on unknown module; treat as soft. - return proc.stdout, proc.stderr, proc.returncode - return proc.stdout, proc.stderr, 0 - - -def _parse_options(text): - """Pull ' name (type) ...' lines out of any z3 doc dump.""" - names = [] - for line in text.splitlines(): - m = _OPTION_LINE_RE.match(line) - if m: - names.append(m.group(1)) - return names - - -# Z3 4.13.x format: `[module] (, description: )?` -# Older builds: `[module] ` alone. Take only the first identifier token. -_MODULE_HEADER_RE = re.compile(r"^\[module\]\s+([A-Za-z_][\w\-]*)") - - -def _list_modules(): - stdout, stderr, rc = _run_z3(["-pm"]) - if rc != 0: - print(f"`z3 -pm` failed: {stderr.strip()}", file=sys.stderr) - sys.exit(1) - mods = set() - for line in stdout.splitlines(): - m = _MODULE_HEADER_RE.match(line) - if m: - mods.add(m.group(1)) - if not mods: - print("warning: no `[module] ` headers found in `z3 -pm` output", file=sys.stderr) - return sorted(mods) - - -def get_valid_keys(): - if shutil.which("z3") is None: - print("ERROR: z3 binary not on PATH. Install in container first.", file=sys.stderr) - sys.exit(1) - - valid = set() - - # 1. Globals via `z3 -p` - stdout, _, rc = _run_z3(["-p"]) - if rc == 0: - for opt in _parse_options(stdout): - valid.add(opt) - - # 2. Modules + their options. Try each candidate token from `-pm` output; - # silently skip ones z3 rejects (prose/noise gets filtered this way). - mods = _list_modules() - if not mods: - print("warning: no modules parsed from `z3 -pm`", file=sys.stderr) - tried = 0 - accepted = 0 - debug_dumped = False - for mod in mods: - tried += 1 - stdout, stderr, rc = _run_z3([f"-pm:{mod}"]) - if rc != 0: - continue # quiet skip - accepted += 1 - opts = _parse_options(stdout) - if not opts and not debug_dumped: - print(f" no options parsed from module {mod!r}; raw output (first 30 lines):", file=sys.stderr) - for line in stdout.splitlines()[:30]: - print(f" | {line}", file=sys.stderr) - debug_dumped = True - for opt in opts: - valid.add(f"{mod}.{opt}") - print(f" modules: {accepted}/{tried} accepted, {len(valid)} valid keys total") - - return valid - - -def load_program_params(phase_dir): - """Load initial_program.py and return its get_params() output.""" - sys.path.insert(0, str(SHARED)) - spec = importlib.util.spec_from_file_location( - f"prog_{phase_dir.name}", phase_dir / "initial_program.py" - ) - m = importlib.util.module_from_spec(spec) - spec.loader.exec_module(m) - return m.get_params() - - -def main(): - print("Probing z3 -p / z3 -pm / z3 -pm: ...") - valid = get_valid_keys() - out = SHARED / "z3_valid_keys.json" - out.write_text(json.dumps(sorted(valid), indent=2)) - print(f"wrote {out.relative_to(ROOT)} ({len(valid)} entries)\n") - - any_invalid = False - for ph in PHASES: - d = ROOT / ph - if not (d / "initial_program.py").exists(): - continue - params = load_program_params(d) - invalid = sorted(k for k in params if k not in valid) - status = "OK" if not invalid else f"INVALID x{len(invalid)}" - print(f"=== {ph}: {len(params)} keys, {status} ===") - for k in invalid: - print(f" - {k!r}") - print() - if invalid: - any_invalid = True - - if any_invalid: - print("Edit the offending initial_program.py files to remove or rename invalid keys.") - sys.exit(2) - print("All phase keys validate against `z3 -pm` introspection.") - - -if __name__ == "__main__": - main() diff --git a/input/z3-bench/evolve/verify_stage1_baseline.py b/input/z3-bench/evolve/verify_stage1_baseline.py deleted file mode 100644 index 820e3b4e87..0000000000 --- a/input/z3-bench/evolve/verify_stage1_baseline.py +++ /dev/null @@ -1,123 +0,0 @@ -""" -Verify stage1_sample.json reproducibility against raw baseline. - -For each of the 5 sampled problems, run z3 with BASELINE params and compare: - - result must match baseline_result - - elapsed_ms ratio (got / baseline) must lie in [LOW, HIGH] - -Per-problem timeout = baseline_ms (as recorded in raw data). -Single run per problem (no median). -""" -import json -import math -import pathlib -import sys - -_HERE = pathlib.Path(__file__).resolve().parent -sys.path.insert(0, str(_HERE / "shared")) - -from baseline_params import BASELINE # noqa: E402 -from z3_runner import run_z3 # noqa: E402 - -_BENCH_DIR = _HERE.parent -_RAW_DIR = _BENCH_DIR / "raw-data" -_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" -_STAGE1_SAMPLE = _HERE / "shared" / "stage1_sample.json" - -RATIO_LOW = 0.5 -RATIO_HIGH = 2.0 - - -def _load_sample_shas(): - return list(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) - - -def _index_problems_by_sha(): - idx = {} - with open(_PROBLEMS_JSONL) as f: - for line in f: - d = json.loads(line) - idx[d["problem_sha256"]] = { - "smt2": d["smt2_filename"], - "baseline_ms": d["z3_status"]["elapsed_ms"], - "baseline_result": d["z3_status"]["result"], - } - return idx - - -def verify(): - shas = _load_sample_shas() - idx = _index_problems_by_sha() - - rows = [] - fail = 0 - warn = 0 - for sha in shas: - meta = idx.get(sha) - if meta is None: - print(f"[FAIL] {sha[:12]} not in problems.jsonl") - fail += 1 - continue - - smt2_path = _RAW_DIR / meta["smt2"] - if not smt2_path.exists(): - print(f"[FAIL] {sha[:12]} missing smt2 {smt2_path}") - fail += 1 - continue - - timeout_s = max(1, math.ceil(meta["baseline_ms"] / 1000)) - r = run_z3(smt2_path, BASELINE, timeout_s) - - got_result = r.get("result", "Unknown") - got_ms = int(r.get("elapsed_ms", 0)) - is_timeout = bool(r.get("timeout")) - invalid = r.get("invalid_param") - err = r.get("error") - stderr = r.get("stderr") - - ratio = got_ms / max(meta["baseline_ms"], 1) - result_ok = (got_result == meta["baseline_result"]) - ratio_ok = RATIO_LOW <= ratio <= RATIO_HIGH - - if invalid: - status = "FAIL(invalid)" - fail += 1 - elif err: - status = "FAIL(error)" - fail += 1 - elif is_timeout or not result_ok: - status = "FAIL" - fail += 1 - elif not ratio_ok: - status = "WARN" - warn += 1 - else: - status = "OK" - - rows.append((sha, meta, got_result, got_ms, ratio, status, invalid, is_timeout, err, stderr)) - - print() - print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" - f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} status") - print("-" * 78) - for sha, meta, got_result, got_ms, ratio, status, invalid, is_timeout, err, stderr in rows: - extra = "" - if invalid: - extra = f" invalid={invalid}" - elif err: - extra = f" err={err[:200]}" - elif is_timeout: - extra = " (timeout)" - print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" - f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x {status}{extra}") - if stderr and err: - print(f" stderr: {stderr[:400]}") - - print() - print(f"summary: {len(rows) - fail - warn} ok, {warn} warn, {fail} fail " - f"(ratio band [{RATIO_LOW}, {RATIO_HIGH}], timeout=baseline_ms)") - return 0 if fail == 0 else 1 - - -if __name__ == "__main__": - sys.exit(verify()) From 1af4575b506b0f40900d2c8b6794ce79c6a256fa Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 1 Jun 2026 14:04:59 +0900 Subject: [PATCH 40/42] [chore] sampler stage reports, build_problems scripts, gitignore cleanup - _lib/sampler.py: print per-stage report (picks vs pool quartiles for baseline_ms + feature, result distribution, pick list with sha / result / ms / feature). Surfaces clustering quality + sample spread at a glance. - cpsat-bench/build_problems.py + z3-bench/build_problems.py: scan raw-data/*.meta.jsonl and emit problems.jsonl (one row per meta entry, sorted by sha + applied_params_hash). Replaces the raw-scan portion of the deleted build_samples.py wrappers. Flags: --filter-decisive, --applied-params-hash, --dry-run, --out. _lib stays solver-agnostic; these scripts handle solver-specific meta.jsonl format. - ADD_NEW_SOLVER.md: quick-start guide for integrating a new solver (cvc5, minizinc, picosat, ...). Covers raw-data layout, problems.jsonl schema, the 4 hand-edited per-bench files (config.yaml + params.json + adapter.py + _solve_worker.py), phase modules, verification steps, option decisions (score_mode / worker axis / buckets / clustering), common pitfalls, time estimates. - .gitignore: stop tracking locally-regenerated artifacts. Drop the dead `shared/*` patterns (refactor removed shared/), add: input/*/evolve/cache/ # _lib regenerates on demand input/*/evolve/final_program.py # _lib.finalize regenerates input/*/evolve/phase*/openevolve_output*/ input/*/evolve/phase*/__pycache__/ Untrack 8 previously-committed cache/stage{1..4}_sample.json files (still on disk, rebuilt by _lib.sampler). - cpsat/z3 config.yaml: minor knob tweaks (user-side feature-path tuning during smoke runs). Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 21 +- input/ADD_NEW_SOLVER.md | 664 ++++++++++++++++++ input/_lib/sampler.py | 77 +- input/cpsat-bench/build_problems.py | 122 ++++ .../evolve/cache/stage1_sample.json | 79 --- .../evolve/cache/stage2_sample.json | 79 --- .../evolve/cache/stage3_sample.json | 44 -- .../evolve/cache/stage4_sample.json | 149 ---- input/cpsat-bench/evolve/config.yaml | 8 +- input/z3-bench/build_problems.py | 122 ++++ .../z3-bench/evolve/cache/stage1_sample.json | 44 -- .../z3-bench/evolve/cache/stage2_sample.json | 44 -- .../z3-bench/evolve/cache/stage3_sample.json | 44 -- .../z3-bench/evolve/cache/stage4_sample.json | 149 ---- input/z3-bench/evolve/config.yaml | 2 +- 15 files changed, 998 insertions(+), 650 deletions(-) create mode 100644 input/ADD_NEW_SOLVER.md create mode 100644 input/cpsat-bench/build_problems.py delete mode 100644 input/cpsat-bench/evolve/cache/stage1_sample.json delete mode 100644 input/cpsat-bench/evolve/cache/stage2_sample.json delete mode 100644 input/cpsat-bench/evolve/cache/stage3_sample.json delete mode 100644 input/cpsat-bench/evolve/cache/stage4_sample.json create mode 100644 input/z3-bench/build_problems.py delete mode 100644 input/z3-bench/evolve/cache/stage1_sample.json delete mode 100644 input/z3-bench/evolve/cache/stage2_sample.json delete mode 100644 input/z3-bench/evolve/cache/stage3_sample.json delete mode 100644 input/z3-bench/evolve/cache/stage4_sample.json diff --git a/.gitignore b/.gitignore index 39007b6e08..6abec3a4ac 100644 --- a/.gitignore +++ b/.gitignore @@ -59,15 +59,14 @@ problems input/z3-bench/raw-data input/cpsat-bench/raw-data -# z3-bench evolve run artifacts (locally regenerated) -input/z3-bench/evolve/shared/local_baseline.json -input/z3-bench/evolve/shared/phase*_best.json +# Bench evolve cache (locally regenerated by _lib.sampler / _lib.rebaseline / +# _lib.extract_best / _lib.prepare_phase). Safe to delete. +input/*/evolve/cache/ -# cpsat-bench evolve run artifacts (locally regenerated) -input/cpsat-bench/evolve/shared/local_baseline.json -input/cpsat-bench/evolve/shared/outliers.json -input/cpsat-bench/evolve/shared/has_objective_cache.json -input/cpsat-bench/evolve/shared/*_sample.json -input/cpsat-bench/evolve/shared/phase*_best.json -input/cpsat-bench/evolve/shared/phase*_buckets.json -input/cpsat-bench/evolve/shared/phase*_stage3.json +# Bench evolve final artifact (locally regenerated by _lib.finalize from the +# last phase's best_program.py — depends on local evolution run state). +input/*/evolve/final_program.py + +# OpenEvolve per-phase output (LLM evolution artifacts). +input/*/evolve/phase*/openevolve_output*/ +input/*/evolve/phase*/__pycache__/ diff --git a/input/ADD_NEW_SOLVER.md b/input/ADD_NEW_SOLVER.md new file mode 100644 index 0000000000..4a2410ab44 --- /dev/null +++ b/input/ADD_NEW_SOLVER.md @@ -0,0 +1,664 @@ +# Adding a New Solver — Quick Start Guide + +새 solver (e.g. `cvc5`, `minizinc`, `picosat`, `vampire`)를 OpenEvolve +파라미터 튜닝 파이프라인에 통합하는 절차. 모든 orchestration은 `_lib/`이 +담당하므로 **per-bench 작업물은 4 파일 + N개 phase 모듈**. + +--- + +## 0. 전체 그림 + +``` +input/-bench/ +├── raw-data/ # 사용자가 제공 — solver run 결과 +│ ├── . # 문제 파일 (binary or text) +│ └── ____seed0.meta.jsonl # optional run metadata +├── problems.jsonl # baseline 실행 기록 (필수) +└── evolve/ + ├── config.yaml # ① bench / LLM / clustering / evaluation + ├── params.json # ② 솔버 파라미터 카탈로그 + ├── adapter.py # ③ 솔버 hooks + ├── _solve_worker.py # ④ subprocess entry + ├── phase1_/initial_program.py + ├── phase2_/initial_program.py + └── ... (phase 수 자유) +``` + +`_lib/`는 한 줄도 수정 안 함. 모든 솔버 의존성은 위 6종에 격리. + +--- + +## 1. 입력 데이터 준비 (사용자 제공) + +### 1.1 `input/-bench/raw-data/` + +각 문제 1개당 1개 파일. 확장자 자유 (예: `.smt2`, `.cpsat.pb`, `.mzn`, `.cnf`). + +권장 파일명: +``` +. +``` + +(SHA-256은 문제 내용 hash. 재현성 / dedup 기준.) + +### 1.2 `input/-bench/problems.jsonl` + +**사용자가 직접 작성하는 필수 input.** `_lib/sampler.py`는 이 파일을 읽기만 +함 (생성 안 함). 솔버별 raw-data → problems.jsonl 변환은 솔버별 스크립트로 +사용자가 작성 (`_lib`에서 generic화하기엔 meta format이 솔버마다 너무 +다름 — cpsat은 `cpsat_response_stats` + protobuf 카운터, z3는 +`z3_statistics` + 35종 카운터, 신규 솔버는 자유). + +옛 cpsat `build_samples.py` (refactor에서 제거됨)에는 `raw-data/*.meta.jsonl`을 +스캔해서 `problems.jsonl`을 생성하는 로직이 있었음. 그 부분은 +**cpsat-bench 전용 사용자 스크립트로 따로 보존하거나** `raw-data/load_script.sh` +등에 통합 권장 — `_lib`로 옮기지 않음. + +한 줄 = 한 문제. 한 번의 baseline 실행 기록. 필수 필드: + +```json +{ + "problem_sha256": "", + "_filename": ".", // adapter.PROBLEM_FILE_FIELD가 가리킴 + "_status": { // adapter.STATUS_FIELD가 가리킴 + "result": "Sat", // adapter.DECISIVE_RESULTS 중 하나 + "elapsed_ms": 1234, + "objective_value": 42.0 // OBJECTIVE_FIELD 정의 시 + }, + "_response_stats": { // optional (adapter.STATS_FIELD) + "conflicts": 100, + "decisions": 200 + }, + "features": { // 필수 (clustering 용) + "num_variables": 1000, + "num_constraints": 5000, + "num_hard_constraints": 4000, + "num_soft_constraints": 1000 + } +} +``` + +필드명은 자유 (adapter.py에 정확한 키를 알려주면 됨). features 안에 무엇이 +들어가는지도 자유 — adapter.get_problem_size(features)가 어떤 키 읽는지 결정. + +### 1.3 `meta.jsonl` (optional) + +각 (sha, hash, seed) 조합당 1개 파일. cpsat / z3는 이걸 historical 기록으로 +유지하지만 `_lib`은 사용 안 함 — `problems.jsonl`만 읽음. 새 솔버는 needed +없으면 생략 가능. + +용도: raw-data 갱신 시 `problems.jsonl`을 재구축하는 **사용자 측 스크립트**의 +input. `_lib`는 관여 안 함. + +### 1.4 `problems.jsonl` 생성 워크플로 (사용자 측) + +`_lib` 외부에서 다음 중 하나를 선택: + +**옵션 a. 수동 작성** — 새 솔버 / 소규모 dataset. + +**옵션 b. 솔버 전용 build 스크립트** — raw-data 스캔 + 변환. 예시: +```bash +# input/-bench/build_problems_jsonl.py (사용자 작성) +python3 input/-bench/build_problems_jsonl.py +# → input/-bench/problems.jsonl 작성 +``` + +옛 cpsat `build_samples.py`의 `_scan_raw()` 함수를 참고용 (git history) → +신규 솔버는 비슷한 패턴으로 자체 스크립트 작성. + +**옵션 c. raw-data와 함께 사전 배포** — z3-bench가 사용하는 패턴. dataset +저자가 미리 `problems.jsonl`을 생성해 함께 commit. + +--- + +## 2. 작성할 4개 파일 + +### 2.1 `evolve/config.yaml` (① bench 설정) + +가장 짧은 예시 (필수 부분만): + +```yaml +bench: + phases: + - dir: phase1_main + iters: 40 + - dir: phase2_unified + iters: 40 + + unified_prepare_before_dir: phase2_unified + unified_dict_name: UNIFIED_OVERRIDES + + solver_check_cmd: "command -v " + solver_install_hint: "install: brew install " + + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + + clustering: + method: kmeans # kmeans | quintile | thresholds + feature: features.num_constraints # dotted path into problems.jsonl record + n_clusters: 5 + max_baseline_ms: 300000 # drop outliers > 5min + spread: quintile + stage_sizes: {stage1: 10, stage2: 10, stage3: 5, stage4: 20} + stage_clusters: + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + + evaluation: + repeats: 10 # 10-run averaging (standard) + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: speedup # speedup | cost + enable_size_buckets: false # opt-in: SIZE_BUCKETS surface + enable_outlier_stage: false # opt-in: STAGE3_OVERRIDES + +parallel_solvers: 2 + +max_iterations: 40 +checkpoint_interval: 10 +log_level: "INFO" +random_seed: 42 + +llm: + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 1.0 + +prompt: + system_message: | + Tune parameters for . + EVOLVE-BLOCK exposes a dict; mutate it to MAXIMIZE combined_score. + Hard rules: + - Do NOT modify locked keys (see params.json `locked`). + - Use only valid param keys (catalog validation enforced). + - Score = geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. + +database: + num_islands: 3 + +evaluator: + timeout: 1800 + cascade_evaluation: true + cascade_thresholds: [1.03, 1.03, 1.03] + parallel_evaluations: 1 +``` + +### 2.2 `evolve/params.json` (② 파라미터 카탈로그) + +```json +{ + "solver": "", + "version": "", + + "defaults": { + "": , + "": + }, + + "locked": { + "": 0 + }, + + "groups": { + "search": { + "description": "Branching and restart strategy.", + "params": { + "": { + "type": "enum", + "values": ["a", "b", "c"], + "default": "a", + "desc": "What this knob does." + }, + "": { + "type": "int", + "default": 100, + "range": [0, 10000], + "desc": "..." + }, + "": { + "type": "bool", + "default": true, + "desc": "..." + }, + "": { + "type": "list", + "element_type": "subsolver", + "default": [], + "desc": "..." + } + } + } + }, + + "subsolver_names": [] +} +``` + +지원 타입: `int`, `float`, `bool`, `str`, `enum` (with `values`), `list` (with +optional `element_type: subsolver`). + +`defaults`는 BASELINE 역할 (구 `baseline_params.py` 대체). `locked`는 LLM이 +바꾸면 즉시 `combined_score=0`이 되는 키. + +### 2.3 `evolve/adapter.py` (③ 솔버 hooks) + +```python +"""-bench solver hooks.""" + +SOLVER_NAME = "" + +# problems.jsonl 필드 매핑 +PROBLEM_FILE_FIELD = "_filename" # 문제 파일명 키 +STATUS_FIELD = "_status" # nested {"result", "elapsed_ms", ...} +STATS_FIELD = "_response_stats" # None ok (baseline에 stats 없을 때) +FEATURES_FIELD = "features" +OBJECTIVE_FIELD = "objective_value" # STATUS_FIELD 내부 path; None ok + +# 결과 분류 +DECISIVE_RESULTS = ("Sat", "Unsat") # solver가 "확실히 풀었다"는 결과 +DECIDED_RESULTS = ("Sat", "Unsat") # regression 판정 기준 + +# 평가 metric에 surface할 solver 카운터 +KEY_STATS = ("conflicts", "decisions", "propagations") + +# Efficiency factor의 stat key별 weight +STATS_WEIGHTS = { + "conflicts": 2.0, + "decisions": 1.5, + "propagations": 0.5, +} + +# Score mode default (config.yaml evaluation.score_mode가 override) +SCORE_MODE = "speedup" + +# Worker count axis가 있는 솔버이면 키 이름, 없으면 None +WORKERS_KEY = None # cpsat: "num_search_workers" + + +def get_problem_size(features): + """Clustering feature 추출. 어떤 값으로 문제를 클러스터링할지.""" + return int((features or {}).get("num_constraints") or 0) +``` + +### 2.4 `evolve/_solve_worker.py` (④ subprocess entry) + +`_lib.subprocess_runner.run_solver`가 호출함. argv 계약: +``` +argv[1] JSON string of params dict +argv[2] problem file path +argv[3] timeout_s (int) +``` + +stdout: 마지막 비어 있지 않은 줄에 JSON 결과 한 개. + +success: +```json +{"result": "Sat", "elapsed_ms": 1234, "stats": {"conflicts": 100, ...}, "objective": 42.0} +``` + +invalid param: +```json +{"invalid_param": "", "error": "", "result": "Unknown", "elapsed_ms": 0} +``` + +크래시: +```json +{"result": "Unknown", "elapsed_ms": 0, "error": ""} +``` + +timeout은 `_lib.subprocess_runner`가 처리하므로 worker는 신경 안 써도 됨. + +템플릿 (Python solver binding 가정): +```python +import json +import sys +import time + + +def emit(d): + print(json.dumps(d)) + sys.stdout.flush() + + +def main(): + if len(sys.argv) != 4: + emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) + return + + params_json, problem_path, timeout_s = sys.argv[1], sys.argv[2], int(sys.argv[3]) + try: + params = json.loads(params_json) + except json.JSONDecodeError as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"params parse: {e}"}) + return + + # 1. 솔버 instance 생성 + params 적용 + try: + import + solver = .Solver() + for k, v in params.items(): + solver.set_param(k, v) + except .InvalidParamError as e: + emit({"invalid_param": str(e), "error": str(e), + "result": "Unknown", "elapsed_ms": 0}) + return + + # 2. 문제 로드 + with open(problem_path) as f: + solver.parse(f.read()) + + # 3. 실행 + t0 = time.monotonic() + try: + result = solver.solve(timeout_s) + except TimeoutError: + emit({"result": "Unknown", "elapsed_ms": int((time.monotonic() - t0) * 1000), + "timeout": True, "stats": {}}) + return + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": str(e), "stats": {}}) + return + + elapsed_ms = int((time.monotonic() - t0) * 1000) + emit({ + "result": result, # "Sat" / "Unsat" / "Unknown" / "OPTIMAL" / ... + "elapsed_ms": elapsed_ms, + "stats": solver.statistics(), # dict of numeric counters + "objective": solver.objective(), # optional + }) + + +if __name__ == "__main__": + main() +``` + +CLI 솔버 (binary)면 `subprocess.run([solver_binary, ...])` 호출 후 stdout 파싱. + +--- + +## 3. Phase 모듈 작성 + +`evolve/phase{N}_/initial_program.py` 1개씩. + +### 3.1 단순 phase (z3-style — flat overrides) + +```python +""" +Phase 1: tune 's knobs. + +Targeted namespace: , , . +Other params stay at BASELINE. + +Do NOT modify locked keys. +""" +import os +import pathlib +import sys + + +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError("OPENEVOLVE_BENCH_ROOT unset") + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults + + +# EVOLVE-BLOCK-START +OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(OVERRIDES) +``` + +### 3.2 cpsat-style phase (SIZE_BUCKETS + STAGE3_OVERRIDES + worker lock) + +`config.yaml`의 `evaluation.enable_size_buckets: true`일 때만: + +```python +import os, pathlib, sys +# ... _resolve_bench_root + BASELINE 동일 ... + +PHASE_LOCKED = { + "": 0, + "": 1, # adapter.WORKERS_KEY와 일치 +} + + +# EVOLVE-BLOCK-START +GLOBAL_OVERRIDES = {} +SIZE_BUCKETS = [ + (50_000, {}), + (150_000, {}), + (float("inf"), {}), +] +STAGE3_OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def _bucket_override(size): + for upper, override in SIZE_BUCKETS: + if size < upper: + return override + return {} + + +def get_params(problem=None, stage=None): + p = dict(BASELINE) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_bucket_override(int(problem.get("size") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(STAGE3_OVERRIDES) + p.update(PHASE_LOCKED) + return p + + +def get_phase_overrides(): + return dict(GLOBAL_OVERRIDES) + + +def get_phase_size_buckets(): + return [(u, dict(d)) for u, d in SIZE_BUCKETS] + + +def get_phase_stage3_overrides(): + return dict(STAGE3_OVERRIDES) +``` + +### 3.3 Unified phase (마지막 phase) + +```python +""" +Unified refinement — EVOLVE-BLOCK 자동 머터리얼됨. +prepare_phase가 phase{1..N-1}_best.json union으로 채움. +""" +# ... 동일한 prelude ... + +# EVOLVE-BLOCK-START +UNIFIED_OVERRIDES = {} # 자동 채워짐 — config.yaml의 unified_dict_name과 일치 +# EVOLVE-BLOCK-END + +def get_params(): + p = dict(BASELINE) + p.update(UNIFIED_OVERRIDES) + return p + +def get_phase_overrides(): + return dict(UNIFIED_OVERRIDES) +``` + +### 3.4 Phase 모듈 핵심 contract + +| 항목 | 필수 / 선택 | 용도 | +|---|---|---| +| `BASELINE` | 필수 | `params_catalog.load_for_bench(_BENCH).defaults` | +| `PHASE_LOCKED` | 선택 (worker 차등 시 필수) | 평가 시 LOCK 강제 | +| `EVOLVE-BLOCK-START/END` 마커 | 필수 | LLM mutation 범위 + prepare_phase target | +| `get_params(problem=None, stage=None)` | 필수 | 평가자가 호출하는 entry point | +| `get_phase_overrides()` | 필수 (마지막 phase 제외) | extract_best가 dict 추출 | +| `get_phase_size_buckets()` | 선택 (enable_size_buckets 시) | SIZE_BUCKETS 추출 | +| `get_phase_stage3_overrides()` | 선택 (enable_outlier_stage 시) | STAGE3_OVERRIDES 추출 | + +--- + +## 4. 동작 검증 절차 + +```bash +# 0. 솔버 binding 설치 확인 +python3 -c "import ; print(.__version__)" + +# 1. catalog 로드 + validation 확인 +python3 -c " +from _lib import params_catalog +c = params_catalog.load('input/-bench/evolve/params.json') +print('keys:', len(c.known_keys()), 'defaults:', len(c.defaults), 'locked:', len(c.locked)) +print('validate ok:', c.validate(c.defaults)) +print('validate bogus:', c.validate({'fake_key': 1})) +" + +# 2. sampler — clustering + stage 분할 +python3 -m _lib.sampler -bench +# Expect: cache/stage{1..4}_sample.json 생성 + +# 3. self_test — BASELINE으로 stage1 1회 평가 +python3 -m _lib.self_test -bench +# Expect: 결과 라벨 매치 + ratio [0.5, 2.0] 권장 (WARN ok) + +# 4. rebaseline — 로컬 baseline 캡쳐 (10회 평균) +python3 -m _lib.rebaseline -bench +# Expect: cache/local_baseline.json 생성 + +# 5. 1 phase smoke run (적은 iter로) +./input/run_phase.sh -bench 1 --pin 2-3 +# Expect: phase1/openevolve_output/best/best_program.py 생성 +# cache/phase1_best.json 생성 + +# 6. 전체 phase chain +./input/run_phase.sh -bench --pin 2-7 +# Expect: final_program.py 생성 +``` + +--- + +## 5. 옵션 결정 가이드 + +### 5.1 `score_mode` 선택 + +| 솔버 특성 | 추천 mode | +|---|---| +| baseline에 objective_value 있음, 최적화 문제 | `cost` | +| Sat/Unsat 만족도 + wall-clock 최소화 | `speedup` | +| Determinism work counter (예: cpsat의 deterministic_time) 있음 | `cost` + `time_metric: dtime` | + +### 5.2 Worker 축 있는 솔버? + +`PHASE_LOCKED["num_workers"] = N` 같은 phase별 차등 운영하면: +- adapter에 `WORKERS_KEY = ""` 명시 +- evaluator_core가 core block alloc 사용 +- rebaseline이 `by_workers` 스키마 사용 + +없으면: +- `WORKERS_KEY = None` +- 1 core per solve 단순 배분 + +### 5.3 SIZE_BUCKETS / STAGE3_OVERRIDES 활성? + +| 상황 | enable? | +|---|---| +| 문제 크기 분포 넓음 (예: ~7k–250k constraints, 점수 분포 multi-modal) | `enable_size_buckets: true` | +| 일부 outlier 문제가 score를 dominate | `enable_outlier_stage: true` + `cache/outliers.json` 채우기 | +| Pool 작거나 균일 | 둘 다 `false` | + +### 5.4 `clustering.method` + +| Method | 용도 | +|---|---| +| `kmeans` | 1D Lloyd's. 자연스러운 cluster boundary 자동 발견 | +| `quintile` | rank 기반 균등 분할. boundary 일관성 중요할 때 | +| `thresholds` | 사용자가 명시한 cut-off (`[50000, 150000]` → 3 bucket) | + +--- + +## 6. 흔한 함정 + +1. **`problems.jsonl` 필드명 mismatch** — adapter의 `PROBLEM_FILE_FIELD` / + `STATUS_FIELD`가 실제 JSON 키와 정확히 일치해야 함. typo 흔함. + +2. **`features.` 누락** — `clustering.feature: features.num_X`인데 + problems.jsonl에 `features.num_X` 없으면 sampler가 0으로 처리 → 모든 문제 + 1개 cluster로 뭉침. + +3. **DECISIVE vs DECIDED 혼동** — DECISIVE는 "솔버가 답을 줬다" (Sat/Unsat), + DECIDED는 "베이스라인이 확정 답을 줬으니 regression 비교 가능". 대부분의 + 솔버는 두 셋 동일하지만 cpsat은 다름 (FEASIBLE은 decisive지만 INFEASIBLE은 + decided에만). + +4. **`_solve_worker.py`에서 invalid param 미감지** — 솔버가 unknown key를 + silently ignore하면 catalog만으로 검증 안 됨. worker가 명시적으로 + `{"invalid_param": ""}` 출력해야 evaluator가 0점 부여. + +5. **Phase docstring 비워둠** — LLM이 phase intent 파악하는 유일한 채널. + "Phase X: tune " 한 줄이라도 적어두면 mutation 품질 차이 큼. + +6. **`unified_dict_name` 불일치** — config.yaml `bench.unified_dict_name`과 + 마지막 phase initial_program.py의 EVOLVE-BLOCK 내 dict 이름이 일치해야 + prepare_phase가 머터리얼 가능. + +7. **`worker_path` 경로** — config.yaml `bench.worker_path`는 `/evolve/` + 기준 상대 경로. `_solve_worker.py`가 evolve/ 루트에 있으면 그냥 + `_solve_worker.py` (디렉토리 prefix 없이). + +--- + +## 7. 작업 시간 견적 + +| 항목 | 예상 | +|---|---| +| raw-data 수집 + baseline 실행 (사용자 측 작업) | 가변 (수 시간 ~ 며칠) | +| problems.jsonl 생성 스크립트 작성 | 30분 - 1시간 | +| config.yaml 작성 | 30분 | +| params.json 작성 (50개 키 catalog) | 1-2시간 | +| adapter.py 작성 | 10분 | +| _solve_worker.py 작성 | 30분 - 2시간 (binding 복잡도에 따라) | +| phase 모듈 N개 작성 | 30분 (phase당 10분 × N) | +| 검증 + 디버깅 | 1-3시간 | +| **합계** | **반나절 - 1일** | + +--- + +## 8. 참고 — 기존 솔버 사례 + +| Solver | Score mode | Worker axis | Size buckets | Phases | +|---|---|---|---|---| +| z3 (`z3-bench`) | speedup | NO | NO | 4 (opt/sls + sat + smt + unified) | +| CP-SAT (`cpsat-bench`) | cost (dtime + cost_ratio) | YES (W=1, W=8) | YES | 5 (search + presolve + lp_cuts + unified + custom_subsolvers) | + +두 bench의 `params.json`, `adapter.py`, phase 모듈을 템플릿으로 참고. diff --git a/input/_lib/sampler.py b/input/_lib/sampler.py index 6a08c638d3..2c5edf5b8b 100644 --- a/input/_lib/sampler.py +++ b/input/_lib/sampler.py @@ -144,6 +144,74 @@ def _pick_spread(pool, n_pick, mode): return out +def _quartiles(values): + """Return (min, p25, median, p75, max) for a non-empty numeric list.""" + if not values: + return (0, 0, 0, 0, 0) + s = sorted(values) + n = len(s) + + def _pct(p): + idx = max(0, min(n - 1, int(round((n - 1) * p)))) + return s[idx] + + return (s[0], _pct(0.25), _pct(0.5), _pct(0.75), s[-1]) + + +def _fmt_ms(v): + if v >= 1000: + return f"{v / 1000:.1f}s" + return f"{int(v)}ms" + + +def _print_stage_report(stage_name, picks, pool, cluster_ids, + feature_path, baseline_ms, baseline_result, fname): + pool_n = len(pool) + picks_n = len(picks) + + if picks_n == 0: + print(f" {stage_name} ({fname}): 0 picks from clusters " + f"{cluster_ids} (pool={pool_n})") + return + + pick_ms = [baseline_ms(r) for r in picks] + pool_ms = [baseline_ms(r) for r in pool] + pick_feat = [float(_dotted(r, feature_path) or 0) for r in picks] + pool_feat = [float(_dotted(r, feature_path) or 0) for r in pool] + + p_lo, p_q1, p_med, p_q3, p_hi = _quartiles(pick_ms) + o_lo, o_q1, o_med, o_q3, o_hi = _quartiles(pool_ms) + f_lo, _, f_med, _, f_hi = _quartiles(pick_feat) + of_lo, _, of_med, _, of_hi = _quartiles(pool_feat) + + # Per-result count + counts = {} + for r in picks: + counts[baseline_result(r)] = counts.get(baseline_result(r), 0) + 1 + result_str = ", ".join(f"{k}={v}" for k, v in sorted(counts.items())) + + print() + print(f" {stage_name} ({fname}): {picks_n} picks from " + f"clusters {cluster_ids} (pool={pool_n})") + print(f" results: {result_str}") + print(f" picks baseline_ms: min={_fmt_ms(p_lo)} p25={_fmt_ms(p_q1)} " + f"median={_fmt_ms(p_med)} p75={_fmt_ms(p_q3)} max={_fmt_ms(p_hi)}") + print(f" pool baseline_ms: min={_fmt_ms(o_lo)} p25={_fmt_ms(o_q1)} " + f"median={_fmt_ms(o_med)} p75={_fmt_ms(o_q3)} max={_fmt_ms(o_hi)}") + print(f" picks {feature_path}: min={int(f_lo)} median={int(f_med)} " + f"max={int(f_hi)}") + print(f" pool {feature_path}: min={int(of_lo)} median={int(of_med)} " + f"max={int(of_hi)}") + print(" picks:") + for r in picks: + sha = r["problem_sha256"][:12] + ms = baseline_ms(r) + feat = int(_dotted(r, feature_path) or 0) + res = baseline_result(r) + print(f" {sha} {res:<10} {_fmt_ms(ms):>8} " + f"{feature_path}={feat}") + + def build_samples(bench_root, *, adapter=None): """Sample-build entry. `bench_root` is the absolute path to `/evolve/`.""" @@ -243,6 +311,9 @@ def _range(b): stage_clusters = cluster_cfg.get("stage_clusters") or {} spread = cluster_cfg.get("spread", "quintile") + print() + print(f"stages (spread={spread}, sizes={stage_sizes}):") + for stage_name in sorted(stage_sizes.keys()): n_pick = int(stage_sizes[stage_name]) cluster_ids = stage_clusters.get(stage_name) or [] @@ -269,8 +340,10 @@ def _range(b): } for r in picks], }, indent=2) + "\n" ) - print(f"wrote {sample_path.name} ({len(picks)} from clusters " - f"{cluster_ids})") + + _print_stage_report(stage_name, picks, merged, cluster_ids, + feature_path, _baseline_ms, _baseline_result, + sample_path.name) def main(argv=None): diff --git a/input/cpsat-bench/build_problems.py b/input/cpsat-bench/build_problems.py new file mode 100644 index 0000000000..8856e43bc0 --- /dev/null +++ b/input/cpsat-bench/build_problems.py @@ -0,0 +1,122 @@ +""" +Scan `raw-data/*.meta.jsonl` and emit `problems.jsonl` — one JSON per line, +sorted by SHA for deterministic diff. + +Each `____seed.meta.jsonl` file is a single JSON +object representing one baseline solver run. This script concatenates them +into the JSONL format `_lib.sampler` / `_lib.rebaseline` / `_lib.evaluator` +consume. + +Usage: + python3 input/cpsat-bench/build_problems.py [flags] + +Flags: + --filter-decisive keep only OPTIMAL / FEASIBLE rows + --applied-params-hash HASH restrict to one param profile (prefix match ok) + --dry-run print counts but don't write + --out PATH output path (default: problems.jsonl in bench root) + +Output schema (one row per meta.jsonl entry): + { + "problem_sha256": "", + "problem_filename": ".cpsat.pb", + "cpsat_status": {"result": "OPTIMAL", "elapsed_ms": 6896.45, ...}, + "cpsat_response_stats": {"num_branches": 79884, ...}, + "cpsat_applied_params": {...}, + "features": {"num_constraints": 51623, ...}, + "applied_params_hash": "...", + "z3_version" / "solver" / "path" / ... + } + +Re-run any time raw-data/ changes. Idempotent — overwrites problems.jsonl. +""" +import argparse +import json +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_RAW = _HERE / "raw-data" +_DEFAULT_OUT = _HERE / "problems.jsonl" + +_DECISIVE = ("OPTIMAL", "FEASIBLE") + + +def scan(raw_dir, *, filter_decisive=False, applied_hash_prefix=None): + metas = sorted(raw_dir.glob("*.meta.jsonl")) + if not metas: + raise SystemExit(f"no *.meta.jsonl under {raw_dir}") + rows = [] + bad = 0 + skipped_decisive = 0 + skipped_hash = 0 + for p in metas: + try: + d = json.loads(p.read_text()) + except json.JSONDecodeError as e: + print(f"WARN: bad json {p.name}: {e}", file=sys.stderr) + bad += 1 + continue + if not isinstance(d, dict): + bad += 1 + continue + if "problem_sha256" not in d or "problem_filename" not in d: + print(f"WARN: missing required fields in {p.name}", file=sys.stderr) + bad += 1 + continue + if applied_hash_prefix and not str(d.get("applied_params_hash", ""))\ + .startswith(applied_hash_prefix): + skipped_hash += 1 + continue + if filter_decisive: + res = (d.get("cpsat_status") or {}).get("result") + if res not in _DECISIVE: + skipped_decisive += 1 + continue + rows.append(d) + rows.sort(key=lambda r: (r["problem_sha256"], r.get("applied_params_hash", ""))) + return rows, {"bad": bad, "skipped_decisive": skipped_decisive, + "skipped_hash": skipped_hash, "scanned": len(metas)} + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("--filter-decisive", action="store_true", + help="keep only OPTIMAL / FEASIBLE rows") + ap.add_argument("--applied-params-hash", type=str, default=None, + help="restrict to applied_params_hash starting with this prefix") + ap.add_argument("--dry-run", action="store_true", + help="print counts but don't write") + ap.add_argument("--out", type=pathlib.Path, default=_DEFAULT_OUT, + help=f"output path (default: {_DEFAULT_OUT.name})") + args = ap.parse_args() + + rows, stats = scan(_RAW, + filter_decisive=args.filter_decisive, + applied_hash_prefix=args.applied_params_hash) + print(f"scanned {stats['scanned']} meta.jsonl files") + if stats["bad"]: + print(f" skipped {stats['bad']} malformed") + if stats["skipped_hash"]: + print(f" skipped {stats['skipped_hash']} non-matching applied_params_hash") + if stats["skipped_decisive"]: + print(f" skipped {stats['skipped_decisive']} non-decisive baselines") + print(f" kept {len(rows)} rows") + + if args.dry_run: + print("(dry-run — no write)") + return + + args.out.parent.mkdir(parents=True, exist_ok=True) + with open(args.out, "w") as f: + for r in rows: + f.write(json.dumps(r) + "\n") + try: + rel = args.out.relative_to(_HERE.parent) + except ValueError: + rel = args.out + print(f"wrote {rel} ({len(rows)} rows)") + + +if __name__ == "__main__": + main() diff --git a/input/cpsat-bench/evolve/cache/stage1_sample.json b/input/cpsat-bench/evolve/cache/stage1_sample.json deleted file mode 100644 index 344e6096a8..0000000000 --- a/input/cpsat-bench/evolve/cache/stage1_sample.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "selection": "10 from 352 candidates", - "criteria": "kmeans-clusters=[0, 1] feature=features.num_constraints spread=quintile", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", - "d7e09c73e7c387ce90ed94c06031780e15353ec9e09ac3a8d2ce6cb1af0dc6f9", - "2c283b1f086ec33a86a8cf25694b14acb56c62c180fb239dd3813e63d7c3a137", - "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", - "cda37747aa2ae783bc3093f9fadf7f26653039f6e52fbfc193cae8538c2777e4", - "303a6733c9ec03beaf7942544bf89ce2ecba38c65ae2e6a93e248b36e6b7fc2a", - "41f6ecf9ca6462dcb7ca49e028b2970175579c0250058e0430e979a04435bf09", - "7a78d4951c1a8b67cebf1dd62ec358ef792f9fd6000319b75cda30b8a24775e6", - "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", - "ba0fe698c28be555ec428f05daa2aa901ecf9694c6c23043b76a91a7a847b111" - ], - "summary": [ - { - "sha": "5976726485c2", - "baseline_result": "OPTIMAL", - "baseline_ms": 105.102, - "features.num_constraints": 7361 - }, - { - "sha": "d7e09c73e7c3", - "baseline_result": "OPTIMAL", - "baseline_ms": 688.182, - "features.num_constraints": 20658 - }, - { - "sha": "2c283b1f086e", - "baseline_result": "OPTIMAL", - "baseline_ms": 1361.71, - "features.num_constraints": 20886 - }, - { - "sha": "cda37747aa2a", - "baseline_result": "OPTIMAL", - "baseline_ms": 1928.9, - "features.num_constraints": 15385 - }, - { - "sha": "cda37747aa2a", - "baseline_result": "OPTIMAL", - "baseline_ms": 2872.95, - "features.num_constraints": 15385 - }, - { - "sha": "303a6733c9ec", - "baseline_result": "OPTIMAL", - "baseline_ms": 3530.81, - "features.num_constraints": 20766 - }, - { - "sha": "41f6ecf9ca64", - "baseline_result": "OPTIMAL", - "baseline_ms": 5144.56, - "features.num_constraints": 21983 - }, - { - "sha": "7a78d4951c1a", - "baseline_result": "OPTIMAL", - "baseline_ms": 7019.67, - "features.num_constraints": 30546 - }, - { - "sha": "6396211e6842", - "baseline_result": "OPTIMAL", - "baseline_ms": 8973.46, - "features.num_constraints": 31882 - }, - { - "sha": "ba0fe698c28b", - "baseline_result": "OPTIMAL", - "baseline_ms": 25129, - "features.num_constraints": 15565 - } - ] -} diff --git a/input/cpsat-bench/evolve/cache/stage2_sample.json b/input/cpsat-bench/evolve/cache/stage2_sample.json deleted file mode 100644 index bf1bd8e7a4..0000000000 --- a/input/cpsat-bench/evolve/cache/stage2_sample.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "selection": "10 from 332 candidates", - "criteria": "kmeans-clusters=[2, 3] feature=features.num_constraints spread=quintile", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "4c230e355482c3652bd60bf83cf4ad77382cdb0b9abe08c27007683545e8f071", - "9c3c55cd54e6074a7e2732ccfaac2e90698141e7e9fb30c946657a21fb186061", - "6ecbb5bc3a035ad7b51348fac58112aa35296e0e6ae9405119a1296fb9384045", - "e5c9e667fbee60ca8a589904e1a7afc30c81394efd58e388a9f63470fa4ea406", - "b13bb2432694ba5fe9768abc03525698986ba13ffe70a7112b90bd7fbad02aec", - "f7041abae337b502aa03618b1c0f40cc693acb9c0bd48efe21b41c42a7849bef", - "f77cdd0764d8aa490133369275f4d62d71f47133f6102d90caa9a799c69ddc63", - "f5931bc8ee19786a4ade31e56bdc19d415c4dbfa42da07785765944fe6748326", - "a46c87c567e8ea0a6fa70198b83d8523a69f38448aeafbb35a956a845987993a", - "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d" - ], - "summary": [ - { - "sha": "4c230e355482", - "baseline_result": "OPTIMAL", - "baseline_ms": 3021.82, - "features.num_constraints": 42727 - }, - { - "sha": "9c3c55cd54e6", - "baseline_result": "OPTIMAL", - "baseline_ms": 4022.2, - "features.num_constraints": 58096 - }, - { - "sha": "6ecbb5bc3a03", - "baseline_result": "OPTIMAL", - "baseline_ms": 5580.53, - "features.num_constraints": 58433 - }, - { - "sha": "e5c9e667fbee", - "baseline_result": "OPTIMAL", - "baseline_ms": 6608.39, - "features.num_constraints": 47566 - }, - { - "sha": "b13bb2432694", - "baseline_result": "OPTIMAL", - "baseline_ms": 8842.37, - "features.num_constraints": 57828 - }, - { - "sha": "f7041abae337", - "baseline_result": "OPTIMAL", - "baseline_ms": 11511.1, - "features.num_constraints": 38286 - }, - { - "sha": "f77cdd0764d8", - "baseline_result": "OPTIMAL", - "baseline_ms": 14497.4, - "features.num_constraints": 47233 - }, - { - "sha": "f5931bc8ee19", - "baseline_result": "OPTIMAL", - "baseline_ms": 18510.4, - "features.num_constraints": 45243 - }, - { - "sha": "a46c87c567e8", - "baseline_result": "OPTIMAL", - "baseline_ms": 25758.6, - "features.num_constraints": 62282 - }, - { - "sha": "58d58a76371e", - "baseline_result": "OPTIMAL", - "baseline_ms": 80851.6, - "features.num_constraints": 64588 - } - ] -} diff --git a/input/cpsat-bench/evolve/cache/stage3_sample.json b/input/cpsat-bench/evolve/cache/stage3_sample.json deleted file mode 100644 index 0c90536be7..0000000000 --- a/input/cpsat-bench/evolve/cache/stage3_sample.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "selection": "5 from 48 candidates", - "criteria": "kmeans-clusters=[4] feature=features.num_constraints spread=quintile", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "c8c8858fad7755abe96b96b28bcbb93492fb84c5213e56797044f8ec51fbdf8a", - "5b8c61f99d31fed9077ef475613e5be6648f55f2a47bcc92c0e5d0e3b41ecb94", - "27507e95cd8529c2ce7e9fcadb691f9c84506e44508d53f94b13bfaa503d7763", - "0776535f7fe277d05332ab5ee5a53406868e0bbca6f2b620ff23da961bc074a6", - "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d" - ], - "summary": [ - { - "sha": "c8c8858fad77", - "baseline_result": "OPTIMAL", - "baseline_ms": 8928.37, - "features.num_constraints": 85434 - }, - { - "sha": "5b8c61f99d31", - "baseline_result": "OPTIMAL", - "baseline_ms": 19871.1, - "features.num_constraints": 85727 - }, - { - "sha": "27507e95cd85", - "baseline_result": "OPTIMAL", - "baseline_ms": 45439.7, - "features.num_constraints": 97536 - }, - { - "sha": "0776535f7fe2", - "baseline_result": "OPTIMAL", - "baseline_ms": 76005.7, - "features.num_constraints": 126364 - }, - { - "sha": "38e83ff25869", - "baseline_result": "OPTIMAL", - "baseline_ms": 118894, - "features.num_constraints": 135485 - } - ] -} diff --git a/input/cpsat-bench/evolve/cache/stage4_sample.json b/input/cpsat-bench/evolve/cache/stage4_sample.json deleted file mode 100644 index eb8d71ad34..0000000000 --- a/input/cpsat-bench/evolve/cache/stage4_sample.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "selection": "20 from 732 candidates", - "criteria": "kmeans-clusters=[0, 1, 2, 3, 4] feature=features.num_constraints spread=quintile", - "source": "cpsat-bench/problems.jsonl", - "sha256": [ - "5976726485c23db055e872eabd8a172c73609854b8c228b47ccf42422bf7c8b5", - "67f5fac68782f2951e196e4ae8273a46728b821ae433617aaf6d3242d36d5657", - "90e1185ded530d8fbb2b773076a2fdbdfbb9a725f2fc07b4d8b8280e93069b54", - "6c64b95d90a6caf1573da836e471273a2845a145a3ce07ccc4124cf7654bc226", - "024c5d8184d58d42edd90236a3922645eb1d0d94f1691afc6068b1d66a87ac5a", - "40d5a4d59eb7467a69cb957e595b84c37998dd03e00f071ad1063e219053a924", - "5978abbd9b38469692be7af1f78c5fd15d0736c6192c38ba083c6ca4778659a5", - "1bbeb46bf12047759193db1b6d07e587c7274c1c0b7623c1f146535eb7920965", - "1cbb4fb20584a2df3ff85a980e992daccf8381fb6da66657c08a35a9f6f61fe3", - "683f174a879de4bb230fe99336ee2df4ccb16d43051717a616a6bd5bfbdabfa5", - "0072ac8710594a94dcd7c8c2c6823756922cac11f5c15b2e655b9b081bedf6bc", - "6396211e6842d6969cce80194013fff987eb3e308c435eccd942b5007dec4639", - "d1b2c9992efda91256f54b5da850272632e2cd7a46cab2a4e81f74cedf156620", - "ccfac7f93fb9565b6c623253e6a722369a005a8479fe7e6d3112942ed39d274f", - "78efbf308c9f28e54d3cad8847352b9a8b3abd79a7017e40247b96b73692c5a3", - "58d58a76371ef7762bf96386ce5d2677d1bfc7d7df745d40f4a02bd30006662d", - "d381b7ed2453aa3404ecf44978c151549d5166e44f9359a2d61b3e2c19b84d0a", - "e272c0e4899bd231855a0205e36e42663a9208b44d081e1149dc37bdafe3a33d", - "62835d0eb69fc765c6c7a3e9536c90861584976cf492d552c8207ee2c9893abc", - "38e83ff258692eadb3c637027ef94f7c4f1ff1790c584444cba3c4f450281b9d" - ], - "summary": [ - { - "sha": "5976726485c2", - "baseline_result": "OPTIMAL", - "baseline_ms": 105.102, - "features.num_constraints": 7361 - }, - { - "sha": "67f5fac68782", - "baseline_result": "OPTIMAL", - "baseline_ms": 680.4, - "features.num_constraints": 14600 - }, - { - "sha": "90e1185ded53", - "baseline_result": "OPTIMAL", - "baseline_ms": 1323.68, - "features.num_constraints": 20644 - }, - { - "sha": "6c64b95d90a6", - "baseline_result": "OPTIMAL", - "baseline_ms": 1883.75, - "features.num_constraints": 30419 - }, - { - "sha": "024c5d8184d5", - "baseline_result": "OPTIMAL", - "baseline_ms": 2818.52, - "features.num_constraints": 22871 - }, - { - "sha": "40d5a4d59eb7", - "baseline_result": "OPTIMAL", - "baseline_ms": 3245.66, - "features.num_constraints": 44649 - }, - { - "sha": "5978abbd9b38", - "baseline_result": "OPTIMAL", - "baseline_ms": 3841.35, - "features.num_constraints": 58639 - }, - { - "sha": "1bbeb46bf120", - "baseline_result": "OPTIMAL", - "baseline_ms": 4447.05, - "features.num_constraints": 36510 - }, - { - "sha": "1cbb4fb20584", - "baseline_result": "OPTIMAL", - "baseline_ms": 5391.62, - "features.num_constraints": 37775 - }, - { - "sha": "683f174a879d", - "baseline_result": "OPTIMAL", - "baseline_ms": 6172.22, - "features.num_constraints": 57490 - }, - { - "sha": "0072ac871059", - "baseline_result": "OPTIMAL", - "baseline_ms": 6896.45, - "features.num_constraints": 51623 - }, - { - "sha": "6396211e6842", - "baseline_result": "OPTIMAL", - "baseline_ms": 7668.06, - "features.num_constraints": 31882 - }, - { - "sha": "d1b2c9992efd", - "baseline_result": "OPTIMAL", - "baseline_ms": 8999.29, - "features.num_constraints": 40187 - }, - { - "sha": "ccfac7f93fb9", - "baseline_result": "OPTIMAL", - "baseline_ms": 10637.7, - "features.num_constraints": 47437 - }, - { - "sha": "78efbf308c9f", - "baseline_result": "OPTIMAL", - "baseline_ms": 12361.7, - "features.num_constraints": 56476 - }, - { - "sha": "58d58a76371e", - "baseline_result": "OPTIMAL", - "baseline_ms": 14827, - "features.num_constraints": 64588 - }, - { - "sha": "d381b7ed2453", - "baseline_result": "OPTIMAL", - "baseline_ms": 18205, - "features.num_constraints": 52885 - }, - { - "sha": "e272c0e4899b", - "baseline_result": "OPTIMAL", - "baseline_ms": 24607.7, - "features.num_constraints": 61671 - }, - { - "sha": "62835d0eb69f", - "baseline_result": "OPTIMAL", - "baseline_ms": 43607.7, - "features.num_constraints": 61665 - }, - { - "sha": "38e83ff25869", - "baseline_result": "OPTIMAL", - "baseline_ms": 118894, - "features.num_constraints": 135485 - } - ] -} diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index e7820b47d8..cc7f69f13f 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -35,14 +35,14 @@ bench: # === Clustering / stage sampling (consumed by _lib.sampler). === clustering: - method: kmeans # kmeans | quintile | thresholds - feature: features.num_constraints + method: quintile # kmeans | quintile | thresholds + feature: cpsat_status.elapsed_ms n_clusters: 5 max_baseline_ms: 120000 # drop outliers > 120s from sample pool spread: quintile stage_sizes: - stage1: 10 - stage2: 10 + stage1: 5 + stage2: 5 stage3: 5 stage4: 20 stage_clusters: diff --git a/input/z3-bench/build_problems.py b/input/z3-bench/build_problems.py new file mode 100644 index 0000000000..c2be826343 --- /dev/null +++ b/input/z3-bench/build_problems.py @@ -0,0 +1,122 @@ +""" +Scan `raw-data/*.meta.jsonl` and emit `problems.jsonl` — one JSON per line, +sorted by SHA for deterministic diff. + +Each `____seed.meta.jsonl` file is a single JSON +object representing one baseline solver run. This script concatenates them +into the JSONL format `_lib.sampler` / `_lib.rebaseline` / `_lib.evaluator` +consume. + +Usage: + python3 input/z3-bench/build_problems.py [flags] + +Flags: + --filter-decisive keep only Sat / Unsat rows + --applied-params-hash HASH restrict to one param profile (prefix match ok) + --dry-run print counts but don't write + --out PATH output path (default: problems.jsonl in bench root) + +Output schema (one row per meta.jsonl entry): + { + "problem_sha256": "", + "smt2_filename": ".smt2", + "z3_status": {"result": "Sat", "elapsed_ms": 1234}, + "z3_statistics": {"conflicts": 100, ...}, + "z3_applied_params": {...}, + "features": {"num_hard_constraints": 24937, ...}, + "applied_params_hash": "...", + "z3_version" / "solver" / "path" / ... + } + +Re-run any time raw-data/ changes. Idempotent — overwrites problems.jsonl. +""" +import argparse +import json +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_RAW = _HERE / "raw-data" +_DEFAULT_OUT = _HERE / "problems.jsonl" + +_DECISIVE = ("Sat", "Unsat") + + +def scan(raw_dir, *, filter_decisive=False, applied_hash_prefix=None): + metas = sorted(raw_dir.glob("*.meta.jsonl")) + if not metas: + raise SystemExit(f"no *.meta.jsonl under {raw_dir}") + rows = [] + bad = 0 + skipped_decisive = 0 + skipped_hash = 0 + for p in metas: + try: + d = json.loads(p.read_text()) + except json.JSONDecodeError as e: + print(f"WARN: bad json {p.name}: {e}", file=sys.stderr) + bad += 1 + continue + if not isinstance(d, dict): + bad += 1 + continue + if "problem_sha256" not in d or "smt2_filename" not in d: + print(f"WARN: missing required fields in {p.name}", file=sys.stderr) + bad += 1 + continue + if applied_hash_prefix and not str(d.get("applied_params_hash", ""))\ + .startswith(applied_hash_prefix): + skipped_hash += 1 + continue + if filter_decisive: + res = (d.get("z3_status") or {}).get("result") + if res not in _DECISIVE: + skipped_decisive += 1 + continue + rows.append(d) + rows.sort(key=lambda r: (r["problem_sha256"], r.get("applied_params_hash", ""))) + return rows, {"bad": bad, "skipped_decisive": skipped_decisive, + "skipped_hash": skipped_hash, "scanned": len(metas)} + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("--filter-decisive", action="store_true", + help="keep only Sat / Unsat rows") + ap.add_argument("--applied-params-hash", type=str, default=None, + help="restrict to applied_params_hash starting with this prefix") + ap.add_argument("--dry-run", action="store_true", + help="print counts but don't write") + ap.add_argument("--out", type=pathlib.Path, default=_DEFAULT_OUT, + help=f"output path (default: {_DEFAULT_OUT.name})") + args = ap.parse_args() + + rows, stats = scan(_RAW, + filter_decisive=args.filter_decisive, + applied_hash_prefix=args.applied_params_hash) + print(f"scanned {stats['scanned']} meta.jsonl files") + if stats["bad"]: + print(f" skipped {stats['bad']} malformed") + if stats["skipped_hash"]: + print(f" skipped {stats['skipped_hash']} non-matching applied_params_hash") + if stats["skipped_decisive"]: + print(f" skipped {stats['skipped_decisive']} non-decisive baselines") + print(f" kept {len(rows)} rows") + + if args.dry_run: + print("(dry-run — no write)") + return + + args.out.parent.mkdir(parents=True, exist_ok=True) + with open(args.out, "w") as f: + for r in rows: + f.write(json.dumps(r) + "\n") + try: + rel = args.out.relative_to(_HERE.parent) + except ValueError: + rel = args.out + print(f"wrote {rel} ({len(rows)} rows)") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/cache/stage1_sample.json b/input/z3-bench/evolve/cache/stage1_sample.json deleted file mode 100644 index 83a88a2015..0000000000 --- a/input/z3-bench/evolve/cache/stage1_sample.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "selection": "5 from 27 candidates", - "criteria": "kmeans-clusters=[0, 1] feature=features.num_hard_constraints spread=quintile", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", - "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", - "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c" - ], - "summary": [ - { - "sha": "fac53f0ffed2", - "baseline_result": "Unsat", - "baseline_ms": 221, - "features.num_hard_constraints": 14932 - }, - { - "sha": "4fb703b12127", - "baseline_result": "Unsat", - "baseline_ms": 311, - "features.num_hard_constraints": 15034 - }, - { - "sha": "872cbdb83f73", - "baseline_result": "Sat", - "baseline_ms": 1298, - "features.num_hard_constraints": 59387 - }, - { - "sha": "069af7891076", - "baseline_result": "Sat", - "baseline_ms": 13885, - "features.num_hard_constraints": 105784 - }, - { - "sha": "03b7e129d625", - "baseline_result": "Sat", - "baseline_ms": 16518, - "features.num_hard_constraints": 106100 - } - ] -} diff --git a/input/z3-bench/evolve/cache/stage2_sample.json b/input/z3-bench/evolve/cache/stage2_sample.json deleted file mode 100644 index 3a44296d91..0000000000 --- a/input/z3-bench/evolve/cache/stage2_sample.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "selection": "5 from 17 candidates", - "criteria": "kmeans-clusters=[2, 3] feature=features.num_hard_constraints spread=quintile", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", - "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", - "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", - "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", - "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b" - ], - "summary": [ - { - "sha": "aeec9f77b092", - "baseline_result": "Sat", - "baseline_ms": 2193, - "features.num_hard_constraints": 112978 - }, - { - "sha": "3cacf544225e", - "baseline_result": "Unsat", - "baseline_ms": 2996, - "features.num_hard_constraints": 112978 - }, - { - "sha": "7d51ef2bfc4c", - "baseline_result": "Sat", - "baseline_ms": 40558, - "features.num_hard_constraints": 524936 - }, - { - "sha": "86efb0762e6d", - "baseline_result": "Sat", - "baseline_ms": 80512, - "features.num_hard_constraints": 696736 - }, - { - "sha": "7f7b5c632ef8", - "baseline_result": "Sat", - "baseline_ms": 181205, - "features.num_hard_constraints": 696736 - } - ] -} diff --git a/input/z3-bench/evolve/cache/stage3_sample.json b/input/z3-bench/evolve/cache/stage3_sample.json deleted file mode 100644 index 3c27606ff6..0000000000 --- a/input/z3-bench/evolve/cache/stage3_sample.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "selection": "5 from 6 candidates", - "criteria": "kmeans-clusters=[4] feature=features.num_hard_constraints spread=quintile", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", - "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", - "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", - "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", - "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" - ], - "summary": [ - { - "sha": "f54dba052fbf", - "baseline_result": "Unsat", - "baseline_ms": 31406, - "features.num_hard_constraints": 1092831 - }, - { - "sha": "3b58bd47434b", - "baseline_result": "Unsat", - "baseline_ms": 31732, - "features.num_hard_constraints": 1092831 - }, - { - "sha": "bc60e5e73924", - "baseline_result": "Unsat", - "baseline_ms": 32076, - "features.num_hard_constraints": 1093104 - }, - { - "sha": "96158dd28c0b", - "baseline_result": "Unsat", - "baseline_ms": 33160, - "features.num_hard_constraints": 1095737 - }, - { - "sha": "be1c308d7977", - "baseline_result": "Unsat", - "baseline_ms": 33752, - "features.num_hard_constraints": 1095737 - } - ] -} diff --git a/input/z3-bench/evolve/cache/stage4_sample.json b/input/z3-bench/evolve/cache/stage4_sample.json deleted file mode 100644 index 0737417ddd..0000000000 --- a/input/z3-bench/evolve/cache/stage4_sample.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "selection": "20 from 50 candidates", - "criteria": "kmeans-clusters=[0, 1, 2, 3, 4] feature=features.num_hard_constraints spread=quintile", - "source": "z3-bench/problems.jsonl", - "sha256": [ - "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", - "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", - "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", - "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", - "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", - "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", - "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", - "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", - "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", - "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", - "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", - "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", - "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", - "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", - "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", - "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", - "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", - "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", - "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", - "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b" - ], - "summary": [ - { - "sha": "fac53f0ffed2", - "baseline_result": "Unsat", - "baseline_ms": 221, - "features.num_hard_constraints": 14932 - }, - { - "sha": "e57b3cf2bc7e", - "baseline_result": "Unsat", - "baseline_ms": 268, - "features.num_hard_constraints": 24936 - }, - { - "sha": "505a2e36055c", - "baseline_result": "Sat", - "baseline_ms": 307, - "features.num_hard_constraints": 24937 - }, - { - "sha": "17cc4d349ce3", - "baseline_result": "Sat", - "baseline_ms": 366, - "features.num_hard_constraints": 15243 - }, - { - "sha": "133383a624ef", - "baseline_result": "Unsat", - "baseline_ms": 480, - "features.num_hard_constraints": 24797 - }, - { - "sha": "872cbdb83f73", - "baseline_result": "Sat", - "baseline_ms": 1298, - "features.num_hard_constraints": 59387 - }, - { - "sha": "aeec9f77b092", - "baseline_result": "Sat", - "baseline_ms": 2193, - "features.num_hard_constraints": 112978 - }, - { - "sha": "21069961e8dc", - "baseline_result": "Sat", - "baseline_ms": 2900, - "features.num_hard_constraints": 113006 - }, - { - "sha": "d8d5ffa7d824", - "baseline_result": "Sat", - "baseline_ms": 3350, - "features.num_hard_constraints": 112812 - }, - { - "sha": "42bc61a62698", - "baseline_result": "Unsat", - "baseline_ms": 12692, - "features.num_hard_constraints": 105784 - }, - { - "sha": "65444d693881", - "baseline_result": "Unsat", - "baseline_ms": 13089, - "features.num_hard_constraints": 105784 - }, - { - "sha": "069af7891076", - "baseline_result": "Sat", - "baseline_ms": 13885, - "features.num_hard_constraints": 105784 - }, - { - "sha": "4a02d7846394", - "baseline_result": "Sat", - "baseline_ms": 14428, - "features.num_hard_constraints": 105784 - }, - { - "sha": "03b7e129d625", - "baseline_result": "Sat", - "baseline_ms": 16518, - "features.num_hard_constraints": 106100 - }, - { - "sha": "3b58bd47434b", - "baseline_result": "Unsat", - "baseline_ms": 31732, - "features.num_hard_constraints": 1092831 - }, - { - "sha": "96158dd28c0b", - "baseline_result": "Unsat", - "baseline_ms": 33160, - "features.num_hard_constraints": 1095737 - }, - { - "sha": "7d51ef2bfc4c", - "baseline_result": "Sat", - "baseline_ms": 40558, - "features.num_hard_constraints": 524936 - }, - { - "sha": "5250d459bef2", - "baseline_result": "Sat", - "baseline_ms": 67552, - "features.num_hard_constraints": 524936 - }, - { - "sha": "a7df812c620d", - "baseline_result": "Sat", - "baseline_ms": 93445, - "features.num_hard_constraints": 696365 - }, - { - "sha": "7f7b5c632ef8", - "baseline_result": "Sat", - "baseline_ms": 181205, - "features.num_hard_constraints": 696736 - } - ] -} diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index bae9f23e2d..18c1266fd2 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -24,7 +24,7 @@ bench: # === Clustering / stage sampling. === clustering: method: kmeans - feature: features.num_hard_constraints + feature: z3_status.elapsed_ms n_clusters: 5 max_baseline_ms: 300000 # 5 min cap spread: quintile From 4837e010dc09c45a74981fae4aea23a6c3f1341d Mon Sep 17 00:00:00 2001 From: hdson Date: Mon, 1 Jun 2026 14:49:28 +0900 Subject: [PATCH 41/42] [skill] add openevolve-pipeline scaffold generator Per-bench pipeline generator skill at .claude/skills/openevolve-pipeline/. Drives the ADD_NEW_SOLVER.md contract: interview user, scaffold 4 per-bench files + N phase modules under input//evolve/, verify with _lib CLIs (sampler / self_test / rebaseline / run_phase.sh). Templates cover both speedup (z3-style flat overrides) and cost+worker-axis (cpsat-style SIZE_BUCKETS) phase shapes, plus Python-binding and CLI-binary worker variants. References split into interview / decision-guide / verify / gotchas to keep SKILL.md short. Unignore .claude/skills/ so the skill ships with the repo. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/skills/openevolve-pipeline/SKILL.md | 123 ++++++++++++++++++ .../references/decision-guide.md | 58 +++++++++ .../openevolve-pipeline/references/gotchas.md | 89 +++++++++++++ .../references/interview-checklist.md | 71 ++++++++++ .../references/verify-checklist.md | 90 +++++++++++++ .../templates/_solve_worker_cli.tmpl | 98 ++++++++++++++ .../templates/_solve_worker_py.tmpl | 104 +++++++++++++++ .../templates/adapter.py.tmpl | 36 +++++ .../templates/config.yaml.tmpl | 80 ++++++++++++ .../templates/initial_program_cpsat.py.tmpl | 84 ++++++++++++ .../templates/initial_program_simple.py.tmpl | 51 ++++++++ .../templates/initial_program_unified.py.tmpl | 53 ++++++++ .../templates/params.json.tmpl | 55 ++++++++ .gitignore | 3 +- 14 files changed, 994 insertions(+), 1 deletion(-) create mode 100644 .claude/skills/openevolve-pipeline/SKILL.md create mode 100644 .claude/skills/openevolve-pipeline/references/decision-guide.md create mode 100644 .claude/skills/openevolve-pipeline/references/gotchas.md create mode 100644 .claude/skills/openevolve-pipeline/references/interview-checklist.md create mode 100644 .claude/skills/openevolve-pipeline/references/verify-checklist.md create mode 100644 .claude/skills/openevolve-pipeline/templates/_solve_worker_cli.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/adapter.py.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/config.yaml.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/initial_program_cpsat.py.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/initial_program_simple.py.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/initial_program_unified.py.tmpl create mode 100644 .claude/skills/openevolve-pipeline/templates/params.json.tmpl diff --git a/.claude/skills/openevolve-pipeline/SKILL.md b/.claude/skills/openevolve-pipeline/SKILL.md new file mode 100644 index 0000000000..3b5d0cf403 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/SKILL.md @@ -0,0 +1,123 @@ +--- +name: openevolve-pipeline +description: Scaffold an OpenEvolve solver-parameter tuning pipeline under input//evolve/ when a user supplies a new solver + benchmark dataset. Trigger on requests like "add a new solver to openevolve", "make an evolve pipeline for ", "tune parameters on this bench", "generate the cpsat-bench style scaffold for X", or whenever the user drops raw solver runs into input//raw-data and asks for parameter tuning. The skill follows input/ADD_NEW_SOLVER.md: it interviews for solver/scoring/clustering/phase decisions, writes exactly the 4 per-bench files (config.yaml, params.json, adapter.py, _solve_worker.py) + N phase modules, and verifies the result with the _lib CLIs (sampler / self_test / rebaseline). +--- + +# OpenEvolve Pipeline Generator + +Given a new solver and a raw benchmark dataset, produce a complete per-bench tuning pipeline at `input//evolve/`. All orchestration lives in `input/_lib/` — **never edit it**. The bench contributes only the per-bench surface from `input/ADD_NEW_SOLVER.md` §2: + +| file | purpose | +|---|---| +| `evolve/config.yaml` | bench + LLM + clustering + evaluation knobs | +| `evolve/params.json` | rich solver parameter catalog (defaults / locked / groups) | +| `evolve/adapter.py` | solver hooks (constants + `get_problem_size`) | +| `evolve/_solve_worker.py` | subprocess entry — `argv = (params_json, problem_path, timeout_s)` → JSON line on stdout | +| `evolve/phase{N}_/initial_program.py` | one per phase (last phase is usually unified) | + +Authoritative spec: [input/ADD_NEW_SOLVER.md](../../../input/ADD_NEW_SOLVER.md). Reference implementations: [input/z3-bench/evolve/](../../../input/z3-bench/evolve/) (flat-overrides + speedup), [input/cpsat-bench/evolve/](../../../input/cpsat-bench/evolve/) (SIZE_BUCKETS + worker-axis + cost mode). + +Reading order before scaffolding: `references/interview-checklist.md` → `references/decision-guide.md` → `references/verify-checklist.md` → `references/gotchas.md`. + +## Workflow + +### 1. Inspect what user provided + +```bash +ls input//raw-data/ | head +ls input//problems.jsonl 2>/dev/null && head -1 input//problems.jsonl | python3 -m json.tool +``` + +Confirm presence of `raw-data/` and `problems.jsonl`. If `problems.jsonl` missing, stop and tell user — `_lib/sampler.py` only reads it (does not build it). Generation is solver-specific user work (ADD_NEW_SOLVER.md §1.4). Offer to draft a `build_problems_jsonl.py` after they describe raw-data layout. + +If <10 problems: warn that quintile clustering collapses and cascade stages become noisy. Recommend 1–2 phases only. + +### 2. Interview + +Use `AskUserQuestion` (≤4 per call). Must-know set in [references/interview-checklist.md](references/interview-checklist.md). Skip anything already obvious from `problems.jsonl` + raw-data inspection. + +Highest-leverage answers: +1. Solver binary / Python binding and how to invoke it. +2. `problems.jsonl` field names → adapter constants (`PROBLEM_FILE_FIELD`, `STATUS_FIELD`, `STATS_FIELD`, `FEATURES_FIELD`, `OBJECTIVE_FIELD`). +3. Decisive vs. decided result tokens. +4. Score mode: `speedup` (z3-style: wall-clock min) vs `cost` (cpsat-style: objective gap + dtime). See [references/decision-guide.md](references/decision-guide.md). +5. Worker-count axis? If yes → `WORKERS_KEY`, phase-level worker lock. +6. SIZE_BUCKETS / STAGE3_OVERRIDES needed? Default off; turn on when problem-size distribution is wide and multi-modal. +7. Phase plan: how many phases, namespace per phase, last phase unified (yes/no). +8. Clustering: `kmeans` (default) | `quintile` | `thresholds`; feature path inside `problems.jsonl`. + +### 3. Scaffold + +Write 4 files + N phase dirs. Substitute placeholders from interview into [templates/](templates/): + +``` +input//evolve/ +├── config.yaml ← templates/config.yaml.tmpl +├── params.json ← templates/params.json.tmpl (skeleton; expand groups) +├── adapter.py ← templates/adapter.py.tmpl +├── _solve_worker.py ← templates/_solve_worker_py.tmpl (or _solve_worker_cli.tmpl for binary) +├── phase1_/initial_program.py ← templates/initial_program_simple.py.tmpl +├── phase2_/initial_program.py ← templates/initial_program_simple.py.tmpl +│ (or _cpsat.py.tmpl if SIZE_BUCKETS/worker lock) +└── phaseN_unified/initial_program.py ← templates/initial_program_unified.py.tmpl +``` + +Phase modules must use `params_catalog.load_for_bench(_BENCH).defaults` for BASELINE — never hardcode a parallel default dict. Config single-source rule: see [[feedback_config_single_source]]. + +`unified_dict_name` in `config.yaml` MUST match the EVOLVE-BLOCK dict name in the last phase (default: `UNIFIED_OVERRIDES`). Mismatch → `_lib.prepare_phase` fails silently. + +### 4. Verify (run these — do not skip) + +```bash +# 0. Solver binding installed? +python3 -c "import ; print(.__version__)" # or `command -v ` + +# 1. Catalog load + validation +python3 -c " +import sys; sys.path.insert(0, 'input') +from _lib import params_catalog +c = params_catalog.load('input//evolve/params.json') +print('keys:', len(c.known_keys()), 'defaults:', len(c.defaults), 'locked:', len(c.locked)) +print('validate ok:', c.validate(c.defaults)) +print('validate bogus:', c.validate({'fake_key': 1})) +" + +# 2. Clustering + stage split +cd input && python3 -m _lib.sampler +# Expect cache/stage{1..4}_sample.json. Inspect cluster sizes — all-in-one cluster +# = features field path wrong or every problem has 0. + +# 3. BASELINE sanity on stage1 +python3 -m _lib.self_test +# Expect result labels match + ratio in [0.5, 2.0] (WARN tolerated). + +# 4. Local baseline capture (10-run avg) — slow +python3 -m _lib.rebaseline +# Expect cache/local_baseline.json. + +# 5. Single-phase smoke (low iter) +./input/run_phase.sh 1 --pin 2-3 --iterations 2 +# Expect phase1/openevolve_output/best/best_program.py + cache/phase1_best.json. +``` + +Each verify step gates the next. Stop and fix at the first failure — do not proceed to the next CLI hoping it will surface a clearer error. + +### 5. Hand off + +Report to user: +- 4 files + N phase modules created at the paths above. +- Verification results (catalog key count, sampler cluster sizes, self_test ratio). +- Next command: `./input/run_phase.sh --pin ` for full chain. +- `final_program.py` will land at `input//evolve/final_program.py` after last phase (auto via `_lib.finalize`). + +## Refuse / push back + +- `input//raw-data/` absent → ask where dataset lives. Do not invent a layout. +- `problems.jsonl` absent → solver-specific generation is **user** work (ADD_NEW_SOLVER.md §1.4). Optionally help draft `build_problems_jsonl.py` once they describe meta format. +- Solver has no Python binding AND no CLI that accepts a problem file → ask user how they invoke it; cannot write `_solve_worker.py` without this. +- Fewer than ~10 problems → warn about cascade collapse; suggest single phase. +- User asks to edit `input/_lib/*` → refuse. `_lib` is bench-agnostic; per-bench knobs go in the 4 files only. + +## Gotchas + +See [references/gotchas.md](references/gotchas.md) — verbatim copy of ADD_NEW_SOLVER.md §6 plus failure-mode index from verify steps. diff --git a/.claude/skills/openevolve-pipeline/references/decision-guide.md b/.claude/skills/openevolve-pipeline/references/decision-guide.md new file mode 100644 index 0000000000..1fb8609f4f --- /dev/null +++ b/.claude/skills/openevolve-pipeline/references/decision-guide.md @@ -0,0 +1,58 @@ +# Decision Guide + +ADD_NEW_SOLVER.md §5 — verbatim guidance for ambiguous knobs. + +## score_mode + +| Solver characteristic | Recommended mode | +|---|---| +| Baseline records `objective_value`; optimization problem | `cost` | +| Sat/Unsat satisfaction; minimize wall-clock | `speedup` | +| Has determinism counter (e.g. cpsat `deterministic_time`) | `cost` + `time_metric: dtime` | + +`speedup` = geomean(baseline_ms / candidate_ms). Higher better. +`cost` = combination of objective-gap + dtime ratio. Lower better (inverted to speedup-like by scorer). + +## Worker axis + +If solver has a `num_workers`-style knob that strongly affects runtime: +- `adapter.WORKERS_KEY = ""`. +- Each phase pins it via `PHASE_LOCKED[""] = N`. +- `_lib.evaluator_core` uses core-block allocation. +- `_lib.rebaseline` produces `by_workers` baseline schema. + +Else: +- `WORKERS_KEY = None`. +- One core per solve; flat baseline. + +cpsat-bench uses W=1 (default profile) / W=8 (`OPENEVOLVE_PROFILE=large`) +across phases. z3-bench is single-threaded. + +## SIZE_BUCKETS / STAGE3_OVERRIDES + +| Situation | Toggle | +|---|---| +| Problem size spans wide range (e.g. 7k–250k constraints), multi-modal score distribution | `enable_size_buckets: true` | +| A few outlier problems dominate aggregate score | `enable_outlier_stage: true` + populate `cache/outliers.json` | +| Pool small (<30) or uniform | Both `false` | + +`enable_size_buckets: true` → phase modules must use `initial_program_cpsat.py.tmpl` +(SIZE_BUCKETS + `get_phase_size_buckets()`). +`enable_outlier_stage: true` → add `STAGE3_OVERRIDES` + `get_phase_stage3_overrides()`. + +## clustering.method + +| Method | When | +|---|---| +| `kmeans` | 1D Lloyd's. Lets cluster boundaries emerge from data shape. Default. | +| `quintile` | Rank-based equal-count splits. Use when boundary consistency across runs matters more than natural breaks. | +| `thresholds` | User-specified cut-offs (e.g. `[50000, 150000]` → 3 buckets). Use when you have domain knowledge of regimes. | + +## Existing solver reference + +| Solver | score_mode | Worker axis | Size buckets | Phases | +|---|---|---|---|---| +| z3 (`z3-bench`) | speedup | NO | NO | 4 (opt_sls + sat + smt + unified) | +| CP-SAT (`cpsat-bench`) | cost (dtime + cost_ratio) | YES (W=1, W=8) | YES | 5 (search + presolve + lp_cuts + unified + custom_subsolvers) | + +Use whichever matches the new solver's profile as the structural template. diff --git a/.claude/skills/openevolve-pipeline/references/gotchas.md b/.claude/skills/openevolve-pipeline/references/gotchas.md new file mode 100644 index 0000000000..e8e1d629ce --- /dev/null +++ b/.claude/skills/openevolve-pipeline/references/gotchas.md @@ -0,0 +1,89 @@ +# Gotchas + +ADD_NEW_SOLVER.md §6 — verbatim. Re-listed here for skill-local lookup. + +## 1. problems.jsonl field name mismatch + +`adapter.PROBLEM_FILE_FIELD` / `STATUS_FIELD` MUST match the JSON keys exactly. +Typos are the #1 failure mode. `head -1 input//problems.jsonl | python3 -m json.tool` +shows the canonical keys. + +## 2. `features.` missing + +`clustering.feature: features.num_X`, but problems.jsonl entries lack +`features.num_X` → sampler treats every problem as size=0 → all problems +collapse into one cluster → cascade stages become meaningless. + +Verify with the sampler stdout: each cluster should hold a recognizable +spread of problem SHAs. All-in-one cluster = features field path wrong. + +## 3. DECISIVE vs DECIDED confusion + +- DECISIVE = "solver gave an answer" (e.g. `Sat`, `Unsat`, `OPTIMAL`). +- DECIDED = "baseline produced a conclusive answer → regression comparable" + (e.g. cpsat: `INFEASIBLE` decided but only `OPTIMAL`/`FEASIBLE` decisive). + +Most solvers: both sets identical. cpsat: they differ. + +## 4. `_solve_worker.py` doesn't surface invalid params + +If solver silently ignores unknown keys, the catalog alone cannot catch a +mutated illegal key. Worker MUST emit +`{"invalid_param": "", "result": "Unknown", "elapsed_ms": 0}` when +solver rejects a key — otherwise evaluator cannot 0-score the candidate. + +Test: pass `{"obviously_fake_key": 1}` → worker should emit invalid_param. + +## 5. Phase docstring empty + +LLM has no other signal about phase intent. Even one line — "Phase 2: tune +presolve.* knobs" — improves mutation quality dramatically. + +## 6. `unified_dict_name` mismatch + +`config.yaml` `bench.unified_dict_name` MUST match the EVOLVE-BLOCK dict +name in the last phase's `initial_program.py`. Default convention: +`UNIFIED_OVERRIDES`. + +Mismatch → `_lib.prepare_phase` cannot materialize the union → last phase +starts empty and loses prior-phase wins. + +## 7. `worker_path` is relative to `/evolve/` + +`config.yaml` `bench.worker_path: _solve_worker.py` (no directory prefix +when worker is at evolve/ root). + +## Verify-time additional gotchas + +### v1. `OPENEVOLVE_BENCH_ROOT unset` from phase module + +Phase module `_resolve_bench_root()` fallback walks parents looking for +adapter+params.json. Fails if phase dir is not exactly two levels under +``. Correct layout: + +``` +input//evolve/params.json +input//evolve/adapter.py +input//evolve/phase1_x/initial_program.py ← two levels under +``` + +### v2. Cascade thresholds too tight + +`evaluator.cascade_thresholds: [1.03, 1.03, 1.03]` means each stage demands +≥3% improvement. Solver with high variance + few problems may never cross. +Lower to `[1.01, 1.01, 1.01]` for noisy benches. + +### v3. `parallel_solvers > 1` with single-threaded baseline + +If baseline was captured single-threaded, running candidates with +`parallel_solvers: N` co-locates them on shared cores → timings inflate +vs baseline → false regression. Either pin core ranges via `--pin` or +recapture baseline at the same parallelism. + +### v4. Catalog `defaults` ≠ binding's real defaults + +If `params.json` `defaults` includes a key the binding's real default is +different, the BASELINE phase modules send may diverge from what `_lib.rebaseline` +captured. Symptom: `self_test` ratio drifts outside [0.5, 2.0]. + +Fix: ensure `defaults` is what the original problems.jsonl baseline run used. diff --git a/.claude/skills/openevolve-pipeline/references/interview-checklist.md b/.claude/skills/openevolve-pipeline/references/interview-checklist.md new file mode 100644 index 0000000000..9716793a5c --- /dev/null +++ b/.claude/skills/openevolve-pipeline/references/interview-checklist.md @@ -0,0 +1,71 @@ +# Interview Checklist + +Ask **only what's not already inferable** from `problems.jsonl` + `raw-data/`. +Batch with `AskUserQuestion` (≤4 per call). Group by topic. + +## Must-know (block scaffolding without answers) + +### Solver +- Solver name + version (→ `params.json` `solver`/`version`; `adapter.SOLVER_NAME`). +- Invocation path: Python binding (`import `) OR CLI binary (`/path/to/solver`). + - If neither — STOP. Cannot write `_solve_worker.py`. +- Install hint command (→ `config.yaml` `bench.solver_install_hint`). + +### problems.jsonl field mapping +Read one record (`head -1 input//problems.jsonl | python3 -m json.tool`) +and confirm with user: +- Problem file field name (e.g. `smt2_filename`, `problem_filename`) → `PROBLEM_FILE_FIELD`. +- Status block key (e.g. `z3_status`, `cpsat_status`) → `STATUS_FIELD`. + - Inside it: `result`, `elapsed_ms`, optional `objective_value`. +- Stats block key (or `None` if baseline has no stats) → `STATS_FIELD`. +- Features block key (default `features`) → `FEATURES_FIELD`. +- Objective path inside status (or `None` for SAT/UNSAT) → `OBJECTIVE_FIELD`. + +### Result tokens +- DECISIVE_RESULTS: which result strings mean "solver gave an answer"? + - z3: `("Sat", "Unsat")`. cpsat: `("OPTIMAL", "FEASIBLE")`. +- DECIDED_RESULTS: which baseline results allow regression comparison? + - Often == DECISIVE, but cpsat splits: `INFEASIBLE` decided but not feasible-decisive. + +### Score mode +- `speedup` (z3-style): minimize wall-clock; objective unused. +- `cost` (cpsat-style): minimize `(objective_value, dtime)` against baseline; needs a determinism counter (`time_metric`). +- See [decision-guide.md](decision-guide.md). + +### Worker axis +- Does the solver have a `num_workers`-like knob that meaningfully changes runtime? + - YES → `WORKERS_KEY = ""`; phase modules lock it via `PHASE_LOCKED`. + - NO → `WORKERS_KEY = None`. + +### Phase plan +- How many phases? (Typical: 3–5.) +- What namespace per phase? (e.g. phase1 = search, phase2 = presolve.) +- Last phase unified (merges priors)? (Default yes.) + +## Should-know (sensible defaults if user skips) + +### Clustering +- `clustering.method`: kmeans (default) | quintile | thresholds. +- `clustering.feature`: which numeric field to cluster on. Common: `features.num_constraints`, `_status.elapsed_ms`. +- `clustering.n_clusters`: 5 (default). +- `clustering.max_baseline_ms`: drop outliers above this from sample pool. 300000 (5min) default. +- `clustering.stage_sizes`: how many problems per cascade stage. Default `{stage1:10, stage2:10, stage3:5, stage4:20}`. + +### Evaluation +- `evaluation.repeats`: 10 (standard; lowering speeds up but adds noise). +- `evaluation.timeout_factor`: 1.3 (per-problem budget = baseline_ms × this). +- `evaluation.enable_size_buckets`: false default. true → use `initial_program_cpsat.py.tmpl`. +- `evaluation.enable_outlier_stage`: false default. + +### KEY_STATS / STATS_WEIGHTS +- Which counters from `solver.statistics()` to surface as metrics? +- Weight per counter for efficiency factor (defaults: conflicts 2.0, decisions 1.5, propagations 0.5). + +### LLM +- Which model? Default `claude-sonnet-4-6` via `claude_code` provider. + +## Sensible defaults — do NOT ask + +- `parallel_solvers: 1`, `max_iterations: 40`, `checkpoint_interval: 10`, + `random_seed: 42`, `num_islands: 3`, `cascade_thresholds: [1.03, 1.03, 1.03]`, + `evaluator.timeout: 1800`. diff --git a/.claude/skills/openevolve-pipeline/references/verify-checklist.md b/.claude/skills/openevolve-pipeline/references/verify-checklist.md new file mode 100644 index 0000000000..19813d79a4 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/references/verify-checklist.md @@ -0,0 +1,90 @@ +# Verify Checklist + +Run after scaffolding. Each step gates the next — stop at first failure. + +## 0. Solver installed? + +```bash +python3 -c "import ; print(.__version__)" +# OR +command -v && --version +``` + +Fail → tell user to install per `bench.solver_install_hint`. + +## 1. params.json valid? + +```bash +cd input +python3 -c " +import sys; sys.path.insert(0, '.') +from _lib import params_catalog +c = params_catalog.load('/evolve/params.json') +print('keys:', len(c.known_keys()), 'defaults:', len(c.defaults), 'locked:', len(c.locked)) +print('validate ok:', c.validate(c.defaults)) +print('validate bogus:', c.validate({'fake_key': 1})) +" +``` + +Expect: `validate ok: []`, `validate bogus: [('fake_key', 'unknown key (not in catalog)')]`. + +Fail modes: +- `KeyError` → typo in `groups.*.params` schema (type/default/values missing). +- `validate ok` returns non-empty list → a default value violates its declared type/range. + +## 2. problems.jsonl readable + adapter fields wired? + +```bash +python3 -m _lib.sampler +ls /evolve/cache/stage{1,2,3,4}_sample.json +``` + +Expect: 4 stage sample files, with non-trivial cluster spread shown in stdout +(problem SHAs across multiple `elapsed_ms` buckets). + +Fail modes: +- "all problems in cluster 0" → `clustering.feature` path wrong, or feature value `None`/`0` for every problem. Check `head -1 problems.jsonl` against the dotted path. +- KeyError on `PROBLEM_FILE_FIELD`/`STATUS_FIELD` → adapter constants don't match problems.jsonl. Fix adapter.py. + +## 3. Adapter sane on BASELINE? + +```bash +python3 -m _lib.self_test +``` + +Expect: result labels match baseline for stage1; ratio in [0.5, 2.0]. WARN tolerated. + +Fail modes: +- "result mismatch" on multiple problems → `_solve_worker.py` returns wrong token. Fix result mapping. +- "ratio > 2.0" — solver invocation is significantly slower than baseline. Check params application (some keys default differently in your binding version than the baseline expects). +- `invalid_param` emitted → BASELINE has a key the binding doesn't recognize. Either drop the key from `defaults` or fix worker. + +## 4. Local baseline captured? (slow, ~10× problem timeouts) + +```bash +python3 -m _lib.rebaseline +ls /evolve/cache/local_baseline.json +``` + +Skip on resource-constrained dev machines with `SKIP_REBASELINE=1` — +later evaluator will use `problems.jsonl` baseline directly. + +## 5. One-phase smoke + +```bash +./input/run_phase.sh 1 --pin 2-3 --iterations 2 +ls /evolve/phase1_*/openevolve_output/best/best_program.py +ls /evolve/cache/phase1_best.json +``` + +Expect: best_program.py exists, phase1_best.json contains a dict of overrides. + +Fail modes: +- "OPENEVOLVE_BENCH_ROOT unset" → phase module's `_resolve_bench_root()` + fallback failed. Confirm phase dir is two levels under `` (i.e. + `/evolve/phase1_x/initial_program.py`). +- Evaluator returns 0 for all candidates → check phase module's `get_params()` + signature matches what evaluator calls (simple: `get_params()`; + cpsat-style: `get_params(problem=None, stage=None)`). +- LLM never mutates EVOLVE-BLOCK → docstring missing or `unified_dict_name` + mismatch with last phase (only matters for last phase). diff --git a/.claude/skills/openevolve-pipeline/templates/_solve_worker_cli.tmpl b/.claude/skills/openevolve-pipeline/templates/_solve_worker_cli.tmpl new file mode 100644 index 0000000000..0aeb6c8b21 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/_solve_worker_cli.tmpl @@ -0,0 +1,98 @@ +""" +Solve one problem via the CLI binary. +Subprocess worker invoked by _lib.subprocess_runner. + +argv: + sys.argv[1] JSON dict of {key: value} (params) + sys.argv[2] problem file path + sys.argv[3] per-problem timeout in seconds + +stdout: one JSON line on the LAST non-empty line. See _solve_worker_py.tmpl +for the success/invalid_param/crash schemas. +""" +import json +import re +import subprocess +import sys +import time + + +SOLVER_BINARY = "" # absolute path if not on PATH + + +def emit(d): + print(json.dumps(d)) + sys.stdout.flush() + + +def params_to_argv(params): + """Translate {key:value} → CLI flags. Adapt per solver's CLI convention. + Common conventions: + - z3-style: key=value (e.g. sat.threads=1) + - GNU long: --key=value (e.g. --threads=8) + - GNU short: -k value (rarely) + """ + argv = [] + for k, v in params.items(): + if isinstance(v, bool): + v = "true" if v else "false" + argv.append(f"{k}={v}") + return argv + + +def parse_result(stdout): + """Solver-specific. Extract result token + stats counters.""" + last = stdout.strip().splitlines()[-1] if stdout.strip() else "" + # Examples — adapt: + if "unsat" in last.lower(): + return "Unsat", {} + if "sat" in last.lower(): + return "Sat", {} + return "Unknown", {} + + +def main(): + if len(sys.argv) != 4: + emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) + return + + try: + params = json.loads(sys.argv[1]) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"params json: {e}"}) + return + + problem_path = sys.argv[2] + timeout_s = int(sys.argv[3]) + + cmd = [SOLVER_BINARY, *params_to_argv(params), problem_path] + t0 = time.monotonic() + try: + proc = subprocess.run(cmd, capture_output=True, text=True, + timeout=timeout_s + 5) # _lib enforces hard limit + except subprocess.TimeoutExpired: + emit({"result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "timeout": True, "stats": {}}) + return + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"spawn: {e}"}) + return + + elapsed_ms = int((time.monotonic() - t0) * 1000) + + # Detect unknown param if solver complains on stderr/stdout. + # Adapt the regex to your solver's diagnostic. + m = re.search(r"unknown\s+(?:parameter|option)\s+['\"]?([\w.\-]+)['\"]?", + proc.stderr + proc.stdout, re.IGNORECASE) + if m: + emit({"invalid_param": m.group(1), "error": m.group(0), + "result": "Unknown", "elapsed_ms": 0}) + return + + result, stats = parse_result(proc.stdout) + emit({"result": result, "elapsed_ms": elapsed_ms, "stats": stats}) + + +if __name__ == "__main__": + main() diff --git a/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl b/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl new file mode 100644 index 0000000000..915b3906ed --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl @@ -0,0 +1,104 @@ +""" +Solve one problem via the Python binding. +Subprocess worker invoked by _lib.subprocess_runner. + +argv: + sys.argv[1] JSON dict of {key: value} (params) + sys.argv[2] problem file path + sys.argv[3] per-problem timeout in seconds + +stdout: one JSON line on the LAST non-empty line. Schemas: + success: {"result": "Sat"|"Unsat"|"Unknown"|..., "elapsed_ms": int, + "stats": {: , ...}, "objective": ?} + invalid_param: {"invalid_param": "", "error": "", + "result": "Unknown", "elapsed_ms": 0} + crash: {"result": "Unknown", "elapsed_ms": 0, "error": ""} + +Timeout is enforced by _lib.subprocess_runner — the worker does NOT need +to implement it (but may pass it to the solver as a hint). +""" +import json +import sys +import time + + +def emit(d): + print(json.dumps(d)) + sys.stdout.flush() + + +def main(): + if len(sys.argv) != 4: + emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) + return + + try: + params = json.loads(sys.argv[1]) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"params json: {e}"}) + return + + problem_path = sys.argv[2] + timeout_s = int(sys.argv[3]) + + try: + import + except ImportError as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f" import: {e}"}) + return + + # 1. Instantiate + apply params. + try: + solver = .Solver() + for k, v in params.items(): + try: + solver.set_param(k, v) + except .InvalidParamError as e: + # MUST emit this — otherwise evaluator can't tell mutated key was illegal. + emit({"invalid_param": k, "error": str(e), + "result": "Unknown", "elapsed_ms": 0}) + return + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"init: {e}"}) + return + + # 2. Load problem. + try: + with open(problem_path) as f: + solver.parse(f.read()) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"parse: {e}"}) + return + + # 3. Solve. + t0 = time.monotonic() + try: + result = solver.solve(timeout_s) # <- "Sat" | "Unsat" | "Unknown" | ... + except Exception as e: + emit({"result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": str(e), "stats": {}}) + return + + elapsed_ms = int((time.monotonic() - t0) * 1000) + stats = {} + try: + raw_stats = solver.statistics() # dict-like; keep numeric only + for k, v in raw_stats.items(): + if isinstance(v, (int, float)): + stats[k] = v + except Exception: + pass + + out = {"result": str(result), "elapsed_ms": elapsed_ms, "stats": stats} + try: + obj = solver.objective() # may not exist; OPTIONAL + if obj is not None: + out["objective"] = float(obj) + except Exception: + pass + emit(out) + + +if __name__ == "__main__": + main() diff --git a/.claude/skills/openevolve-pipeline/templates/adapter.py.tmpl b/.claude/skills/openevolve-pipeline/templates/adapter.py.tmpl new file mode 100644 index 0000000000..91fa93ae14 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/adapter.py.tmpl @@ -0,0 +1,36 @@ +"""-bench solver hooks. Consumed by every _lib module via +bench_paths.load_adapter().""" + +SOLVER_NAME = "" + +# problems.jsonl field paths. +PROBLEM_FILE_FIELD = "_filename" # top-level key holding the problem file path +STATUS_FIELD = "_status" # nested {"result", "elapsed_ms", ...} +STATS_FIELD = "_response_stats" # nested counters dict; None if baseline has none +FEATURES_FIELD = "features" # nested {"num_*": int, ...} +OBJECTIVE_FIELD = None # path inside STATUS_FIELD; None for SAT/UNSAT problems + +# Result categorization. +DECISIVE_RESULTS = ("Sat", "Unsat") # "solver gave an answer" +DECIDED_RESULTS = ("Sat", "Unsat") # "baseline was conclusive → regression comparable" + +# Solver counters to surface as metrics / artifacts. +KEY_STATS = ("conflicts", "decisions", "propagations") + +# Efficiency-factor weight per stat key. +STATS_WEIGHTS = { + "conflicts": 2.0, + "decisions": 1.5, + "propagations": 0.5, +} + +# Score mode default (config.yaml evaluation.score_mode wins if set). +SCORE_MODE = "speedup" + +# Worker-count knob this solver uses. None when not applicable. +WORKERS_KEY = None # e.g. cpsat: "num_search_workers" + + +def get_problem_size(features): + """Feature used by clustering + SIZE_BUCKETS surface.""" + return int((features or {}).get("num_constraints") or 0) diff --git a/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl b/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl new file mode 100644 index 0000000000..51d741f5f2 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl @@ -0,0 +1,80 @@ +# input//evolve/config.yaml +# Single source of truth — openevolve (dacite, ignores unknown top-level keys) +# AND input/run_phase.sh (via _lib/load_bench_config.py) read this file. + +bench: + phases: + - dir: phase1_ + - dir: phase2_ + # add more as needed + - dir: phase_unified + + # Materialize last phase's EVOLVE-BLOCK from union of prior phases' best + # before this dir runs. Must match a `dir` above. Dict name MUST match + # the EVOLVE-BLOCK dict in that phase's initial_program.py. + unified_prepare_before_dir: phase_unified + unified_dict_name: UNIFIED_OVERRIDES + + solver_check_cmd: "command -v " # or: python3 -c 'import ' + solver_install_hint: "install: " + + # Per-bench surface paths (relative to /evolve/). + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + + # Clustering — consumed by _lib.sampler. + clustering: + method: kmeans # kmeans | quintile | thresholds + feature: features.num_constraints # dotted path into problems.jsonl record + n_clusters: 5 + max_baseline_ms: 300000 # drop outliers >5min from sample pool + spread: quintile # quintile | center within stage pool + stage_sizes: {stage1: 10, stage2: 10, stage3: 5, stage4: 20} + stage_clusters: + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + + # Evaluation behavior — consumed by _lib.evaluator_core. + evaluation: + repeats: 10 # 10-run averaging (standard) + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: speedup # speedup | cost + # time_metric: dtime # cost mode only — pick determinism counter key + # cost_weight: 1.0 # cost mode only + enable_size_buckets: false # opt-in: SIZE_BUCKETS phase surface + enable_outlier_stage: false # opt-in: STAGE3_OVERRIDES phase surface + +parallel_solvers: 1 # concurrent worker subprocesses per stage + +max_iterations: 40 +checkpoint_interval: 10 +log_level: "INFO" +random_seed: 42 + +llm: + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 1.0 + +prompt: + system_message: | + Tune parameters for . + EVOLVE-BLOCK exposes a dict; mutate it to MAXIMIZE combined_score. + Hard rules: + - Do NOT modify locked keys (see params.json `locked`). + - Use only valid param keys (catalog validation enforced). + - Score = geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. + +database: + num_islands: 3 + +evaluator: + timeout: 1800 + cascade_evaluation: true + cascade_thresholds: [1.03, 1.03, 1.03] + parallel_evaluations: 1 diff --git a/.claude/skills/openevolve-pipeline/templates/initial_program_cpsat.py.tmpl b/.claude/skills/openevolve-pipeline/templates/initial_program_cpsat.py.tmpl new file mode 100644 index 0000000000..f3c2156820 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/initial_program_cpsat.py.tmpl @@ -0,0 +1,84 @@ +""" +Phase : tune 's knobs (SIZE_BUCKETS + outlier track). + +Use ONLY when config.yaml `evaluation.enable_size_buckets: true` +(and `enable_outlier_stage: true` for STAGE3_OVERRIDES). + +Do NOT modify locked keys. +""" +import os +import pathlib +import sys + + +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults + + +# OPENEVOLVE_PROFILE=large → outlier-track W. small → 1. +_LARGE = (os.environ.get("OPENEVOLVE_PROFILE", "small").strip().lower() == "large") +PHASE_LOCKED = { + "": 0, + "": 8 if _LARGE else 1, # must match adapter.WORKERS_KEY +} + + +# EVOLVE-BLOCK-START +GLOBAL_OVERRIDES = {} +SIZE_BUCKETS = [ + (50_000, {}), + (150_000, {}), + (float("inf"), {}), +] +STAGE3_OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def _bucket_override(size): + for upper, override in SIZE_BUCKETS: + if size < upper: + return override + return {} + + +def get_params(problem=None, stage=None): + p = dict(BASELINE) + p.update(GLOBAL_OVERRIDES) + if problem is not None: + p.update(_bucket_override(int(problem.get("size") or 0))) + if stage == "stage3" and problem.get("is_outlier"): + p.update(STAGE3_OVERRIDES) + p.update(PHASE_LOCKED) + return p + + +def get_phase_overrides(): + return dict(GLOBAL_OVERRIDES) + + +def get_phase_size_buckets(): + return [(u, dict(d)) for u, d in SIZE_BUCKETS] + + +def get_phase_stage3_overrides(): + return dict(STAGE3_OVERRIDES) diff --git a/.claude/skills/openevolve-pipeline/templates/initial_program_simple.py.tmpl b/.claude/skills/openevolve-pipeline/templates/initial_program_simple.py.tmpl new file mode 100644 index 0000000000..fc6c5e0b06 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/initial_program_simple.py.tmpl @@ -0,0 +1,51 @@ +""" +Phase : tune 's knobs. + +Targeted namespace: , , . +Other params stay at BASELINE. + +Do NOT modify locked keys (see params.json `locked`). Invalid keys +cause the evaluator to return 0 and surface the offending key. +""" +import os +import pathlib +import sys + + +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults + + +# EVOLVE-BLOCK-START +OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(OVERRIDES) diff --git a/.claude/skills/openevolve-pipeline/templates/initial_program_unified.py.tmpl b/.claude/skills/openevolve-pipeline/templates/initial_program_unified.py.tmpl new file mode 100644 index 0000000000..766221a7b6 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/initial_program_unified.py.tmpl @@ -0,0 +1,53 @@ +""" +Final phase: unified refinement. + +EVOLVE-BLOCK is auto-materialized by `python -m _lib.prepare_phase ` +before this phase runs — pulls the union of phase{1..N-1}_best.json into +UNIFIED_OVERRIDES. The LLM then tunes the merged dict. + +The dict name (UNIFIED_OVERRIDES) MUST match config.yaml `bench.unified_dict_name`. + +Do NOT modify locked keys. +""" +import os +import pathlib +import sys + + +def _resolve_bench_root(): + v = os.environ.get("OPENEVOLVE_BENCH_ROOT") + if v: + return pathlib.Path(v).resolve() + here = pathlib.Path(__file__).resolve() + for p in [here.parent.parent] + list(here.parents): + if (p / "params.json").exists() and (p / "adapter.py").exists(): + return p + raise RuntimeError( + "OPENEVOLVE_BENCH_ROOT unset and no adapter/params.json found " + "walking up from " + str(here) + ) + + +_BENCH = _resolve_bench_root() +_INPUT = _BENCH.parent.parent +if str(_INPUT) not in sys.path: + sys.path.insert(0, str(_INPUT)) + +from _lib import params_catalog # noqa: E402 + +BASELINE = params_catalog.load_for_bench(_BENCH).defaults + + +# EVOLVE-BLOCK-START +UNIFIED_OVERRIDES = {} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(UNIFIED_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(UNIFIED_OVERRIDES) diff --git a/.claude/skills/openevolve-pipeline/templates/params.json.tmpl b/.claude/skills/openevolve-pipeline/templates/params.json.tmpl new file mode 100644 index 0000000000..4abe584188 --- /dev/null +++ b/.claude/skills/openevolve-pipeline/templates/params.json.tmpl @@ -0,0 +1,55 @@ +{ + "solver": "", + "version": "", + + "_comment_defaults": "BASELINE. Phase modules pull this via params_catalog.load_for_bench().defaults", + "defaults": { + "": 0, + "": true, + "": 0 + }, + + "_comment_locked": "LLM mutating any of these → combined_score=0", + "locked": { + "": 0 + }, + + "groups": { + "search": { + "description": "Branching / restart strategy.", + "params": { + "": { + "type": "enum", + "values": ["a", "b", "c"], + "default": "a", + "desc": "What this knob does." + }, + "": { + "type": "int", + "default": 100, + "range": [0, 10000], + "desc": "..." + }, + "": { + "type": "float", + "default": 0.5, + "range": [0.0, 1.0], + "desc": "..." + }, + "": { + "type": "bool", + "default": true, + "desc": "..." + }, + "": { + "type": "list", + "element_type": "subsolver", + "default": [], + "desc": "Optional list-typed param. element_type:subsolver validates against subsolver_names below." + } + } + } + }, + + "subsolver_names": [] +} diff --git a/.gitignore b/.gitignore index 6abec3a4ac..4c82474783 100644 --- a/.gitignore +++ b/.gitignore @@ -51,7 +51,8 @@ htmlcov/ # Misc .DS_Store .venv -.claude +.claude/* +!.claude/skills/ # For SR secrets.yaml From 5ecc16470904f934ac0b6c774e3f4e61cbe00897 Mon Sep 17 00:00:00 2001 From: hdson Date: Tue, 9 Jun 2026 10:16:11 +0000 Subject: [PATCH 42/42] [z3-bench] add reboot pipeline, sat-mode caches, and shared _lib updates - z3-bench: build_problems_reboot.py, sat/optimize config examples, phase4_unified update, regenerated shared + cache-sat baselines, and a 20260519 backup snapshot of the prior phase layout - _lib: sampler/scorer/evaluator_core/finalize/bench_paths refinements - openevolve-pipeline skill + claude_code llm backend updates - gitignore: ignore input/z3-bench/reboot-raw-data Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/openevolve-pipeline/SKILL.md | 2 +- .../references/decision-guide.md | 40 +- .../openevolve-pipeline/references/gotchas.md | 18 +- .../references/interview-checklist.md | 10 + .../templates/_solve_worker_py.tmpl | 21 + .../templates/config.yaml.tmpl | 23 + .gitignore | 1 + configs/claude_code_example.yaml | 14 +- input/_lib/bench_paths.py | 30 +- input/_lib/evaluator_core.py | 241 +- input/_lib/finalize.py | 42 +- input/_lib/sampler.py | 115 +- input/_lib/scorer.py | 6 +- input/cpsat-bench/evolve/config.yaml | 6 +- input/z3-bench/build_problems_reboot.py | 122 + input/z3-bench/evolve/_solve_worker.py | 126 +- input/z3-bench/evolve/adapter.py | 23 +- .../phase1_opt_sls/initial_program.py | 70 + .../20260519/phase2_sat/initial_program.py | 177 + .../20260519/phase3_smt/initial_program.py | 164 + .../phase4_unified/initial_program.py | 275 ++ .../20260519/shared/_z3_solve_worker.py | 154 + .../backup/20260519/shared/baseline_params.py | 161 + .../backup/20260519/shared/evaluator.py | 443 +++ .../20260519/shared/local_baseline.json | 2857 +++++++++++++++++ .../backup/20260519/shared/phase1_best.json | 33 + .../backup/20260519/shared/phase2_best.json | 118 + .../backup/20260519/shared/phase3_best.json | 96 + .../evolve/backup/20260519/shared/runtime.py | 66 + .../evolve/backup/20260519/shared/score.py | 103 + .../backup/20260519/shared/stage1_sample.json | 88 + .../backup/20260519/shared/stage2_sample.json | 88 + .../backup/20260519/shared/stage3_sample.json | 88 + .../backup/20260519/shared/stage4_sample.json | 328 ++ .../backup/20260519/shared/z3_runner.py | 97 + .../backup/20260519/shared/z3_valid_keys.json | 1266 ++++++++ .../evolve/cache-sat/local_baseline.json | 297 ++ .../evolve/cache-sat/phase1_best.json | 5 + .../evolve/cache-sat/stage1_sample.json | 7 + .../evolve/cache-sat/stage2_sample.json | 7 + .../evolve/cache-sat/stage3_sample.json | 51 + .../evolve/cache-sat/stage4_sample.json | 7 + .../evolve/config.optimize.example.yaml | 205 ++ input/z3-bench/evolve/config.sat.example.yaml | 206 ++ input/z3-bench/evolve/config.yaml | 74 +- input/z3-bench/evolve/final_verify.json | 26 + .../evolve/phase4_unified/initial_program.py | 14 +- .../evolve/shared/local_baseline.json | 2857 +++++++++++++++++ input/z3-bench/evolve/shared/phase1_best.json | 4 + input/z3-bench/evolve/shared/phase2_best.json | 118 + input/z3-bench/evolve/shared/phase3_best.json | 76 + input/z3-bench/problems.jsonl | 139 +- openevolve/llm/claude_code.py | 83 +- 53 files changed, 11407 insertions(+), 281 deletions(-) create mode 100644 input/z3-bench/build_problems_reboot.py create mode 100644 input/z3-bench/evolve/backup/20260519/phase1_opt_sls/initial_program.py create mode 100644 input/z3-bench/evolve/backup/20260519/phase2_sat/initial_program.py create mode 100644 input/z3-bench/evolve/backup/20260519/phase3_smt/initial_program.py create mode 100644 input/z3-bench/evolve/backup/20260519/phase4_unified/initial_program.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/_z3_solve_worker.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/baseline_params.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/evaluator.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/local_baseline.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/phase1_best.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/phase2_best.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/phase3_best.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/runtime.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/score.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/stage1_sample.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/stage2_sample.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/stage3_sample.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/stage4_sample.json create mode 100644 input/z3-bench/evolve/backup/20260519/shared/z3_runner.py create mode 100644 input/z3-bench/evolve/backup/20260519/shared/z3_valid_keys.json create mode 100644 input/z3-bench/evolve/cache-sat/local_baseline.json create mode 100644 input/z3-bench/evolve/cache-sat/phase1_best.json create mode 100644 input/z3-bench/evolve/cache-sat/stage1_sample.json create mode 100644 input/z3-bench/evolve/cache-sat/stage2_sample.json create mode 100644 input/z3-bench/evolve/cache-sat/stage3_sample.json create mode 100644 input/z3-bench/evolve/cache-sat/stage4_sample.json create mode 100644 input/z3-bench/evolve/config.optimize.example.yaml create mode 100644 input/z3-bench/evolve/config.sat.example.yaml create mode 100644 input/z3-bench/evolve/final_verify.json create mode 100644 input/z3-bench/evolve/shared/local_baseline.json create mode 100644 input/z3-bench/evolve/shared/phase1_best.json create mode 100644 input/z3-bench/evolve/shared/phase2_best.json create mode 100644 input/z3-bench/evolve/shared/phase3_best.json diff --git a/.claude/skills/openevolve-pipeline/SKILL.md b/.claude/skills/openevolve-pipeline/SKILL.md index 3b5d0cf403..78abf8bae4 100644 --- a/.claude/skills/openevolve-pipeline/SKILL.md +++ b/.claude/skills/openevolve-pipeline/SKILL.md @@ -108,7 +108,7 @@ Report to user: - 4 files + N phase modules created at the paths above. - Verification results (catalog key count, sampler cluster sizes, self_test ratio). - Next command: `./input/run_phase.sh --pin ` for full chain. -- `final_program.py` will land at `input//evolve/final_program.py` after last phase (auto via `_lib.finalize`). +- `final_program.py` will land at `input//evolve/final_program.py` after last phase (auto via `_lib.finalize`). If `bench.solver_mode` is set to a non-default variant, output suffixes to `final_program_.py` and artifacts isolate to `cache-/`. ## Refuse / push back diff --git a/.claude/skills/openevolve-pipeline/references/decision-guide.md b/.claude/skills/openevolve-pipeline/references/decision-guide.md index 1fb8609f4f..0288d82252 100644 --- a/.claude/skills/openevolve-pipeline/references/decision-guide.md +++ b/.claude/skills/openevolve-pipeline/references/decision-guide.md @@ -48,11 +48,49 @@ across phases. z3-bench is single-threaded. | `quintile` | Rank-based equal-count splits. Use when boundary consistency across runs matters more than natural breaks. | | `thresholds` | User-specified cut-offs (e.g. `[50000, 150000]` → 3 buckets). Use when you have domain knowledge of regimes. | +## clustering.mode (optional sample-profile override) + +Generic `_lib.sampler` feature. `clustering.mode: ` selects a +`clustering.modes.` block that is **shallow-merged over the base clustering +block**. Lets one config carry several sample profiles and switch by one field. +Unset → base block only. + +- ORTHOGONAL to `solver_mode` — a sample profile (e.g. `large` = focus on + constraint-heavy instances) applies in any solver mode. Do NOT key the override + off solver_mode; keep the two knobs independent. +- Only the keys present in the override are replaced (e.g. just `method` + + `thresholds` + `stage_sizes`); everything else falls through to base. +- z3-bench uses `modes.large` (threshold bucketing, top bucket only) to focus on + the biggest instances when the speedup signal is dominated by them. + +## solver_mode (optional variant suffix) + +Generic `_lib.bench_paths` feature. `bench.solver_mode` (default unset == +`optimize`) does two things: + +1. **Artifact suffixing** so multiple modes coexist on disk: + `cache/`+`final_program.py` (optimize) vs `cache-/`+`final_program_.py`. + Every `_lib` CLI (sampler/rebaseline/extract_best/prepare_phase/final_verify/ + finalize) routes through `bench_paths.cache_dir` / `variant_suffix`, so the two + modes' baselines and outputs never collide. +2. **Worker branching** — `_solve_worker.py` reads the SAME sibling `config.yaml` + field and changes solver behavior (z3: `sat` = `z3.Solver` over + `parse_smt2_file`, drops `assert-soft`, no objective, `opt.*` params silently + dropped). `_lib.evaluator_core` warns if `optimize` + `score_mode != cost`. + +Use when one workload has two ways to be solved (full optimize vs feasibility-only) +and you want both tunable without copying the bench dir. Switching = edit +`solver_mode` + `score_mode`, then re-run sampler/rebaseline/phases (per-mode +`cache-/` keeps a dedicated baseline — **rebaseline is mandatory after switch**). + ## Existing solver reference | Solver | score_mode | Worker axis | Size buckets | Phases | |---|---|---|---|---| -| z3 (`z3-bench`) | speedup | NO | NO | 4 (opt_sls + sat + smt + unified) | +| z3 (`z3-bench`) | cost (optimize) / speedup (sat) | NO | NO | 4 (opt_sls + sat + smt + unified) | | CP-SAT (`cpsat-bench`) | cost (dtime + cost_ratio) | YES (W=1, W=8) | YES | 5 (search + presolve + lp_cuts + unified + custom_subsolvers) | +z3-bench also demonstrates the optional `solver_mode` (optimize/sat) + +`clustering.mode` (base/large) knobs above — both default-off, both config-only. + Use whichever matches the new solver's profile as the structural template. diff --git a/.claude/skills/openevolve-pipeline/references/gotchas.md b/.claude/skills/openevolve-pipeline/references/gotchas.md index e8e1d629ce..4fe6ebd2f2 100644 --- a/.claude/skills/openevolve-pipeline/references/gotchas.md +++ b/.claude/skills/openevolve-pipeline/references/gotchas.md @@ -80,7 +80,23 @@ If baseline was captured single-threaded, running candidates with vs baseline → false regression. Either pin core ranges via `--pin` or recapture baseline at the same parallelism. -### v4. Catalog `defaults` ≠ binding's real defaults +### v4. solver_mode switch without re-baseline + +If the bench uses `bench.solver_mode` variants, each mode keeps its OWN baseline +in `cache-/local_baseline.json` (optimize → plain `cache/`). After switching +`solver_mode`, the new mode's `cache-/` has no baseline → `self_test`/scoring +compare against a stale or empty baseline. ALWAYS re-run `_lib.rebaseline ` +after a switch. The suffix isolation is automatic (`bench_paths.cache_dir`), so the +old mode's baseline is preserved — switching back needs no recapture. + +### v5. clustering.mode override silently ignored + +`clustering.mode: ` only applies if a matching `clustering.modes.` +block exists. A typo (mode set, no block) → sampler prints +`mode=... has no modes.... — using base` and falls back to the base block. Check +sampler stdout for `clustering: applied modes. override` to confirm it took. + +### v6. Catalog `defaults` ≠ binding's real defaults If `params.json` `defaults` includes a key the binding's real default is different, the BASELINE phase modules send may diverge from what `_lib.rebaseline` diff --git a/.claude/skills/openevolve-pipeline/references/interview-checklist.md b/.claude/skills/openevolve-pipeline/references/interview-checklist.md index 9716793a5c..c85df6e34b 100644 --- a/.claude/skills/openevolve-pipeline/references/interview-checklist.md +++ b/.claude/skills/openevolve-pipeline/references/interview-checklist.md @@ -57,6 +57,16 @@ and confirm with user: - `evaluation.enable_size_buckets`: false default. true → use `initial_program_cpsat.py.tmpl`. - `evaluation.enable_outlier_stage`: false default. +### Variant modes (optional — leave off unless user asks) +- `bench.solver_mode`: does the workload have two ways to solve it (e.g. full + optimize vs feasibility-only) the user wants to tune separately? Default unset + (single mode). If yes → set the field, branch `_solve_worker.py` on it, and pair + with the right `score_mode` (optimize→cost, feasibility→speedup). Artifacts auto- + suffix to `cache-/` + `final_program_.py`. See [decision-guide.md](decision-guide.md). +- `clustering.mode` + `clustering.modes.`: want an alternate sample profile + (e.g. focus on large instances) switchable by one field? Orthogonal to + solver_mode. Default unset (base block only). + ### KEY_STATS / STATS_WEIGHTS - Which counters from `solver.statistics()` to surface as metrics? - Weight per counter for efficiency factor (defaults: conflicts 2.0, decisions 1.5, propagations 0.5). diff --git a/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl b/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl index 915b3906ed..2ab618a78b 100644 --- a/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl +++ b/.claude/skills/openevolve-pipeline/templates/_solve_worker_py.tmpl @@ -18,6 +18,7 @@ Timeout is enforced by _lib.subprocess_runner — the worker does NOT need to implement it (but may pass it to the solver as a hint). """ import json +import pathlib import sys import time @@ -27,6 +28,21 @@ def emit(d): sys.stdout.flush() +def _solver_mode(): + """OPTIONAL — only if this bench uses bench.solver_mode variants. Reads the + sibling config.yaml so the worker branches WITHOUT an env var (config is the + single source of truth). Default "optimize". One parse/process is negligible + next to the solver import. Delete this + its use if the bench is single-mode.""" + try: + import yaml + + cfg_path = pathlib.Path(__file__).resolve().parent / "config.yaml" + cfg = yaml.safe_load(cfg_path.read_text()) or {} + return ((cfg.get("bench") or {}).get("solver_mode")) or "optimize" + except Exception: + return "optimize" + + def main(): if len(sys.argv) != 4: emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) @@ -41,6 +57,11 @@ def main(): problem_path = sys.argv[2] timeout_s = int(sys.argv[3]) + # OPTIONAL variant branch (see bench.solver_mode in config.yaml). Use `mode` + # to pick the engine (e.g. feasibility-only vs full optimize), drop mode-only + # params silently, and skip objective extraction in the lighter mode. + # mode = _solver_mode() + try: import except ImportError as e: diff --git a/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl b/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl index 51d741f5f2..553810e59e 100644 --- a/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl +++ b/.claude/skills/openevolve-pipeline/templates/config.yaml.tmpl @@ -23,8 +23,22 @@ bench: params_catalog: params.json worker_path: _solve_worker.py + # OPTIONAL variant mode (default unset == "optimize"). When set to any other + # value, _lib suffixes on-disk artifacts so multiple modes coexist: + # /optimize → cache/, final_program.py + # sat (or ) → cache-/, final_program_.py + # The worker reads this same field to branch behavior (e.g. z3 sat = Solver + # over parse_smt2_file, no objective). _lib.evaluator_core warns if + # solver_mode == optimize but score_mode != cost (objective guard inactive). + # Switch modes by editing this + score_mode, then re-run sampler/rebaseline. + # solver_mode: optimize + # Clustering — consumed by _lib.sampler. clustering: + # OPTIONAL: `mode` selects a clustering.modes. override (shallow-merged + # over this block). ORTHOGONAL to solver_mode — set independently to switch + # the sample profile (e.g. focus on large instances) in any solver mode. + # mode: large method: kmeans # kmeans | quintile | thresholds feature: features.num_constraints # dotted path into problems.jsonl record n_clusters: 5 @@ -36,6 +50,15 @@ bench: stage2: [2, 3] stage3: [4] stage4: [0, 1, 2, 3, 4] + # OPTIONAL override profiles selected by `clustering.mode` above. Each is + # shallow-merged over the base block. Example: a `large` profile that focuses + # on constraint-heavy instances via threshold bucketing, top bucket only. + # modes: + # large: + # method: thresholds + # thresholds: [15000] # bucket 1 = >=15k + # stage_clusters: {stage1: [1], stage2: [1], stage3: [1], stage4: [1]} + # stage_sizes: {stage1: 6, stage2: 10, stage3: 12, stage4: 38} # Evaluation behavior — consumed by _lib.evaluator_core. evaluation: diff --git a/.gitignore b/.gitignore index 4c82474783..c8027d596b 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ htmlcov/ secrets.yaml problems input/z3-bench/raw-data +input/z3-bench/reboot-raw-data input/cpsat-bench/raw-data # Bench evolve cache (locally regenerated by _lib.sampler / _lib.rebaseline / diff --git a/configs/claude_code_example.yaml b/configs/claude_code_example.yaml index e9c2247bc6..9b81071fc2 100644 --- a/configs/claude_code_example.yaml +++ b/configs/claude_code_example.yaml @@ -22,12 +22,16 @@ llm: provider: "claude_code" weight: 0.7 system_message: "You are an expert code evolution assistant." - timeout: 180 + timeout: 300 retries: 2 retry_delay: 10 # Optional Claude Code-specific knobs: reasoning_effort: "medium" # one of: low, medium, high, xhigh, max - max_thinking_tokens: null # cap extended thinking budget + # Cap extended thinking. The CLI/model can emit thinking even with effort + # unset; left uncapped (null) it can run for many minutes and blow past + # `timeout`. Timeouts are NOT retried (a retry would just time out again), + # so keep `timeout` comfortably above the time a capped query needs. + max_thinking_tokens: 4000 # cli_path: "/opt/homebrew/bin/claude" # claude_code_options: # raw kwargs forwarded to ClaudeAgentOptions # fallback_model: "claude-haiku-4-5" @@ -35,13 +39,15 @@ llm: - name: "claude-haiku-4-5" provider: "claude_code" weight: 0.3 - timeout: 120 + timeout: 300 + max_thinking_tokens: 4000 evaluator_models: - name: "claude-haiku-4-5" provider: "claude_code" weight: 1.0 - timeout: 120 + timeout: 300 + max_thinking_tokens: 4000 prompt: system_message: "You are an expert code evolution assistant." diff --git a/input/_lib/bench_paths.py b/input/_lib/bench_paths.py index cbb0103f25..c670e18635 100644 --- a/input/_lib/bench_paths.py +++ b/input/_lib/bench_paths.py @@ -5,6 +5,7 @@ either the bench name (e.g. `"cpsat-bench"`) or an already-resolved bench root path. """ + import importlib.util import os import pathlib @@ -27,8 +28,26 @@ def resolve_bench(bench_name_or_root): return root.resolve() +def solver_mode(bench_root): + """`bench.solver_mode` from config.yaml. Selects the solver path / pipeline + variant (e.g. z3-bench: "optimize" default vs "sat"). The value also drives + cache + final_program suffixing so multiple modes coexist on disk.""" + m = (load_config(bench_root).get("bench") or {}).get("solver_mode") + return m or "optimize" + + +def variant_suffix(bench_root): + """Disk suffix for the active solver_mode. "" for the default ("optimize") + so existing benches keep `cache/` + `final_program.py` unchanged; otherwise + the mode name (e.g. "sat" → `cache-sat/`, `final_program_sat.py`).""" + m = solver_mode(bench_root) + return "" if m == "optimize" else m + + def cache_dir(bench_root): - return pathlib.Path(bench_root).resolve() / "cache" + base = pathlib.Path(bench_root).resolve() / "cache" + s = variant_suffix(bench_root) + return base.with_name(f"cache-{s}") if s else base def raw_dir(bench_root): @@ -51,7 +70,7 @@ def worker_path(bench_root): """Resolve `bench.worker_path` from config.yaml (relative to bench_root).""" bench_root = pathlib.Path(bench_root).resolve() cfg = load_config(bench_root) - wp = ((cfg.get("bench") or {}).get("worker_path") or "_solve_worker.py") + wp = (cfg.get("bench") or {}).get("worker_path") or "_solve_worker.py" p = bench_root / wp if not p.exists(): raise SystemExit(f"worker_path not found: {p}") @@ -59,13 +78,11 @@ def worker_path(bench_root): def evaluation_cfg(bench_root): - return ((load_config(bench_root).get("bench") or {}) - .get("evaluation") or {}) + return (load_config(bench_root).get("bench") or {}).get("evaluation") or {} def clustering_cfg(bench_root): - return ((load_config(bench_root).get("bench") or {}) - .get("clustering") or {}) + return (load_config(bench_root).get("bench") or {}).get("clustering") or {} _yaml_cache = {} @@ -81,6 +98,7 @@ def load_config(bench_root): _yaml_cache[key] = {} return _yaml_cache[key] import yaml + _yaml_cache[key] = yaml.safe_load(path.read_text()) or {} return _yaml_cache[key] diff --git a/input/_lib/evaluator_core.py b/input/_lib/evaluator_core.py index 2755e7e025..02e16c6e31 100644 --- a/input/_lib/evaluator_core.py +++ b/input/_lib/evaluator_core.py @@ -16,6 +16,7 @@ 10-run averaging is the standard (configurable via `bench.evaluation.repeats`). """ + import importlib.util import inspect import json @@ -33,6 +34,7 @@ try: from openevolve.evaluation_result import EvaluationResult except Exception: + class EvaluationResult: def __init__(self, metrics=None, artifacts=None): self.metrics = metrics or {} @@ -105,6 +107,13 @@ def build_evaluators(bench_root): key_stats = tuple(adapter.KEY_STATS) stats_weights = dict(getattr(adapter, "STATS_WEIGHTS", {})) score_mode = eval_cfg.get("score_mode", getattr(adapter, "SCORE_MODE", "speedup")) + if bench_paths.solver_mode(bench_root) == "optimize" and score_mode != "cost": + print( + f"[warn] solver_mode=optimize but score_mode={score_mode} — " + f"objective guard inactive; score_mode: cost is recommended for " + f"optimize mode.", + flush=True, + ) time_metric = eval_cfg.get("time_metric") cost_weight = eval_cfg.get("cost_weight") repeats_default = int(eval_cfg.get("repeats", 10)) @@ -157,8 +166,7 @@ def _load_problems(workers=1): status = d.get(adapter.STATUS_FIELD) or {} stats_field = getattr(adapter, "STATS_FIELD", None) baseline_stats = (d.get(stats_field) or {}) if stats_field else {} - features = (d.get(getattr(adapter, "FEATURES_FIELD", "features")) - or {}) + features = d.get(getattr(adapter, "FEATURES_FIELD", "features")) or {} obj_field = getattr(adapter, "OBJECTIVE_FIELD", None) baseline_objective = status.get(obj_field) if obj_field else None baseline_ms = status.get("elapsed_ms", 0) @@ -170,17 +178,19 @@ def _load_problems(workers=1): baseline_stats = lo.get("stats") or baseline_stats if lo.get("objective") is not None: baseline_objective = lo["objective"] - rows.append({ - "sha": sha, - "input_file": d[adapter.PROBLEM_FILE_FIELD], - "baseline_ms": baseline_ms, - "baseline_result": baseline_result, - "baseline_stats": baseline_stats, - "baseline_objective": baseline_objective, - "size": adapter.get_problem_size(features), - "is_outlier": sha in outlier_shas, - "features": features, - }) + rows.append( + { + "sha": sha, + "input_file": d[adapter.PROBLEM_FILE_FIELD], + "baseline_ms": baseline_ms, + "baseline_result": baseline_result, + "baseline_stats": baseline_stats, + "baseline_objective": baseline_objective, + "size": adapter.get_problem_size(features), + "is_outlier": sha in outlier_shas, + "features": features, + } + ) return rows def _filter_by_sample(problems, stage_n): @@ -192,8 +202,12 @@ def _filter_by_sample(problems, stage_n): def _err(metrics_extra, artifacts): m = { - "combined_score": 0.0, "geomean_speedup": 0.0, - "solved_rate": 0.0, "regressions": 0, "solved": 0, "total": 0, + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, } m.update(metrics_extra) return EvaluationResult(metrics=m, artifacts=artifacts) @@ -220,21 +234,28 @@ def _evaluate(program_path, problems, stage_name): try: program = _load_program(program_path) except Exception as e: - return _err({"error": f"program load failed: {e}"}, - {"error_type": type(e).__name__, - "full_traceback": traceback.format_exc()[-2000:], - "stage": stage_name}) + return _err( + {"error": f"program load failed: {e}"}, + { + "error_type": type(e).__name__, + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name, + }, + ) if not hasattr(program, "get_params"): - return _err({"error": "missing get_params()"}, - {"stage": stage_name}) + return _err({"error": "missing get_params()"}, {"stage": stage_name}) try: global_params = _resolve_params(program.get_params, None, stage_name) except Exception as e: - return _err({"error": f"get_params() raised: {e}"}, - {"error_type": type(e).__name__, - "full_traceback": traceback.format_exc()[-2000:], - "stage": stage_name}) + return _err( + {"error": f"get_params() raised: {e}"}, + { + "error_type": type(e).__name__, + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name, + }, + ) phase_locked = getattr(program, "PHASE_LOCKED", None) if isinstance(phase_locked, dict): @@ -243,21 +264,24 @@ def _evaluate(program_path, problems, stage_name): else: locked = dict(catalog_locked) - violations = {k: global_params.get(k) for k in locked - if global_params.get(k) != locked[k]} + violations = {k: global_params.get(k) for k in locked if global_params.get(k) != locked[k]} if violations: - return _err({"error": "locked params violated"}, - {"locked_violated": violations, - "locked_expected": locked, - "stage": stage_name}) + return _err( + {"error": "locked params violated"}, + {"locked_violated": violations, "locked_expected": locked, "stage": stage_name}, + ) catalog_errors = catalog.validate(global_params) if catalog_errors: first_key, first_msg = catalog_errors[0] - return _err({"error": f"invalid param: {first_key}"}, - {"invalid_param": first_key, - "catalog_errors": catalog_errors[:10], - "stage": stage_name}) + return _err( + {"error": f"invalid param: {first_key}"}, + { + "invalid_param": first_key, + "catalog_errors": catalog_errors[:10], + "stage": stage_name, + }, + ) if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] @@ -265,23 +289,28 @@ def _evaluate(program_path, problems, stage_name): if not problems: return EvaluationResult( metrics={ - "combined_score": 100.0, "geomean_speedup": 100.0, - "solved_rate": 1.0, "regressions": 0, - "solved": 0, "total": 0, "stage": stage_name, + "combined_score": 100.0, + "geomean_speedup": 100.0, + "solved_rate": 1.0, + "regressions": 0, + "solved": 0, + "total": 0, + "stage": stage_name, }, - artifacts={"stage": stage_name, - "summary": "empty sample — pass-through"}) + artifacts={"stage": stage_name, "summary": "empty sample — pass-through"}, + ) for p in problems: ip = raw_dir / p["input_file"] if not ip.exists(): - return _err({"error": f"input not found: {p['input_file']}"}, - {"missing_file": str(ip), "stage": stage_name}) + return _err( + {"error": f"input not found: {p['input_file']}"}, + {"missing_file": str(ip), "stage": stage_name}, + ) cores = runtime.core_range() if cores is None: - cores = list(range(1, runtime.parallel_solvers( - config_yaml, default=1) + 1)) + cores = list(range(1, runtime.parallel_solvers(config_yaml, default=1) + 1)) if workers_key: workers_per_solve = int(global_params.get(workers_key, 1) or 1) blocks = runtime.alloc_core_blocks(cores, workers_per_solve) @@ -302,14 +331,21 @@ def _evaluate(program_path, problems, stage_name): def _solve(idx_p): idx, p = idx_p ip = raw_dir / p["input_file"] - timeout_s = max(min_timeout_s, - math.ceil(p["baseline_ms"] * timeout_factor / 1000)) + timeout_s = max(min_timeout_s, math.ceil(p["baseline_ms"] * timeout_factor / 1000)) try: per_params = _resolve_params(program.get_params, p, stage_name) except Exception as e: - return idx, p, {"result": "ERROR", "elapsed_ms": 0, - "invalid_param": f"get_params(problem,stage) raised: {e}"}, \ - None, timeout_s + return ( + idx, + p, + { + "result": "ERROR", + "elapsed_ms": 0, + "invalid_param": f"get_params(problem,stage) raised: {e}", + }, + None, + timeout_s, + ) for k, v in locked.items(): per_params[k] = v if workers_key and workers_key in global_params: @@ -320,9 +356,13 @@ def _solve(idx_p): runs = [] for _ in range(n_repeats): rr = subprocess_runner.run_solver( - worker_path=worker, problem_path=ip, - params=per_params, timeout_s=timeout_s, - python_bin=py_bin, cpu_core=block) + worker_path=worker, + problem_path=ip, + params=per_params, + timeout_s=timeout_s, + python_bin=py_bin, + cpu_core=block, + ) runs.append(rr) if "invalid_param" in rr: break @@ -338,37 +378,48 @@ def _fmt(c): return ",".join(str(x) for x in c) if c else "-" return str(c) - print(f" [{stage_name}] workers/solve={workers_per_solve} " - f"repeats={n_repeats} " - f"core_blocks={[_fmt(b) for b in blocks]}", flush=True) + print( + f" [{stage_name}] workers/solve={workers_per_solve} " + f"repeats={n_repeats} " + f"core_blocks={[_fmt(b) for b in blocks]}", + flush=True, + ) by_idx = {} abort = None if n_parallel == 1: for pair in enumerate(problems): idx, p, r, block, timeout_s = _solve(pair) - print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={_fmt(block)})", flush=True) + print( + f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={_fmt(block)})", + flush=True, + ) if "invalid_param" in r: return _err( {"error": f"invalid param: {r['invalid_param']}"}, - {"invalid_param": r["invalid_param"], - "stderr": r.get("stderr", "")[:2000], - "stage": stage_name}) + { + "invalid_param": r["invalid_param"], + "stderr": r.get("stderr", "")[:2000], + "stage": stage_name, + }, + ) by_idx[idx] = (p, r) else: - ordered = sorted(enumerate(problems), - key=lambda ip: -ip[1]["baseline_ms"]) + ordered = sorted(enumerate(problems), key=lambda ip: -ip[1]["baseline_ms"]) with ThreadPoolExecutor(max_workers=n_parallel) as ex: futs = [ex.submit(_solve, pair) for pair in ordered] for f in as_completed(futs): if abort is not None: continue idx, p, r, block, timeout_s = f.result() - print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " - f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " - f"(core={_fmt(block)})", flush=True) + print( + f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={_fmt(block)})", + flush=True, + ) if "invalid_param" in r: abort = r for ff in futs: @@ -378,9 +429,12 @@ def _fmt(c): if abort is not None: return _err( {"error": f"invalid param: {abort['invalid_param']}"}, - {"invalid_param": abort["invalid_param"], - "stderr": abort.get("stderr", "")[:2000], - "stage": stage_name}) + { + "invalid_param": abort["invalid_param"], + "stderr": abort.get("stderr", "")[:2000], + "stage": stage_name, + }, + ) results = [] for idx in range(len(problems)): @@ -399,29 +453,38 @@ def _fmt(c): _SMALL_CACHE[(str(program_path), stage_name)] = results metrics = scorer.score( - results, mode=score_mode, - decisive_results=decisive, decided_results=decided, + results, + mode=score_mode, + decisive_results=decisive, + decided_results=decided, stats_weights=stats_weights, - time_metric=time_metric, cost_weight=cost_weight) + time_metric=time_metric, + cost_weight=cost_weight, + ) metrics["stage"] = stage_name for k in key_stats: - metrics[f"total_{k}"] = float(sum( - r["stats"].get(k, 0) for r in results)) - - sample = [{ - "sha": r["sha"][:10], - "base_result": r["baseline_result"], - "got_result": r["result"], - "base_ms": r["baseline_ms"], - "ms": r["elapsed_ms"], - "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), - "timeout": r["timeout"], - "base_obj": r.get("baseline_objective"), - "obj": r.get("objective"), - "stats": {k: r["stats"].get(k, 0) for k in key_stats if k in r["stats"]}, - "base_stats": {k: r["baseline_stats"].get(k, 0) - for k in key_stats if k in (r.get("baseline_stats") or {})}, - } for r in results] + metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in results)) + + sample = [ + { + "sha": r["sha"][:10], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_ms": r["baseline_ms"], + "ms": r["elapsed_ms"], + "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), + "timeout": r["timeout"], + "base_obj": r.get("baseline_objective"), + "obj": r.get("objective"), + "stats": {k: r["stats"].get(k, 0) for k in key_stats if k in r["stats"]}, + "base_stats": { + k: r["baseline_stats"].get(k, 0) + for k in key_stats + if k in (r.get("baseline_stats") or {}) + }, + } + for r in results + ] artifacts = { "stage": stage_name, "summary": ( diff --git a/input/_lib/finalize.py b/input/_lib/finalize.py index fbe1dd0bfe..bd25c323cc 100644 --- a/input/_lib/finalize.py +++ b/input/_lib/finalize.py @@ -28,6 +28,7 @@ 2. `/openevolve_output/checkpoints/checkpoint_*/best_program.py` (highest combined_score) """ + import argparse import json import pathlib @@ -74,9 +75,7 @@ def repl_dict(m): return f"{indent}{name} = {{}}" data = json.loads(path.read_text()) replaced.append((name, fname, "dict")) - return f"{indent}{name} = " + pprint.pformat( - data, width=100, sort_dicts=True - ) + return f"{indent}{name} = " + pprint.pformat(data, width=100, sort_dicts=True) def repl_buckets(m): indent, name, fname = m.group(1), m.group(2), m.group(3) @@ -103,8 +102,9 @@ def _pick_from_checkpoints(phase_dir): if not info.exists() or not prog.exists(): continue try: - sc = float(json.loads(info.read_text()) - .get("metrics", {}).get("combined_score", float("-inf"))) + sc = float( + json.loads(info.read_text()).get("metrics", {}).get("combined_score", float("-inf")) + ) except (json.JSONDecodeError, ValueError, TypeError): continue if sc > best_score: @@ -127,8 +127,7 @@ def finalize(bench_root, from_checkpoints=False): best_py, score, ck = _pick_from_checkpoints(last_phase) if best_py is None: raise SystemExit(f"no checkpoint best_program.py under {last_phase}") - print(f"[finalize] from-checkpoints: picked {ck.name} " - f"(combined_score={score:.4f})") + print(f"[finalize] from-checkpoints: picked {ck.name} " f"(combined_score={score:.4f})") else: best_py = last_phase / "openevolve_output" / "best" / "best_program.py" if not best_py.exists(): @@ -139,8 +138,10 @@ def finalize(bench_root, from_checkpoints=False): f"{last_phase / 'openevolve_output' / 'checkpoints'}" ) best_py = best_py_alt - print(f"[finalize] best/best_program.py missing — using checkpoint " - f"{ck.name} (combined_score={score:.4f})") + print( + f"[finalize] best/best_program.py missing — using checkpoint " + f"{ck.name} (combined_score={score:.4f})" + ) src = best_py.read_text() header = ( @@ -159,11 +160,13 @@ def finalize(bench_root, from_checkpoints=False): # Insert header AFTER the module docstring. match = re.match(r'^(?P"""|\'\'\')(.*?)(?P=q)\s*\n', resolved_src, re.S) if match: - out_src = resolved_src[:match.end()] + "\n" + header + resolved_src[match.end():] + out_src = resolved_src[: match.end()] + "\n" + header + resolved_src[match.end() :] else: out_src = header + resolved_src - out = bench_root / "final_program.py" + suffix = bench_paths.variant_suffix(bench_root) + final_name = f"final_program_{suffix}.py" if suffix else "final_program.py" + out = bench_root / final_name out.write_text(out_src) rel_src = best_py.relative_to(bench_root) @@ -172,19 +175,22 @@ def finalize(bench_root, from_checkpoints=False): for name, fname, kind in replaced: print(f" {name} ← cache/{fname} ({kind})") else: - print("[finalize] no _load_prev*() calls to inline " - "(EVOLVE-BLOCK already self-contained)") - print(f"[finalize] {rel_src} → final_program.py ({out.stat().st_size} bytes)") + print( + "[finalize] no _load_prev*() calls to inline " "(EVOLVE-BLOCK already self-contained)" + ) + print(f"[finalize] {rel_src} → {final_name} ({out.stat().st_size} bytes)") def main(argv=None): ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) ap.add_argument("bench", help="bench dir name (e.g. cpsat-bench)") - ap.add_argument("--from-checkpoints", action="store_true", - help="scan checkpoint_*/ dirs and pick highest combined_score") + ap.add_argument( + "--from-checkpoints", + action="store_true", + help="scan checkpoint_*/ dirs and pick highest combined_score", + ) args = ap.parse_args(argv) - finalize(bench_paths.resolve_bench(args.bench), - from_checkpoints=args.from_checkpoints) + finalize(bench_paths.resolve_bench(args.bench), from_checkpoints=args.from_checkpoints) if __name__ == "__main__": diff --git a/input/_lib/sampler.py b/input/_lib/sampler.py index 2c5edf5b8b..5a18c24f01 100644 --- a/input/_lib/sampler.py +++ b/input/_lib/sampler.py @@ -29,6 +29,7 @@ The decisive-baseline filter is driven by the adapter (`DECISIVE_RESULTS` + `STATUS_FIELD`). """ + import argparse import json import pathlib @@ -130,7 +131,7 @@ def _pick_spread(pool, n_pick, mode): return list(pool) if mode == "center": start = (len(pool) - n_pick) // 2 - return pool[start:start + n_pick] + return pool[start : start + n_pick] # default: quintile spread within the pool if n_pick == 1: return [pool[len(pool) // 2]] @@ -164,14 +165,14 @@ def _fmt_ms(v): return f"{int(v)}ms" -def _print_stage_report(stage_name, picks, pool, cluster_ids, - feature_path, baseline_ms, baseline_result, fname): +def _print_stage_report( + stage_name, picks, pool, cluster_ids, feature_path, baseline_ms, baseline_result, fname +): pool_n = len(pool) picks_n = len(picks) if picks_n == 0: - print(f" {stage_name} ({fname}): 0 picks from clusters " - f"{cluster_ids} (pool={pool_n})") + print(f" {stage_name} ({fname}): 0 picks from clusters " f"{cluster_ids} (pool={pool_n})") return pick_ms = [baseline_ms(r) for r in picks] @@ -191,25 +192,27 @@ def _print_stage_report(stage_name, picks, pool, cluster_ids, result_str = ", ".join(f"{k}={v}" for k, v in sorted(counts.items())) print() - print(f" {stage_name} ({fname}): {picks_n} picks from " - f"clusters {cluster_ids} (pool={pool_n})") + print( + f" {stage_name} ({fname}): {picks_n} picks from " f"clusters {cluster_ids} (pool={pool_n})" + ) print(f" results: {result_str}") - print(f" picks baseline_ms: min={_fmt_ms(p_lo)} p25={_fmt_ms(p_q1)} " - f"median={_fmt_ms(p_med)} p75={_fmt_ms(p_q3)} max={_fmt_ms(p_hi)}") - print(f" pool baseline_ms: min={_fmt_ms(o_lo)} p25={_fmt_ms(o_q1)} " - f"median={_fmt_ms(o_med)} p75={_fmt_ms(o_q3)} max={_fmt_ms(o_hi)}") - print(f" picks {feature_path}: min={int(f_lo)} median={int(f_med)} " - f"max={int(f_hi)}") - print(f" pool {feature_path}: min={int(of_lo)} median={int(of_med)} " - f"max={int(of_hi)}") + print( + f" picks baseline_ms: min={_fmt_ms(p_lo)} p25={_fmt_ms(p_q1)} " + f"median={_fmt_ms(p_med)} p75={_fmt_ms(p_q3)} max={_fmt_ms(p_hi)}" + ) + print( + f" pool baseline_ms: min={_fmt_ms(o_lo)} p25={_fmt_ms(o_q1)} " + f"median={_fmt_ms(o_med)} p75={_fmt_ms(o_q3)} max={_fmt_ms(o_hi)}" + ) + print(f" picks {feature_path}: min={int(f_lo)} median={int(f_med)} " f"max={int(f_hi)}") + print(f" pool {feature_path}: min={int(of_lo)} median={int(of_med)} " f"max={int(of_hi)}") print(" picks:") for r in picks: sha = r["problem_sha256"][:12] ms = baseline_ms(r) feat = int(_dotted(r, feature_path) or 0) res = baseline_result(r) - print(f" {sha} {res:<10} {_fmt_ms(ms):>8} " - f"{feature_path}={feat}") + print(f" {sha} {res:<10} {_fmt_ms(ms):>8} " f"{feature_path}={feat}") def build_samples(bench_root, *, adapter=None): @@ -221,6 +224,18 @@ def build_samples(bench_root, *, adapter=None): if not cluster_cfg: raise SystemExit("bench.clustering missing from config.yaml") + # Clustering-mode override: `clustering.modes.` is shallow-merged over + # the base block when `clustering.mode` selects it. This is ORTHOGONAL to + # bench.solver_mode — e.g. `mode: large` switches to threshold sampling of + # constraint-heavy instances regardless of optimize/sat. Unset → base block. + mode = cluster_cfg.get("mode") + mode_overrides = (cluster_cfg.get("modes") or {}).get(mode) if mode else None + if mode_overrides: + cluster_cfg = {**cluster_cfg, **mode_overrides} + print(f"clustering: applied modes.{mode} override") + elif mode: + print(f"clustering: mode={mode!r} has no modes.{mode} block — using base") + if adapter is None: adapter = bench_paths.load_adapter(bench_root) @@ -265,8 +280,7 @@ def _baseline_result(r): feature_vals = [_dotted(r, feature_path) for r in pool] if any(v is None for v in feature_vals): missing = sum(1 for v in feature_vals if v is None) - print(f"warning: {missing} problems missing {feature_path}; treating as 0", - file=sys.stderr) + print(f"warning: {missing} problems missing {feature_path}; treating as 0", file=sys.stderr) feature_vals = [v if v is not None else 0 for v in feature_vals] feature_vals = [float(v) for v in feature_vals] @@ -282,8 +296,7 @@ def _baseline_result(r): elif method == "thresholds": thr = list(cluster_cfg.get("thresholds") or []) if not thr: - raise SystemExit("clustering.method=thresholds requires " - "non-empty `thresholds` list") + raise SystemExit("clustering.method=thresholds requires " "non-empty `thresholds` list") labels = _threshold_labels(feature_vals, thr) n_buckets = len(thr) + 1 else: @@ -300,12 +313,13 @@ def _baseline_result(r): def _range(b): if not b: return "empty" - return (f"feat={int(_dotted(b[0], feature_path) or 0)}.." - f"{int(_dotted(b[-1], feature_path) or 0)} " - f"ms={int(_baseline_ms(b[0]))}..{int(_baseline_ms(b[-1]))}") - print("buckets: " + " | ".join( - f"c{i}({len(b)},{_range(b)})" for i, b in enumerate(buckets) - )) + return ( + f"feat={int(_dotted(b[0], feature_path) or 0)}.." + f"{int(_dotted(b[-1], feature_path) or 0)} " + f"ms={int(_baseline_ms(b[0]))}..{int(_baseline_ms(b[-1]))}" + ) + + print("buckets: " + " | ".join(f"c{i}({len(b)},{_range(b)})" for i, b in enumerate(buckets))) stage_sizes = cluster_cfg.get("stage_sizes") or {} stage_clusters = cluster_cfg.get("stage_clusters") or {} @@ -324,26 +338,39 @@ def _range(b): merged.sort(key=_baseline_ms) picks = _pick_spread(merged, n_pick, spread) sample_path = cache_dir / f"{stage_name}_sample.json" - criteria = (f"{method}-clusters={cluster_ids} feature={feature_path} " - f"spread={spread}") + criteria = f"{method}-clusters={cluster_ids} feature={feature_path} " f"spread={spread}" sample_path.write_text( - json.dumps({ - "selection": f"{len(picks)} from {len(merged)} candidates", - "criteria": criteria, - "source": str(problems_jsonl.relative_to(bench_root.parent.parent)), - "sha256": [r["problem_sha256"] for r in picks], - "summary": [{ - "sha": r["problem_sha256"][:12], - "baseline_result": _baseline_result(r), - "baseline_ms": _baseline_ms(r), - feature_path: _dotted(r, feature_path), - } for r in picks], - }, indent=2) + "\n" + json.dumps( + { + "selection": f"{len(picks)} from {len(merged)} candidates", + "criteria": criteria, + "source": str(problems_jsonl.relative_to(bench_root.parent.parent)), + "sha256": [r["problem_sha256"] for r in picks], + "summary": [ + { + "sha": r["problem_sha256"][:12], + "baseline_result": _baseline_result(r), + "baseline_ms": _baseline_ms(r), + feature_path: _dotted(r, feature_path), + } + for r in picks + ], + }, + indent=2, + ) + + "\n" ) - _print_stage_report(stage_name, picks, merged, cluster_ids, - feature_path, _baseline_ms, _baseline_result, - sample_path.name) + _print_stage_report( + stage_name, + picks, + merged, + cluster_ids, + feature_path, + _baseline_ms, + _baseline_result, + sample_path.name, + ) def main(argv=None): diff --git a/input/_lib/scorer.py b/input/_lib/scorer.py index 6256b9ab49..ae4af1b7a8 100644 --- a/input/_lib/scorer.py +++ b/input/_lib/scorer.py @@ -86,7 +86,7 @@ def _score_speedup(per_problem, decided_set): weights.append(w) if match: solved += 1 - speedups.append(p["baseline_ms"] / max(p["elapsed_ms"], 1)) + speedups.append(max(p["baseline_ms"], 1) / max(p["elapsed_ms"], 1)) else: speedups.append(1e-6) if baseline_decided and p["result"] in decided_set: @@ -109,7 +109,7 @@ def _time_ratio(p, metric): v_dt = vs.get("deterministic_time") if b_dt and v_dt and b_dt > 0 and v_dt > 0: return float(b_dt) / float(v_dt), "dtime" - return p["baseline_ms"] / max(p["elapsed_ms"], 1), "wall" + return max(p["baseline_ms"], 1) / max(p["elapsed_ms"], 1), "wall" def _score_cost(per_problem, decisive_set, time_metric, cost_weight): @@ -132,7 +132,7 @@ def _score_cost(per_problem, decisive_set, time_metric, cost_weight): b_cost = p.get("baseline_objective") v_cost = p.get("objective") time_r, src = _time_ratio(p, time_metric) - wall_r = p["baseline_ms"] / max(p["elapsed_ms"], 1) + wall_r = max(p["baseline_ms"], 1) / max(p["elapsed_ms"], 1) if time_metric == "dtime": if src == "dtime": dtime_used += 1 diff --git a/input/cpsat-bench/evolve/config.yaml b/input/cpsat-bench/evolve/config.yaml index cc7f69f13f..08359523bd 100644 --- a/input/cpsat-bench/evolve/config.yaml +++ b/input/cpsat-bench/evolve/config.yaml @@ -90,14 +90,16 @@ llm: - name: "claude-sonnet-4-6" provider: "claude_code" weight: 0.8 - timeout: 180 + timeout: 300 # raised from 180: a capped query needs ~180-250s; no retry on timeout now (see claude_code.py) retries: 2 retry_delay: 10 reasoning_effort: "medium" + max_thinking_tokens: 4000 # cap extended thinking; uncapped it overflowed the timeout and burned a 2nd retry for nothing - name: "claude-haiku-4-5" provider: "claude_code" weight: 0.2 - timeout: 120 + timeout: 300 + max_thinking_tokens: 4000 prompt: system_message: | diff --git a/input/z3-bench/build_problems_reboot.py b/input/z3-bench/build_problems_reboot.py new file mode 100644 index 0000000000..b78ae3a27d --- /dev/null +++ b/input/z3-bench/build_problems_reboot.py @@ -0,0 +1,122 @@ +""" +Scan `reboot-raw-data//{meta.jsonl,problem.smt2}` and emit +`problems.jsonl` for the z3-OPTIMIZE (soft-constraint / cost-mode) pipeline. + +The reboot dataset differs from the original z3-bench layout: + - per-cell subdirectories (one problem.smt2 + one meta.jsonl each), not flat + `.smt2` + `__hash__seed.meta.jsonl` files; + - meta `z3_status.result` is "Skipped" with elapsed_ms=0 and objective_value=0 + (baselines were never run), so there is NO usable baseline timing/objective + in the raw data — both are RE-MEASURED locally by `_lib.rebaseline`. + +To make the local re-measurement actually take effect, the emitted baseline +`z3_status.result` must equal what the local solve produces, because +`_lib.rebaseline` only adopts a local baseline when +`got_result == raw_result` (matches_raw). Empirically all 89 reboot instances +solve to `sat` with objective 0 in <5s, so we stamp result="Sat". The local +rebaseline then overrides elapsed_ms / stats / objective per-problem. + +`smt2_filename` is written relative to `raw-data/` (which `_lib` joins against): +`../reboot-raw-data//problem.smt2`. The `..` resolves at open() time. + +Usage: + python3 input/z3-bench/build_problems_reboot.py [--dry-run] [--out PATH] + +Idempotent — overwrites problems.jsonl. Re-run when reboot-raw-data/ changes. +""" +import argparse +import hashlib +import json +import pathlib +import sys + +_HERE = pathlib.Path(__file__).resolve().parent +_RAW = _HERE / "reboot-raw-data" +_DEFAULT_OUT = _HERE / "problems.jsonl" + +# Placeholder baseline timing — strictly < clustering.max_baseline_ms so the +# problem is never filtered from the pool. Overwritten by _lib.rebaseline. +_PLACEHOLDER_MS = 1000 + + +def _sha256(path): + h = hashlib.sha256() + with open(path, "rb") as f: + for chunk in iter(lambda: f.read(1 << 20), b""): + h.update(chunk) + return h.hexdigest() + + +def scan(raw_dir): + cells = sorted(p for p in raw_dir.iterdir() if p.is_dir()) + if not cells: + raise SystemExit(f"no per-cell subdirs under {raw_dir}") + rows = [] + bad = 0 + for cell in cells: + meta_path = cell / "meta.jsonl" + smt2_path = cell / "problem.smt2" + if not meta_path.exists() or not smt2_path.exists(): + print(f"WARN: missing meta.jsonl/problem.smt2 in {cell.name}", + file=sys.stderr) + bad += 1 + continue + try: + m = json.loads(meta_path.read_text()) + except json.JSONDecodeError as e: + print(f"WARN: bad json {cell.name}/meta.jsonl: {e}", file=sys.stderr) + bad += 1 + continue + sha = _sha256(smt2_path) + row = { + "problem_sha256": sha, + # relative to raw-data/ — _lib does raw_dir / smt2_filename + "smt2_filename": f"../reboot-raw-data/{cell.name}/problem.smt2", + "cell": cell.name, + "solver": m.get("solver", "z3-optimize"), + "z3_version": m.get("z3_version"), + "path": m.get("path"), + "features": m.get("features") or {}, + "cli_params": m.get("cli_params") or {}, + # Baseline re-measured locally; result="Sat" so matches_raw fires. + "z3_status": { + "result": "Sat", + "elapsed_ms": _PLACEHOLDER_MS, + "objective_value": 0, + }, + } + rows.append(row) + rows.sort(key=lambda r: r["problem_sha256"]) + return rows, {"scanned": len(cells), "bad": bad} + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + ap.add_argument("--dry-run", action="store_true", + help="print counts but don't write") + ap.add_argument("--out", type=pathlib.Path, default=_DEFAULT_OUT, + help=f"output path (default: {_DEFAULT_OUT.name})") + args = ap.parse_args() + + rows, stats = scan(_RAW) + print(f"scanned {stats['scanned']} cell dirs") + if stats["bad"]: + print(f" skipped {stats['bad']} incomplete/malformed") + print(f" kept {len(rows)} rows") + + if args.dry_run: + print("(dry-run — no write)") + return + + with open(args.out, "w") as f: + for r in rows: + f.write(json.dumps(r) + "\n") + try: + rel = args.out.relative_to(_HERE.parent) + except ValueError: + rel = args.out + print(f"wrote {rel} ({len(rows)} rows)") + + +if __name__ == "__main__": + main() diff --git a/input/z3-bench/evolve/_solve_worker.py b/input/z3-bench/evolve/_solve_worker.py index c618f65fd9..2db8c2c8f2 100644 --- a/input/z3-bench/evolve/_solve_worker.py +++ b/input/z3-bench/evolve/_solve_worker.py @@ -4,6 +4,13 @@ are applied via z3.set_param so globals like 'threads' / 'parallel.enable' / 'sls.parallel' work, unlike CLI positional `key=value`. +Solver mode is read from the sibling `config.yaml` `bench.solver_mode` +(default "optimize"): + - "optimize": z3.Optimize, full soft-constraint optimization (+ objective). + - "sat": z3.Solver over z3.parse_smt2_file (which drops `assert-soft`), + i.e. hard-constraint feasibility only — faster, no objective. + `opt.*` params are Optimize-only and silently dropped here. + Invoked as a subprocess by z3_runner.py for process isolation + hard timeout. argv: @@ -21,8 +28,10 @@ restarts, plus tactic-specific counters like arith/bv overflow, mk-clause, ...). Numeric values only; non-numeric keys dropped to keep JSON small. """ + import json import os +import pathlib import sys import time @@ -32,6 +41,20 @@ def emit(d): sys.stdout.flush() +def _solver_mode(): + """Read `bench.solver_mode` from the sibling config.yaml. Returns + "optimize" (default) or "sat". Config-driven so no env var is needed; + one parse per worker process is negligible next to the z3 import.""" + try: + import yaml + + cfg_path = pathlib.Path(__file__).resolve().parent / "config.yaml" + cfg = yaml.safe_load(cfg_path.read_text()) or {} + return ((cfg.get("bench") or {}).get("solver_mode")) or "optimize" + except Exception: + return "optimize" + + def main(): if len(sys.argv) != 4: emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) @@ -46,6 +69,8 @@ def main(): smt2_path = sys.argv[2] timeout_s = int(sys.argv[3]) + mode = _solver_mode() + try: import z3 except ImportError as e: @@ -69,7 +94,10 @@ def main(): opt_local = {} for k, v in params.items(): if k.startswith("opt."): - opt_local[k[len("opt."):]] = v + # opt.* is Optimize-only. In sat mode (z3.Solver) it has no target, + # so drop it silently rather than flagging it as an invalid_param. + if mode != "sat": + opt_local[k[len("opt.") :]] = v continue try: z3.set_param(k, v) @@ -77,7 +105,14 @@ def main(): emit({"invalid_param": k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) return except Exception as e: - emit({"invalid_param": k, "error": f"{type(e).__name__}: {e}", "result": "Unknown", "elapsed_ms": 0}) + emit( + { + "invalid_param": k, + "error": f"{type(e).__name__}: {e}", + "result": "Unknown", + "elapsed_ms": 0, + } + ) return # Soft timeout (z3 polls at safe points) — outer subprocess.run() also @@ -87,23 +122,48 @@ def main(): except Exception: pass - o = z3.Optimize() - - for k, v in opt_local.items(): + if mode == "sat": + # SAT feasibility only: parse_smt2_file drops `assert-soft` (Optimize + # extension) and returns just the hard assertions. Solver stops at the + # first feasible model — no objective search. + o = z3.Solver() try: - o.set(k, v) - except z3.Z3Exception as e: - emit({"invalid_param": "opt." + k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) - return + o.add(z3.parse_smt2_file(smt2_path)) except Exception as e: - emit({"invalid_param": "opt." + k, "error": f"{type(e).__name__}: {e}", "result": "Unknown", "elapsed_ms": 0}) + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"smt2 parse: {e}"}) return + else: + o = z3.Optimize() - try: - o.from_file(smt2_path) - except Exception as e: - emit({"result": "Unknown", "elapsed_ms": 0, "error": f"smt2 parse: {e}"}) - return + for k, v in opt_local.items(): + try: + o.set(k, v) + except z3.Z3Exception as e: + emit( + { + "invalid_param": "opt." + k, + "error": str(e), + "result": "Unknown", + "elapsed_ms": 0, + } + ) + return + except Exception as e: + emit( + { + "invalid_param": "opt." + k, + "error": f"{type(e).__name__}: {e}", + "result": "Unknown", + "elapsed_ms": 0, + } + ) + return + + try: + o.from_file(smt2_path) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"smt2 parse: {e}"}) + return t0 = time.monotonic() try: @@ -142,7 +202,41 @@ def main(): except Exception: stats = {} - emit({"result": label, "elapsed_ms": elapsed_ms, "stats": stats}) + # Cost mode (optimize): score on z3's deterministic work measure so the + # signal is machine-independent and immune to the sub-second wall-clock + # noise this workload exhibits (median solve ~0.65s). "rlimit count" is + # z3's deterministic step counter — _lib.scorer._time_ratio reads + # stats["deterministic_time"]. + if "rlimit count" in stats: + stats["deterministic_time"] = stats["rlimit count"] + + # Optimize objective value (sum of violated assert-soft weights). These + # instances carry exactly one implicit objective; evaluate it in the model. + # Used by cost mode as a CORRECTNESS GUARD: a good variant must still reach + # the baseline optimum (0 on this workload); a worse / non-zero objective is + # penalized via cost_ratio < 1. + # sat mode is a plain Solver — no objective() to read (and speedup scoring + # ignores it anyway). Only Optimize exposes objectives(). + objective = None + if mode != "sat" and label == "Sat": + try: + objs = o.objectives() + if objs: + val = o.model().eval(objs[0], model_completion=True) + try: + objective = val.as_long() + except Exception: + try: + objective = float(val.as_fraction()) + except Exception: + objective = float(str(val)) + except Exception: + objective = None + + out = {"result": label, "elapsed_ms": elapsed_ms, "stats": stats} + if objective is not None: + out["objective"] = objective + emit(out) if __name__ == "__main__": diff --git a/input/z3-bench/evolve/adapter.py b/input/z3-bench/evolve/adapter.py index da9aa9841e..87c72aeec4 100644 --- a/input/z3-bench/evolve/adapter.py +++ b/input/z3-bench/evolve/adapter.py @@ -6,15 +6,19 @@ SOLVER_NAME = "z3" PROBLEM_FILE_FIELD = "smt2_filename" -STATUS_FIELD = "z3_status" # {"result", "elapsed_ms"} -STATS_FIELD = None # baseline has no separate stats block +STATUS_FIELD = "z3_status" # {"result", "elapsed_ms", "objective_value"} +STATS_FIELD = None # baseline carries no separate stats block FEATURES_FIELD = "features" -OBJECTIVE_FIELD = None # SMT2/MaxSMT: no objective in baseline +# Optimize mode: z3.Optimize derives one objective from the assert-soft +# constraints. The reboot baselines were "Skipped" (objective_value=0 placeholder), +# so the real baseline objective is re-measured by _lib.rebaseline and overrides +# this field per-problem (evaluator_core: lo["objective"] wins when matches_raw). +OBJECTIVE_FIELD = "objective_value" DECISIVE_RESULTS = ("Sat", "Unsat") DECIDED_RESULTS = ("Sat", "Unsat") -KEY_STATS = ("decisions", "propagations", "conflicts", "mk clause") +KEY_STATS = ("decisions", "propagations", "conflicts", "rlimit count") STATS_WEIGHTS = { "conflicts": 2.0, @@ -22,12 +26,17 @@ "propagations": 0.5, } -SCORE_MODE = "speedup" +# Cost mode: combined = geomean(cost_ratio^cw * time_ratio) * solved_rate^2 * eff^sw. +# On this reboot workload every problem's optimum is 0, so cost_ratio is ~1 and acts +# as a correctness guard (a variant that returns a worse, non-zero objective is +# penalized); the optimization signal comes from time_ratio on deterministic_time +# (rlimit count), emitted by _solve_worker.py. See config.yaml evaluation.score_mode. +SCORE_MODE = "cost" WORKERS_KEY = None # z3 single-threaded in this bench def get_problem_size(features): - """Z3 problems carry num_hard_constraints as the dominant size signal - (mean ~106k hard / ~2k soft / ~33k vars across the workload).""" + """Reboot z3-optimize problems carry num_hard_constraints as the dominant + size signal (2.5k–41k hard / 42–392 soft across the 89-instance workload).""" return int((features or {}).get("num_hard_constraints") or 0) diff --git a/input/z3-bench/evolve/backup/20260519/phase1_opt_sls/initial_program.py b/input/z3-bench/evolve/backup/20260519/phase1_opt_sls/initial_program.py new file mode 100644 index 0000000000..bafdea9fde --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/phase1_opt_sls/initial_program.py @@ -0,0 +1,70 @@ +""" +Phase 1: tune opt.* + sls.*. + +Other namespaces (sat.*, smt.*, parallel.*) stay at baseline. Z3 4.13.x keys. +EVOLVE-BLOCK below is the only thing the LLM should change. Keys may be added, +removed, or have values modified. + +Do NOT modify locked keys (sls.random_seed; sat./smt./parallel.* live in BASELINE +and stay there). Invalid Z3 keys cause evaluator to return 0. +""" +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +# EVOLVE-BLOCK-START +OPT_SLS_OVERRIDES = { + # opt.* — MaxSMT engine, MaxRes/RC2 knobs, optsmt engine + "opt.priority": "pareto", # lex | pareto | box + "opt.maxsat_engine": "wmax", # maxres | pd-maxres | wmax | sortmax | rc2 | maxres-bin + "opt.optsmt_engine": "basic", # basic | farkas | symba + "opt.enable_sat": True, + "opt.enable_sls": True, + "opt.enable_core_rotate": True, + # opt.enable_lns / opt.lns.threshold: not in z3 4.13.3.0 — removed. + "opt.maxres.hill_climb": True, + "opt.maxres.add_upper_bound_block": False, + "opt.maxres.max_core_size": 3, + "opt.maxres.max_correction_set_size": 3, + "opt.maxres.maximize_assignment": False, + "opt.maxres.pivot_on_correction_set": True, + "opt.maxres.wmax": False, + "opt.maxlex.enable": True, + "opt.rc2.totalizer": True, + "opt.pb.compile_equality": False, + "opt.elim_01": True, + + # sls.* — stochastic local search (engaged via opt.enable_sls) + "sls.early_prune": True, + "sls.walksat": True, + "sls.walksat_repick": True, + "sls.walksat_ucb": True, + "sls.walksat_ucb_constant": 20.0, + "sls.walksat_ucb_forget": 0.1, + "sls.walksat_ucb_init": False, + "sls.walksat_ucb_noise": 0.0002, + "sls.wp": 20, # walk probability (percent 0..100) + # sls.parallel: API-only key (z3 CLI rejects); pinned to default False. + "sls.random_offset": True, + "sls.rescore": True, + "sls.restart_base": 100, + "sls.restart_init": False, + "sls.track_unsat": False, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(OPT_SLS_OVERRIDES) + return p + + +def get_phase_overrides(): + """Used by extract_best.py — returns ONLY this phase's evolved dict.""" + return dict(OPT_SLS_OVERRIDES) diff --git a/input/z3-bench/evolve/backup/20260519/phase2_sat/initial_program.py b/input/z3-bench/evolve/backup/20260519/phase2_sat/initial_program.py new file mode 100644 index 0000000000..22861aaeaf --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/phase2_sat/initial_program.py @@ -0,0 +1,177 @@ +""" +Phase 2: tune sat.* (CDCL SAT core). + +Loads phase1_best.json (opt.*+sls.* winners) as locked. smt.* and parallel.* +stay at baseline. EVOLVE-BLOCK is SAT_OVERRIDES below. + +Do NOT modify sat.random_seed (locked). Invalid keys -> evaluator returns 0. +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + +_PHASE1_FILE = _SHARED / "phase1_best.json" +_PHASE1 = ( + json.loads(_PHASE1_FILE.read_text()) if _PHASE1_FILE.exists() else {} +) + + +# EVOLVE-BLOCK-START +SAT_OVERRIDES = { + # Branching / phase / restart + "sat.branching.heuristic": "vsids", # vsids | lrb | chb + "sat.branching.anti_exploration": 0.4, + "sat.phase": "caching", # always_false | always_true | basic_caching | random | caching + "sat.phase.sticky": True, + "sat.restart": "geometric", # luby | geometric | ema | static + "sat.restart.fast": True, + "sat.restart.initial": 2, + "sat.restart.factor": 1.5, + "sat.restart.margin": 1.1, + "sat.restart.emafastglue": 0.03, + "sat.restart.emaslowglue": 1e-05, + "sat.rephase.base": 1000, + "sat.reorder.base": 4294967295, + "sat.reorder.itau": 4.0, + "sat.reorder.activity_scale": 100, + "sat.random_freq": 0.01, + "sat.variable_decay": 110, + "sat.burst_search": 100, + "sat.search.sat.conflicts": 400, + "sat.search.unsat.conflicts": 400, + "sat.backtrack.conflicts": 4000, + "sat.backtrack.scopes": 100, + + # Garbage collection + "sat.gc": "glue_psm", # glue | psm | glue_psm | dyn_psm + "sat.gc.burst": False, + "sat.gc.defrag": True, + "sat.gc.increment": 500, + "sat.gc.initial": 20000, + "sat.gc.k": 7, + "sat.gc.small_lbd": 3, + "sat.minimize_lemmas": True, + # sat.dyn.sub_res: not in z3 4.13.3.0 — removed. + + # Preprocessing / simplification + "sat.scc": True, + "sat.scc.tr": True, + "sat.elim_vars": True, + # sat.elim_vars_bdd / sat.elim_vars_bdd_delay: not in z3 4.13.3.0 — removed. + "sat.subsumption": True, + "sat.subsumption.limit": 100000000, + "sat.asymm_branch": True, + "sat.asymm_branch.all": False, + "sat.asymm_branch.delay": 1, + "sat.asymm_branch.limit": 100000000, + "sat.asymm_branch.rounds": 2, + "sat.asymm_branch.sampled": True, + "sat.probing": True, + "sat.probing_binary": True, + "sat.probing_cache": True, + "sat.probing_cache_limit": 1024, + "sat.probing_limit": 5000000, + "sat.propagate.prefetch": True, + "sat.ate": True, + "sat.acce": False, + "sat.bce": False, + "sat.bce_at": 2, + "sat.bce_delay": 2, + "sat.bca": False, + # sat.binspr: not in z3 4.13.3.0 — removed. + "sat.cce": False, + "sat.blocked_clause_limit": 100000000, + "sat.retain_blocked_clauses": True, + "sat.enable_pre_simplify": False, + "sat.force_cleanup": False, + "sat.inprocess.max": 4294967295, + "sat.simplify.delay": 0, + # sat.next_simplify1: not in z3 4.13.3.0 — removed. + + # Cardinality / PB + "sat.cardinality.solver": True, + "sat.cardinality.encoding": "grouped", # grouped | bimander | ordered | unate | circuit + "sat.pb.solver": "totalizer", # circuit | sorting | totalizer | solver | segmented | binary_merge + "sat.pb.lemma_format": "cardinality", # cardinality | pb + "sat.pb.resolve": "cardinality", # cardinality | rounding + + # Core minimization + "sat.core.minimize": False, + "sat.core.minimize_partial": False, + + # Threading (keep 1 for fair compare; parallel.enable stays locked false) + "sat.threads": 1, + + # SLS-within-SAT (separate from opt-level sls.*) + "sat.local_search": False, + "sat.local_search_mode": "wsat", # wsat | gsat + "sat.local_search_threads": 0, + "sat.ddfw_search": False, + "sat.ddfw.threads": 0, + "sat.ddfw.init_clause_weight": 8, + "sat.ddfw.reinit_base": 10000, + "sat.ddfw.restart_base": 100000, + "sat.ddfw.use_reward_pct": 15, + "sat.prob_search": False, + + # Cut/AIG/ANF preprocessing (default off for this workload) + "sat.cut": False, + "sat.cut.aig": False, + "sat.cut.delay": 2, + "sat.cut.dont_cares": True, + "sat.cut.force": False, + "sat.cut.lut": False, + "sat.cut.npn3": False, + "sat.cut.redundancies": True, + "sat.cut.xor": False, + "sat.anf": False, + "sat.anf.delay": 2, + "sat.anf.exlin": False, + + # Lookahead (mostly off; expose for solver-specific subproblems) + "sat.lookahead.cube.cutoff": "depth", # depth | freevars | psat | adaptive_freevars | adaptive_psat + "sat.lookahead.cube.depth": 1, + "sat.lookahead.cube.fraction": 0.4, + "sat.lookahead.cube.freevars": 0.8, + "sat.lookahead.cube.psat.clause_base": 2.0, + "sat.lookahead.cube.psat.trigger": 5.0, + "sat.lookahead.cube.psat.var_exp": 1.0, + "sat.lookahead.delta_fraction": 1.0, + "sat.lookahead.double": True, + "sat.lookahead.global_autarky": False, + "sat.lookahead.preselect": False, + "sat.lookahead.reward": "march_cu", # ternary | heule_schur | heule_unit | unit | march_cu + "sat.lookahead.use_learned": False, + "sat.lookahead_scores": False, + "sat.lookahead_simplify": False, + "sat.lookahead_simplify.bca": True, + + # Resolution-based simplification limits + "sat.resolution.cls_cutoff1": 100000000, + "sat.resolution.cls_cutoff2": 700000000, + "sat.resolution.limit": 500000000, + "sat.resolution.lit_cutoff_range1": 700, + "sat.resolution.lit_cutoff_range2": 400, + "sat.resolution.lit_cutoff_range3": 300, + "sat.resolution.occ_cutoff": 10, + "sat.resolution.occ_cutoff_range1": 8, + "sat.resolution.occ_cutoff_range2": 5, + "sat.resolution.occ_cutoff_range3": 3, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) + p.update(SAT_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(SAT_OVERRIDES) diff --git a/input/z3-bench/evolve/backup/20260519/phase3_smt/initial_program.py b/input/z3-bench/evolve/backup/20260519/phase3_smt/initial_program.py new file mode 100644 index 0000000000..5635303efb --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/phase3_smt/initial_program.py @@ -0,0 +1,164 @@ +""" +Phase 3: tune smt.* (SMT core — theories, quantifier instantiation, arith). + +Loads phase1_best.json (opt./sls.*) and phase2_best.json (sat.*) as locked. +parallel.* stays at baseline. EVOLVE-BLOCK is SMT_OVERRIDES below. + +NOTE: smt.auto_config=True (default) can silently override other smt.* options; +we force False here so the LLM's choices stick. + +Do NOT modify smt.random_seed (locked). Invalid keys -> evaluator returns 0. +""" +import json +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + +_PHASE1 = ( + json.loads((_SHARED / "phase1_best.json").read_text()) + if (_SHARED / "phase1_best.json").exists() + else {} +) +_PHASE2 = ( + json.loads((_SHARED / "phase2_best.json").read_text()) + if (_SHARED / "phase2_best.json").exists() + else {} +) + + +# EVOLVE-BLOCK-START +SMT_OVERRIDES = { + # Core SMT control + "smt.auto_config": False, # FORCED False so other smt.* take effect + "smt.logic": "", # "" | "QF_LIA" | "QF_LRA" | "LIA" | ... + "smt.threads": 1, # keep 1; parallel.enable is locked false + "smt.threads.cube_frequency": 2, + "smt.threads.max_conflicts": 400, + "smt.cube_depth": 1, + "smt.relevancy": 2, # 0 | 1 | 2 + "smt.case_split": 1, # 0=activity | 1=random | 2=theory | 3=relevancy | 5 | 6 + "smt.phase_selection": 3, # 0=always_false | 1=always_true | 2=basic_caching | 3=caching | 4=random | 5=occurrence + "smt.phase_caching_on": 400, + "smt.phase_caching_off": 100, + "smt.restart_strategy": 1, # 0=geometric | 1=inner_outer | 2=luby | 3=fixed | 4=arithmetic + # smt.restart.factor: not in z3 4.13.3.0 — removed. + "smt.lemma_gc_strategy": 0, # 0=fixed | 1=geometric | 2=at_restart | 3=none + + # Lemma / unit delay + "smt.delay_units": False, + "smt.delay_units_threshold": 32, + + # Dynamic ackermann (dack) + "smt.dack": 1, # 0=off | 1=on + "smt.dack.eq": False, + "smt.dack.factor": 0.1, + "smt.dack.gc": 2000, + "smt.dack.gc_inv_decay": 0.8, + "smt.dack.threshold": 10, + + # Generic + "smt.elim_unconstrained": True, + "smt.ematching": True, + "smt.macro_finder": False, + "smt.quasi_macros": False, + "smt.propagate_values": True, + "smt.pull_nested_quantifiers": False, + "smt.refine_inj_axioms": True, + "smt.solve_eqs": True, + # smt.solve_eqs_max_occs: not in z3 4.13.3.0 — removed. + "smt.theory_aware_branching": False, + "smt.theory_case_split": False, + "smt.dt_lazy_splits": 1, + "smt.induction": False, + + # Core extension / minimization + "smt.core.extend_patterns": False, + "smt.core.extend_nonlocal_patterns": False, + "smt.core.extend_patterns.max_distance": 4294967295, + "smt.core.minimize": False, + "smt.core.validate": False, + + # MBQI / quantifier instantiation + "smt.mbqi": True, + "smt.mbqi.max_iterations": 1000, + "smt.mbqi.max_cexs": 1, + "smt.mbqi.max_cexs_incr": 0, + "smt.mbqi.force_template": 10, + "smt.qi.eager_threshold": 10.0, + "smt.qi.lazy_threshold": 20.0, + "smt.qi.max_instances": 4294967295, + "smt.qi.max_multi_patterns": 0, + "smt.qi.cost": "(+ weight generation)", + "smt.qi.quick_checker": 0, # 0=no | 1=unsat | 2=both + + # Arithmetic theory (workload has 13k Int + 40 Real — IMPORTANT) + "smt.arith.solver": 6, # 2=simplex | 5=infinitary_lra | 6=lra + "smt.arith.simplex_strategy": 0, + "smt.arith.propagation_mode": 1, # 0=none | 1=at_pivot | 2=cheap + "smt.arith.propagate_eqs": True, + "smt.arith.eager_eq_axioms": True, + "smt.arith.branch_cut_ratio": 2, + "smt.arith.bprop_on_pivoted_rows": True, + "smt.arith.enable_hnf": True, + "smt.arith.greatest_error_pivot": False, + "smt.arith.ignore_int": False, + "smt.arith.int_eq_branch": False, + "smt.arith.min": False, + "smt.arith.random_initial_value": False, + "smt.arith.rep_freq": 0, + "smt.arith.auto_config_simplex": False, + + # Nonlinear arith (mostly off for LIA-heavy workload; expose anyway) + "smt.arith.nl": True, + "smt.arith.nl.branching": True, + "smt.arith.nl.delay": 500, + "smt.arith.nl.expp": False, + "smt.arith.nl.gr_q": 10, + "smt.arith.nl.grobner": True, + "smt.arith.nl.grobner_cnfl_to_report": 1, + "smt.arith.nl.grobner_eqs_growth": 10, + "smt.arith.nl.grobner_expr_degree_growth": 2, + "smt.arith.nl.grobner_expr_size_growth": 2, + "smt.arith.nl.grobner_frequency": 4, + "smt.arith.nl.grobner_max_simplified": 10000, + "smt.arith.nl.grobner_subs_fixed": 1, + "smt.arith.nl.horner": True, + "smt.arith.nl.horner_frequency": 4, + "smt.arith.nl.horner_row_length_limit": 10, + "smt.arith.nl.horner_subs_fixed": 2, + "smt.arith.nl.nra": True, + "smt.arith.nl.order": True, + "smt.arith.nl.rounds": 1024, + "smt.arith.nl.tangents": True, + + # BV (light usage in this workload) + "smt.bv.delay": True, + # smt.bv.eager: not in z3 4.13.3.0 — removed. + "smt.bv.enable_int2bv": True, + "smt.bv.reflect": True, + "smt.bv.size_reduce": False, + "smt.bv.solver": 0, + + # Array / PB + "smt.array.extensional": True, + "smt.array.weak": False, + "smt.pb.conflict_frequency": 1000, + "smt.pb.learn_complements": True, +} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(_PHASE1) + p.update(_PHASE2) + p.update(SMT_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(SMT_OVERRIDES) diff --git a/input/z3-bench/evolve/backup/20260519/phase4_unified/initial_program.py b/input/z3-bench/evolve/backup/20260519/phase4_unified/initial_program.py new file mode 100644 index 0000000000..b9be8126d9 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/phase4_unified/initial_program.py @@ -0,0 +1,275 @@ +""" +Phase 4: unified fine-tuning — interaction effects. + +The EVOLVE-BLOCK below is a literal dict materialized from phase1/2/3 best +overrides by prepare_phase4.py. Run that script BEFORE invoking run_phase.sh 4: + + python ../prepare_phase4.py + +The LLM evolves UNIFIED_OVERRIDES directly. It may modify, remove, or add +keys from the Z3 4.13.x parameter space. Smaller iteration budget — local +refinement, not exploration. +""" +import pathlib +import sys + +_SHARED = pathlib.Path(__file__).resolve().parent.parent / "shared" +sys.path.insert(0, str(_SHARED)) + +from baseline_params import BASELINE # noqa: E402 + + +# EVOLVE-BLOCK-START +# Auto-generated by prepare_phase4.py from union of phase 1/2/3 best. +UNIFIED_OVERRIDES = {'opt.elim_01': True, + 'opt.enable_core_rotate': True, + 'opt.enable_sat': True, + 'opt.enable_sls': True, + 'opt.maxlex.enable': True, + 'opt.maxres.add_upper_bound_block': False, + 'opt.maxres.hill_climb': True, + 'opt.maxres.max_core_size': 3, + 'opt.maxres.max_correction_set_size': 3, + 'opt.maxres.maximize_assignment': False, + 'opt.maxres.pivot_on_correction_set': True, + 'opt.maxres.wmax': False, + 'opt.maxsat_engine': 'wmax', + 'opt.optsmt_engine': 'basic', + 'opt.pb.compile_equality': False, + 'opt.priority': 'pareto', + 'opt.rc2.totalizer': True, + 'sat.acce': False, + 'sat.anf': False, + 'sat.anf.delay': 2, + 'sat.anf.exlin': False, + 'sat.asymm_branch': True, + 'sat.asymm_branch.all': False, + 'sat.asymm_branch.delay': 1, + 'sat.asymm_branch.limit': 100000000, + 'sat.asymm_branch.rounds': 2, + 'sat.asymm_branch.sampled': True, + 'sat.ate': True, + 'sat.backtrack.conflicts': 4000, + 'sat.backtrack.scopes': 100, + 'sat.bca': False, + 'sat.bce': False, + 'sat.bce_at': 2, + 'sat.bce_delay': 2, + 'sat.blocked_clause_limit': 100000000, + 'sat.branching.anti_exploration': 0.4, + 'sat.branching.heuristic': 'vsids', + 'sat.burst_search': 100, + 'sat.cardinality.encoding': 'grouped', + 'sat.cardinality.solver': True, + 'sat.cce': False, + 'sat.core.minimize': False, + 'sat.core.minimize_partial': False, + 'sat.cut': False, + 'sat.cut.aig': False, + 'sat.cut.delay': 2, + 'sat.cut.dont_cares': True, + 'sat.cut.force': False, + 'sat.cut.lut': False, + 'sat.cut.npn3': False, + 'sat.cut.redundancies': True, + 'sat.cut.xor': False, + 'sat.ddfw.init_clause_weight': 8, + 'sat.ddfw.reinit_base': 10000, + 'sat.ddfw.restart_base': 100000, + 'sat.ddfw.threads': 0, + 'sat.ddfw.use_reward_pct': 15, + 'sat.ddfw_search': False, + 'sat.elim_vars': True, + 'sat.enable_pre_simplify': False, + 'sat.force_cleanup': False, + 'sat.gc': 'glue_psm', + 'sat.gc.burst': False, + 'sat.gc.defrag': True, + 'sat.gc.increment': 500, + 'sat.gc.initial': 20000, + 'sat.gc.k': 7, + 'sat.gc.small_lbd': 3, + 'sat.inprocess.max': 4294967295, + 'sat.local_search': False, + 'sat.local_search_mode': 'wsat', + 'sat.local_search_threads': 0, + 'sat.lookahead.cube.cutoff': 'depth', + 'sat.lookahead.cube.depth': 1, + 'sat.lookahead.cube.fraction': 0.4, + 'sat.lookahead.cube.freevars': 0.8, + 'sat.lookahead.cube.psat.clause_base': 2.0, + 'sat.lookahead.cube.psat.trigger': 5.0, + 'sat.lookahead.cube.psat.var_exp': 1.0, + 'sat.lookahead.delta_fraction': 1.0, + 'sat.lookahead.double': True, + 'sat.lookahead.global_autarky': False, + 'sat.lookahead.preselect': False, + 'sat.lookahead.reward': 'march_cu', + 'sat.lookahead.use_learned': False, + 'sat.lookahead_scores': False, + 'sat.lookahead_simplify': False, + 'sat.lookahead_simplify.bca': True, + 'sat.minimize_lemmas': True, + 'sat.pb.lemma_format': 'cardinality', + 'sat.pb.resolve': 'cardinality', + 'sat.pb.solver': 'totalizer', + 'sat.phase': 'caching', + 'sat.phase.sticky': True, + 'sat.prob_search': False, + 'sat.probing': True, + 'sat.probing_binary': True, + 'sat.probing_cache': True, + 'sat.probing_cache_limit': 1024, + 'sat.probing_limit': 5000000, + 'sat.propagate.prefetch': True, + 'sat.random_freq': 0.01, + 'sat.reorder.activity_scale': 100, + 'sat.reorder.base': 4294967295, + 'sat.reorder.itau': 4.0, + 'sat.rephase.base': 1000, + 'sat.resolution.cls_cutoff1': 100000000, + 'sat.resolution.cls_cutoff2': 700000000, + 'sat.resolution.limit': 500000000, + 'sat.resolution.lit_cutoff_range1': 700, + 'sat.resolution.lit_cutoff_range2': 400, + 'sat.resolution.lit_cutoff_range3': 300, + 'sat.resolution.occ_cutoff': 10, + 'sat.resolution.occ_cutoff_range1': 8, + 'sat.resolution.occ_cutoff_range2': 5, + 'sat.resolution.occ_cutoff_range3': 3, + 'sat.restart': 'geometric', + 'sat.restart.emafastglue': 0.03, + 'sat.restart.emaslowglue': 1e-05, + 'sat.restart.factor': 1.5, + 'sat.restart.fast': True, + 'sat.restart.initial': 2, + 'sat.restart.margin': 1.1, + 'sat.retain_blocked_clauses': True, + 'sat.scc': True, + 'sat.scc.tr': True, + 'sat.search.sat.conflicts': 400, + 'sat.search.unsat.conflicts': 400, + 'sat.simplify.delay': 0, + 'sat.subsumption': True, + 'sat.subsumption.limit': 100000000, + 'sat.threads': 1, + 'sat.variable_decay': 110, + 'sls.early_prune': True, + 'sls.random_offset': True, + 'sls.rescore': True, + 'sls.restart_base': 100, + 'sls.restart_init': False, + 'sls.track_unsat': False, + 'sls.walksat': True, + 'sls.walksat_repick': True, + 'sls.walksat_ucb': True, + 'sls.walksat_ucb_constant': 20.0, + 'sls.walksat_ucb_forget': 0.1, + 'sls.walksat_ucb_init': False, + 'sls.walksat_ucb_noise': 0.0002, + 'sls.wp': 20, + 'smt.arith.auto_config_simplex': False, + 'smt.arith.bprop_on_pivoted_rows': True, + 'smt.arith.branch_cut_ratio': 2, + 'smt.arith.eager_eq_axioms': True, + 'smt.arith.enable_hnf': True, + 'smt.arith.greatest_error_pivot': False, + 'smt.arith.ignore_int': False, + 'smt.arith.int_eq_branch': False, + 'smt.arith.min': False, + 'smt.arith.nl': True, + 'smt.arith.nl.branching': True, + 'smt.arith.nl.delay': 500, + 'smt.arith.nl.expp': False, + 'smt.arith.nl.gr_q': 10, + 'smt.arith.nl.grobner': True, + 'smt.arith.nl.grobner_cnfl_to_report': 1, + 'smt.arith.nl.grobner_eqs_growth': 10, + 'smt.arith.nl.grobner_expr_degree_growth': 2, + 'smt.arith.nl.grobner_expr_size_growth': 2, + 'smt.arith.nl.grobner_frequency': 4, + 'smt.arith.nl.grobner_max_simplified': 10000, + 'smt.arith.nl.grobner_subs_fixed': 1, + 'smt.arith.nl.horner': True, + 'smt.arith.nl.horner_frequency': 4, + 'smt.arith.nl.horner_row_length_limit': 10, + 'smt.arith.nl.horner_subs_fixed': 2, + 'smt.arith.nl.nra': True, + 'smt.arith.nl.order': True, + 'smt.arith.nl.rounds': 900, + 'smt.arith.nl.tangents': True, + 'smt.arith.propagate_eqs': True, + 'smt.arith.propagation_mode': 1, + 'smt.arith.random_initial_value': False, + 'smt.arith.rep_freq': 0, + 'smt.arith.simplex_strategy': 0, + 'smt.arith.solver': 6, + 'smt.array.extensional': True, + 'smt.array.weak': False, + 'smt.auto_config': False, + 'smt.bv.delay': True, + 'smt.bv.enable_int2bv': True, + 'smt.bv.reflect': True, + 'smt.bv.size_reduce': False, + 'smt.bv.solver': 0, + 'smt.case_split': 1, + 'smt.core.extend_nonlocal_patterns': False, + 'smt.core.extend_patterns': False, + 'smt.core.extend_patterns.max_distance': 4294967295, + 'smt.core.minimize': False, + 'smt.core.validate': False, + 'smt.cube_depth': 1, + 'smt.dack': 1, + 'smt.dack.eq': False, + 'smt.dack.factor': 0.1, + 'smt.dack.gc': 2000, + 'smt.dack.gc_inv_decay': 0.8, + 'smt.dack.threshold': 10, + 'smt.delay_units': False, + 'smt.delay_units_threshold': 32, + 'smt.dt_lazy_splits': 1, + 'smt.elim_unconstrained': True, + 'smt.ematching': True, + 'smt.induction': False, + 'smt.lemma_gc_strategy': 0, + 'smt.logic': '', + 'smt.macro_finder': False, + 'smt.mbqi': True, + 'smt.mbqi.force_template': 10, + 'smt.mbqi.max_cexs': 1, + 'smt.mbqi.max_cexs_incr': 0, + 'smt.mbqi.max_iterations': 850, + 'smt.pb.conflict_frequency': 1000, + 'smt.pb.learn_complements': True, + 'smt.phase_caching_off': 125, + 'smt.phase_caching_on': 500, + 'smt.phase_selection': 3, + 'smt.propagate_values': True, + 'smt.pull_nested_quantifiers': False, + 'smt.qi.cost': '(+ weight generation)', + 'smt.qi.eager_threshold': 10.0, + 'smt.qi.lazy_threshold': 20.0, + 'smt.qi.max_instances': 4294967295, + 'smt.qi.max_multi_patterns': 0, + 'smt.qi.quick_checker': 0, + 'smt.quasi_macros': False, + 'smt.refine_inj_axioms': True, + 'smt.relevancy': 2, + 'smt.restart_strategy': 0, + 'smt.solve_eqs': True, + 'smt.theory_aware_branching': False, + 'smt.theory_case_split': False, + 'smt.threads': 1, + 'smt.threads.cube_frequency': 2, + 'smt.threads.max_conflicts': 400} +# EVOLVE-BLOCK-END + + +def get_params(): + p = dict(BASELINE) + p.update(UNIFIED_OVERRIDES) + return p + + +def get_phase_overrides(): + return dict(UNIFIED_OVERRIDES) diff --git a/input/z3-bench/evolve/backup/20260519/shared/_z3_solve_worker.py b/input/z3-bench/evolve/backup/20260519/shared/_z3_solve_worker.py new file mode 100644 index 0000000000..c618f65fd9 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/_z3_solve_worker.py @@ -0,0 +1,154 @@ +""" +Solve one SMT2 file using the z3 Python binding (z3.set_param + z3.Optimize). +Matches the original benchmark setup (applied_params_hash 543b29...): params +are applied via z3.set_param so globals like 'threads' / 'parallel.enable' / +'sls.parallel' work, unlike CLI positional `key=value`. + +Invoked as a subprocess by z3_runner.py for process isolation + hard timeout. + +argv: + sys.argv[1] JSON dict of {key: value} (params) + sys.argv[2] smt2 file path + sys.argv[3] per-problem timeout in seconds + +stdout: a single JSON line, one of: + {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int, "stats": {: , ...}} + {"result": "Unknown", "elapsed_ms": int, "timeout": true, "stats": {...}?} + {"invalid_param": "", "error": "", "result": "Unknown", "elapsed_ms": 0} + {"result": "Unknown", "elapsed_ms": 0, "error": ""} + +"stats" mirrors z3 Optimize.statistics() (decisions, propagations, conflicts, +restarts, plus tactic-specific counters like arith/bv overflow, mk-clause, ...). +Numeric values only; non-numeric keys dropped to keep JSON small. +""" +import json +import os +import sys +import time + + +def emit(d): + print(json.dumps(d)) + sys.stdout.flush() + + +def main(): + if len(sys.argv) != 4: + emit({"result": "Unknown", "elapsed_ms": 0, "error": "bad argv"}) + return + + try: + params = json.loads(sys.argv[1]) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"params json: {e}"}) + return + + smt2_path = sys.argv[2] + timeout_s = int(sys.argv[3]) + + try: + import z3 + except ImportError as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"z3 binding import: {e}"}) + return + + # Split params per route_solver.cpp set_z3_param_optimize_option(): + # opt.* keys → per-Optimize via opt.set(Params) (strip "opt." prefix) + # all others → global via z3.set_param + # Matches cpp ground truth: priority/maxsat_engine/enable_*/maxres.*/rc2.* + # are set on the Optimize instance (opt.set), not globally. + # Mirror cpp route_solver.cpp:613 — suppress unknown-param warnings + # BEFORE any other set_param. Without this, z3 4.15.x emits a warning + + # dumps the legal-param list to stderr for keys like "threads" (no-op in + # this version), which aborts the subprocess in stderr-piped mode. + try: + z3.set_param("warning", False) + except Exception: + pass + + opt_local = {} + for k, v in params.items(): + if k.startswith("opt."): + opt_local[k[len("opt."):]] = v + continue + try: + z3.set_param(k, v) + except z3.Z3Exception as e: + emit({"invalid_param": k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) + return + except Exception as e: + emit({"invalid_param": k, "error": f"{type(e).__name__}: {e}", "result": "Unknown", "elapsed_ms": 0}) + return + + # Soft timeout (z3 polls at safe points) — outer subprocess.run() also + # enforces a hard wall-clock cap. + try: + z3.set_param("timeout", int(timeout_s * 1000)) + except Exception: + pass + + o = z3.Optimize() + + for k, v in opt_local.items(): + try: + o.set(k, v) + except z3.Z3Exception as e: + emit({"invalid_param": "opt." + k, "error": str(e), "result": "Unknown", "elapsed_ms": 0}) + return + except Exception as e: + emit({"invalid_param": "opt." + k, "error": f"{type(e).__name__}: {e}", "result": "Unknown", "elapsed_ms": 0}) + return + + try: + o.from_file(smt2_path) + except Exception as e: + emit({"result": "Unknown", "elapsed_ms": 0, "error": f"smt2 parse: {e}"}) + return + + t0 = time.monotonic() + try: + res = o.check() + except Exception as e: + elapsed_ms = int((time.monotonic() - t0) * 1000) + emit( + { + "result": "Unknown", + "elapsed_ms": elapsed_ms, + "error": f"check() raised: {e}", + } + ) + return + elapsed_ms = int((time.monotonic() - t0) * 1000) + + if res == z3.sat: + label = "Sat" + elif res == z3.unsat: + label = "Unsat" + else: + label = "Unknown" + + stats = {} + try: + st = o.statistics() + for k in st.keys(): + try: + v = st.get_key_value(k) + except Exception: + continue + if isinstance(v, bool): + continue + if isinstance(v, (int, float)): + stats[k] = v + except Exception: + stats = {} + + emit({"result": label, "elapsed_ms": elapsed_ms, "stats": stats}) + + +if __name__ == "__main__": + main() + # Bypass z3 atexit/teardown that can abort the subprocess after a clean + # emit() — would mask the result as "worker produced no output". + sys.stdout.flush() + sys.stderr.flush() + os._exit(0) diff --git a/input/z3-bench/evolve/backup/20260519/shared/baseline_params.py b/input/z3-bench/evolve/backup/20260519/shared/baseline_params.py new file mode 100644 index 0000000000..e731c4469d --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/baseline_params.py @@ -0,0 +1,161 @@ +""" +Baseline Z3 parameters (applied_params_hash 543b29...) from problems.jsonl. +DO NOT MODIFY. Imported by all phases. +""" + +BASELINE = { + "opt.enable_core_rotate": True, + "opt.enable_sat": True, + "opt.enable_sls": True, + "opt.maxres.hill_climb": True, + "opt.maxsat_engine": "wmax", + "opt.priority": "pareto", + "opt.rc2.totalizer": True, + "parallel.enable": False, + "sat.branching.heuristic": "vsids", + "sat.pb.solver": "totalizer", + "sat.phase": "caching", + "sat.random_seed": 0, + "sat.restart": "geometric", + "sat.threads": 1, + "sls.random_seed": 0, + "smt.phase_selection": 3, + "smt.random_seed": 0, + "smt.threads": 1, + "threads": 1, + # NOTE: global "threads" — Z3 4.13.x CLI rejects as positional `key=value`. + # z3_runner.py omits it from CLI args. Default is 1 so behavior matches. + # Kept in BASELINE for fidelity with applied_params_hash 543b29... +} + +LOCKED = { + "sat.random_seed": 0, + "smt.random_seed": 0, + "sls.random_seed": 0, + "parallel.enable": False, + "threads": 1, +} + + +def _self_test(): + """ + Self-test: run stage1 5 problems with BASELINE in parallel and report + per-problem ratio vs raw baseline_ms. Use to sanity-check that the worker + + z3 binding reproduce the recorded baseline within tolerance, and that + parallel dispatch (taskset core pinning) doesn't perturb timing. + + Defaults: OPENEVOLVE_PARALLEL_SOLVERS=5 (matches config.yaml + parallel_evaluations), capped at problem count. + + Status: + OK — result matches, ratio in [0.5, 2.0] + WARN — result matches, ratio out of band (noise / hw drift) + FAIL — result mismatch or invalid_param + """ + import json + import math + import pathlib + import sys + import time + from concurrent.futures import ThreadPoolExecutor, as_completed + + here = pathlib.Path(__file__).resolve().parent + sys.path.insert(0, str(here)) + from z3_runner import run_z3 # noqa: E402 + from runtime import parallel_solvers # noqa: E402 + + bench = here.parent.parent # input/z3-bench/ + raw_dir = bench / "raw-data" + problems_jsonl = bench / "problems.jsonl" + stage1_sample = here / "stage1_sample.json" + + if not stage1_sample.exists(): + print(f"ERROR: {stage1_sample} missing. run build_samples.py first.", + file=sys.stderr) + return 2 + + shas = list(json.loads(stage1_sample.read_text())["sha256"]) + idx = {} + with open(problems_jsonl) as f: + for line in f: + d = json.loads(line) + idx[d["problem_sha256"]] = { + "smt2": d["smt2_filename"], + "baseline_ms": d["z3_status"]["elapsed_ms"], + "baseline_result": d["z3_status"]["result"], + } + + tasks = [] + for i, sha in enumerate(shas): + meta = idx.get(sha) + if meta is None: + print(f"ERROR: {sha[:12]} not in problems.jsonl", file=sys.stderr) + return 2 + smt2 = raw_dir / meta["smt2"] + if not smt2.exists(): + print(f"ERROR: smt2 not found: {smt2}", file=sys.stderr) + return 2 + tasks.append((i, sha, meta, smt2)) + + n_parallel = min(parallel_solvers(default=5), len(tasks)) + + print(f"BASELINE self-test: {len(tasks)} stage1 problems, parallel={n_parallel}, " + f"taskset core pin") + print() + + def solve(t): + i, sha, meta, smt2 = t + # Generous timeout: 2x baseline_ms (matches the [0.5, 2.0] tolerance band). + timeout_s = max(30, math.ceil(meta["baseline_ms"] * 2 / 1000)) + # Skip core 0 — pin to cores 1..n_parallel. + core = (i % n_parallel) + 1 + r = run_z3(smt2, BASELINE, timeout_s, cpu_core=core) + return i, sha, meta, r + + t_start = time.monotonic() + results = [] + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(solve, t) for t in tasks] + for fut in as_completed(futures): + results.append(fut.result()) + elapsed = time.monotonic() - t_start + results.sort(key=lambda x: x[0]) + + print(f"{'sha':<14}{'base_res':<10}{'got_res':<10}" + f"{'base_ms':>10}{'got_ms':>10}{'ratio':>8} core status") + print("-" * 84) + fail = 0 + warn = 0 + sum_got_ms = 0 + for i, sha, meta, r in results: + got_result = r.get("result", "Unknown") + got_ms = int(r.get("elapsed_ms", 0)) + sum_got_ms += got_ms + ratio = got_ms / max(meta["baseline_ms"], 1) + result_ok = (got_result == meta["baseline_result"]) + invalid = r.get("invalid_param") + if invalid: + status = f"FAIL(invalid={invalid})" + fail += 1 + elif not result_ok: + status = "FAIL" + fail += 1 + elif not (0.5 <= ratio <= 2.0): + status = "WARN" + warn += 1 + else: + status = "OK" + print(f"{sha[:12]:<14}{meta['baseline_result']:<10}{got_result:<10}" + f"{meta['baseline_ms']:>10}{got_ms:>10}{ratio:>7.2f}x " + f"{(i % n_parallel) + 1:>4} {status}") + + seq_estimate = sum_got_ms / 1000 + print() + print(f"wall-clock: {elapsed:.1f}s (sequential would be ~{seq_estimate:.0f}s)") + print(f"summary: {len(results) - fail - warn} ok, {warn} warn, {fail} fail") + return 0 if fail == 0 else 1 + + +if __name__ == "__main__": + import sys + sys.exit(_self_test()) diff --git a/input/z3-bench/evolve/backup/20260519/shared/evaluator.py b/input/z3-bench/evolve/backup/20260519/shared/evaluator.py new file mode 100644 index 0000000000..32ea3ca3e9 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/evaluator.py @@ -0,0 +1,443 @@ +""" +OpenEvolve evaluator for Z3 parameter tuning. + +Sample selection (built by build_samples.py): + stage1: stage1_sample.json (5 SAT, quintile-spread by problem size) + stage2: stage2_sample.json (50 SAT+UNSAT, quintile-spread by problem size) + +Per-problem timeout = max(MIN_TIMEOUT_S, ceil(baseline_ms * TIMEOUT_FACTOR / 1000)). +Adaptive: small problems get tight cap, huge problems get proportional headroom. +Constants TIMEOUT_FACTOR=1.3, MIN_TIMEOUT_S=5 (z3 startup overhead floor). +Baseline_ms reflects local rebaseline (rebaseline_local.py) when SHA is in +local_baseline.json, else raw_ms from problems.jsonl. + +Score: geomean(speedup) * solved_rate^2 * efficiency^OPENEVOLVE_STATS_WEIGHT. + efficiency = geomean over {decisions, propagations, conflicts, mk clause} + of (baseline_stat / variant_stat) across solved problems. Default + OPENEVOLVE_STATS_WEIGHT=0 keeps prior behaviour. Per-problem solver + stats (z3 Optimize.statistics) are always surfaced via metrics + + artifacts so the LLM sees solver-internal cost beyond wall-clock. + +Locked params (sat.random_seed / smt.random_seed / sls.random_seed / parallel.enable) +must not deviate from baseline_params.LOCKED — violation => combined_score=0. + +Environment overrides: + OPENEVOLVE_MAX_PROBLEMS int — cap stage2 problem count + OPENEVOLVE_PARALLEL_SOLVERS int — SINGLE knob for total z3 concurrency + (default 1). Spawns N z3 worker subprocesses + concurrently per stage; each pinned to a + dedicated core via taskset (Linux). Capped at + len(problems). Config.yaml parallel_evaluations + is fixed at 1 so total concurrent z3 = this env + value (no parallel_evaluations × N blow-up). + Total RAM ≈ N × 4 GB worst-case. + OPENEVOLVE_Z3_BIN str — z3 binary path (default "z3") +""" +import importlib.util +import json +import math +import os +import pathlib +import sys +import traceback + +TIMEOUT_FACTOR = 2 +MIN_TIMEOUT_S = 5 + +_HERE = pathlib.Path(__file__).resolve().parent +sys.path.insert(0, str(_HERE)) + +from baseline_params import BASELINE, LOCKED # noqa: E402 +from score import score # noqa: E402 +from z3_runner import run_z3 # noqa: E402 +from runtime import parallel_solvers, cascade_threshold # noqa: E402 + +from openevolve.evaluation_result import EvaluationResult # noqa: E402 + +_BENCH_DIR = _HERE.parent.parent # input/z3-bench/ +_RAW_DIR = _BENCH_DIR / "raw-data" +_PROBLEMS_JSONL = _BENCH_DIR / "problems.jsonl" +_STAGE1_SAMPLE = _HERE / "stage1_sample.json" +_STAGE2_SAMPLE = _HERE / "stage2_sample.json" +_STAGE3_SAMPLE = _HERE / "stage3_sample.json" +_STAGE4_SAMPLE = _HERE / "stage4_sample.json" +_LOCAL_BASELINE = _HERE / "local_baseline.json" + +_PYTHON_BIN = os.environ.get("OPENEVOLVE_PYTHON_BIN") # None -> sys.executable + + +def _load_program(path): + spec = importlib.util.spec_from_file_location("program", path) + module = importlib.util.module_from_spec(spec) + # Phase initial_programs add shared/ to sys.path themselves. + spec.loader.exec_module(module) + return module + + +def _load_problems(): + # Always returns the full problems.jsonl set (50 problems). + # local_baseline.json (if present) overlays per-SHA local timing so that + # speedup uses on-machine wall-clock for rebaselined SHAs; non-rebaselined + # SHAs fall back to raw_ms recorded in problems.jsonl. Local elapsed_ms is + # only trusted when local result matches raw — otherwise raw_ms wins to + # avoid speedup distortion from a bad local run (timeout, mismatch). + local = {} + if _LOCAL_BASELINE.exists(): + local = json.loads(_LOCAL_BASELINE.read_text()) + + rows = [] + with open(_PROBLEMS_JSONL) as f: + for line in f: + d = json.loads(line) + sha = d["problem_sha256"] + baseline_ms = d["z3_status"]["elapsed_ms"] + baseline_result = d["z3_status"]["result"] + baseline_stats = {} + lo = local.get(sha) + if lo and lo.get("matches_raw"): + baseline_ms = lo["elapsed_ms"] + baseline_stats = lo.get("stats") or {} + rows.append( + { + "sha": sha, + "smt2": d["smt2_filename"], + "baseline_ms": baseline_ms, + "baseline_result": baseline_result, + "baseline_stats": baseline_stats, + } + ) + return rows + + +def _filter_stage1(problems): + if not _STAGE1_SAMPLE.exists(): + return problems[:5] + keep = set(json.loads(_STAGE1_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _filter_stage2(problems): + # stage2_sample.json: 5 SAT problems from the runtime upper-half + # (medium-slow). Catches regressions on harder instances. + if not _STAGE2_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE2_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _filter_stage3(problems): + # stage3_sample.json: 5 SAT problems from runtime quintile 5 (slowest 20%). + # Gates entry to stage4 via internal STAGE3_TO_STAGE4_THRESHOLD. + if not _STAGE3_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE3_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _filter_stage4(problems): + # stage4_sample.json: 20 SAT+UNSAT broad-runtime, deduplicated vs stage1-3. + # Final cascade sample. Chained inside evaluate_stage3 because openevolve + # hardcodes 3 cascade stages. + if not _STAGE4_SAMPLE.exists(): + return problems + keep = set(json.loads(_STAGE4_SAMPLE.read_text())["sha256"]) + return [p for p in problems if p["sha"] in keep] + + +def _err_result(metrics_extra, artifacts): + metrics = { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, + } + metrics.update(metrics_extra) + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + +def _evaluate(program_path, problems, stage_name): + try: + program = _load_program(program_path) + except Exception as e: + return _err_result( + {"error": f"program load failed: {e}"}, + { + "error_type": type(e).__name__, + "error_message": str(e), + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name, + }, + ) + + if not hasattr(program, "get_params"): + return _err_result( + {"error": "missing get_params()"}, + {"suggestion": "initial_program.py must expose get_params() -> dict", "stage": stage_name}, + ) + + try: + params = program.get_params() + if not isinstance(params, dict): + raise TypeError(f"get_params() returned {type(params).__name__}, expected dict") + except Exception as e: + return _err_result( + {"error": f"get_params() raised: {e}"}, + { + "error_type": type(e).__name__, + "error_message": str(e), + "full_traceback": traceback.format_exc()[-2000:], + "stage": stage_name, + }, + ) + + violations = {k: params.get(k) for k in LOCKED if params.get(k) != LOCKED[k]} + if violations: + return _err_result( + {"error": "locked params violated"}, + { + "locked_violated": violations, + "locked_expected": LOCKED, + "stage": stage_name, + "suggestion": "Do not modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable", + }, + ) + + if "OPENEVOLVE_MAX_PROBLEMS" in os.environ: + problems = problems[: int(os.environ["OPENEVOLVE_MAX_PROBLEMS"])] + + # Verify smt2 files exist up front so parallel dispatch doesn't race. + for p in problems: + smt2_path = _RAW_DIR / p["smt2"] + if not smt2_path.exists(): + return _err_result( + {"error": f"smt2 not found: {p['smt2']}"}, + {"missing_file": str(smt2_path), "stage": stage_name}, + ) + + # Parallel dispatch — `OPENEVOLVE_PARALLEL_SOLVERS` controls how many + # z3 worker subprocesses run concurrently for the stage's problem list. + # Worker count is capped at len(problems) (no point spawning idle threads). + # Cores are leased from a queue.Queue so each in-flight task holds a + # unique core slot. Correct even when len(problems) > n_parallel + # (idx % n_parallel would collide across workers). + # Core pool = cores 1..n_parallel — core 0 reserved for kernel interrupts + # / housekeeping (avoids tail-latency spikes). Serial mode also leases + # core 1, symmetric with parallel so baseline / variant share the same + # pin envelope (no unpinned-vs-pinned bias). + import queue as _queue + n_parallel = min(parallel_solvers(default=1), len(problems)) + _core_pool = _queue.Queue() + for _c in range(1, n_parallel + 1): + _core_pool.put(_c) + + def _solve(idx_p): + idx, p = idx_p + smt2_path = _RAW_DIR / p["smt2"] + timeout_s = max(MIN_TIMEOUT_S, math.ceil(p["baseline_ms"] * TIMEOUT_FACTOR / 1000)) + core = _core_pool.get() + try: + r = run_z3(smt2_path, params, timeout_s, + python_bin=_PYTHON_BIN, cpu_core=core) + finally: + _core_pool.put(core) + return idx, p, r, core, timeout_s + + def _is_regression(p, r): + # Correctness regression: baseline gave a definitive answer (Sat/Unsat) + # and variant disagrees (Unsat, Unknown, or timeout). Unknown baseline + # is excluded — variant solving an Unknown is an improvement, not a + # regression. invalid_param handled separately (param-level error). + if "invalid_param" in r: + return False + return ( + p["baseline_result"] in ("Sat", "Unsat") + and r.get("result") != p["baseline_result"] + ) + + def _invalid_err(r): + return _err_result( + {"error": f"invalid z3 param: {r['invalid_param']}"}, + { + "invalid_param": r["invalid_param"], + "stderr": r.get("stderr", "")[:2000], + "stage": stage_name, + "suggestion": "Remove or fix this key in get_params().", + }, + ) + + def _regression_err(p, r): + return _err_result( + {"error": f"result regression on {p['sha'][:10]}: " + f"baseline={p['baseline_result']} got={r.get('result')}"}, + { + "result_mismatch": { + "sha": p["sha"][:12], + "baseline_result": p["baseline_result"], + "got_result": r.get("result"), + "elapsed_ms": r.get("elapsed_ms"), + "timeout": bool(r.get("timeout")), + }, + "stage": stage_name, + "suggestion": ( + "Variant lost correctness on a problem baseline solved. " + "Revert params that disable preprocessing or relax completeness " + "(e.g. simplifier off, aggressive sls early-prune, restart " + "tuning that starves Sat search)." + ), + }, + ) + + by_idx = {} + abort = None # ("invalid"|"regression", p, r) — first failure observed + if n_parallel == 1: + # Sequential: short-circuit immediately on invalid or regression. + for pair in enumerate(problems): + idx, p, r, core, timeout_s = _solve(pair) + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={core})", flush=True) + if "invalid_param" in r: + return _invalid_err(r) + if _is_regression(p, r): + print(f" [{stage_name}] regression — aborting remaining " + f"{len(problems) - idx - 1} problems", flush=True) + return _regression_err(p, r) + by_idx[idx] = (p, r) + else: + # Parallel: LPT (longest-processing-time) submission — sort problems + # by baseline_ms descending so big jobs dispatch first. ThreadPool's + # internal FIFO queue then drains small jobs onto whichever worker + # frees up, minimising tail idle time when n_parallel < len(problems). + # Cancel pending futures on first failure; in-flight tasks keep + # running until subprocess timeout (with __exit__ waits for them). + # Per-problem timeout is baseline_ms * 1.3 (adaptive), so worst-case + # drain depends on the slowest in-flight problem rather than a fixed cap. + from concurrent.futures import ThreadPoolExecutor, as_completed + ordered = sorted(enumerate(problems), key=lambda ip: -ip[1]["baseline_ms"]) + with ThreadPoolExecutor(max_workers=n_parallel) as ex: + futures = [ex.submit(_solve, pair) for pair in ordered] + for fut in as_completed(futures): + if abort is not None: + continue + idx, p, r, core, timeout_s = fut.result() + print(f" [{stage_name}] {idx+1}/{len(problems)} {p['sha'][:10]} " + f"{r.get('result')} {r.get('elapsed_ms')}ms / {timeout_s}s " + f"(core={core})", flush=True) + if "invalid_param" in r: + abort = ("invalid", p, r) + elif _is_regression(p, r): + abort = ("regression", p, r) + if abort is not None: + print(f" [{stage_name}] {abort[0]} — cancelling pending " + f"problems (in-flight workers will drain)", flush=True) + for f in futures: + f.cancel() + continue + by_idx[idx] = (p, r) + if abort is not None: + kind, p, r = abort + return _invalid_err(r) if kind == "invalid" else _regression_err(p, r) + + # No failure — reassemble in original problem order. + results = [] + for idx in range(len(problems)): + p, r = by_idx[idx] + results.append( + { + **p, + "result": r["result"], + "elapsed_ms": r["elapsed_ms"], + "timeout": bool(r.get("timeout")), + "stats": r.get("stats") or {}, + } + ) + + metrics = score(results) + metrics["stage"] = stage_name + + # Surface a small fixed set of solver-internal counters that drive Z3's + # search shape. LLM sees these via metrics + per-problem artifacts and can + # reason about what a param tweak did beyond wall-clock (e.g. fewer + # decisions/conflicts at same elapsed_ms = sturdier improvement). + # `mk clause` chosen over `restarts` since z3 does not emit `restarts` + # for the optimize / arith-heavy stack used here. + _KEY_STATS = ("decisions", "propagations", "conflicts", "mk clause") + for k in _KEY_STATS: + metrics[f"total_{k}"] = float(sum(r["stats"].get(k, 0) for r in results)) + + sample = [ + { + "sha": r["sha"][:10], + "base_result": r["baseline_result"], + "got_result": r["result"], + "base_ms": r["baseline_ms"], + "ms": r["elapsed_ms"], + "speedup": round(r["baseline_ms"] / max(r["elapsed_ms"], 1), 3), + "timeout": r["timeout"], + "stats": {k: r["stats"].get(k, 0) for k in _KEY_STATS if k in r["stats"]}, + "base_stats": {k: r["baseline_stats"].get(k, 0) for k in _KEY_STATS if k in r.get("baseline_stats", {})}, + } + for r in results + ] + artifacts = { + "stage": stage_name, + "summary": ( + f"solved={metrics['solved']}/{metrics['total']} " + f"regressions={metrics['regressions']} " + f"geomean_speedup={metrics['geomean_speedup']:.3f} " + f"efficiency={metrics.get('efficiency', 1.0):.3f} " + f"score={metrics['combined_score']:.3f}" + ), + "per_problem": sample[:20], + } + return EvaluationResult(metrics=metrics, artifacts=artifacts) + + +def evaluate_stage1(program_path): + # Per-problem timeout = baseline_ms * TIMEOUT_FACTOR (computed in _solve). + # Stage1 wall-clock budget ≈ TIMEOUT_FACTOR * sum(baseline_ms) over 5 sample + # problems (parallel mode divides by n_parallel). + problems = _filter_stage1(_load_problems()) + return _evaluate(program_path, problems, "stage1") + + +def evaluate_stage2(program_path): + problems = _filter_stage2(_load_problems()) + return _evaluate(program_path, problems, "stage2") + + +def evaluate_stage3(program_path): + # openevolve cascade is hardcoded to 3 stages, so user-stage4 (20 broad + # problems) is folded in here. Gate threshold = config.yaml + # evaluator.cascade_thresholds[2] (defaults to 1.03 if absent). + problems3 = _filter_stage3(_load_problems()) + r3 = _evaluate(program_path, problems3, "stage3") + if not isinstance(r3, EvaluationResult): + return r3 + gate = cascade_threshold(2, default=1.03) + if r3.metrics.get("combined_score", 0.0) < gate: + return r3 + problems4 = _filter_stage4(_load_problems()) + r4 = _evaluate(program_path, problems4, "stage4") + if not isinstance(r4, EvaluationResult): + return r4 + # Merge: stage4 metrics overlay stage3's (final combined_score = stage4's). + merged_metrics = {**r3.metrics, **r4.metrics} + merged_artifacts = {**r3.artifacts, **r4.artifacts} + return EvaluationResult(metrics=merged_metrics, artifacts=merged_artifacts) + + +def evaluate_stage4(program_path): + # Standalone entry for manual / final-verify use. Not invoked by + # openevolve cascade — evaluate_stage3 chains here internally. + problems = _filter_stage4(_load_problems()) + return _evaluate(program_path, problems, "stage4") + + +def evaluate(program_path): + # Evolution uses stage1 (5 sampled problems) only — fast iteration loop. + # Stage2 (full 50 problems) is reserved for final verification via + # final_verify.py on the best-program, not the per-variant search loop. + return evaluate_stage1(program_path) diff --git a/input/z3-bench/evolve/backup/20260519/shared/local_baseline.json b/input/z3-bench/evolve/backup/20260519/shared/local_baseline.json new file mode 100644 index 0000000000..34762ce423 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/local_baseline.json @@ -0,0 +1,2857 @@ +{ + "2a465c36fe213a9c72c781832dfb561ffae3691905af41289a39ec08f585dbf2": { + "elapsed_ms": 644, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 319, + "stats": { + "conflicts": 316, + "decisions": 3176, + "propagations": 286662, + "binary propagations": 221035, + "restarts": 2, + "final checks": 11, + "added eqs": 32612, + "mk clause": 6627, + "mk clause binary": 265353, + "del clause": 1624, + "minimized lits": 1233, + "num checks": 12, + "mk bool var": 8566, + "pb resolves": 42, + "pb conflicts": 42, + "pb propagations": 99, + "pb predicates": 151, + "arith eq adapter": 1194, + "arith-lower": 11744, + "arith-upper": 11507, + "arith-fixed-eqs": 66, + "arith-conflicts": 23, + "arith-bound-propagations-lp": 8838, + "arith-diseq": 3610, + "arith-make-feasible": 2925, + "arith-max-columns": 313, + "arith-max-rows": 186, + "arith-offset-eqs": 1832, + "solve-eqs-steps": 13742, + "solve-eqs-elim-vars": 4800, + "num allocs": 92549139, + "rlimit count": 3037231, + "max memory": 85.4, + "memory": 82.74, + "time": 0.644 + } + }, + "5166f0ebaa5fe05e62ea4ed44f517f9d3cd44171362e99356dd6e33889cc5d81": { + "elapsed_ms": 687, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 358, + "stats": { + "conflicts": 313, + "decisions": 3505, + "propagations": 330565, + "binary propagations": 252670, + "restarts": 2, + "final checks": 7, + "added eqs": 40212, + "mk clause": 8277, + "mk clause binary": 307301, + "del clause": 2202, + "minimized lits": 756, + "num checks": 8, + "mk bool var": 11039, + "pb resolves": 44, + "pb conflicts": 44, + "pb propagations": 73, + "pb predicates": 249, + "arith eq adapter": 1550, + "arith-lower": 14873, + "arith-upper": 15036, + "arith-fixed-eqs": 148, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 10393, + "arith-diseq": 3633, + "arith-make-feasible": 2914, + "arith-max-columns": 423, + "arith-max-rows": 252, + "arith-offset-eqs": 2304, + "solve-eqs-steps": 14685, + "solve-eqs-elim-vars": 5124, + "num allocs": 102200914, + "rlimit count": 2584489, + "max memory": 91.78, + "memory": 90.56, + "time": 0.687 + } + }, + "23efdccb9e57a41897053370a5b6ad6b367e216afbfba952ded0a68b7ee7d4ae": { + "elapsed_ms": 748, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 364, + "stats": { + "conflicts": 118, + "decisions": 1782, + "propagations": 74794, + "binary propagations": 54096, + "restarts": 1, + "final checks": 6, + "added eqs": 9279, + "mk clause": 5470, + "mk clause binary": 214163, + "del clause": 1505, + "minimized lits": 143, + "num checks": 7, + "mk bool var": 7170, + "pb resolves": 43, + "pb conflicts": 43, + "pb propagations": 17, + "pb predicates": 242, + "arith eq adapter": 837, + "arith-lower": 3014, + "arith-upper": 2944, + "arith-fixed-eqs": 43, + "arith-conflicts": 8, + "arith-bound-propagations-lp": 1683, + "arith-diseq": 809, + "arith-make-feasible": 771, + "arith-max-columns": 277, + "arith-max-rows": 152, + "arith-offset-eqs": 374, + "solve-eqs-steps": 16020, + "solve-eqs-elim-vars": 5455, + "num allocs": 93439810, + "rlimit count": 4715542, + "max memory": 77.8, + "memory": 77.28, + "time": 0.748 + } + }, + "1c18f0ae6b70612542d6269bb8736b100331a42f18b375afba1da9b92c8548ba": { + "elapsed_ms": 812, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 365, + "stats": { + "conflicts": 111, + "decisions": 1212, + "propagations": 78142, + "binary propagations": 58456, + "restarts": 1, + "final checks": 11, + "added eqs": 9123, + "mk clause": 5805, + "mk clause binary": 224962, + "del clause": 1114, + "minimized lits": 248, + "num checks": 12, + "mk bool var": 7787, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 36, + "pb predicates": 147, + "arith eq adapter": 890, + "arith-lower": 3234, + "arith-upper": 3257, + "arith-fixed-eqs": 53, + "arith-conflicts": 6, + "arith-bound-propagations-lp": 1870, + "arith-diseq": 1310, + "arith-make-feasible": 885, + "arith-max-columns": 300, + "arith-max-rows": 173, + "arith-offset-eqs": 361, + "solve-eqs-steps": 15246, + "solve-eqs-elim-vars": 5365, + "num allocs": 105751335, + "rlimit count": 4836724, + "max memory": 78.52, + "memory": 78.11, + "time": 0.812 + } + }, + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a": { + "elapsed_ms": 103, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 366, + "stats": { + "conflicts": 57, + "decisions": 959, + "propagations": 47700, + "binary propagations": 33638, + "final checks": 24, + "added eqs": 4528, + "mk clause": 2872, + "mk clause binary": 38558, + "del clause": 285, + "minimized lits": 163, + "num checks": 25, + "mk bool var": 3595, + "pb resolves": 12, + "pb conflicts": 15, + "pb propagations": 33, + "pb predicates": 102, + "arith eq adapter": 196, + "arith-lower": 1370, + "arith-upper": 1341, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 914, + "arith-diseq": 288, + "arith-make-feasible": 503, + "arith-max-columns": 157, + "arith-max-rows": 92, + "arith-offset-eqs": 258, + "arith-fixed-eqs": 332, + "solve-eqs-steps": 7146, + "solve-eqs-elim-vars": 3244, + "num allocs": 19232956, + "rlimit count": 1085456, + "max memory": 27.8, + "memory": 27.8, + "time": 0.103 + } + }, + "2f2003b96aa2bff75f9a8792a4817a23ff4e1e4ac247d2edf9cf8f0cf3907fed": { + "elapsed_ms": 340, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 368, + "stats": { + "conflicts": 207, + "decisions": 2186, + "propagations": 123263, + "binary propagations": 87567, + "restarts": 1, + "final checks": 11, + "added eqs": 11863, + "mk clause": 5120, + "mk clause binary": 130224, + "del clause": 1915, + "minimized lits": 792, + "num checks": 12, + "mk bool var": 6622, + "pb resolves": 41, + "pb conflicts": 41, + "pb propagations": 16, + "pb predicates": 235, + "arith eq adapter": 1107, + "arith-lower": 3952, + "arith-upper": 4299, + "arith-fixed-eqs": 126, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 2787, + "arith-diseq": 1585, + "arith-make-feasible": 1151, + "arith-max-columns": 195, + "arith-max-rows": 100, + "arith-offset-eqs": 360, + "solve-eqs-steps": 16011, + "solve-eqs-elim-vars": 5652, + "num allocs": 75309250, + "rlimit count": 4542104, + "max memory": 74.43, + "memory": 68.56, + "time": 0.339 + } + }, + "05c7f64a1db7d611df8501a987ca276e96cc2735993e171468b740f3babbb34e": { + "elapsed_ms": 392, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 412, + "stats": { + "conflicts": 287, + "decisions": 2250, + "propagations": 179181, + "binary propagations": 131675, + "restarts": 1, + "final checks": 13, + "added eqs": 18281, + "mk clause": 9058, + "mk clause binary": 289651, + "del clause": 3589, + "minimized lits": 478, + "num checks": 14, + "mk bool var": 10641, + "pb resolves": 75, + "pb conflicts": 75, + "pb propagations": 110, + "pb predicates": 245, + "arith eq adapter": 1636, + "arith-lower": 6039, + "arith-upper": 7058, + "arith-fixed-eqs": 455, + "arith-conflicts": 38, + "arith-bound-propagations-lp": 4491, + "arith-diseq": 3578, + "arith-make-feasible": 1817, + "arith-max-columns": 337, + "arith-max-rows": 196, + "arith-offset-eqs": 636, + "solve-eqs-steps": 15212, + "solve-eqs-elim-vars": 5314, + "num allocs": 115099566, + "rlimit count": 3655602, + "max memory": 90.85, + "memory": 89.03, + "time": 0.391 + } + }, + "1a35f6de8ab4447aec26efb9e44f59fb1943fc4b2569d1ab2eccbeac279c1063": { + "elapsed_ms": 694, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 426, + "stats": { + "conflicts": 104, + "decisions": 2206, + "propagations": 107849, + "binary propagations": 77508, + "final checks": 8, + "added eqs": 10676, + "mk clause": 7849, + "mk clause binary": 289333, + "del clause": 2538, + "minimized lits": 115, + "num checks": 9, + "mk bool var": 10956, + "pb resolves": 37, + "pb conflicts": 37, + "pb propagations": 67, + "pb predicates": 245, + "arith eq adapter": 1882, + "arith-lower": 3736, + "arith-upper": 3426, + "arith-fixed-eqs": 116, + "arith-conflicts": 9, + "arith-bound-propagations-lp": 2078, + "arith-diseq": 1864, + "arith-make-feasible": 986, + "arith-max-columns": 324, + "arith-max-rows": 185, + "arith-offset-eqs": 543, + "solve-eqs-steps": 14917, + "solve-eqs-elim-vars": 5314, + "num allocs": 101695617, + "rlimit count": 3687049, + "max memory": 90.86, + "memory": 88.88, + "time": 0.694 + } + }, + "4efdf6c97e97e17eb3147929ad909d803a37e51a691fee016c6456bf6efe6c83": { + "elapsed_ms": 760, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 427, + "stats": { + "conflicts": 346, + "decisions": 2796, + "propagations": 275438, + "binary propagations": 207164, + "restarts": 3, + "final checks": 8, + "added eqs": 25980, + "mk clause": 7665, + "mk clause binary": 292246, + "del clause": 2089, + "minimized lits": 833, + "num checks": 9, + "mk bool var": 9705, + "pb resolves": 46, + "pb conflicts": 46, + "pb propagations": 102, + "pb predicates": 245, + "arith eq adapter": 1276, + "arith-lower": 9348, + "arith-upper": 9214, + "arith-fixed-eqs": 238, + "arith-conflicts": 17, + "arith-bound-propagations-lp": 6379, + "arith-diseq": 2379, + "arith-make-feasible": 2272, + "arith-max-columns": 351, + "arith-max-rows": 207, + "arith-offset-eqs": 1508, + "solve-eqs-steps": 14850, + "solve-eqs-elim-vars": 5292, + "num allocs": 114185086, + "rlimit count": 3995856, + "max memory": 91.1, + "memory": 89.27, + "time": 0.759 + } + }, + "0c0ae51029de74681437b42a8f8a23f5045a9bbe1e60f4d18ef0e004d9b9b983": { + "elapsed_ms": 1017, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 530, + "stats": { + "conflicts": 61, + "decisions": 1522, + "propagations": 122889, + "binary propagations": 97242, + "final checks": 40, + "added eqs": 6624, + "mk clause": 6431, + "mk clause binary": 758054, + "del clause": 260, + "minimized lits": 636, + "num checks": 41, + "mk bool var": 7697, + "pb resolves": 6, + "pb conflicts": 6, + "pb propagations": 18, + "pb predicates": 67, + "arith eq adapter": 314, + "arith-lower": 3002, + "arith-upper": 3281, + "arith-conflicts": 14, + "arith-bound-propagations-lp": 2273, + "arith-diseq": 1907, + "arith-make-feasible": 1125, + "arith-max-columns": 288, + "arith-max-rows": 173, + "arith-offset-eqs": 326, + "arith-fixed-eqs": 618, + "solve-eqs-steps": 17220, + "solve-eqs-elim-vars": 5068, + "num allocs": 213917873, + "rlimit count": 2378813, + "max memory": 261.65, + "memory": 230.49, + "time": 1.017 + } + }, + "45730d888ee32d83f372b0431c7875c2159d864ab489bb8fbf36f272548e7cf5": { + "elapsed_ms": 4303, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2250, + "stats": { + "conflicts": 398, + "decisions": 10860, + "propagations": 546858, + "binary propagations": 414288, + "restarts": 3, + "final checks": 15, + "added eqs": 69978, + "mk clause": 20294, + "mk clause binary": 2222168, + "del clause": 8997, + "minimized lits": 548, + "num checks": 16, + "mk bool var": 26405, + "pb resolves": 159, + "pb conflicts": 159, + "pb propagations": 220, + "pb predicates": 495, + "arith eq adapter": 4023, + "arith-lower": 26362, + "arith-upper": 24730, + "arith-fixed-eqs": 1346, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 18513, + "arith-diseq": 12748, + "arith-make-feasible": 7193, + "arith-max-columns": 744, + "arith-max-rows": 446, + "arith-offset-eqs": 3394, + "solve-eqs-steps": 45943, + "solve-eqs-elim-vars": 11306, + "num allocs": 1822077873, + "rlimit count": 13621558, + "max memory": 583.33, + "memory": 561.24, + "time": 4.303 + } + }, + "4be05b5b981caff9c95b9b49e81076b7776ec05f6f02b8cec803e149e173e83c": { + "elapsed_ms": 2345, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2270, + "stats": { + "conflicts": 433, + "decisions": 6963, + "propagations": 1295743, + "binary propagations": 1016846, + "restarts": 3, + "final checks": 7, + "added eqs": 126082, + "mk clause": 23055, + "mk clause binary": 2497199, + "del clause": 6741, + "minimized lits": 2030, + "num checks": 8, + "mk bool var": 30360, + "pb resolves": 78, + "pb conflicts": 78, + "pb propagations": 115, + "pb predicates": 456, + "arith eq adapter": 4229, + "arith-lower": 48350, + "arith-upper": 46103, + "arith-fixed-eqs": 66, + "arith-conflicts": 65, + "arith-bound-propagations-lp": 27326, + "arith-diseq": 10262, + "arith-make-feasible": 5656, + "arith-max-columns": 929, + "arith-max-rows": 565, + "arith-offset-eqs": 7221, + "solve-eqs-steps": 39186, + "solve-eqs-elim-vars": 11535, + "num allocs": 1602103842, + "rlimit count": 9147780, + "max memory": 597.89, + "memory": 575.92, + "time": 2.345 + } + }, + "1927b5398ba22a23ab54f1919033fbf39851ae037bcd6d74beab63c69a817499": { + "elapsed_ms": 3383, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2273, + "stats": { + "conflicts": 183, + "decisions": 3371, + "propagations": 343839, + "binary propagations": 276922, + "restarts": 1, + "final checks": 7, + "added eqs": 34450, + "mk clause": 19959, + "mk clause binary": 2965140, + "del clause": 3585, + "minimized lits": 124, + "num checks": 8, + "mk bool var": 24406, + "pb resolves": 81, + "pb conflicts": 81, + "pb propagations": 109, + "pb predicates": 506, + "arith eq adapter": 2549, + "arith-lower": 12265, + "arith-upper": 12803, + "arith-fixed-eqs": 68, + "arith-conflicts": 19, + "arith-bound-propagations-lp": 7635, + "arith-diseq": 3471, + "arith-make-feasible": 2205, + "arith-max-columns": 819, + "arith-max-rows": 485, + "arith-offset-eqs": 1699, + "solve-eqs-steps": 41735, + "solve-eqs-elim-vars": 9949, + "num allocs": 1573308307, + "rlimit count": 6649816, + "max memory": 647.48, + "memory": 633.7, + "time": 3.383 + } + }, + "542477536440c3b0909da276e91540d9ac9e310305a49f4798c7c2f0860bbe27": { + "elapsed_ms": 4020, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2289, + "stats": { + "conflicts": 155, + "decisions": 6113, + "propagations": 458003, + "binary propagations": 357833, + "restarts": 1, + "final checks": 6, + "added eqs": 47235, + "mk clause": 18560, + "mk clause binary": 2325037, + "del clause": 4695, + "minimized lits": 186, + "num checks": 7, + "mk bool var": 23692, + "pb resolves": 67, + "pb conflicts": 67, + "pb propagations": 124, + "pb predicates": 498, + "arith eq adapter": 2791, + "arith-lower": 16606, + "arith-upper": 18234, + "arith-fixed-eqs": 352, + "arith-conflicts": 13, + "arith-bound-propagations-lp": 13709, + "arith-diseq": 6268, + "arith-make-feasible": 4103, + "arith-max-columns": 785, + "arith-max-rows": 467, + "arith-offset-eqs": 2821, + "solve-eqs-steps": 46604, + "solve-eqs-elim-vars": 11165, + "num allocs": 1755134174, + "rlimit count": 13504094, + "max memory": 589.87, + "memory": 567.11, + "time": 4.02 + } + }, + "089c72fcb8dea9b5fbb99948d1710fb7c676a6cf4840e201ed51d68451e1da75": { + "elapsed_ms": 4354, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2324, + "stats": { + "conflicts": 115, + "decisions": 2942, + "propagations": 283650, + "binary propagations": 225579, + "restarts": 1, + "final checks": 18, + "added eqs": 24335, + "mk clause": 17839, + "mk clause binary": 3133959, + "del clause": 511, + "minimized lits": 326, + "num checks": 19, + "mk bool var": 22138, + "pb resolves": 17, + "pb conflicts": 19, + "pb propagations": 64, + "pb predicates": 278, + "arith eq adapter": 846, + "arith-lower": 9680, + "arith-upper": 9315, + "arith-conflicts": 12, + "arith-bound-propagations-lp": 6595, + "arith-diseq": 1835, + "arith-make-feasible": 1799, + "arith-max-columns": 844, + "arith-max-rows": 538, + "arith-offset-eqs": 1359, + "arith-fixed-eqs": 2069, + "solve-eqs-steps": 45697, + "solve-eqs-elim-vars": 12072, + "num allocs": 2138806908, + "rlimit count": 7692070, + "max memory": 1033.37, + "memory": 905.93, + "time": 4.354 + } + }, + "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c": { + "elapsed_ms": 3164, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2343, + "stats": { + "conflicts": 639, + "decisions": 9306, + "propagations": 1431906, + "binary propagations": 1101047, + "restarts": 5, + "final checks": 13, + "added eqs": 145449, + "mk clause": 25687, + "mk clause binary": 2735555, + "del clause": 9997, + "minimized lits": 3191, + "num checks": 14, + "mk bool var": 32879, + "pb resolves": 99, + "pb conflicts": 99, + "pb propagations": 67, + "pb predicates": 849, + "arith eq adapter": 4096, + "arith-lower": 53611, + "arith-upper": 52624, + "arith-fixed-eqs": 880, + "arith-conflicts": 37, + "arith-bound-propagations-lp": 31541, + "arith-diseq": 10932, + "arith-make-feasible": 6282, + "arith-max-columns": 1091, + "arith-max-rows": 683, + "arith-offset-eqs": 8729, + "solve-eqs-steps": 47319, + "solve-eqs-elim-vars": 13203, + "num allocs": 2521828633, + "rlimit count": 15170720, + "max memory": 618.47, + "memory": 596.96, + "time": 3.164 + } + }, + "246a0083daac2287aed583155d9b750c682f349a1765547d8829ae2feaf9904d": { + "elapsed_ms": 3805, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2360, + "stats": { + "conflicts": 277, + "decisions": 8477, + "propagations": 873383, + "binary propagations": 690622, + "restarts": 2, + "final checks": 12, + "added eqs": 85055, + "mk clause": 18580, + "mk clause binary": 2475585, + "del clause": 2728, + "minimized lits": 682, + "num checks": 13, + "mk bool var": 24861, + "pb resolves": 64, + "pb conflicts": 64, + "pb propagations": 128, + "pb predicates": 455, + "arith eq adapter": 2516, + "arith-lower": 31254, + "arith-upper": 30493, + "arith-fixed-eqs": 102, + "arith-conflicts": 21, + "arith-bound-propagations-lp": 21332, + "arith-diseq": 7989, + "arith-make-feasible": 6908, + "arith-max-columns": 886, + "arith-max-rows": 537, + "arith-offset-eqs": 6507, + "solve-eqs-steps": 39268, + "solve-eqs-elim-vars": 11625, + "num allocs": 1706034742, + "rlimit count": 9063114, + "max memory": 596.32, + "memory": 574.49, + "time": 3.805 + } + }, + "53508daf15f2ae2b7f4418ed4493b7d7b9a5998d39183a0dbb726a8bd64ce992": { + "elapsed_ms": 4141, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2397, + "stats": { + "conflicts": 140, + "decisions": 7437, + "propagations": 524095, + "binary propagations": 403749, + "restarts": 1, + "final checks": 14, + "added eqs": 59017, + "mk clause": 18129, + "mk clause binary": 2460105, + "del clause": 2740, + "minimized lits": 195, + "num checks": 15, + "mk bool var": 23591, + "pb resolves": 62, + "pb conflicts": 62, + "pb propagations": 14, + "pb predicates": 451, + "arith eq adapter": 2281, + "arith-lower": 20637, + "arith-upper": 20627, + "arith-fixed-eqs": 145, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 14542, + "arith-diseq": 4143, + "arith-make-feasible": 4350, + "arith-max-columns": 810, + "arith-max-rows": 485, + "arith-offset-eqs": 4131, + "solve-eqs-steps": 40957, + "solve-eqs-elim-vars": 11786, + "num allocs": 1756020704, + "rlimit count": 11672127, + "max memory": 595.27, + "memory": 572.67, + "time": 4.141 + } + }, + "08d4f4aeb3e927265e66733473f2f5cee260ba52c5974106d2f9bd55f895c3d4": { + "elapsed_ms": 2939, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2599, + "stats": { + "conflicts": 584, + "decisions": 7761, + "propagations": 946805, + "binary propagations": 737579, + "restarts": 5, + "final checks": 10, + "added eqs": 97125, + "mk clause": 15665, + "mk clause binary": 1703451, + "del clause": 3277, + "minimized lits": 1502, + "num checks": 11, + "mk bool var": 19507, + "pb resolves": 87, + "pb conflicts": 87, + "pb propagations": 160, + "pb predicates": 373, + "arith eq adapter": 2119, + "arith-lower": 36184, + "arith-upper": 35794, + "arith-fixed-eqs": 580, + "arith-conflicts": 51, + "arith-bound-propagations-lp": 26145, + "arith-diseq": 8991, + "arith-make-feasible": 7378, + "arith-max-columns": 698, + "arith-max-rows": 433, + "arith-offset-eqs": 6314, + "solve-eqs-steps": 32362, + "solve-eqs-elim-vars": 9866, + "num allocs": 894404915, + "rlimit count": 8962690, + "max memory": 521.42, + "memory": 469.05, + "time": 2.939 + } + }, + "4215cf5d0a28847f8413d521980cf6a19ccbb155ee5f112045df0c26e8631b29": { + "elapsed_ms": 4322, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2698, + "stats": { + "conflicts": 118, + "decisions": 4067, + "propagations": 304886, + "binary propagations": 233378, + "final checks": 26, + "added eqs": 22721, + "mk clause": 17936, + "mk clause binary": 3133921, + "del clause": 653, + "minimized lits": 989, + "num checks": 27, + "mk bool var": 22199, + "pb resolves": 30, + "pb conflicts": 31, + "pb propagations": 81, + "pb predicates": 278, + "arith eq adapter": 870, + "arith-lower": 8617, + "arith-upper": 8359, + "arith-conflicts": 8, + "arith-bound-propagations-lp": 6385, + "arith-diseq": 2061, + "arith-make-feasible": 1850, + "arith-max-columns": 844, + "arith-max-rows": 538, + "arith-offset-eqs": 1235, + "arith-fixed-eqs": 2228, + "solve-eqs-steps": 45697, + "solve-eqs-elim-vars": 12072, + "num allocs": 2320035759, + "rlimit count": 7831357, + "max memory": 1033.37, + "memory": 905.86, + "time": 4.322 + } + }, + "318b1d8c24c40f72ceebb82e38c760cf2b659e78a051a108ea5a372318566a21": { + "elapsed_ms": 8489, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11157, + "stats": { + "conflicts": 358, + "decisions": 10546, + "propagations": 2103755, + "binary propagations": 1666025, + "restarts": 2, + "final checks": 18, + "added eqs": 201908, + "mk clause": 37820, + "mk clause binary": 7124425, + "del clause": 2312, + "minimized lits": 1494, + "num checks": 19, + "mk bool var": 49742, + "pb resolves": 80, + "pb conflicts": 80, + "pb propagations": 208, + "pb predicates": 467, + "arith eq adapter": 3065, + "arith-lower": 76061, + "arith-upper": 76100, + "arith-fixed-eqs": 1, + "arith-conflicts": 27, + "arith-bound-propagations-lp": 51219, + "arith-diseq": 10252, + "arith-make-feasible": 7781, + "arith-max-columns": 1919, + "arith-max-rows": 1196, + "arith-offset-eqs": 10205, + "solve-eqs-steps": 89521, + "solve-eqs-elim-vars": 22292, + "rlimit count": 28141188, + "max memory": 2033.9, + "memory": 1876.53, + "num allocs": 14480406706.0, + "time": 8.488 + } + }, + "5a1fa2a8b99340b9aed5f964fe259ae971ac1dc3907a758f3e086db6b21fb22d": { + "elapsed_ms": 4925, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11365, + "stats": { + "conflicts": 115, + "decisions": 2548, + "propagations": 304422, + "binary propagations": 248251, + "final checks": 39, + "added eqs": 17652, + "mk clause": 17991, + "mk clause binary": 4072147, + "del clause": 360, + "minimized lits": 612, + "num checks": 40, + "mk bool var": 20874, + "pb resolves": 9, + "pb conflicts": 9, + "pb propagations": 139, + "pb predicates": 146, + "arith eq adapter": 658, + "arith-lower": 7622, + "arith-upper": 7864, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 7352, + "arith-diseq": 3582, + "arith-make-feasible": 2391, + "arith-max-columns": 633, + "arith-max-rows": 389, + "arith-offset-eqs": 1508, + "arith-fixed-eqs": 2266, + "solve-eqs-steps": 49082, + "solve-eqs-elim-vars": 10532, + "num allocs": 3107401700, + "rlimit count": 7652076, + "max memory": 1119.37, + "memory": 1073.55, + "time": 4.925 + } + }, + "4f7415e2970ec0e37346a6d38cf4371a7e09fcd9792a4b3a737fe3577ec2dc21": { + "elapsed_ms": 4782, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11481, + "stats": { + "conflicts": 136, + "decisions": 2698, + "propagations": 321931, + "binary propagations": 261760, + "final checks": 22, + "added eqs": 18904, + "mk clause": 18011, + "mk clause binary": 4072180, + "del clause": 376, + "minimized lits": 1301, + "num checks": 23, + "mk bool var": 20918, + "pb resolves": 9, + "pb conflicts": 9, + "pb propagations": 116, + "pb predicates": 146, + "arith eq adapter": 670, + "arith-lower": 8190, + "arith-upper": 7875, + "arith-conflicts": 19, + "arith-bound-propagations-lp": 6879, + "arith-diseq": 2717, + "arith-make-feasible": 2360, + "arith-max-columns": 635, + "arith-max-rows": 390, + "arith-offset-eqs": 1426, + "arith-fixed-eqs": 2193, + "solve-eqs-steps": 49677, + "solve-eqs-elim-vars": 10532, + "num allocs": 2449984241, + "rlimit count": 7363194, + "max memory": 1119.56, + "memory": 1072.67, + "time": 4.782 + } + }, + "095a876a32793982486741d3211591fcd3cdf13375b6e16f170f10dc3a3570b2": { + "elapsed_ms": 5037, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11659, + "stats": { + "conflicts": 128, + "decisions": 3708, + "propagations": 286334, + "binary propagations": 227372, + "final checks": 37, + "added eqs": 12077, + "mk clause": 18003, + "mk clause binary": 4075430, + "del clause": 393, + "minimized lits": 1940, + "num checks": 38, + "mk bool var": 20823, + "pb resolves": 10, + "pb conflicts": 10, + "pb propagations": 91, + "pb predicates": 146, + "arith eq adapter": 634, + "arith-lower": 5706, + "arith-upper": 4971, + "arith-conflicts": 12, + "arith-bound-propagations-lp": 4474, + "arith-diseq": 2192, + "arith-make-feasible": 1759, + "arith-max-columns": 628, + "arith-max-rows": 386, + "arith-offset-eqs": 830, + "arith-fixed-eqs": 1560, + "solve-eqs-steps": 49160, + "solve-eqs-elim-vars": 10581, + "num allocs": 2771890639, + "rlimit count": 7516234, + "max memory": 1119.47, + "memory": 1072.46, + "time": 5.037 + } + }, + "402c63333e354866268447df2b2b313105e207519677f69f344f48b08d262375": { + "elapsed_ms": 18924, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12131, + "stats": { + "conflicts": 1121, + "decisions": 16553, + "propagations": 5852895, + "binary propagations": 4754747, + "restarts": 9, + "final checks": 18, + "added eqs": 586162, + "mk clause": 45876, + "mk clause binary": 8954040, + "del clause": 2781, + "minimized lits": 7122, + "num checks": 19, + "mk bool var": 60692, + "pb resolves": 90, + "pb conflicts": 90, + "pb propagations": 380, + "pb predicates": 549, + "arith eq adapter": 3998, + "arith-lower": 222964, + "arith-upper": 222741, + "arith-fixed-eqs": 27, + "arith-conflicts": 149, + "arith-bound-propagations-lp": 129618, + "arith-diseq": 26135, + "arith-make-feasible": 18275, + "arith-max-columns": 2283, + "arith-max-rows": 1428, + "arith-offset-eqs": 33335, + "solve-eqs-steps": 104883, + "solve-eqs-elim-vars": 26498, + "rlimit count": 40660478, + "max memory": 2237.51, + "memory": 2121.53, + "num allocs": 24884638930.0, + "time": 18.923 + } + }, + "468b7a8717458ade54aa2f2e4f74fbf9c1e085e98f05d1faaa0c7f693d274b4e": { + "elapsed_ms": 4495, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12267, + "stats": { + "conflicts": 86, + "decisions": 2051, + "propagations": 180122, + "binary propagations": 144836, + "final checks": 24, + "added eqs": 10180, + "mk clause": 17958, + "mk clause binary": 4075508, + "del clause": 343, + "minimized lits": 877, + "num checks": 25, + "mk bool var": 20865, + "pb resolves": 10, + "pb conflicts": 12, + "pb propagations": 64, + "pb predicates": 146, + "arith eq adapter": 653, + "arith-lower": 3618, + "arith-upper": 4259, + "arith-conflicts": 10, + "arith-bound-propagations-lp": 3054, + "arith-diseq": 1039, + "arith-make-feasible": 1157, + "arith-max-columns": 632, + "arith-max-rows": 388, + "arith-offset-eqs": 610, + "arith-fixed-eqs": 1010, + "solve-eqs-steps": 49940, + "solve-eqs-elim-vars": 10581, + "num allocs": 2478485706, + "rlimit count": 7162967, + "max memory": 1119.89, + "memory": 1072.63, + "time": 4.495 + } + }, + "46268e065dcc863ead3e929d13f15b9209decc5cc2eb68840d17b484f827626c": { + "elapsed_ms": 18529, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12341, + "stats": { + "conflicts": 711, + "decisions": 13944, + "propagations": 4685308, + "binary propagations": 3802857, + "restarts": 6, + "final checks": 27, + "added eqs": 450364, + "mk clause": 45424, + "mk clause binary": 8954743, + "del clause": 2722, + "minimized lits": 3404, + "num checks": 28, + "mk bool var": 59737, + "pb resolves": 84, + "pb conflicts": 84, + "pb propagations": 282, + "pb predicates": 548, + "arith eq adapter": 3690, + "arith-lower": 172705, + "arith-upper": 174412, + "arith-fixed-eqs": 116, + "arith-conflicts": 111, + "arith-bound-propagations-lp": 106431, + "arith-diseq": 20542, + "arith-make-feasible": 15069, + "arith-max-columns": 2262, + "arith-max-rows": 1418, + "arith-offset-eqs": 25526, + "solve-eqs-steps": 105644, + "solve-eqs-elim-vars": 26568, + "rlimit count": 39201132, + "max memory": 2237.22, + "memory": 2120.86, + "num allocs": 26840814805.0, + "time": 18.529 + } + }, + "04524f16b53c41aefbce8192fd96a196cb323e0bfed7250a1b30f24c1610516f": { + "elapsed_ms": 14241, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12363, + "stats": { + "conflicts": 875, + "decisions": 13748, + "propagations": 4249828, + "binary propagations": 3430916, + "restarts": 8, + "final checks": 7, + "added eqs": 417817, + "mk clause": 38104, + "mk clause binary": 7138301, + "del clause": 2008, + "minimized lits": 4045, + "num checks": 8, + "mk bool var": 49733, + "pb resolves": 76, + "pb conflicts": 76, + "pb propagations": 322, + "pb predicates": 467, + "arith eq adapter": 3131, + "arith-lower": 162208, + "arith-upper": 155669, + "arith-conflicts": 98, + "arith-bound-propagations-lp": 103645, + "arith-diseq": 18016, + "arith-make-feasible": 12855, + "arith-max-columns": 1942, + "arith-max-rows": 1213, + "arith-offset-eqs": 23184, + "arith-fixed-eqs": 39662, + "solve-eqs-steps": 88915, + "solve-eqs-elim-vars": 22258, + "rlimit count": 30186567, + "max memory": 2035.09, + "memory": 1879.63, + "num allocs": 13234344239.0, + "time": 14.241 + } + }, + "55d55e00045955471f866aced2310467f08b3a78536ffe107c983b335d15d7ca": { + "elapsed_ms": 6021, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12501, + "stats": { + "conflicts": 160, + "decisions": 8482, + "propagations": 1081235, + "binary propagations": 850629, + "restarts": 1, + "final checks": 10, + "added eqs": 116961, + "mk clause": 34839, + "mk clause binary": 6299174, + "del clause": 2246, + "minimized lits": 312, + "num checks": 11, + "mk bool var": 46271, + "pb resolves": 74, + "pb conflicts": 74, + "pb propagations": 144, + "pb predicates": 436, + "arith eq adapter": 3049, + "arith-lower": 43301, + "arith-upper": 42949, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 29893, + "arith-diseq": 5608, + "arith-make-feasible": 5818, + "arith-max-columns": 1816, + "arith-max-rows": 1131, + "arith-offset-eqs": 8018, + "arith-fixed-eqs": 11530, + "solve-eqs-steps": 79665, + "solve-eqs-elim-vars": 20322, + "rlimit count": 17054374, + "max memory": 1270.0, + "memory": 1227.03, + "num allocs": 9720094234.0, + "time": 6.021 + } + }, + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8": { + "elapsed_ms": 22849, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 13086, + "stats": { + "conflicts": 346, + "decisions": 13879, + "propagations": 1852731, + "binary propagations": 1542459, + "restarts": 2, + "final checks": 57, + "added eqs": 101168, + "mk clause": 53762, + "mk clause binary": 14972623, + "del clause": 788, + "minimized lits": 4063, + "num checks": 58, + "mk bool var": 61279, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 367, + "pb predicates": 363, + "arith eq adapter": 1621, + "arith-lower": 42952, + "arith-upper": 42151, + "arith-conflicts": 73, + "arith-bound-propagations-lp": 37965, + "arith-diseq": 12892, + "arith-make-feasible": 10663, + "arith-max-columns": 1633, + "arith-max-rows": 1015, + "arith-offset-eqs": 5846, + "arith-fixed-eqs": 13173, + "solve-eqs-steps": 140510, + "solve-eqs-elim-vars": 27284, + "rlimit count": 26312539, + "max memory": 4322.03, + "memory": 4078.58, + "num allocs": 48408701978.0, + "time": 22.849 + } + }, + "1ea44fa504f1d53e3940de8d91ee10b5048fd1062e6761c55d39c51415d3d847": { + "elapsed_ms": 23, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 20, + "stats": { + "solve-eqs-steps": 3150, + "solve-eqs-elim-vars": 1876, + "num allocs": 1045132, + "rlimit count": 318805, + "max memory": 20.88, + "memory": 19.57, + "time": 0.023 + } + }, + "2314d64da1b6d3ee9ada61974f6c4cb8f0a677a6c95a6df4d9d1c8dc38a33a66": { + "elapsed_ms": 26, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 34, + "stats": { + "conflicts": 10, + "decisions": 143, + "propagations": 5158, + "binary propagations": 3340, + "final checks": 6, + "added eqs": 519, + "mk clause": 1072, + "mk clause binary": 5539, + "del clause": 77, + "minimized lits": 56, + "num checks": 7, + "mk bool var": 1181, + "pb resolves": 1, + "pb conflicts": 1, + "pb propagations": 2, + "pb predicates": 26, + "arith eq adapter": 73, + "arith-lower": 242, + "arith-upper": 253, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 221, + "arith-diseq": 152, + "arith-make-feasible": 101, + "arith-max-columns": 75, + "arith-max-rows": 39, + "arith-offset-eqs": 11, + "arith-fixed-eqs": 57, + "solve-eqs-steps": 2716, + "solve-eqs-elim-vars": 1615, + "num allocs": 1753159, + "rlimit count": 299703, + "max memory": 20.81, + "memory": 20.81, + "time": 0.025 + } + }, + "273bb808171103f0ad5be543c56b668dabe90046b661c467985c3e234225d942": { + "elapsed_ms": 61, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 51, + "stats": { + "solve-eqs-steps": 7191, + "solve-eqs-elim-vars": 3330, + "num allocs": 4226574, + "rlimit count": 839961, + "max memory": 24.39, + "memory": 21.81, + "time": 0.061 + } + }, + "389fd7729c73dbf56d084e10fcfdd77917195159f64f3f11c6af6a476426969b": { + "elapsed_ms": 90, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 87, + "stats": { + "conflicts": 2, + "decisions": 1, + "propagations": 1341, + "binary propagations": 1083, + "added eqs": 211, + "mk clause": 2344, + "mk clause binary": 30137, + "del clause": 185, + "num checks": 1, + "mk bool var": 2840, + "pb predicates": 114, + "arith eq adapter": 85, + "arith-lower": 14, + "arith-upper": 14, + "arith-bound-propagations-lp": 2, + "arith-diseq": 9, + "arith-make-feasible": 4, + "arith-max-columns": 124, + "arith-max-rows": 56, + "solve-eqs-steps": 7439, + "solve-eqs-elim-vars": 3269, + "num allocs": 13318248, + "rlimit count": 1324609, + "max memory": 26.4, + "memory": 26.15, + "time": 0.09 + } + }, + "037a45901c1e15d666701de863dfcc00f5b35bb8da52a03fde8161ed3a0b47f6": { + "elapsed_ms": 34, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 147, + "stats": { + "conflicts": 22, + "decisions": 172, + "propagations": 9091, + "binary propagations": 6585, + "final checks": 3, + "added eqs": 1323, + "mk clause": 1234, + "mk clause binary": 9797, + "del clause": 62, + "minimized lits": 2, + "num checks": 4, + "mk bool var": 1605, + "pb resolves": 2, + "pb conflicts": 3, + "pb propagations": 6, + "pb predicates": 26, + "arith eq adapter": 92, + "arith-lower": 466, + "arith-upper": 439, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 346, + "arith-diseq": 92, + "arith-make-feasible": 188, + "arith-max-columns": 85, + "arith-max-rows": 47, + "arith-offset-eqs": 88, + "arith-fixed-eqs": 137, + "solve-eqs-steps": 3190, + "solve-eqs-elim-vars": 1843, + "num allocs": 2957362, + "rlimit count": 407946, + "max memory": 21.9, + "memory": 21.9, + "time": 0.033 + } + }, + "4ff9d45ccb1e038c7a0f3fbb2d97ef091718be487340483f2776df46478bd511": { + "elapsed_ms": 231, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 188, + "stats": { + "conflicts": 34, + "decisions": 695, + "propagations": 29004, + "binary propagations": 21162, + "final checks": 13, + "added eqs": 2522, + "mk clause": 3416, + "mk clause binary": 161107, + "del clause": 304, + "minimized lits": 98, + "num checks": 14, + "mk bool var": 4082, + "pb resolves": 13, + "pb conflicts": 14, + "pb propagations": 14, + "pb predicates": 134, + "arith eq adapter": 188, + "arith-lower": 905, + "arith-upper": 1008, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 857, + "arith-diseq": 675, + "arith-make-feasible": 293, + "arith-max-columns": 166, + "arith-max-rows": 98, + "arith-offset-eqs": 285, + "arith-fixed-eqs": 198, + "solve-eqs-steps": 11397, + "solve-eqs-elim-vars": 3940, + "num allocs": 41379861, + "rlimit count": 2486358, + "max memory": 73.77, + "memory": 67.36, + "time": 0.23 + } + }, + "4323ecfd94c6453381e752dd1023d9c3feed0f91f60326ed716cb6e5e65b585d": { + "elapsed_ms": 245, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 223, + "stats": { + "conflicts": 72, + "decisions": 1225, + "propagations": 56836, + "binary propagations": 42308, + "final checks": 13, + "added eqs": 4098, + "mk clause": 4867, + "mk clause binary": 246073, + "del clause": 314, + "minimized lits": 176, + "num checks": 14, + "mk bool var": 5952, + "pb resolves": 15, + "pb conflicts": 19, + "pb propagations": 25, + "pb predicates": 137, + "arith eq adapter": 265, + "arith-lower": 1500, + "arith-upper": 1358, + "arith-fixed-eqs": 1, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 1216, + "arith-diseq": 475, + "arith-make-feasible": 435, + "arith-max-columns": 258, + "arith-max-rows": 161, + "arith-offset-eqs": 242, + "solve-eqs-steps": 12456, + "solve-eqs-elim-vars": 4805, + "num allocs": 67371505, + "rlimit count": 1604027, + "max memory": 77.12, + "memory": 76.59, + "time": 0.245 + } + }, + "312ad6712268239f49965147a6b73850f685b72845588649975005c5083d1cc1": { + "elapsed_ms": 289, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 261, + "stats": { + "conflicts": 3, + "decisions": 2, + "propagations": 2215, + "binary propagations": 1897, + "added eqs": 676, + "mk clause": 6279, + "mk clause binary": 309714, + "del clause": 410, + "num checks": 1, + "mk bool var": 8103, + "pb predicates": 247, + "arith eq adapter": 346, + "arith-lower": 8, + "arith-upper": 8, + "arith-bound-propagations-lp": 2, + "arith-diseq": 10, + "arith-make-feasible": 6, + "arith-max-columns": 401, + "arith-max-rows": 230, + "solve-eqs-steps": 14475, + "solve-eqs-elim-vars": 4863, + "num allocs": 92415528, + "rlimit count": 1937547, + "max memory": 92.17, + "memory": 88.96, + "time": 0.288 + } + }, + "4419b795af1847562e9c35be5535c08f9582079084cebe62f1f85c925624667a": { + "elapsed_ms": 274, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 261, + "stats": { + "conflicts": 4, + "decisions": 6, + "propagations": 5867, + "binary propagations": 4857, + "added eqs": 1031, + "mk clause": 5352, + "mk clause binary": 273980, + "del clause": 267, + "num checks": 1, + "mk bool var": 6971, + "pb predicates": 151, + "arith eq adapter": 316, + "arith-lower": 192, + "arith-upper": 190, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 29, + "arith-diseq": 15, + "arith-make-feasible": 17, + "arith-max-columns": 338, + "arith-max-rows": 193, + "arith-offset-eqs": 1, + "arith-fixed-eqs": 6, + "solve-eqs-steps": 13129, + "solve-eqs-elim-vars": 4506, + "num allocs": 68109873, + "rlimit count": 1619807, + "max memory": 88.48, + "memory": 85.47, + "time": 0.274 + } + }, + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e": { + "elapsed_ms": 271, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 307, + "stats": { + "conflicts": 80, + "decisions": 1042, + "propagations": 76601, + "binary propagations": 57835, + "final checks": 8, + "added eqs": 9032, + "mk clause": 6454, + "mk clause binary": 275132, + "del clause": 1274, + "minimized lits": 220, + "num checks": 9, + "mk bool var": 8335, + "pb resolves": 21, + "pb conflicts": 21, + "pb predicates": 152, + "arith eq adapter": 886, + "arith-lower": 3124, + "arith-upper": 3363, + "arith-fixed-eqs": 1, + "arith-conflicts": 6, + "arith-bound-propagations-lp": 2392, + "arith-diseq": 928, + "arith-make-feasible": 514, + "arith-max-columns": 350, + "arith-max-rows": 201, + "arith-offset-eqs": 299, + "solve-eqs-steps": 13037, + "solve-eqs-elim-vars": 4554, + "num allocs": 77411291, + "rlimit count": 1806970, + "max memory": 88.57, + "memory": 86.43, + "time": 0.27 + } + }, + "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62": { + "elapsed_ms": 256, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 407, + "stats": { + "conflicts": 3, + "decisions": 6, + "propagations": 3081, + "binary propagations": 2545, + "added eqs": 622, + "mk clause": 5343, + "mk clause binary": 274028, + "del clause": 243, + "num checks": 1, + "mk bool var": 6929, + "pb predicates": 151, + "arith eq adapter": 293, + "arith-lower": 86, + "arith-upper": 86, + "arith-bound-propagations-lp": 20, + "arith-diseq": 11, + "arith-make-feasible": 11, + "arith-max-columns": 337, + "arith-max-rows": 193, + "arith-offset-eqs": 1, + "arith-fixed-eqs": 6, + "solve-eqs-steps": 13327, + "solve-eqs-elim-vars": 4506, + "num allocs": 68656079, + "rlimit count": 1616021, + "max memory": 88.35, + "memory": 85.24, + "time": 0.255 + } + }, + "07db09a3dacb493c0acc1cb5cfe106613e9d9ca1990ad21d96c3fcd528b5def9": { + "elapsed_ms": 752, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 657, + "stats": { + "conflicts": 141, + "decisions": 3032, + "propagations": 201025, + "binary propagations": 154916, + "restarts": 1, + "final checks": 14, + "added eqs": 22031, + "mk clause": 9433, + "mk clause binary": 858425, + "del clause": 1379, + "minimized lits": 494, + "num checks": 15, + "mk bool var": 12852, + "pb resolves": 31, + "pb conflicts": 31, + "pb propagations": 49, + "pb predicates": 199, + "arith eq adapter": 1381, + "arith-lower": 7982, + "arith-upper": 8135, + "arith-fixed-eqs": 1, + "arith-conflicts": 14, + "arith-bound-propagations-lp": 4974, + "arith-diseq": 2690, + "arith-make-feasible": 1683, + "arith-max-columns": 456, + "arith-max-rows": 266, + "arith-offset-eqs": 1040, + "solve-eqs-steps": 19983, + "solve-eqs-elim-vars": 6019, + "num allocs": 281511008, + "rlimit count": 3117712, + "max memory": 264.37, + "memory": 251.09, + "time": 0.752 + } + }, + "1cd3cd6f6f1799616500d7ae97f46c13ac97fad2a5650a4267fa728718d6c45e": { + "elapsed_ms": 763, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 787, + "stats": { + "conflicts": 19, + "decisions": 238, + "propagations": 28589, + "binary propagations": 22830, + "final checks": 6, + "added eqs": 1791, + "mk clause": 6493, + "mk clause binary": 1024679, + "del clause": 395, + "minimized lits": 73, + "num checks": 7, + "mk bool var": 7018, + "pb resolves": 5, + "pb conflicts": 5, + "pb propagations": 8, + "pb predicates": 81, + "arith eq adapter": 233, + "arith-lower": 991, + "arith-upper": 826, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 804, + "arith-diseq": 601, + "arith-make-feasible": 285, + "arith-max-columns": 230, + "arith-max-rows": 132, + "arith-offset-eqs": 97, + "arith-fixed-eqs": 181, + "solve-eqs-steps": 22211, + "solve-eqs-elim-vars": 5504, + "num allocs": 214257883, + "rlimit count": 3802141, + "max memory": 286.77, + "memory": 271.9, + "time": 0.763 + } + }, + "311ce11d1fd8d876cdc797fe9ea39055fb644352cfcd442a92c96625cc0ff969": { + "elapsed_ms": 841, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 890, + "stats": { + "conflicts": 38, + "decisions": 733, + "propagations": 53842, + "binary propagations": 41693, + "final checks": 17, + "added eqs": 3175, + "mk clause": 8103, + "mk clause binary": 1332179, + "del clause": 181, + "minimized lits": 352, + "num checks": 18, + "mk bool var": 8631, + "pb resolves": 6, + "pb conflicts": 6, + "pb propagations": 25, + "pb predicates": 86, + "arith eq adapter": 259, + "arith-lower": 1478, + "arith-upper": 1254, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 1166, + "arith-diseq": 606, + "arith-make-feasible": 454, + "arith-max-columns": 277, + "arith-max-rows": 162, + "arith-offset-eqs": 206, + "arith-fixed-eqs": 338, + "solve-eqs-steps": 21540, + "solve-eqs-elim-vars": 5445, + "num allocs": 265588144, + "rlimit count": 2578830, + "max memory": 316.33, + "memory": 305.73, + "time": 0.841 + } + }, + "3d9704766d76e47234b3a1742997f17846162020b631a39c46d05faba418be97": { + "elapsed_ms": 1069, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1041, + "stats": { + "conflicts": 103, + "decisions": 2971, + "propagations": 136379, + "binary propagations": 101405, + "final checks": 19, + "added eqs": 17135, + "mk clause": 12349, + "mk clause binary": 1459353, + "del clause": 2839, + "minimized lits": 206, + "num checks": 20, + "mk bool var": 17451, + "pb resolves": 48, + "pb conflicts": 48, + "pb propagations": 84, + "pb predicates": 234, + "arith eq adapter": 2523, + "arith-lower": 6423, + "arith-upper": 5195, + "arith-fixed-eqs": 25, + "arith-conflicts": 10, + "arith-bound-propagations-lp": 3299, + "arith-diseq": 3933, + "arith-make-feasible": 1563, + "arith-max-columns": 495, + "arith-max-rows": 290, + "arith-offset-eqs": 596, + "solve-eqs-steps": 25788, + "solve-eqs-elim-vars": 6652, + "num allocs": 445695376, + "rlimit count": 3858006, + "max memory": 327.25, + "memory": 317.54, + "time": 1.069 + } + }, + "2302d78a584311ce70cbfd625101a08704a76c6e205e3e84e6850781736d47eb": { + "elapsed_ms": 401, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1197, + "stats": { + "conflicts": 244, + "decisions": 3441, + "propagations": 221476, + "binary propagations": 166302, + "restarts": 2, + "final checks": 4, + "added eqs": 24816, + "mk clause": 7488, + "mk clause binary": 284925, + "del clause": 2255, + "minimized lits": 633, + "num checks": 5, + "mk bool var": 10139, + "pb resolves": 49, + "pb conflicts": 49, + "pb propagations": 81, + "pb predicates": 245, + "arith eq adapter": 1578, + "arith-lower": 9599, + "arith-upper": 9063, + "arith-fixed-eqs": 115, + "arith-conflicts": 9, + "arith-bound-propagations-lp": 6526, + "arith-diseq": 2898, + "arith-make-feasible": 2265, + "arith-max-columns": 334, + "arith-max-rows": 194, + "arith-offset-eqs": 1388, + "solve-eqs-steps": 15015, + "solve-eqs-elim-vars": 5308, + "num allocs": 99080428, + "rlimit count": 3667020, + "max memory": 90.49, + "memory": 88.62, + "time": 0.4 + } + }, + "54f3ffda93934157ff428a4143e2b2946c8e6dca6074c8a52678b4f622422dd0": { + "elapsed_ms": 1099, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 1202, + "stats": { + "conflicts": 26, + "decisions": 35, + "propagations": 53705, + "binary propagations": 46487, + "added eqs": 3971, + "mk clause": 9159, + "mk clause binary": 1200755, + "del clause": 1335, + "minimized lits": 17, + "num checks": 1, + "mk bool var": 11697, + "pb resolves": 1, + "pb conflicts": 1, + "pb propagations": 1, + "pb predicates": 229, + "arith eq adapter": 482, + "arith-lower": 1372, + "arith-upper": 1364, + "arith-conflicts": 4, + "arith-bound-propagations-lp": 622, + "arith-diseq": 263, + "arith-make-feasible": 137, + "arith-max-columns": 464, + "arith-max-rows": 263, + "arith-offset-eqs": 178, + "arith-fixed-eqs": 215, + "solve-eqs-steps": 28406, + "solve-eqs-elim-vars": 7514, + "num allocs": 502290885, + "rlimit count": 7155196, + "max memory": 302.77, + "memory": 287.52, + "time": 1.099 + } + }, + "0c18c62bb9cd847041b708fea996e4c4f039bb537e268a838a1352722305c716": { + "elapsed_ms": 2933, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1387, + "stats": { + "conflicts": 368, + "decisions": 6701, + "propagations": 616301, + "binary propagations": 472988, + "restarts": 3, + "final checks": 18, + "added eqs": 70284, + "mk clause": 16073, + "mk clause binary": 1718461, + "del clause": 3099, + "minimized lits": 864, + "num checks": 19, + "mk bool var": 20559, + "pb resolves": 64, + "pb conflicts": 64, + "pb propagations": 160, + "pb predicates": 377, + "arith eq adapter": 2118, + "arith-lower": 26077, + "arith-upper": 25774, + "arith-fixed-eqs": 351, + "arith-conflicts": 34, + "arith-bound-propagations-lp": 17703, + "arith-diseq": 7099, + "arith-make-feasible": 4974, + "arith-max-columns": 797, + "arith-max-rows": 494, + "arith-offset-eqs": 4778, + "solve-eqs-steps": 31961, + "solve-eqs-elim-vars": 9634, + "num allocs": 928020112, + "rlimit count": 6729575, + "max memory": 521.05, + "memory": 470.42, + "time": 2.933 + } + }, + "1eadea88d320dce4a4b9b8fe724d215c89c66591ac61e51ad3822a0f45a3f021": { + "elapsed_ms": 1693, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1475, + "stats": { + "conflicts": 232, + "decisions": 5282, + "propagations": 519433, + "binary propagations": 408175, + "restarts": 1, + "final checks": 15, + "added eqs": 59067, + "mk clause": 15543, + "mk clause binary": 1718526, + "del clause": 2737, + "minimized lits": 994, + "num checks": 16, + "mk bool var": 21342, + "pb resolves": 52, + "pb conflicts": 52, + "pb propagations": 90, + "pb predicates": 377, + "arith eq adapter": 2382, + "arith-lower": 21675, + "arith-upper": 21342, + "arith-fixed-eqs": 147, + "arith-conflicts": 25, + "arith-bound-propagations-lp": 13622, + "arith-diseq": 4496, + "arith-make-feasible": 4182, + "arith-max-columns": 772, + "arith-max-rows": 470, + "arith-offset-eqs": 3609, + "solve-eqs-steps": 31779, + "solve-eqs-elim-vars": 9634, + "num allocs": 875639607, + "rlimit count": 6522136, + "max memory": 521.02, + "memory": 470.15, + "time": 1.693 + } + }, + "56b2f7e062c385b199567fa507f9723f8eef92fac629c28c947c690110508868": { + "elapsed_ms": 3179, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1580, + "stats": { + "conflicts": 578, + "decisions": 10469, + "propagations": 1029973, + "binary propagations": 802580, + "restarts": 4, + "final checks": 17, + "added eqs": 107842, + "mk clause": 16112, + "mk clause binary": 1706481, + "del clause": 3585, + "minimized lits": 1788, + "num checks": 18, + "mk bool var": 20710, + "pb resolves": 74, + "pb conflicts": 74, + "pb propagations": 135, + "pb predicates": 375, + "arith eq adapter": 2432, + "arith-lower": 41242, + "arith-upper": 39219, + "arith-fixed-eqs": 568, + "arith-conflicts": 48, + "arith-bound-propagations-lp": 27872, + "arith-diseq": 10800, + "arith-make-feasible": 8244, + "arith-max-columns": 720, + "arith-max-rows": 446, + "arith-offset-eqs": 6674, + "solve-eqs-steps": 32150, + "solve-eqs-elim-vars": 9807, + "num allocs": 993249466, + "rlimit count": 8526945, + "max memory": 521.12, + "memory": 469.42, + "time": 3.178 + } + }, + "48ba4e9efa030819c2a38d4f5b33f08b38bd8a7a5fdddc0ecd6b85eff1c8d716": { + "elapsed_ms": 1592, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1650, + "stats": { + "conflicts": 315, + "decisions": 5339, + "propagations": 600489, + "binary propagations": 460537, + "restarts": 2, + "final checks": 11, + "added eqs": 62526, + "mk clause": 16027, + "mk clause binary": 1727317, + "del clause": 3026, + "minimized lits": 633, + "num checks": 12, + "mk bool var": 21065, + "pb resolves": 48, + "pb conflicts": 48, + "pb propagations": 139, + "pb predicates": 377, + "arith eq adapter": 2478, + "arith-lower": 22290, + "arith-upper": 21290, + "arith-fixed-eqs": 277, + "arith-conflicts": 14, + "arith-bound-propagations-lp": 15116, + "arith-diseq": 4418, + "arith-make-feasible": 4431, + "arith-max-columns": 788, + "arith-max-rows": 483, + "arith-offset-eqs": 3549, + "solve-eqs-steps": 31762, + "solve-eqs-elim-vars": 9630, + "num allocs": 856310423, + "rlimit count": 6199004, + "max memory": 522.34, + "memory": 470.69, + "time": 1.592 + } + }, + "043e86d34f47f4f81c918163838508de3f3c368208a5126c828a7b467b5eec7b": { + "elapsed_ms": 2611, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1796, + "stats": { + "conflicts": 92, + "decisions": 1305, + "propagations": 150778, + "binary propagations": 122395, + "final checks": 13, + "added eqs": 8728, + "mk clause": 12598, + "mk clause binary": 2604533, + "del clause": 240, + "minimized lits": 90, + "num checks": 14, + "mk bool var": 13364, + "pb resolves": 7, + "pb conflicts": 7, + "pb propagations": 114, + "pb predicates": 116, + "arith eq adapter": 385, + "arith-lower": 4339, + "arith-upper": 3895, + "arith-conflicts": 26, + "arith-bound-propagations-lp": 3469, + "arith-diseq": 2161, + "arith-make-feasible": 1834, + "arith-max-columns": 376, + "arith-max-rows": 223, + "arith-offset-eqs": 555, + "arith-fixed-eqs": 1154, + "solve-eqs-steps": 34210, + "solve-eqs-elim-vars": 7419, + "num allocs": 808617533, + "rlimit count": 4487429, + "max memory": 618.74, + "memory": 603.81, + "time": 2.61 + } + }, + "2c80d26974732941d7f04d454c5dba4a56e967f30f45775a35373bb60be7164a": { + "elapsed_ms": 3328, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 1932, + "stats": { + "conflicts": 9, + "decisions": 24, + "propagations": 32143, + "binary propagations": 27367, + "added eqs": 3194, + "mk clause": 15972, + "mk clause binary": 2955580, + "del clause": 480, + "minimized lits": 9, + "num checks": 1, + "mk bool var": 19384, + "pb predicates": 274, + "arith eq adapter": 673, + "arith-lower": 956, + "arith-upper": 966, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 279, + "arith-diseq": 89, + "arith-make-feasible": 84, + "arith-max-columns": 671, + "arith-max-rows": 424, + "arith-offset-eqs": 66, + "arith-fixed-eqs": 72, + "solve-eqs-steps": 40764, + "solve-eqs-elim-vars": 9811, + "num allocs": 1531913557, + "rlimit count": 8554424, + "max memory": 645.61, + "memory": 629.41, + "time": 3.328 + } + }, + "20d9b61a0b0bea39b9507de6a5d76e41d46d303a2bc140c1dbc30e1e45d5a4cc": { + "elapsed_ms": 3730, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2117, + "stats": { + "conflicts": 18, + "decisions": 19, + "propagations": 52332, + "binary propagations": 44667, + "added eqs": 6200, + "mk clause": 14467, + "mk clause binary": 2139627, + "del clause": 2027, + "minimized lits": 10, + "num checks": 1, + "mk bool var": 18751, + "pb propagations": 3, + "pb predicates": 495, + "arith eq adapter": 769, + "arith-lower": 1951, + "arith-upper": 1941, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 907, + "arith-diseq": 241, + "arith-make-feasible": 127, + "arith-max-columns": 715, + "arith-max-rows": 406, + "arith-offset-eqs": 246, + "arith-fixed-eqs": 296, + "solve-eqs-steps": 45075, + "solve-eqs-elim-vars": 11093, + "num allocs": 1572017575, + "rlimit count": 12397508, + "max memory": 583.69, + "memory": 558.61, + "time": 3.73 + } + }, + "24b0f9d635f110184c196a1e5e849a4a4c2e088516e1faa3e058c69e6d8b6bf1": { + "elapsed_ms": 2402, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2173, + "stats": { + "conflicts": 179, + "decisions": 5860, + "propagations": 205415, + "binary propagations": 152268, + "final checks": 14, + "added eqs": 31052, + "mk clause": 20842, + "mk clause binary": 2224412, + "del clause": 9937, + "minimized lits": 195, + "num checks": 15, + "mk bool var": 29857, + "pb resolves": 99, + "pb conflicts": 99, + "pb propagations": 83, + "pb predicates": 496, + "arith eq adapter": 5947, + "arith-lower": 11492, + "arith-upper": 10019, + "arith-fixed-eqs": 119, + "arith-conflicts": 26, + "arith-bound-propagations-lp": 5977, + "arith-diseq": 6839, + "arith-make-feasible": 3056, + "arith-max-columns": 749, + "arith-max-rows": 440, + "arith-offset-eqs": 1263, + "solve-eqs-steps": 45497, + "solve-eqs-elim-vars": 11285, + "num allocs": 1710132020, + "rlimit count": 12959842, + "max memory": 583.41, + "memory": 560.85, + "time": 2.402 + } + }, + "52279df319ed088fdca1321385bee2352530ad3fdcbe92ea82d3a61158019a1d": { + "elapsed_ms": 3817, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2541, + "stats": { + "conflicts": 9, + "decisions": 11, + "propagations": 31531, + "binary propagations": 26357, + "added eqs": 3789, + "mk clause": 14553, + "mk clause binary": 2281019, + "del clause": 2661, + "num checks": 1, + "mk bool var": 18687, + "pb predicates": 495, + "arith eq adapter": 714, + "arith-lower": 1037, + "arith-upper": 1030, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 515, + "arith-diseq": 96, + "arith-make-feasible": 51, + "arith-max-columns": 718, + "arith-max-rows": 409, + "arith-offset-eqs": 91, + "arith-fixed-eqs": 156, + "solve-eqs-steps": 45820, + "solve-eqs-elim-vars": 11099, + "num allocs": 1639256122, + "rlimit count": 12481144, + "max memory": 587.23, + "memory": 561.83, + "time": 3.817 + } + }, + "04731b4c69952d7a0d2b7c69fbb0ef512239e09fbbcae6fe4553e09e5e966844": { + "elapsed_ms": 860, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2791, + "stats": { + "conflicts": 19, + "decisions": 62, + "propagations": 39988, + "binary propagations": 32794, + "added eqs": 4950, + "mk clause": 10457, + "mk clause binary": 987701, + "del clause": 647, + "minimized lits": 22, + "num checks": 1, + "mk bool var": 13535, + "pb predicates": 326, + "arith eq adapter": 643, + "arith-lower": 1228, + "arith-upper": 1214, + "arith-bound-propagations-lp": 382, + "arith-diseq": 105, + "arith-make-feasible": 103, + "arith-max-columns": 601, + "arith-max-rows": 352, + "arith-offset-eqs": 94, + "arith-fixed-eqs": 150, + "solve-eqs-steps": 23443, + "solve-eqs-elim-vars": 7024, + "num allocs": 364788102, + "rlimit count": 3948124, + "max memory": 293.01, + "memory": 277.97, + "time": 0.86 + } + }, + "2df16cb0bc5584c4044521a5d57afbf401d893f4e241f1bf5cb2425a5dd502a9": { + "elapsed_ms": 5572, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2934, + "stats": { + "conflicts": 946, + "decisions": 5911, + "propagations": 1893253, + "binary propagations": 1480993, + "restarts": 8, + "added eqs": 163757, + "mk clause": 22801, + "mk clause binary": 2529940, + "del clause": 8506, + "minimized lits": 7429, + "num checks": 1, + "mk bool var": 26614, + "pb resolves": 25, + "pb conflicts": 25, + "pb propagations": 118, + "pb predicates": 844, + "arith eq adapter": 2475, + "arith-lower": 58487, + "arith-upper": 58524, + "arith-fixed-eqs": 70, + "arith-conflicts": 41, + "arith-bound-propagations-lp": 37123, + "arith-diseq": 6774, + "arith-make-feasible": 5804, + "arith-max-columns": 910, + "arith-max-rows": 548, + "arith-offset-eqs": 8833, + "solve-eqs-steps": 47953, + "solve-eqs-elim-vars": 13562, + "num allocs": 2158857051, + "rlimit count": 21054202, + "max memory": 604.72, + "memory": 581.73, + "time": 5.571 + } + }, + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84": { + "elapsed_ms": 3033, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 3350, + "stats": { + "conflicts": 417, + "decisions": 11540, + "propagations": 1128638, + "binary propagations": 849055, + "restarts": 3, + "final checks": 11, + "added eqs": 113826, + "mk clause": 25677, + "mk clause binary": 2682505, + "del clause": 7791, + "minimized lits": 1561, + "num checks": 12, + "mk bool var": 31692, + "pb resolves": 140, + "pb conflicts": 140, + "pb propagations": 151, + "pb predicates": 845, + "arith eq adapter": 4218, + "arith-lower": 40885, + "arith-upper": 41967, + "arith-fixed-eqs": 512, + "arith-conflicts": 31, + "arith-bound-propagations-lp": 27128, + "arith-diseq": 12159, + "arith-make-feasible": 7169, + "arith-max-columns": 935, + "arith-max-rows": 567, + "arith-offset-eqs": 6913, + "solve-eqs-steps": 47248, + "solve-eqs-elim-vars": 13455, + "num allocs": 2287342594, + "rlimit count": 15791680, + "max memory": 611.37, + "memory": 589.53, + "time": 3.033 + } + }, + "2de9f07a7bd7d34d18efa566f5cf0d799ef07bf0499928807f6ba8c635b1d766": { + "elapsed_ms": 2223, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 4105, + "stats": { + "conflicts": 4, + "decisions": 8, + "propagations": 11169, + "binary propagations": 9419, + "added eqs": 2032, + "mk clause": 13319, + "mk clause binary": 1730661, + "del clause": 648, + "num checks": 1, + "mk bool var": 17022, + "pb predicates": 374, + "arith eq adapter": 693, + "arith-lower": 372, + "arith-upper": 368, + "arith-bound-propagations-lp": 33, + "arith-diseq": 36, + "arith-make-feasible": 25, + "arith-max-columns": 744, + "arith-max-rows": 441, + "arith-offset-eqs": 21, + "arith-fixed-eqs": 7, + "solve-eqs-steps": 31329, + "solve-eqs-elim-vars": 8411, + "num allocs": 730358023, + "rlimit count": 4883355, + "max memory": 522.23, + "memory": 466.98, + "time": 2.222 + } + }, + "51d8a28c260d1c105f43f19cbee7e0a17dfbf8fb2ff6a5b78029f5a8bbe1d2be": { + "elapsed_ms": 2919, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 5953, + "stats": { + "conflicts": 383, + "decisions": 8075, + "propagations": 708016, + "binary propagations": 544260, + "restarts": 2, + "final checks": 22, + "added eqs": 74840, + "mk clause": 16286, + "mk clause binary": 1726047, + "del clause": 3391, + "minimized lits": 1376, + "num checks": 23, + "mk bool var": 21228, + "pb resolves": 81, + "pb conflicts": 81, + "pb propagations": 130, + "pb predicates": 376, + "arith eq adapter": 2518, + "arith-lower": 27174, + "arith-upper": 26498, + "arith-fixed-eqs": 445, + "arith-conflicts": 24, + "arith-bound-propagations-lp": 17664, + "arith-diseq": 5216, + "arith-make-feasible": 5467, + "arith-max-columns": 773, + "arith-max-rows": 471, + "arith-offset-eqs": 5096, + "solve-eqs-steps": 32272, + "solve-eqs-elim-vars": 9684, + "num allocs": 979964570, + "rlimit count": 6552144, + "max memory": 521.09, + "memory": 470.71, + "time": 2.919 + } + }, + "519ce8d31fa5d52edf4c3db0219713193457fd8a069329c1c4ee0c332620ce10": { + "elapsed_ms": 2648, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 7096, + "stats": { + "conflicts": 147, + "decisions": 2985, + "propagations": 200315, + "binary propagations": 157338, + "final checks": 10, + "added eqs": 22289, + "mk clause": 16037, + "mk clause binary": 1714559, + "del clause": 4182, + "minimized lits": 435, + "num checks": 11, + "mk bool var": 20806, + "pb resolves": 44, + "pb conflicts": 44, + "pb propagations": 32, + "pb predicates": 230, + "arith eq adapter": 2694, + "arith-lower": 7477, + "arith-upper": 8021, + "arith-fixed-eqs": 88, + "arith-conflicts": 17, + "arith-bound-propagations-lp": 4623, + "arith-diseq": 2625, + "arith-make-feasible": 1674, + "arith-max-columns": 650, + "arith-max-rows": 395, + "arith-offset-eqs": 1030, + "solve-eqs-steps": 32682, + "solve-eqs-elim-vars": 8806, + "num allocs": 873651560, + "rlimit count": 8718737, + "max memory": 521.19, + "memory": 467.78, + "time": 2.648 + } + }, + "46bd96aba2874a423d4349726ef65aef5af3e1a9385c4592d7532b26327f94ff": { + "elapsed_ms": 7737, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 7167, + "stats": { + "conflicts": 239, + "decisions": 10213, + "propagations": 1016699, + "binary propagations": 786113, + "restarts": 1, + "final checks": 31, + "added eqs": 99744, + "mk clause": 40020, + "mk clause binary": 7134350, + "del clause": 4383, + "minimized lits": 1173, + "num checks": 32, + "mk bool var": 53834, + "pb resolves": 69, + "pb conflicts": 69, + "pb propagations": 65, + "pb predicates": 469, + "arith eq adapter": 4530, + "arith-lower": 37536, + "arith-upper": 35424, + "arith-fixed-eqs": 17, + "arith-conflicts": 18, + "arith-bound-propagations-lp": 23256, + "arith-diseq": 8730, + "arith-make-feasible": 5690, + "arith-max-columns": 2004, + "arith-max-rows": 1259, + "arith-offset-eqs": 5419, + "solve-eqs-steps": 88098, + "solve-eqs-elim-vars": 24247, + "rlimit count": 19517435, + "max memory": 2036.34, + "memory": 1889.9, + "num allocs": 15135410189.0, + "time": 7.736 + } + }, + "0b900874b1fc0340c8c1ff5f8f62093926ef541289d4d118495a782764e1b1da": { + "elapsed_ms": 14031, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 8277, + "stats": { + "conflicts": 7, + "decisions": 24, + "propagations": 44054, + "binary propagations": 36840, + "added eqs": 7582, + "mk clause": 42697, + "mk clause binary": 8913150, + "del clause": 930, + "minimized lits": 11, + "num checks": 1, + "mk bool var": 55454, + "pb predicates": 546, + "arith eq adapter": 2184, + "arith-lower": 2134, + "arith-upper": 2141, + "arith-bound-propagations-lp": 851, + "arith-diseq": 91, + "arith-make-feasible": 102, + "arith-max-columns": 2229, + "arith-max-rows": 1393, + "arith-offset-eqs": 104, + "arith-fixed-eqs": 344, + "solve-eqs-steps": 106234, + "solve-eqs-elim-vars": 26307, + "rlimit count": 28147380, + "max memory": 2233.2, + "memory": 2107.73, + "num allocs": 18823027977.0, + "time": 14.031 + } + }, + "56d5b7cbf50bf3a3117f42b1a37eeaf64459957daf9db11a0f003775befca840": { + "elapsed_ms": 13508, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 9606, + "stats": { + "conflicts": 757, + "decisions": 19358, + "propagations": 4229365, + "binary propagations": 3418327, + "restarts": 7, + "final checks": 15, + "added eqs": 456140, + "mk clause": 38525, + "mk clause binary": 7149137, + "del clause": 2193, + "minimized lits": 3414, + "num checks": 16, + "mk bool var": 51054, + "pb resolves": 75, + "pb conflicts": 75, + "pb propagations": 292, + "pb predicates": 469, + "arith eq adapter": 3361, + "arith-lower": 170294, + "arith-upper": 167673, + "arith-conflicts": 92, + "arith-bound-propagations-lp": 111722, + "arith-diseq": 19017, + "arith-make-feasible": 16984, + "arith-max-columns": 2002, + "arith-max-rows": 1254, + "arith-offset-eqs": 29684, + "arith-fixed-eqs": 43323, + "solve-eqs-steps": 87549, + "solve-eqs-elim-vars": 22139, + "rlimit count": 23956077, + "max memory": 2034.5, + "memory": 1881.7, + "num allocs": 14279434893.0, + "time": 13.508 + } + }, + "4e8f9f03e736e5ed6a8defc624d75197cb7b3e12783f2cf4a8ddcbe7d5c7873d": { + "elapsed_ms": 14212, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 10483, + "stats": { + "conflicts": 386, + "decisions": 13216, + "propagations": 2685190, + "binary propagations": 2158268, + "restarts": 3, + "final checks": 19, + "added eqs": 271495, + "mk clause": 37389, + "mk clause binary": 7137960, + "del clause": 1801, + "minimized lits": 1081, + "num checks": 20, + "mk bool var": 50907, + "pb resolves": 67, + "pb conflicts": 67, + "pb propagations": 111, + "pb predicates": 467, + "arith eq adapter": 3425, + "arith-lower": 101475, + "arith-upper": 100528, + "arith-conflicts": 49, + "arith-bound-propagations-lp": 65669, + "arith-diseq": 12419, + "arith-make-feasible": 8863, + "arith-max-columns": 1939, + "arith-max-rows": 1211, + "arith-offset-eqs": 16892, + "arith-fixed-eqs": 24994, + "solve-eqs-steps": 88344, + "solve-eqs-elim-vars": 22258, + "rlimit count": 28066123, + "max memory": 2034.6, + "memory": 1879.37, + "num allocs": 14954172074.0, + "time": 14.211 + } + }, + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f": { + "elapsed_ms": 19579, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 12712, + "stats": { + "conflicts": 31, + "decisions": 165, + "propagations": 152444, + "binary propagations": 133424, + "added eqs": 10417, + "mk clause": 53376, + "mk clause binary": 14969876, + "del clause": 609, + "minimized lits": 48, + "num checks": 1, + "mk bool var": 61188, + "pb propagations": 29, + "pb predicates": 363, + "arith eq adapter": 1591, + "arith-lower": 3687, + "arith-upper": 3788, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 2078, + "arith-diseq": 506, + "arith-make-feasible": 489, + "arith-max-columns": 1633, + "arith-max-rows": 1015, + "arith-offset-eqs": 221, + "arith-fixed-eqs": 630, + "solve-eqs-steps": 140629, + "solve-eqs-elim-vars": 27284, + "rlimit count": 21751272, + "max memory": 4321.89, + "memory": 4068.81, + "num allocs": 34190257880.0, + "time": 19.579 + } + }, + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416": { + "elapsed_ms": 13796, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 14992, + "stats": { + "conflicts": 27, + "decisions": 79, + "propagations": 144900, + "binary propagations": 123789, + "added eqs": 9276, + "mk clause": 53346, + "mk clause binary": 14961098, + "del clause": 609, + "minimized lits": 43, + "num checks": 1, + "mk bool var": 61148, + "pb propagations": 17, + "pb predicates": 363, + "arith eq adapter": 1591, + "arith-lower": 3345, + "arith-upper": 3271, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 1758, + "arith-diseq": 405, + "arith-make-feasible": 328, + "arith-max-columns": 1631, + "arith-max-rows": 1015, + "arith-offset-eqs": 231, + "arith-fixed-eqs": 482, + "solve-eqs-steps": 140314, + "solve-eqs-elim-vars": 27284, + "rlimit count": 21013773, + "max memory": 4321.43, + "memory": 4068.7, + "num allocs": 33594382627.0, + "time": 13.796 + } + }, + "37b6d012f0c252781d07ef5ceaaf458e559853f9c1b13e9b2399bc8209bae47d": { + "elapsed_ms": 53256, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 20621, + "stats": { + "conflicts": 8494, + "decisions": 149199, + "propagations": 54830274, + "binary propagations": 43526682, + "restarts": 61, + "final checks": 26, + "added eqs": 6770434, + "mk clause": 60112, + "mk clause binary": 6162110, + "del clause": 10050, + "minimized lits": 95829, + "num checks": 27, + "mk bool var": 74271, + "pb resolves": 385, + "pb conflicts": 385, + "pb propagations": 4984, + "pb predicates": 2479, + "arith eq adapter": 7437, + "arith-lower": 2447611, + "arith-upper": 2464985, + "arith-fixed-eqs": 970, + "arith-conflicts": 1293, + "arith-bound-propagations-lp": 1550655, + "arith-diseq": 266435, + "arith-make-feasible": 160873, + "arith-max-columns": 2869, + "arith-max-rows": 1810, + "arith-offset-eqs": 557813, + "solve-eqs-steps": 105426, + "solve-eqs-elim-vars": 29175, + "rlimit count": 135658356, + "max memory": 1299.92, + "memory": 1271.26, + "num allocs": 86673757312.0, + "time": 53.256 + } + }, + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e": { + "elapsed_ms": 43162, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 33752, + "stats": { + "conflicts": 192, + "decisions": 1219, + "propagations": 1476494, + "binary propagations": 1235915, + "restarts": 1, + "added eqs": 195222, + "mk clause": 116479, + "mk clause binary": 18726007, + "del clause": 10092, + "minimized lits": 601, + "num checks": 1, + "mk bool var": 150603, + "pb propagations": 9, + "pb predicates": 5218, + "arith eq adapter": 8093, + "arith-lower": 68302, + "arith-upper": 67906, + "arith-fixed-eqs": 2, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 31748, + "arith-diseq": 2085, + "arith-make-feasible": 2551, + "arith-max-columns": 7130, + "arith-max-rows": 4558, + "arith-offset-eqs": 11633, + "solve-eqs-steps": 247089, + "solve-eqs-elim-vars": 75122, + "rlimit count": 73674728, + "max memory": 4737.55, + "memory": 4497.48, + "num allocs": 131374027636.0, + "time": 43.162 + } + } +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/phase1_best.json b/input/z3-bench/evolve/backup/20260519/shared/phase1_best.json new file mode 100644 index 0000000000..4f11cfd13a --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/phase1_best.json @@ -0,0 +1,33 @@ +{ + "opt.elim_01": true, + "opt.enable_core_rotate": true, + "opt.enable_sat": true, + "opt.enable_sls": true, + "opt.maxlex.enable": true, + "opt.maxres.add_upper_bound_block": false, + "opt.maxres.hill_climb": true, + "opt.maxres.max_core_size": 3, + "opt.maxres.max_correction_set_size": 3, + "opt.maxres.maximize_assignment": false, + "opt.maxres.pivot_on_correction_set": true, + "opt.maxres.wmax": false, + "opt.maxsat_engine": "wmax", + "opt.optsmt_engine": "basic", + "opt.pb.compile_equality": false, + "opt.priority": "pareto", + "opt.rc2.totalizer": true, + "sls.early_prune": true, + "sls.random_offset": true, + "sls.rescore": true, + "sls.restart_base": 100, + "sls.restart_init": false, + "sls.track_unsat": false, + "sls.walksat": true, + "sls.walksat_repick": true, + "sls.walksat_ucb": true, + "sls.walksat_ucb_constant": 20.0, + "sls.walksat_ucb_forget": 0.1, + "sls.walksat_ucb_init": false, + "sls.walksat_ucb_noise": 0.0002, + "sls.wp": 20 +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/phase2_best.json b/input/z3-bench/evolve/backup/20260519/shared/phase2_best.json new file mode 100644 index 0000000000..1d0418caa4 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/phase2_best.json @@ -0,0 +1,118 @@ +{ + "sat.acce": false, + "sat.anf": false, + "sat.anf.delay": 2, + "sat.anf.exlin": false, + "sat.asymm_branch": true, + "sat.asymm_branch.all": false, + "sat.asymm_branch.delay": 1, + "sat.asymm_branch.limit": 100000000, + "sat.asymm_branch.rounds": 2, + "sat.asymm_branch.sampled": true, + "sat.ate": true, + "sat.backtrack.conflicts": 4000, + "sat.backtrack.scopes": 100, + "sat.bca": false, + "sat.bce": false, + "sat.bce_at": 2, + "sat.bce_delay": 2, + "sat.blocked_clause_limit": 100000000, + "sat.branching.anti_exploration": 0.4, + "sat.branching.heuristic": "vsids", + "sat.burst_search": 100, + "sat.cardinality.encoding": "grouped", + "sat.cardinality.solver": true, + "sat.cce": false, + "sat.core.minimize": false, + "sat.core.minimize_partial": false, + "sat.cut": false, + "sat.cut.aig": false, + "sat.cut.delay": 2, + "sat.cut.dont_cares": true, + "sat.cut.force": false, + "sat.cut.lut": false, + "sat.cut.npn3": false, + "sat.cut.redundancies": true, + "sat.cut.xor": false, + "sat.ddfw.init_clause_weight": 8, + "sat.ddfw.reinit_base": 10000, + "sat.ddfw.restart_base": 100000, + "sat.ddfw.threads": 0, + "sat.ddfw.use_reward_pct": 15, + "sat.ddfw_search": false, + "sat.elim_vars": true, + "sat.enable_pre_simplify": false, + "sat.force_cleanup": false, + "sat.gc": "glue_psm", + "sat.gc.burst": false, + "sat.gc.defrag": true, + "sat.gc.increment": 500, + "sat.gc.initial": 20000, + "sat.gc.k": 7, + "sat.gc.small_lbd": 3, + "sat.inprocess.max": 4294967295, + "sat.local_search": false, + "sat.local_search_mode": "wsat", + "sat.local_search_threads": 0, + "sat.lookahead.cube.cutoff": "depth", + "sat.lookahead.cube.depth": 1, + "sat.lookahead.cube.fraction": 0.4, + "sat.lookahead.cube.freevars": 0.8, + "sat.lookahead.cube.psat.clause_base": 2.0, + "sat.lookahead.cube.psat.trigger": 5.0, + "sat.lookahead.cube.psat.var_exp": 1.0, + "sat.lookahead.delta_fraction": 1.0, + "sat.lookahead.double": true, + "sat.lookahead.global_autarky": false, + "sat.lookahead.preselect": false, + "sat.lookahead.reward": "march_cu", + "sat.lookahead.use_learned": false, + "sat.lookahead_scores": false, + "sat.lookahead_simplify": false, + "sat.lookahead_simplify.bca": true, + "sat.minimize_lemmas": true, + "sat.pb.lemma_format": "cardinality", + "sat.pb.resolve": "cardinality", + "sat.pb.solver": "totalizer", + "sat.phase": "caching", + "sat.phase.sticky": true, + "sat.prob_search": false, + "sat.probing": true, + "sat.probing_binary": true, + "sat.probing_cache": true, + "sat.probing_cache_limit": 1024, + "sat.probing_limit": 5000000, + "sat.propagate.prefetch": true, + "sat.random_freq": 0.01, + "sat.reorder.activity_scale": 100, + "sat.reorder.base": 4294967295, + "sat.reorder.itau": 4.0, + "sat.rephase.base": 1000, + "sat.resolution.cls_cutoff1": 100000000, + "sat.resolution.cls_cutoff2": 700000000, + "sat.resolution.limit": 500000000, + "sat.resolution.lit_cutoff_range1": 700, + "sat.resolution.lit_cutoff_range2": 400, + "sat.resolution.lit_cutoff_range3": 300, + "sat.resolution.occ_cutoff": 10, + "sat.resolution.occ_cutoff_range1": 8, + "sat.resolution.occ_cutoff_range2": 5, + "sat.resolution.occ_cutoff_range3": 3, + "sat.restart": "geometric", + "sat.restart.emafastglue": 0.03, + "sat.restart.emaslowglue": 1e-05, + "sat.restart.factor": 1.5, + "sat.restart.fast": true, + "sat.restart.initial": 2, + "sat.restart.margin": 1.1, + "sat.retain_blocked_clauses": true, + "sat.scc": true, + "sat.scc.tr": true, + "sat.search.sat.conflicts": 400, + "sat.search.unsat.conflicts": 400, + "sat.simplify.delay": 0, + "sat.subsumption": true, + "sat.subsumption.limit": 100000000, + "sat.threads": 1, + "sat.variable_decay": 110 +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/phase3_best.json b/input/z3-bench/evolve/backup/20260519/shared/phase3_best.json new file mode 100644 index 0000000000..30689a49a2 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/phase3_best.json @@ -0,0 +1,96 @@ +{ + "smt.arith.auto_config_simplex": false, + "smt.arith.bprop_on_pivoted_rows": true, + "smt.arith.branch_cut_ratio": 2, + "smt.arith.eager_eq_axioms": true, + "smt.arith.enable_hnf": true, + "smt.arith.greatest_error_pivot": false, + "smt.arith.ignore_int": false, + "smt.arith.int_eq_branch": false, + "smt.arith.min": false, + "smt.arith.nl": true, + "smt.arith.nl.branching": true, + "smt.arith.nl.delay": 500, + "smt.arith.nl.expp": false, + "smt.arith.nl.gr_q": 10, + "smt.arith.nl.grobner": true, + "smt.arith.nl.grobner_cnfl_to_report": 1, + "smt.arith.nl.grobner_eqs_growth": 10, + "smt.arith.nl.grobner_expr_degree_growth": 2, + "smt.arith.nl.grobner_expr_size_growth": 2, + "smt.arith.nl.grobner_frequency": 4, + "smt.arith.nl.grobner_max_simplified": 10000, + "smt.arith.nl.grobner_subs_fixed": 1, + "smt.arith.nl.horner": true, + "smt.arith.nl.horner_frequency": 4, + "smt.arith.nl.horner_row_length_limit": 10, + "smt.arith.nl.horner_subs_fixed": 2, + "smt.arith.nl.nra": true, + "smt.arith.nl.order": true, + "smt.arith.nl.rounds": 900, + "smt.arith.nl.tangents": true, + "smt.arith.propagate_eqs": true, + "smt.arith.propagation_mode": 1, + "smt.arith.random_initial_value": false, + "smt.arith.rep_freq": 0, + "smt.arith.simplex_strategy": 0, + "smt.arith.solver": 6, + "smt.array.extensional": true, + "smt.array.weak": false, + "smt.auto_config": false, + "smt.bv.delay": true, + "smt.bv.enable_int2bv": true, + "smt.bv.reflect": true, + "smt.bv.size_reduce": false, + "smt.bv.solver": 0, + "smt.case_split": 1, + "smt.core.extend_nonlocal_patterns": false, + "smt.core.extend_patterns": false, + "smt.core.extend_patterns.max_distance": 4294967295, + "smt.core.minimize": false, + "smt.core.validate": false, + "smt.cube_depth": 1, + "smt.dack": 1, + "smt.dack.eq": false, + "smt.dack.factor": 0.1, + "smt.dack.gc": 2000, + "smt.dack.gc_inv_decay": 0.8, + "smt.dack.threshold": 10, + "smt.delay_units": false, + "smt.delay_units_threshold": 32, + "smt.dt_lazy_splits": 1, + "smt.elim_unconstrained": true, + "smt.ematching": true, + "smt.induction": false, + "smt.lemma_gc_strategy": 0, + "smt.logic": "", + "smt.macro_finder": false, + "smt.mbqi": true, + "smt.mbqi.force_template": 10, + "smt.mbqi.max_cexs": 1, + "smt.mbqi.max_cexs_incr": 0, + "smt.mbqi.max_iterations": 850, + "smt.pb.conflict_frequency": 1000, + "smt.pb.learn_complements": true, + "smt.phase_caching_off": 125, + "smt.phase_caching_on": 500, + "smt.phase_selection": 3, + "smt.propagate_values": true, + "smt.pull_nested_quantifiers": false, + "smt.qi.cost": "(+ weight generation)", + "smt.qi.eager_threshold": 10.0, + "smt.qi.lazy_threshold": 20.0, + "smt.qi.max_instances": 4294967295, + "smt.qi.max_multi_patterns": 0, + "smt.qi.quick_checker": 0, + "smt.quasi_macros": false, + "smt.refine_inj_axioms": true, + "smt.relevancy": 2, + "smt.restart_strategy": 0, + "smt.solve_eqs": true, + "smt.theory_aware_branching": false, + "smt.theory_case_split": false, + "smt.threads": 1, + "smt.threads.cube_frequency": 2, + "smt.threads.max_conflicts": 400 +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/runtime.py b/input/z3-bench/evolve/backup/20260519/shared/runtime.py new file mode 100644 index 0000000000..1aeb1571f8 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/runtime.py @@ -0,0 +1,66 @@ +""" +Runtime knob loader for z3-bench scripts. + +Reads custom keys from ../config.yaml (top-level), with env var override. +openevolve's dacite parser silently ignores unknown top-level keys, so we +share the same file rather than introducing a second config. + +Priority: env var > config.yaml > default. +""" +import os +import pathlib + +_HERE = pathlib.Path(__file__).resolve().parent +_CONFIG_YAML = _HERE.parent / "config.yaml" # input/z3-bench/evolve/config.yaml + +_cache = None + + +def _load(): + global _cache + if _cache is not None: + return _cache + if not _CONFIG_YAML.exists(): + _cache = {} + return _cache + try: + import yaml + _cache = yaml.safe_load(_CONFIG_YAML.read_text()) or {} + except Exception: + _cache = {} + return _cache + + +def parallel_solvers(default=1): + """ + Concurrent z3 worker subprocesses per stage. + Env OPENEVOLVE_PARALLEL_SOLVERS > config.yaml parallel_solvers > default. + """ + env = os.environ.get("OPENEVOLVE_PARALLEL_SOLVERS") + if env is not None: + try: + return max(1, int(env)) + except ValueError: + pass + val = _load().get("parallel_solvers", default) + try: + return max(1, int(val)) + except (ValueError, TypeError): + return default + + +def cascade_threshold(index, default): + """ + Read evaluator.cascade_thresholds[index] from config.yaml. + Used by evaluator.evaluate_stage3 for the internal stage3→stage4 gate + (openevolve's cascade hardcodes only 3 stage slots, so stage4 is chained + inside evaluate_stage3 using thresholds[2]). + """ + cfg = _load().get("evaluator") or {} + thresholds = cfg.get("cascade_thresholds") or [] + if index < len(thresholds): + try: + return float(thresholds[index]) + except (ValueError, TypeError): + pass + return default diff --git a/input/z3-bench/evolve/backup/20260519/shared/score.py b/input/z3-bench/evolve/backup/20260519/shared/score.py new file mode 100644 index 0000000000..fb212d6311 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/score.py @@ -0,0 +1,103 @@ +""" +Scoring: geomean(speedup) * solved_rate^2 * efficiency^STATS_WEIGHT. + +- match baseline result: speedup = baseline_ms / elapsed_ms +- mismatch (regression / unknown / timeout): contributes 1e-6 to geomean +- solved_rate squared to strongly gate on correctness +- efficiency = geomean over {decisions, propagations, conflicts, restarts} + of (baseline_stat / variant_stat), only on solved problems with baseline + stats present. Lower solver work vs baseline -> efficiency > 1. + Folded multiplicatively via STATS_WEIGHT exponent (default 0 = disabled, + preserves prior scoring). Set env OPENEVOLVE_STATS_WEIGHT=0.25 to enable. + +Why stats matter: identical elapsed_ms with far fewer conflicts/decisions is +a sturdier improvement (less variance across machines / problems) than a raw +wall-clock win, and runtime alone can hide regressions where Z3 happens to +hit a fast path on the stage1 sample. +""" +import math +import os + +_STATS_KEYS = ("decisions", "propagations", "conflicts", "mk clause") + + +def _efficiency(per_problem): + """Geomean of baseline/variant ratio across stat keys, solved problems only. + + Returns (efficiency, num_pairs). efficiency=1.0 if no usable pairs (no + baseline stats yet, or no solved problems) so the multiplier is a no-op. + """ + ratios = [] + for p in per_problem: + if p["result"] != p["baseline_result"]: + continue + bs = p.get("baseline_stats") or {} + vs = p.get("stats") or {} + for k in _STATS_KEYS: + b = bs.get(k) + v = vs.get(k) + if b is None or v is None: + continue + # +1 smoothing avoids div-by-zero and absurd ratios for tiny counts + ratios.append((float(b) + 1.0) / (float(v) + 1.0)) + if not ratios: + return 1.0, 0 + log_sum = sum(math.log(r) for r in ratios) + return math.exp(log_sum / len(ratios)), len(ratios) + + +def score(per_problem): + n = len(per_problem) + if n == 0: + return { + "combined_score": 0.0, + "geomean_speedup": 0.0, + "solved_rate": 0.0, + "regressions": 0, + "solved": 0, + "total": 0, + "efficiency": 1.0, + "efficiency_pairs": 0, + "stats_weight": 0.0, + } + + speedups = [] + solved = 0 + regressions = 0 + for p in per_problem: + baseline_decided = p["baseline_result"] in ("Sat", "Unsat") + match = p["result"] == p["baseline_result"] + if match: + solved += 1 + sp = p["baseline_ms"] / max(p["elapsed_ms"], 1) + speedups.append(sp) + else: + speedups.append(1e-6) + if baseline_decided and p["result"] in ("Sat", "Unsat"): + regressions += 1 + + log_sum = sum(math.log(s) for s in speedups) + geomean = math.exp(log_sum / len(speedups)) + solved_rate = solved / n + + efficiency, eff_pairs = _efficiency(per_problem) + try: + stats_weight = float(os.environ.get("OPENEVOLVE_STATS_WEIGHT", "0")) + except ValueError: + stats_weight = 0.0 + # Clamp to a sensible band so a runaway env var can't dominate score. + stats_weight = max(0.0, min(stats_weight, 2.0)) + + combined = geomean * (solved_rate**2) * (efficiency**stats_weight) + + return { + "combined_score": float(combined), + "geomean_speedup": float(geomean), + "solved_rate": float(solved_rate), + "regressions": int(regressions), + "solved": int(solved), + "total": int(n), + "efficiency": float(efficiency), + "efficiency_pairs": int(eff_pairs), + "stats_weight": float(stats_weight), + } diff --git a/input/z3-bench/evolve/backup/20260519/shared/stage1_sample.json b/input/z3-bench/evolve/backup/20260519/shared/stage1_sample.json new file mode 100644 index 0000000000..a662bda67c --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/stage1_sample.json @@ -0,0 +1,88 @@ +{ + "selection": "10 SAT runtime Q1+2 (fastest 40%)", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "2a465c36fe213a9c72c781832dfb561ffae3691905af41289a39ec08f585dbf2", + "5166f0ebaa5fe05e62ea4ed44f517f9d3cd44171362e99356dd6e33889cc5d81", + "23efdccb9e57a41897053370a5b6ad6b367e216afbfba952ded0a68b7ee7d4ae", + "1c18f0ae6b70612542d6269bb8736b100331a42f18b375afba1da9b92c8548ba", + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", + "2f2003b96aa2bff75f9a8792a4817a23ff4e1e4ac247d2edf9cf8f0cf3907fed", + "05c7f64a1db7d611df8501a987ca276e96cc2735993e171468b740f3babbb34e", + "1a35f6de8ab4447aec26efb9e44f59fb1943fc4b2569d1ab2eccbeac279c1063", + "4efdf6c97e97e17eb3147929ad909d803a37e51a691fee016c6456bf6efe6c83", + "0c0ae51029de74681437b42a8f8a23f5045a9bbe1e60f4d18ef0e004d9b9b983" + ], + "summary": [ + { + "sha": "2a465c36fe21", + "num_hard_constraints": 25278, + "num_variables": 5888, + "baseline_result": "Sat", + "baseline_ms": 319 + }, + { + "sha": "5166f0ebaa5f", + "num_hard_constraints": 31265, + "num_variables": 6503, + "baseline_result": "Sat", + "baseline_ms": 358 + }, + { + "sha": "23efdccb9e57", + "num_hard_constraints": 31258, + "num_variables": 6503, + "baseline_result": "Sat", + "baseline_ms": 364 + }, + { + "sha": "1c18f0ae6b70", + "num_hard_constraints": 31260, + "num_variables": 6502, + "baseline_result": "Sat", + "baseline_ms": 365 + }, + { + "sha": "17cc4d349ce3", + "num_hard_constraints": 15243, + "num_variables": 3932, + "baseline_result": "Sat", + "baseline_ms": 366 + }, + { + "sha": "2f2003b96aa2", + "num_hard_constraints": 31158, + "num_variables": 6465, + "baseline_result": "Sat", + "baseline_ms": 368 + }, + { + "sha": "05c7f64a1db7", + "num_hard_constraints": 31358, + "num_variables": 6541, + "baseline_result": "Sat", + "baseline_ms": 412 + }, + { + "sha": "1a35f6de8ab4", + "num_hard_constraints": 31358, + "num_variables": 6541, + "baseline_result": "Sat", + "baseline_ms": 426 + }, + { + "sha": "4efdf6c97e97", + "num_hard_constraints": 31358, + "num_variables": 6541, + "baseline_result": "Sat", + "baseline_ms": 427 + }, + { + "sha": "0c0ae51029de", + "num_hard_constraints": 20030, + "num_variables": 6088, + "baseline_result": "Sat", + "baseline_ms": 530 + } + ] +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/stage2_sample.json b/input/z3-bench/evolve/backup/20260519/shared/stage2_sample.json new file mode 100644 index 0000000000..a3e8da1cb2 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/stage2_sample.json @@ -0,0 +1,88 @@ +{ + "selection": "10 SAT runtime Q3+4 (middle 40%)", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "45730d888ee32d83f372b0431c7875c2159d864ab489bb8fbf36f272548e7cf5", + "4be05b5b981caff9c95b9b49e81076b7776ec05f6f02b8cec803e149e173e83c", + "1927b5398ba22a23ab54f1919033fbf39851ae037bcd6d74beab63c69a817499", + "542477536440c3b0909da276e91540d9ac9e310305a49f4798c7c2f0860bbe27", + "089c72fcb8dea9b5fbb99948d1710fb7c676a6cf4840e201ed51d68451e1da75", + "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", + "246a0083daac2287aed583155d9b750c682f349a1765547d8829ae2feaf9904d", + "53508daf15f2ae2b7f4418ed4493b7d7b9a5998d39183a0dbb726a8bd64ce992", + "08d4f4aeb3e927265e66733473f2f5cee260ba52c5974106d2f9bd55f895c3d4", + "4215cf5d0a28847f8413d521980cf6a19ccbb155ee5f112045df0c26e8631b29" + ], + "summary": [ + { + "sha": "45730d888ee3", + "num_hard_constraints": 65965, + "num_variables": 13989, + "baseline_result": "Sat", + "baseline_ms": 2250 + }, + { + "sha": "4be05b5b981c", + "num_hard_constraints": 82612, + "num_variables": 14781, + "baseline_result": "Sat", + "baseline_ms": 2270 + }, + { + "sha": "1927b5398ba2", + "num_hard_constraints": 53312, + "num_variables": 12627, + "baseline_result": "Sat", + "baseline_ms": 2273 + }, + { + "sha": "542477536440", + "num_hard_constraints": 66048, + "num_variables": 14027, + "baseline_result": "Sat", + "baseline_ms": 2289 + }, + { + "sha": "089c72fcb8de", + "num_hard_constraints": 77664, + "num_variables": 15253, + "baseline_result": "Sat", + "baseline_ms": 2324 + }, + { + "sha": "a47edaf1aecb", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Sat", + "baseline_ms": 2343 + }, + { + "sha": "246a0083daac", + "num_hard_constraints": 82612, + "num_variables": 14781, + "baseline_result": "Sat", + "baseline_ms": 2360 + }, + { + "sha": "53508daf15f2", + "num_hard_constraints": 82624, + "num_variables": 14781, + "baseline_result": "Sat", + "baseline_ms": 2397 + }, + { + "sha": "08d4f4aeb3e9", + "num_hard_constraints": 68690, + "num_variables": 12247, + "baseline_result": "Sat", + "baseline_ms": 2599 + }, + { + "sha": "4215cf5d0a28", + "num_hard_constraints": 77664, + "num_variables": 15253, + "baseline_result": "Sat", + "baseline_ms": 2698 + } + ] +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/stage3_sample.json b/input/z3-bench/evolve/backup/20260519/shared/stage3_sample.json new file mode 100644 index 0000000000..e9f7617dda --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/stage3_sample.json @@ -0,0 +1,88 @@ +{ + "selection": "10 SAT runtime Q5 (slowest 20%)", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "318b1d8c24c40f72ceebb82e38c760cf2b659e78a051a108ea5a372318566a21", + "5a1fa2a8b99340b9aed5f964fe259ae971ac1dc3907a758f3e086db6b21fb22d", + "4f7415e2970ec0e37346a6d38cf4371a7e09fcd9792a4b3a737fe3577ec2dc21", + "095a876a32793982486741d3211591fcd3cdf13375b6e16f170f10dc3a3570b2", + "402c63333e354866268447df2b2b313105e207519677f69f344f48b08d262375", + "468b7a8717458ade54aa2f2e4f74fbf9c1e085e98f05d1faaa0c7f693d274b4e", + "46268e065dcc863ead3e929d13f15b9209decc5cc2eb68840d17b484f827626c", + "04524f16b53c41aefbce8192fd96a196cb323e0bfed7250a1b30f24c1610516f", + "55d55e00045955471f866aced2310467f08b3a78536ffe107c983b335d15d7ca", + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8" + ], + "summary": [ + { + "sha": "318b1d8c24c4", + "num_hard_constraints": 193342, + "num_variables": 29409, + "baseline_result": "Sat", + "baseline_ms": 11157 + }, + { + "sha": "5a1fa2a8b993", + "num_hard_constraints": 40991, + "num_variables": 12676, + "baseline_result": "Sat", + "baseline_ms": 11365 + }, + { + "sha": "4f7415e2970e", + "num_hard_constraints": 40991, + "num_variables": 12676, + "baseline_result": "Sat", + "baseline_ms": 11481 + }, + { + "sha": "095a876a3279", + "num_hard_constraints": 41095, + "num_variables": 12728, + "baseline_result": "Sat", + "baseline_ms": 11659 + }, + { + "sha": "402c63333e35", + "num_hard_constraints": 228115, + "num_variables": 34928, + "baseline_result": "Sat", + "baseline_ms": 12131 + }, + { + "sha": "468b7a871745", + "num_hard_constraints": 41095, + "num_variables": 12728, + "baseline_result": "Sat", + "baseline_ms": 12267 + }, + { + "sha": "46268e065dcc", + "num_hard_constraints": 228131, + "num_variables": 34928, + "baseline_result": "Sat", + "baseline_ms": 12341 + }, + { + "sha": "04524f16b53c", + "num_hard_constraints": 193360, + "num_variables": 29409, + "baseline_result": "Sat", + "baseline_ms": 12363 + }, + { + "sha": "55d55e000459", + "num_hard_constraints": 178422, + "num_variables": 27025, + "baseline_result": "Sat", + "baseline_ms": 12501 + }, + { + "sha": "75ee534dbc92", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Sat", + "baseline_ms": 13086 + } + ] +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/stage4_sample.json b/input/z3-bench/evolve/backup/20260519/shared/stage4_sample.json new file mode 100644 index 0000000000..9456cbcd5b --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/stage4_sample.json @@ -0,0 +1,328 @@ +{ + "selection": "40 SAT+UNSAT broad, dedup vs stage1-3", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "1ea44fa504f1d53e3940de8d91ee10b5048fd1062e6761c55d39c51415d3d847", + "2314d64da1b6d3ee9ada61974f6c4cb8f0a677a6c95a6df4d9d1c8dc38a33a66", + "273bb808171103f0ad5be543c56b668dabe90046b661c467985c3e234225d942", + "389fd7729c73dbf56d084e10fcfdd77917195159f64f3f11c6af6a476426969b", + "037a45901c1e15d666701de863dfcc00f5b35bb8da52a03fde8161ed3a0b47f6", + "4ff9d45ccb1e038c7a0f3fbb2d97ef091718be487340483f2776df46478bd511", + "4323ecfd94c6453381e752dd1023d9c3feed0f91f60326ed716cb6e5e65b585d", + "312ad6712268239f49965147a6b73850f685b72845588649975005c5083d1cc1", + "4419b795af1847562e9c35be5535c08f9582079084cebe62f1f85c925624667a", + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", + "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", + "07db09a3dacb493c0acc1cb5cfe106613e9d9ca1990ad21d96c3fcd528b5def9", + "1cd3cd6f6f1799616500d7ae97f46c13ac97fad2a5650a4267fa728718d6c45e", + "311ce11d1fd8d876cdc797fe9ea39055fb644352cfcd442a92c96625cc0ff969", + "3d9704766d76e47234b3a1742997f17846162020b631a39c46d05faba418be97", + "2302d78a584311ce70cbfd625101a08704a76c6e205e3e84e6850781736d47eb", + "54f3ffda93934157ff428a4143e2b2946c8e6dca6074c8a52678b4f622422dd0", + "0c18c62bb9cd847041b708fea996e4c4f039bb537e268a838a1352722305c716", + "1eadea88d320dce4a4b9b8fe724d215c89c66591ac61e51ad3822a0f45a3f021", + "56b2f7e062c385b199567fa507f9723f8eef92fac629c28c947c690110508868", + "48ba4e9efa030819c2a38d4f5b33f08b38bd8a7a5fdddc0ecd6b85eff1c8d716", + "043e86d34f47f4f81c918163838508de3f3c368208a5126c828a7b467b5eec7b", + "2c80d26974732941d7f04d454c5dba4a56e967f30f45775a35373bb60be7164a", + "20d9b61a0b0bea39b9507de6a5d76e41d46d303a2bc140c1dbc30e1e45d5a4cc", + "24b0f9d635f110184c196a1e5e849a4a4c2e088516e1faa3e058c69e6d8b6bf1", + "52279df319ed088fdca1321385bee2352530ad3fdcbe92ea82d3a61158019a1d", + "04731b4c69952d7a0d2b7c69fbb0ef512239e09fbbcae6fe4553e09e5e966844", + "2df16cb0bc5584c4044521a5d57afbf401d893f4e241f1bf5cb2425a5dd502a9", + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", + "2de9f07a7bd7d34d18efa566f5cf0d799ef07bf0499928807f6ba8c635b1d766", + "51d8a28c260d1c105f43f19cbee7e0a17dfbf8fb2ff6a5b78029f5a8bbe1d2be", + "519ce8d31fa5d52edf4c3db0219713193457fd8a069329c1c4ee0c332620ce10", + "46bd96aba2874a423d4349726ef65aef5af3e1a9385c4592d7532b26327f94ff", + "0b900874b1fc0340c8c1ff5f8f62093926ef541289d4d118495a782764e1b1da", + "56d5b7cbf50bf3a3117f42b1a37eeaf64459957daf9db11a0f003775befca840", + "4e8f9f03e736e5ed6a8defc624d75197cb7b3e12783f2cf4a8ddcbe7d5c7873d", + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", + "37b6d012f0c252781d07ef5ceaaf458e559853f9c1b13e9b2399bc8209bae47d", + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e" + ], + "summary": [ + { + "sha": "1ea44fa504f1", + "num_hard_constraints": 7455, + "num_variables": 2119, + "baseline_result": "Unsat", + "baseline_ms": 20 + }, + { + "sha": "2314d64da1b6", + "num_hard_constraints": 5542, + "num_variables": 1870, + "baseline_result": "Sat", + "baseline_ms": 34 + }, + { + "sha": "273bb8081711", + "num_hard_constraints": 14932, + "num_variables": 3797, + "baseline_result": "Unsat", + "baseline_ms": 51 + }, + { + "sha": "389fd7729c73", + "num_hard_constraints": 15038, + "num_variables": 3843, + "baseline_result": "Unsat", + "baseline_ms": 87 + }, + { + "sha": "037a45901c1e", + "num_hard_constraints": 7609, + "num_variables": 2197, + "baseline_result": "Sat", + "baseline_ms": 147 + }, + { + "sha": "4ff9d45ccb1e", + "num_hard_constraints": 15179, + "num_variables": 4583, + "baseline_result": "Sat", + "baseline_ms": 188 + }, + { + "sha": "4323ecfd94c6", + "num_hard_constraints": 24258, + "num_variables": 5779, + "baseline_result": "Sat", + "baseline_ms": 223 + }, + { + "sha": "312ad6712268", + "num_hard_constraints": 30673, + "num_variables": 6294, + "baseline_result": "Unsat", + "baseline_ms": 261 + }, + { + "sha": "4419b795af18", + "num_hard_constraints": 24797, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 261 + }, + { + "sha": "505a2e36055c", + "num_hard_constraints": 24937, + "num_variables": 5752, + "baseline_result": "Sat", + "baseline_ms": 307 + }, + { + "sha": "25025d341f86", + "num_hard_constraints": 24807, + "num_variables": 5701, + "baseline_result": "Unsat", + "baseline_ms": 407 + }, + { + "sha": "07db09a3dacb", + "num_hard_constraints": 32856, + "num_variables": 7636, + "baseline_result": "Sat", + "baseline_ms": 657 + }, + { + "sha": "1cd3cd6f6f17", + "num_hard_constraints": 17584, + "num_variables": 6289, + "baseline_result": "Sat", + "baseline_ms": 787 + }, + { + "sha": "311ce11d1fd8", + "num_hard_constraints": 17611, + "num_variables": 6311, + "baseline_result": "Sat", + "baseline_ms": 890 + }, + { + "sha": "3d9704766d76", + "num_hard_constraints": 30948, + "num_variables": 8235, + "baseline_result": "Sat", + "baseline_ms": 1041 + }, + { + "sha": "2302d78a5843", + "num_hard_constraints": 31258, + "num_variables": 6503, + "baseline_result": "Sat", + "baseline_ms": 1197 + }, + { + "sha": "54f3ffda9393", + "num_hard_constraints": 39326, + "num_variables": 9274, + "baseline_result": "Unsat", + "baseline_ms": 1202 + }, + { + "sha": "0c18c62bb9cd", + "num_hard_constraints": 68808, + "num_variables": 12293, + "baseline_result": "Sat", + "baseline_ms": 1387 + }, + { + "sha": "1eadea88d320", + "num_hard_constraints": 68808, + "num_variables": 12293, + "baseline_result": "Sat", + "baseline_ms": 1475 + }, + { + "sha": "56b2f7e062c3", + "num_hard_constraints": 68814, + "num_variables": 12293, + "baseline_result": "Sat", + "baseline_ms": 1580 + }, + { + "sha": "48ba4e9efa03", + "num_hard_constraints": 68820, + "num_variables": 12293, + "baseline_result": "Sat", + "baseline_ms": 1650 + }, + { + "sha": "043e86d34f47", + "num_hard_constraints": 23924, + "num_variables": 8604, + "baseline_result": "Sat", + "baseline_ms": 1796 + }, + { + "sha": "2c80d2697473", + "num_hard_constraints": 52724, + "num_variables": 12404, + "baseline_result": "Unsat", + "baseline_ms": 1932 + }, + { + "sha": "20d9b61a0b0b", + "num_hard_constraints": 65729, + "num_variables": 13913, + "baseline_result": "Unsat", + "baseline_ms": 2117 + }, + { + "sha": "24b0f9d635f1", + "num_hard_constraints": 65965, + "num_variables": 13989, + "baseline_result": "Sat", + "baseline_ms": 2173 + }, + { + "sha": "52279df319ed", + "num_hard_constraints": 65712, + "num_variables": 13913, + "baseline_result": "Unsat", + "baseline_ms": 2541 + }, + { + "sha": "04731b4c6995", + "num_hard_constraints": 49238, + "num_variables": 9250, + "baseline_result": "Unsat", + "baseline_ms": 2791 + }, + { + "sha": "2df16cb0bc55", + "num_hard_constraints": 112978, + "num_variables": 17097, + "baseline_result": "Unsat", + "baseline_ms": 2934 + }, + { + "sha": "d8d5ffa7d824", + "num_hard_constraints": 112812, + "num_variables": 17043, + "baseline_result": "Sat", + "baseline_ms": 3350 + }, + { + "sha": "2de9f07a7bd7", + "num_hard_constraints": 58465, + "num_variables": 11083, + "baseline_result": "Unsat", + "baseline_ms": 4105 + }, + { + "sha": "51d8a28c260d", + "num_hard_constraints": 68832, + "num_variables": 12293, + "baseline_result": "Sat", + "baseline_ms": 5953 + }, + { + "sha": "519ce8d31fa5", + "num_hard_constraints": 59033, + "num_variables": 11250, + "baseline_result": "Sat", + "baseline_ms": 7096 + }, + { + "sha": "46bd96aba287", + "num_hard_constraints": 218656, + "num_variables": 31528, + "baseline_result": "Sat", + "baseline_ms": 7167 + }, + { + "sha": "0b900874b1fc", + "num_hard_constraints": 227124, + "num_variables": 34685, + "baseline_result": "Unsat", + "baseline_ms": 8277 + }, + { + "sha": "56d5b7cbf50b", + "num_hard_constraints": 193354, + "num_variables": 29409, + "baseline_result": "Sat", + "baseline_ms": 9606 + }, + { + "sha": "4e8f9f03e736", + "num_hard_constraints": 193360, + "num_variables": 29409, + "baseline_result": "Sat", + "baseline_ms": 10483 + }, + { + "sha": "29efe6d38d7b", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 12712 + }, + { + "sha": "7ac5a84f68bc", + "num_hard_constraints": 105784, + "num_variables": 32912, + "baseline_result": "Unsat", + "baseline_ms": 14992 + }, + { + "sha": "37b6d012f0c2", + "num_hard_constraints": 295682, + "num_variables": 39190, + "baseline_result": "Sat", + "baseline_ms": 20621 + }, + { + "sha": "be1c308d7977", + "num_hard_constraints": 1095737, + "num_variables": 99809, + "baseline_result": "Unsat", + "baseline_ms": 33752 + } + ] +} diff --git a/input/z3-bench/evolve/backup/20260519/shared/z3_runner.py b/input/z3-bench/evolve/backup/20260519/shared/z3_runner.py new file mode 100644 index 0000000000..7113fe0441 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/z3_runner.py @@ -0,0 +1,97 @@ +""" +Run a single SMT2 file through Z3 with given parameters. + +Implementation: spawn `_z3_solve_worker.py` as a subprocess and communicate +via stdout JSON. The worker imports the z3 Python binding and applies params +via `z3.set_param()`, matching the original benchmark setup that recorded +`applied_params_hash 543b29...`. This is necessary because the z3 CLI +positional `key=value` form rejects globals (`threads`, `parallel.enable`, +`sls.parallel`) that the Python binding accepts. + +Subprocess isolation gives: hard wall-clock timeout, crash containment, +memory reclaim between problems. +""" +import json +import pathlib +import shutil +import subprocess +import sys +import time + +_WORKER = str(pathlib.Path(__file__).resolve().parent / "_z3_solve_worker.py") +_TASKSET = shutil.which("taskset") # Linux only; None on macOS / missing + + +def run_z3(smt2_path, params, timeout_s, python_bin=None, cpu_core=None): + """ + Returns dict (one of): + success: {"result": "Sat"|"Unsat"|"Unknown", "elapsed_ms": int, "stats": dict} + timeout: {"result": "Unknown", "elapsed_ms": int, "timeout": True, "stats": {}} + invalid: {"invalid_param": str, "stderr": str, "result": "Unknown", "elapsed_ms": int, "stats": {}} + crash: {"result": "Unknown", "elapsed_ms": int, "error": str, "stderr": str, "stats": {}} + + "stats" mirrors z3 Optimize.statistics() numeric entries (decisions, + propagations, conflicts, restarts, arith/bv counters, ...). Empty when + z3 never reached check() (param error, parse fail, timeout, crash). + + cpu_core: optional int — if given and `taskset` is on PATH, pin the + worker subprocess to that core (-c ). Used by the parallel dispatch + in evaluator.py to isolate concurrent z3 runs from cross-core + interference. Silently ignored if taskset missing (macOS / no util-linux). + """ + py = python_bin or sys.executable + args = [py, _WORKER, json.dumps(params), str(smt2_path), str(int(timeout_s))] + if cpu_core is not None and _TASKSET: + args = [_TASKSET, "-c", str(int(cpu_core))] + args + + t0 = time.monotonic() + try: + proc = subprocess.run( + args, + capture_output=True, + text=True, + timeout=timeout_s + 15, # grace for z3 startup + parse + ) + except subprocess.TimeoutExpired: + return { + "result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "timeout": True, + "stats": {}, + } + + stdout = (proc.stdout or "").strip() + stderr = (proc.stderr or "").strip() + + if not stdout: + return { + "result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": f"worker produced no output (rc={proc.returncode})", + "stderr": stderr[-2000:], + "stats": {}, + } + + # Use the last non-empty line as JSON (defensive against stray prints). + last = stdout.splitlines()[-1] + try: + out = json.loads(last) + except json.JSONDecodeError as e: + return { + "result": "Unknown", + "elapsed_ms": int((time.monotonic() - t0) * 1000), + "error": f"worker json decode: {e}", + "stderr": (stderr + "\n--stdout--\n" + stdout)[-2000:], + "stats": {}, + } + + if "invalid_param" in out: + return { + "invalid_param": out["invalid_param"], + "stderr": (out.get("error") or stderr)[-2000:], + "result": "Unknown", + "elapsed_ms": out.get("elapsed_ms", 0), + "stats": {}, + } + out.setdefault("stats", {}) + return out diff --git a/input/z3-bench/evolve/backup/20260519/shared/z3_valid_keys.json b/input/z3-bench/evolve/backup/20260519/shared/z3_valid_keys.json new file mode 100644 index 0000000000..2ff0093f49 --- /dev/null +++ b/input/z3-bench/evolve/backup/20260519/shared/z3_valid_keys.json @@ -0,0 +1,1266 @@ +[ + "abce", + "acce", + "ackermannization.eager", + "ackermannization.inc_sat_backend", + "ackermannization.sat_backend", + "add_all_coeffs", + "algebraic.factor", + "algebraic.factor_max_prime", + "algebraic.factor_num_primes", + "algebraic.factor_search_size", + "algebraic.min_mag", + "algebraic.zero_accuracy", + "algebraic_number_evaluator", + "anf", + "anf.delay", + "anf.exlin", + "arith", + "arith.auto_config_simplex", + "arith.bprop_on_pivoted_rows", + "arith.branch_cut_ratio", + "arith.dump_bound_lemmas", + "arith.dump_lemmas", + "arith.eager_eq_axioms", + "arith.enable_hnf", + "arith.epsilon", + "arith.greatest_error_pivot", + "arith.ignore_int", + "arith.int_eq_branch", + "arith.min", + "arith.nl", + "arith.nl.branching", + "arith.nl.cross_nested", + "arith.nl.delay", + "arith.nl.expensive_patching", + "arith.nl.expp", + "arith.nl.gr_q", + "arith.nl.grobner", + "arith.nl.grobner_cnfl_to_report", + "arith.nl.grobner_eqs_growth", + "arith.nl.grobner_exp_delay", + "arith.nl.grobner_expand_terms", + "arith.nl.grobner_expr_degree_growth", + "arith.nl.grobner_expr_size_growth", + "arith.nl.grobner_frequency", + "arith.nl.grobner_gcd_test", + "arith.nl.grobner_max_simplified", + "arith.nl.grobner_propagate_quotients", + "arith.nl.grobner_row_length_limit", + "arith.nl.grobner_subs_fixed", + "arith.nl.horner", + "arith.nl.horner_frequency", + "arith.nl.horner_row_length_limit", + "arith.nl.horner_subs_fixed", + "arith.nl.log", + "arith.nl.nra", + "arith.nl.optimize_bounds", + "arith.nl.order", + "arith.nl.propagate_linear_monomials", + "arith.nl.reduce_pseudo_linear", + "arith.nl.rounds", + "arith.nl.tangents", + "arith.print_ext_var_names", + "arith.print_stats", + "arith.propagate_eqs", + "arith.propagation_mode", + "arith.random_initial_value", + "arith.rep_freq", + "arith.simplex_strategy", + "arith.solver", + "arith.validate", + "arith_allow_plateau", + "arith_ineq_lhs", + "arith_lhs", + "arith_use_clausal_lookahead", + "arith_use_lookahead", + "arith_weight", + "array.extensional", + "array.weak", + "array_as_stores", + "array_equalities", + "asymm_branch", + "asymm_branch.all", + "asymm_branch.delay", + "asymm_branch.limit", + "asymm_branch.rounds", + "asymm_branch.sampled", + "ate", + "auto_config", + "axioms2files", + "backtrack.conflicts", + "backtrack.scopes", + "bca", + "bce", + "bce_at", + "bce_delay", + "bit2bool", + "blast_distinct", + "blast_distinct_threshold", + "blast_eq_value", + "blast_select_store", + "blast_term_ite.max_inflation", + "blast_term_ite.max_steps", + "block_loop_patterns", + "blocked_clause_limit", + "bmc.linear_unrolling_depth", + "bound_simplifier", + "bounded", + "branching.anti_exploration", + "branching.heuristic", + "burst_search", + "bv.delay", + "bv.enable_int2bv", + "bv.reflect", + "bv.size_reduce", + "bv.solver", + "bv.watch_diseq", + "bv_allow_rotation", + "bv_extract_prop", + "bv_ineq_consistency_test_max", + "bv_ite2id", + "bv_le2extract", + "bv_le_extra", + "bv_literals", + "bv_neg", + "bv_not_simpl", + "bv_sort_ac", + "bv_use_lookahead", + "bv_use_top_level_assertions", + "cache_all", + "cancel_backup_file", + "candidate_models", + "cardinality.encoding", + "cardinality.solver", + "case_split", + "cce", + "cell_sample", + "check_lemmas", + "clause_proof", + "clean_denominators", + "coalesce_chars", + "combined_solver.ignore_solver1", + "combined_solver.solver2_timeout", + "combined_solver.solver2_unknown", + "compact", + "completion", + "conquer.backtrack_frequency", + "conquer.batch_size", + "conquer.delay", + "conquer.restart.max", + "core.extend_nonlocal_patterns", + "core.extend_patterns", + "core.extend_patterns.max_distance", + "core.minimize", + "core.minimize_partial", + "core.validate", + "ctrl_c", + "cube_depth", + "cut", + "cut.aig", + "cut.delay", + "cut.dont_cares", + "cut.force", + "cut.lut", + "cut.npn3", + "cut.redundancies", + "cut.xor", + "dack", + "dack.eq", + "dack.factor", + "dack.gc", + "dack.gc_inv_decay", + "dack.threshold", + "datalog.all_or_nothing_deltas", + "datalog.check_relation", + "datalog.compile_with_widening", + "datalog.dbg_fpr_nonempty_relation_signature", + "datalog.default_relation", + "datalog.default_table", + "datalog.default_table_checked", + "datalog.default_table_checker", + "datalog.explanations_on_relation_level", + "datalog.generate_explanations", + "datalog.initial_restart_timeout", + "datalog.magic_sets_for_queries", + "datalog.output_profile", + "datalog.print.tuples", + "datalog.profile_timeout_milliseconds", + "datalog.similarity_compressor", + "datalog.similarity_compressor_threshold", + "datalog.subsumption", + "datalog.timeout", + "datalog.unbound_compressor", + "datalog.use_map_names", + "ddfw.init_clause_weight", + "ddfw.reinit_base", + "ddfw.restart_base", + "ddfw.threads", + "ddfw.use_reward_pct", + "ddfw_search", + "debug_ref_count", + "decimal", + "decimal_precision", + "decompose_patterns", + "default_tactic", + "delay_units", + "delay_units_threshold", + "dimacs.core", + "dio", + "dio_branching_period", + "dio_calls_period", + "dio_cuts_enable_gomory", + "dio_cuts_enable_hnf", + "dio_ignore_big_nums", + "dio_run_gcd", + "div0_ackermann_limit", + "dot_proof_file", + "drat.activity", + "drat.binary", + "drat.check_sat", + "drat.check_unsat", + "drat.disable", + "drat.file", + "dt_axiomatic", + "dt_lazy_splits", + "dump_benchmarks", + "dump_mathematica", + "dump_models", + "dyn_sub_res", + "eager", + "early_prune", + "elim_01", + "elim_and", + "elim_ite", + "elim_rem", + "elim_sign_ext", + "elim_to_real", + "elim_unconstrained", + "elim_vars", + "ematching", + "enable", + "enable_core_rotate", + "enable_der", + "enable_lns", + "enable_pre_simplify", + "enable_sat", + "enable_sls", + "enabled", + "encoding", + "engine", + "eq2ineq", + "error_for_visual_studio", + "euf", + "expand_nested_stores", + "expand_power", + "expand_select_ite", + "expand_select_store", + "expand_store_eq", + "expand_tan", + "factor", + "factor_max_prime", + "factor_num_primes", + "factor_search_size", + "fixed_indent", + "flat", + "flat_and_or", + "flat_assoc", + "force_cleanup", + "fp.bmc.linear_unrolling_depth", + "fp.datalog.all_or_nothing_deltas", + "fp.datalog.check_relation", + "fp.datalog.compile_with_widening", + "fp.datalog.dbg_fpr_nonempty_relation_signature", + "fp.datalog.default_relation", + "fp.datalog.default_table", + "fp.datalog.default_table_checked", + "fp.datalog.default_table_checker", + "fp.datalog.explanations_on_relation_level", + "fp.datalog.generate_explanations", + "fp.datalog.initial_restart_timeout", + "fp.datalog.magic_sets_for_queries", + "fp.datalog.output_profile", + "fp.datalog.print.tuples", + "fp.datalog.profile_timeout_milliseconds", + "fp.datalog.similarity_compressor", + "fp.datalog.similarity_compressor_threshold", + "fp.datalog.subsumption", + "fp.datalog.timeout", + "fp.datalog.unbound_compressor", + "fp.datalog.use_map_names", + "fp.engine", + "fp.generate_proof_trace", + "fp.print_aig", + "fp.print_answer", + "fp.print_boogie_certificate", + "fp.print_certificate", + "fp.print_fixedpoint_extensions", + "fp.print_low_level_smt2", + "fp.print_statistics", + "fp.print_with_variable_declarations", + "fp.spacer.arith.solver", + "fp.spacer.blast_term_ite_inflation", + "fp.spacer.ctp", + "fp.spacer.dump_benchmarks", + "fp.spacer.dump_threshold", + "fp.spacer.elim_aux", + "fp.spacer.eq_prop", + "fp.spacer.expand_bnd", + "fp.spacer.gg.concretize", + "fp.spacer.gg.conjecture", + "fp.spacer.gg.subsume", + "fp.spacer.global", + "fp.spacer.gpdr", + "fp.spacer.gpdr.bfs", + "fp.spacer.ground_pobs", + "fp.spacer.iuc", + "fp.spacer.iuc.arith", + "fp.spacer.iuc.debug_proof", + "fp.spacer.iuc.old_hyp_reducer", + "fp.spacer.iuc.print_farkas_stats", + "fp.spacer.iuc.split_farkas_literals", + "fp.spacer.keep_proxy", + "fp.spacer.logic", + "fp.spacer.max_level", + "fp.spacer.max_num_contexts", + "fp.spacer.mbqi", + "fp.spacer.min_level", + "fp.spacer.native_mbp", + "fp.spacer.order_children", + "fp.spacer.p3.share_invariants", + "fp.spacer.p3.share_lemmas", + "fp.spacer.propagate", + "fp.spacer.push_pob", + "fp.spacer.push_pob_max_depth", + "fp.spacer.q3", + "fp.spacer.q3.instantiate", + "fp.spacer.q3.qgen.normalize", + "fp.spacer.q3.use_qgen", + "fp.spacer.random_seed", + "fp.spacer.reach_dnf", + "fp.spacer.reset_pob_queue", + "fp.spacer.restart_initial_threshold", + "fp.spacer.restarts", + "fp.spacer.simplify_lemmas_post", + "fp.spacer.simplify_lemmas_pre", + "fp.spacer.simplify_pob", + "fp.spacer.trace_file", + "fp.spacer.use_array_eq_generalizer", + "fp.spacer.use_bg_invs", + "fp.spacer.use_derivations", + "fp.spacer.use_euf_gen", + "fp.spacer.use_inc_clause", + "fp.spacer.use_inductive_generalizer", + "fp.spacer.use_iuc", + "fp.spacer.use_lemma_as_cti", + "fp.spacer.use_lim_num_gen", + "fp.spacer.validate_lemmas", + "fp.spacer.weak_abs", + "fp.tab.selection", + "fp.validate", + "fp.xform.array_blast", + "fp.xform.array_blast_full", + "fp.xform.bit_blast", + "fp.xform.coalesce_rules", + "fp.xform.coi", + "fp.xform.compress_unbound", + "fp.xform.elim_term_ite", + "fp.xform.elim_term_ite.inflation", + "fp.xform.fix_unbound_vars", + "fp.xform.inline_eager", + "fp.xform.inline_linear", + "fp.xform.inline_linear_branch", + "fp.xform.instantiate_arrays", + "fp.xform.instantiate_arrays.enforce", + "fp.xform.instantiate_arrays.nb_quantifier", + "fp.xform.instantiate_arrays.slice_technique", + "fp.xform.instantiate_quantifiers", + "fp.xform.magic", + "fp.xform.quantify_arrays", + "fp.xform.scale", + "fp.xform.slice", + "fp.xform.subsumption_checker", + "fp.xform.tail_simplifier_pve", + "fp.xform.transform_arrays", + "fp.xform.unfold_rules", + "fp_real_literals", + "gc", + "gc.burst", + "gc.defrag", + "gc.increment", + "gc.initial", + "gc.k", + "gc.small_lbd", + "gcd_rounding", + "generate_proof_trace", + "hi_div0", + "hi_fp_unspecified", + "hoist_ite", + "hoist_mul", + "ignore_bad_patterns", + "ignore_labels", + "ignore_patterns_on_ground_qbody", + "ignore_solver1", + "ignore_user_patterns", + "inc_sat_backend", + "incremental", + "induction", + "inf_precision", + "initial_precision", + "inline_def", + "inline_vars", + "inprocess.max", + "inprocess.out", + "instantiations2console", + "ite_extra_rules", + "known_sat_assignment_file_name", + "lazy", + "lazy_algebraic_normalization", + "lemma_gc_strategy", + "lemmas2console", + "lia2card.max_ite_nesting", + "lia2card.max_range", + "lns_conflicts", + "local_ctx", + "local_ctx_limit", + "local_search", + "local_search_dbg_flips", + "local_search_mode", + "local_search_threads", + "log_lemmas", + "logic", + "lookahead.cube.cutoff", + "lookahead.cube.depth", + "lookahead.cube.fraction", + "lookahead.cube.freevars", + "lookahead.cube.psat.clause_base", + "lookahead.cube.psat.trigger", + "lookahead.cube.psat.var_exp", + "lookahead.delta_fraction", + "lookahead.double", + "lookahead.global_autarky", + "lookahead.preselect", + "lookahead.reward", + "lookahead.use_learned", + "lookahead_scores", + "lookahead_simplify", + "lookahead_simplify.bca", + "lp.dio", + "lp.dio_branching_period", + "lp.dio_calls_period", + "lp.dio_cuts_enable_gomory", + "lp.dio_cuts_enable_hnf", + "lp.dio_ignore_big_nums", + "lp.dio_run_gcd", + "macro_finder", + "max_conflicts", + "max_degree", + "max_depth", + "max_indent", + "max_memory", + "max_multi_patterns", + "max_num_lines", + "max_precision", + "max_repairs", + "max_restarts", + "max_ribbon", + "max_steps", + "max_width", + "maxlex.enable", + "maxres.add_upper_bound_block", + "maxres.hill_climb", + "maxres.max_core_size", + "maxres.max_correction_set_size", + "maxres.max_num_cores", + "maxres.maximize_assignment", + "maxres.pivot_on_correction_set", + "maxres.wmax", + "maxsat_engine", + "mbqi", + "mbqi.force_template", + "mbqi.id", + "mbqi.max_cexs", + "mbqi.max_cexs_incr", + "mbqi.max_iterations", + "mbqi.trace", + "memory_high_watermark", + "memory_high_watermark_mb", + "memory_max_alloc_count", + "memory_max_size", + "min_alias_size", + "min_mag", + "minimize_conflicts", + "minimize_lemmas", + "mode", + "model", + "model.compact", + "model.completion", + "model.inline_def", + "model.partial", + "model.user_functions", + "model.v1", + "model.v2", + "model_evaluator.array_as_stores", + "model_evaluator.array_equalities", + "model_evaluator.completion", + "model_evaluator.max_memory", + "model_evaluator.max_steps", + "model_validate", + "mul2concat", + "mul_to_power", + "nlsat.add_all_coeffs", + "nlsat.cell_sample", + "nlsat.check_lemmas", + "nlsat.dump_mathematica", + "nlsat.factor", + "nlsat.inline_vars", + "nlsat.known_sat_assignment_file_name", + "nlsat.lazy", + "nlsat.log_lemmas", + "nlsat.max_conflicts", + "nlsat.max_memory", + "nlsat.minimize_conflicts", + "nlsat.randomize", + "nlsat.reorder", + "nlsat.seed", + "nlsat.shuffle_vars", + "nlsat.simple_check", + "nlsat.simplify_conflicts", + "nlsat.variable_ordering_strategy", + "nnf.ignore_labels", + "nnf.max_memory", + "nnf.mode", + "nnf.sk_hack", + "no_lets", + "non_nested_arith_weight", + "opt.dump_benchmarks", + "opt.dump_models", + "opt.elim_01", + "opt.enable_core_rotate", + "opt.enable_lns", + "opt.enable_sat", + "opt.enable_sls", + "opt.incremental", + "opt.lns_conflicts", + "opt.maxlex.enable", + "opt.maxres.add_upper_bound_block", + "opt.maxres.hill_climb", + "opt.maxres.max_core_size", + "opt.maxres.max_correction_set_size", + "opt.maxres.max_num_cores", + "opt.maxres.maximize_assignment", + "opt.maxres.pivot_on_correction_set", + "opt.maxres.wmax", + "opt.maxsat_engine", + "opt.optsmt_engine", + "opt.pb.compile_equality", + "opt.pp.neat", + "opt.pp.wcnf", + "opt.priority", + "opt.rc2.totalizer", + "opt.rlimit", + "opt.solution_prefix", + "opt.timeout", + "optsmt_engine", + "override_incremental", + "parallel.conquer.backtrack_frequency", + "parallel.conquer.batch_size", + "parallel.conquer.delay", + "parallel.conquer.restart.max", + "parallel.enable", + "parallel.simplify.exp", + "parallel.simplify.inprocess.max", + "parallel.simplify.max_conflicts", + "parallel.simplify.restart.max", + "parallel.threads.max", + "parser.error_for_visual_studio", + "parser.ignore_bad_patterns", + "parser.ignore_user_patterns", + "partial", + "paws_init", + "paws_sp", + "pb.compile_equality", + "pb.conflict_frequency", + "pb.learn_complements", + "pb.lemma_format", + "pb.min_arity", + "pb.resolve", + "pb.solver", + "phase", + "phase.sticky", + "phase_caching_off", + "phase_caching_on", + "phase_selection", + "pi.arith", + "pi.arith_weight", + "pi.block_loop_patterns", + "pi.decompose_patterns", + "pi.enabled", + "pi.max_multi_patterns", + "pi.non_nested_arith_weight", + "pi.pull_quantifiers", + "pi.use_database", + "pi.warnings", + "pp.bounded", + "pp.bv_literals", + "pp.bv_neg", + "pp.decimal", + "pp.decimal_precision", + "pp.fixed_indent", + "pp.flat_assoc", + "pp.fp_real_literals", + "pp.max_depth", + "pp.max_indent", + "pp.max_num_lines", + "pp.max_ribbon", + "pp.max_width", + "pp.min_alias_size", + "pp.neat", + "pp.no_lets", + "pp.pretty_proof", + "pp.simplify_implies", + "pp.single_line", + "pp.wcnf", + "pretty_proof", + "print_aig", + "print_answer", + "print_boogie_certificate", + "print_certificate", + "print_fixedpoint_extensions", + "print_low_level_smt2", + "print_statistics", + "print_with_variable_declarations", + "priority", + "prob_search", + "probing", + "probing_binary", + "probing_cache", + "probing_cache_limit", + "probing_limit", + "proof", + "proof.check", + "proof.check_rup", + "proof.log", + "proof.save", + "proof.trim", + "propagate.prefetch", + "propagate_values", + "propagate_values.max_rounds", + "pull_cheap_ite", + "pull_nested_quantifiers", + "pull_quantifiers", + "push_ite_arith", + "push_ite_bv", + "push_to_real", + "q.lift_ite", + "q.lite", + "qi.cost", + "qi.eager_threshold", + "qi.lazy_threshold", + "qi.max_instances", + "qi.max_multi_patterns", + "qi.profile", + "qi.profile_freq", + "qi.quick_checker", + "qsat_use_qel", + "quasi_macros", + "random_freq", + "random_offset", + "random_seed", + "randomize", + "randomizer.seed", + "rc2.totalizer", + "rcf.clean_denominators", + "rcf.inf_precision", + "rcf.initial_precision", + "rcf.lazy_algebraic_normalization", + "rcf.max_precision", + "rcf.use_prem", + "refine_inj_axioms", + "relevancy", + "reorder", + "reorder.activity_scale", + "reorder.base", + "reorder.itau", + "rephase.base", + "rescore", + "resolution.cls_cutoff1", + "resolution.cls_cutoff2", + "resolution.limit", + "resolution.lit_cutoff_range1", + "resolution.lit_cutoff_range2", + "resolution.lit_cutoff_range3", + "resolution.occ_cutoff", + "resolution.occ_cutoff_range1", + "resolution.occ_cutoff_range2", + "resolution.occ_cutoff_range3", + "restart", + "restart.emafastglue", + "restart.emaslowglue", + "restart.factor", + "restart.fast", + "restart.initial", + "restart.margin", + "restart.max", + "restart_base", + "restart_factor", + "restart_init", + "restart_strategy", + "restricted_quasi_macros", + "retain_blocked_clauses", + "rewrite_patterns", + "rewriter.algebraic_number_evaluator", + "rewriter.arith_ineq_lhs", + "rewriter.arith_lhs", + "rewriter.bit2bool", + "rewriter.blast_distinct", + "rewriter.blast_distinct_threshold", + "rewriter.blast_eq_value", + "rewriter.blast_select_store", + "rewriter.bv_extract_prop", + "rewriter.bv_ineq_consistency_test_max", + "rewriter.bv_ite2id", + "rewriter.bv_le2extract", + "rewriter.bv_le_extra", + "rewriter.bv_not_simpl", + "rewriter.bv_sort_ac", + "rewriter.cache_all", + "rewriter.coalesce_chars", + "rewriter.div0_ackermann_limit", + "rewriter.elim_and", + "rewriter.elim_ite", + "rewriter.elim_rem", + "rewriter.elim_sign_ext", + "rewriter.elim_to_real", + "rewriter.enable_der", + "rewriter.eq2ineq", + "rewriter.expand_nested_stores", + "rewriter.expand_power", + "rewriter.expand_select_ite", + "rewriter.expand_select_store", + "rewriter.expand_store_eq", + "rewriter.expand_tan", + "rewriter.flat", + "rewriter.flat_and_or", + "rewriter.gcd_rounding", + "rewriter.hi_div0", + "rewriter.hi_fp_unspecified", + "rewriter.hoist_ite", + "rewriter.hoist_mul", + "rewriter.ignore_patterns_on_ground_qbody", + "rewriter.ite_extra_rules", + "rewriter.local_ctx", + "rewriter.local_ctx_limit", + "rewriter.max_degree", + "rewriter.max_memory", + "rewriter.max_steps", + "rewriter.mul2concat", + "rewriter.mul_to_power", + "rewriter.pull_cheap_ite", + "rewriter.push_ite_arith", + "rewriter.push_ite_bv", + "rewriter.push_to_real", + "rewriter.rewrite_patterns", + "rewriter.som", + "rewriter.som_blowup", + "rewriter.sort_disjunctions", + "rewriter.sort_store", + "rewriter.sort_sums", + "rewriter.split_concat_eq", + "rlimit", + "sat.abce", + "sat.acce", + "sat.anf", + "sat.anf.delay", + "sat.anf.exlin", + "sat.asymm_branch", + "sat.asymm_branch.all", + "sat.asymm_branch.delay", + "sat.asymm_branch.limit", + "sat.asymm_branch.rounds", + "sat.asymm_branch.sampled", + "sat.ate", + "sat.backtrack.conflicts", + "sat.backtrack.scopes", + "sat.bca", + "sat.bce", + "sat.bce_at", + "sat.bce_delay", + "sat.blocked_clause_limit", + "sat.branching.anti_exploration", + "sat.branching.heuristic", + "sat.burst_search", + "sat.cardinality.encoding", + "sat.cardinality.solver", + "sat.cce", + "sat.core.minimize", + "sat.core.minimize_partial", + "sat.cut", + "sat.cut.aig", + "sat.cut.delay", + "sat.cut.dont_cares", + "sat.cut.force", + "sat.cut.lut", + "sat.cut.npn3", + "sat.cut.redundancies", + "sat.cut.xor", + "sat.ddfw.init_clause_weight", + "sat.ddfw.reinit_base", + "sat.ddfw.restart_base", + "sat.ddfw.threads", + "sat.ddfw.use_reward_pct", + "sat.ddfw_search", + "sat.dimacs.core", + "sat.drat.activity", + "sat.drat.binary", + "sat.drat.check_sat", + "sat.drat.check_unsat", + "sat.drat.disable", + "sat.drat.file", + "sat.dyn_sub_res", + "sat.elim_vars", + "sat.enable_pre_simplify", + "sat.euf", + "sat.force_cleanup", + "sat.gc", + "sat.gc.burst", + "sat.gc.defrag", + "sat.gc.increment", + "sat.gc.initial", + "sat.gc.k", + "sat.gc.small_lbd", + "sat.inprocess.max", + "sat.inprocess.out", + "sat.local_search", + "sat.local_search_dbg_flips", + "sat.local_search_mode", + "sat.local_search_threads", + "sat.lookahead.cube.cutoff", + "sat.lookahead.cube.depth", + "sat.lookahead.cube.fraction", + "sat.lookahead.cube.freevars", + "sat.lookahead.cube.psat.clause_base", + "sat.lookahead.cube.psat.trigger", + "sat.lookahead.cube.psat.var_exp", + "sat.lookahead.delta_fraction", + "sat.lookahead.double", + "sat.lookahead.global_autarky", + "sat.lookahead.preselect", + "sat.lookahead.reward", + "sat.lookahead.use_learned", + "sat.lookahead_scores", + "sat.lookahead_simplify", + "sat.lookahead_simplify.bca", + "sat.max_conflicts", + "sat.max_memory", + "sat.minimize_lemmas", + "sat.override_incremental", + "sat.pb.lemma_format", + "sat.pb.min_arity", + "sat.pb.resolve", + "sat.pb.solver", + "sat.phase", + "sat.phase.sticky", + "sat.prob_search", + "sat.probing", + "sat.probing_binary", + "sat.probing_cache", + "sat.probing_cache_limit", + "sat.probing_limit", + "sat.propagate.prefetch", + "sat.random_freq", + "sat.random_seed", + "sat.reorder.activity_scale", + "sat.reorder.base", + "sat.reorder.itau", + "sat.rephase.base", + "sat.resolution.cls_cutoff1", + "sat.resolution.cls_cutoff2", + "sat.resolution.limit", + "sat.resolution.lit_cutoff_range1", + "sat.resolution.lit_cutoff_range2", + "sat.resolution.lit_cutoff_range3", + "sat.resolution.occ_cutoff", + "sat.resolution.occ_cutoff_range1", + "sat.resolution.occ_cutoff_range2", + "sat.resolution.occ_cutoff_range3", + "sat.restart", + "sat.restart.emafastglue", + "sat.restart.emaslowglue", + "sat.restart.factor", + "sat.restart.fast", + "sat.restart.initial", + "sat.restart.margin", + "sat.restart.max", + "sat.retain_blocked_clauses", + "sat.scc", + "sat.scc.tr", + "sat.search.sat.conflicts", + "sat.search.unsat.conflicts", + "sat.simplify.delay", + "sat.smt", + "sat.smt.proof.check", + "sat.subsumption", + "sat.subsumption.limit", + "sat.threads", + "sat.variable_decay", + "sat_backend", + "scale_unsat", + "scc", + "scc.tr", + "search.sat.conflicts", + "search.unsat.conflicts", + "seed", + "seq.max_unfolding", + "seq.min_unfolding", + "seq.split_w_len", + "seq.validate", + "shuffle_vars", + "simple_check", + "simplify.delay", + "simplify.exp", + "simplify.inprocess.max", + "simplify.max_conflicts", + "simplify.restart.max", + "simplify_conflicts", + "simplify_implies", + "single_line", + "sk_hack", + "slice", + "sls.arith_allow_plateau", + "sls.arith_use_clausal_lookahead", + "sls.arith_use_lookahead", + "sls.bv_allow_rotation", + "sls.bv_use_lookahead", + "sls.bv_use_top_level_assertions", + "sls.dt_axiomatic", + "sls.early_prune", + "sls.enable", + "sls.max_memory", + "sls.max_repairs", + "sls.max_restarts", + "sls.parallel", + "sls.paws_init", + "sls.paws_sp", + "sls.random_offset", + "sls.random_seed", + "sls.rescore", + "sls.restart_base", + "sls.restart_init", + "sls.scale_unsat", + "sls.str_update_strategy", + "sls.track_unsat", + "sls.vns_mc", + "sls.vns_repick", + "sls.walksat", + "sls.walksat_repick", + "sls.walksat_ucb", + "sls.walksat_ucb_constant", + "sls.walksat_ucb_forget", + "sls.walksat_ucb_init", + "sls.walksat_ucb_noise", + "sls.wp", + "smt", + "smt.arith.auto_config_simplex", + "smt.arith.bprop_on_pivoted_rows", + "smt.arith.branch_cut_ratio", + "smt.arith.dump_bound_lemmas", + "smt.arith.dump_lemmas", + "smt.arith.eager_eq_axioms", + "smt.arith.enable_hnf", + "smt.arith.epsilon", + "smt.arith.greatest_error_pivot", + "smt.arith.ignore_int", + "smt.arith.int_eq_branch", + "smt.arith.min", + "smt.arith.nl", + "smt.arith.nl.branching", + "smt.arith.nl.cross_nested", + "smt.arith.nl.delay", + "smt.arith.nl.expensive_patching", + "smt.arith.nl.expp", + "smt.arith.nl.gr_q", + "smt.arith.nl.grobner", + "smt.arith.nl.grobner_cnfl_to_report", + "smt.arith.nl.grobner_eqs_growth", + "smt.arith.nl.grobner_exp_delay", + "smt.arith.nl.grobner_expand_terms", + "smt.arith.nl.grobner_expr_degree_growth", + "smt.arith.nl.grobner_expr_size_growth", + "smt.arith.nl.grobner_frequency", + "smt.arith.nl.grobner_gcd_test", + "smt.arith.nl.grobner_max_simplified", + "smt.arith.nl.grobner_propagate_quotients", + "smt.arith.nl.grobner_row_length_limit", + "smt.arith.nl.grobner_subs_fixed", + "smt.arith.nl.horner", + "smt.arith.nl.horner_frequency", + "smt.arith.nl.horner_row_length_limit", + "smt.arith.nl.horner_subs_fixed", + "smt.arith.nl.log", + "smt.arith.nl.nra", + "smt.arith.nl.optimize_bounds", + "smt.arith.nl.order", + "smt.arith.nl.propagate_linear_monomials", + "smt.arith.nl.reduce_pseudo_linear", + "smt.arith.nl.rounds", + "smt.arith.nl.tangents", + "smt.arith.print_ext_var_names", + "smt.arith.print_stats", + "smt.arith.propagate_eqs", + "smt.arith.propagation_mode", + "smt.arith.random_initial_value", + "smt.arith.rep_freq", + "smt.arith.simplex_strategy", + "smt.arith.solver", + "smt.arith.validate", + "smt.array.extensional", + "smt.array.weak", + "smt.auto_config", + "smt.bound_simplifier", + "smt.bv.delay", + "smt.bv.enable_int2bv", + "smt.bv.reflect", + "smt.bv.size_reduce", + "smt.bv.solver", + "smt.bv.watch_diseq", + "smt.candidate_models", + "smt.case_split", + "smt.clause_proof", + "smt.core.extend_nonlocal_patterns", + "smt.core.extend_patterns", + "smt.core.extend_patterns.max_distance", + "smt.core.minimize", + "smt.core.validate", + "smt.cube_depth", + "smt.dack", + "smt.dack.eq", + "smt.dack.factor", + "smt.dack.gc", + "smt.dack.gc_inv_decay", + "smt.dack.threshold", + "smt.delay_units", + "smt.delay_units_threshold", + "smt.dt_lazy_splits", + "smt.elim_unconstrained", + "smt.ematching", + "smt.induction", + "smt.lemma_gc_strategy", + "smt.logic", + "smt.macro_finder", + "smt.max_conflicts", + "smt.mbqi", + "smt.mbqi.force_template", + "smt.mbqi.id", + "smt.mbqi.max_cexs", + "smt.mbqi.max_cexs_incr", + "smt.mbqi.max_iterations", + "smt.mbqi.trace", + "smt.pb.conflict_frequency", + "smt.pb.learn_complements", + "smt.phase_caching_off", + "smt.phase_caching_on", + "smt.phase_selection", + "smt.proof.check", + "smt.propagate_values", + "smt.pull_nested_quantifiers", + "smt.q.lift_ite", + "smt.q.lite", + "smt.qi.cost", + "smt.qi.eager_threshold", + "smt.qi.lazy_threshold", + "smt.qi.max_instances", + "smt.qi.max_multi_patterns", + "smt.qi.profile", + "smt.qi.profile_freq", + "smt.qi.quick_checker", + "smt.qsat_use_qel", + "smt.quasi_macros", + "smt.random_seed", + "smt.refine_inj_axioms", + "smt.relevancy", + "smt.restart.max", + "smt.restart_factor", + "smt.restart_strategy", + "smt.restricted_quasi_macros", + "smt.seq.max_unfolding", + "smt.seq.min_unfolding", + "smt.seq.split_w_len", + "smt.seq.validate", + "smt.sls.enable", + "smt.sls.parallel", + "smt.solve_eqs", + "smt.solve_eqs.non_ground", + "smt.string_solver", + "smt.theory_aware_branching", + "smt.theory_case_split", + "smt.threads", + "smt.threads.cube_frequency", + "smt.threads.max_conflicts", + "smt.up.persist_clauses", + "smtlib2_compliant", + "smtlib2_log", + "solution_prefix", + "solve_eqs", + "solve_eqs.context_solve", + "solve_eqs.ite_solver", + "solve_eqs.max_occs", + "solve_eqs.non_ground", + "solve_eqs.theory_solver", + "solver.axioms2files", + "solver.cancel_backup_file", + "solver.instantiations2console", + "solver.lemmas2console", + "solver.proof.check", + "solver.proof.check_rup", + "solver.proof.log", + "solver.proof.save", + "solver.proof.trim", + "solver.slice", + "solver.smtlib2_log", + "solver.timeout", + "solver2_timeout", + "solver2_unknown", + "som", + "som_blowup", + "sort_disjunctions", + "sort_store", + "sort_sums", + "spacer.arith.solver", + "spacer.blast_term_ite_inflation", + "spacer.ctp", + "spacer.dump_benchmarks", + "spacer.dump_threshold", + "spacer.elim_aux", + "spacer.eq_prop", + "spacer.expand_bnd", + "spacer.gg.concretize", + "spacer.gg.conjecture", + "spacer.gg.subsume", + "spacer.global", + "spacer.gpdr", + "spacer.gpdr.bfs", + "spacer.ground_pobs", + "spacer.iuc", + "spacer.iuc.arith", + "spacer.iuc.debug_proof", + "spacer.iuc.old_hyp_reducer", + "spacer.iuc.print_farkas_stats", + "spacer.iuc.split_farkas_literals", + "spacer.keep_proxy", + "spacer.logic", + "spacer.max_level", + "spacer.max_num_contexts", + "spacer.mbqi", + "spacer.min_level", + "spacer.native_mbp", + "spacer.order_children", + "spacer.p3.share_invariants", + "spacer.p3.share_lemmas", + "spacer.propagate", + "spacer.push_pob", + "spacer.push_pob_max_depth", + "spacer.q3", + "spacer.q3.instantiate", + "spacer.q3.qgen.normalize", + "spacer.q3.use_qgen", + "spacer.random_seed", + "spacer.reach_dnf", + "spacer.reset_pob_queue", + "spacer.restart_initial_threshold", + "spacer.restarts", + "spacer.simplify_lemmas_post", + "spacer.simplify_lemmas_pre", + "spacer.simplify_pob", + "spacer.trace_file", + "spacer.use_array_eq_generalizer", + "spacer.use_bg_invs", + "spacer.use_derivations", + "spacer.use_euf_gen", + "spacer.use_inc_clause", + "spacer.use_inductive_generalizer", + "spacer.use_iuc", + "spacer.use_lemma_as_cti", + "spacer.use_lim_num_gen", + "spacer.validate_lemmas", + "spacer.weak_abs", + "split_concat_eq", + "stats", + "str_update_strategy", + "string_solver", + "subsumption", + "subsumption.limit", + "tab.selection", + "tactic.blast_term_ite.max_inflation", + "tactic.blast_term_ite.max_steps", + "tactic.default_tactic", + "tactic.lia2card.max_ite_nesting", + "tactic.lia2card.max_range", + "tactic.propagate_values.max_rounds", + "tactic.randomizer.seed", + "tactic.solve_eqs.context_solve", + "tactic.solve_eqs.ite_solver", + "tactic.solve_eqs.max_occs", + "tactic.solve_eqs.theory_solver", + "theory_aware_branching", + "theory_case_split", + "threads", + "threads.cube_frequency", + "threads.max", + "threads.max_conflicts", + "timeout", + "trace", + "trace_file_name", + "track_unsat", + "type_check", + "unsat_core", + "up.persist_clauses", + "use_database", + "use_prem", + "user_functions", + "v1", + "v2", + "validate", + "variable_decay", + "variable_ordering_strategy", + "verbose", + "vns_mc", + "vns_repick", + "walksat", + "walksat_repick", + "walksat_ucb", + "walksat_ucb_constant", + "walksat_ucb_forget", + "walksat_ucb_init", + "walksat_ucb_noise", + "warning", + "warnings", + "well_sorted_check", + "wp", + "xform.array_blast", + "xform.array_blast_full", + "xform.bit_blast", + "xform.coalesce_rules", + "xform.coi", + "xform.compress_unbound", + "xform.elim_term_ite", + "xform.elim_term_ite.inflation", + "xform.fix_unbound_vars", + "xform.inline_eager", + "xform.inline_linear", + "xform.inline_linear_branch", + "xform.instantiate_arrays", + "xform.instantiate_arrays.enforce", + "xform.instantiate_arrays.nb_quantifier", + "xform.instantiate_arrays.slice_technique", + "xform.instantiate_quantifiers", + "xform.magic", + "xform.quantify_arrays", + "xform.scale", + "xform.slice", + "xform.subsumption_checker", + "xform.tail_simplifier_pve", + "xform.transform_arrays", + "xform.unfold_rules", + "zero_accuracy" +] \ No newline at end of file diff --git a/input/z3-bench/evolve/cache-sat/local_baseline.json b/input/z3-bench/evolve/cache-sat/local_baseline.json new file mode 100644 index 0000000000..445ac595de --- /dev/null +++ b/input/z3-bench/evolve/cache-sat/local_baseline.json @@ -0,0 +1,297 @@ +{ + "045c333ae6fd91a71357d95ad26153ca619bd0a8962abe25dc5f8c34a6a914c4": { + "raw_result": "Sat", + "raw_elapsed_ms": 1000, + "by_workers": { + "1": { + "elapsed_ms": 4634, + "result": "Sat", + "matches_raw": true, + "stats": { + "deterministic_time": 19208709, + "arith eq adapter": 1565, + "max memory": 265.8, + "arith-upper": 65130, + "arith-max-rows": 4262, + "pb predicates": 374, + "memory": 179.65, + "added eqs": 39707, + "arith-offset-eqs": 1825, + "time": 4.6342, + "restarts": 1, + "pb propagations": 345, + "num allocs": 2209128838, + "del clause": 351, + "solve-eqs-steps": 36, + "mk clause": 55128, + "arith-bound-propagations-lp": 52377, + "mk bool var": 70590, + "arith-lower": 97660, + "arith-max-columns": 6892, + "num checks": 1, + "mk clause binary": 37817, + "final checks": 1, + "arith-conflicts": 75, + "arith-make-feasible": 98606, + "binary propagations": 452498, + "elim-unconstrained": 32043, + "decisions": 1153558, + "rlimit count": 19208709, + "conflicts": 152, + "pb conflicts": 10, + "arith-diseq": 18366, + "pb resolves": 10, + "propagations": 814074, + "solve-eqs-elim-vars": 36, + "arith-fixed-eqs": 7541 + } + } + } + }, + "66d2dfbc087cf000fe202e30540b4b365e400acd3c67c634f1101c2868bd823d": { + "raw_result": "Sat", + "raw_elapsed_ms": 1000, + "by_workers": { + "1": { + "elapsed_ms": 4324, + "result": "Sat", + "matches_raw": true, + "stats": { + "deterministic_time": 18108887, + "arith eq adapter": 1599, + "max memory": 256.91, + "arith-upper": 57300, + "arith-max-rows": 4243, + "pb predicates": 368, + "memory": 178.87, + "added eqs": 34320, + "arith-offset-eqs": 860, + "time": 4.324, + "restarts": 1, + "pb propagations": 116, + "num allocs": 2013594687, + "del clause": 389, + "solve-eqs-steps": 34, + "mk clause": 52295, + "arith-bound-propagations-lp": 46990, + "mk bool var": 69606, + "arith-lower": 90052, + "arith-max-columns": 6739, + "num checks": 1, + "mk clause binary": 37536, + "final checks": 1, + "arith-conflicts": 60, + "arith-make-feasible": 84305, + "binary propagations": 403955, + "elim-unconstrained": 31662, + "decisions": 1089106, + "rlimit count": 18108887, + "conflicts": 128, + "pb conflicts": 6, + "arith-diseq": 17560, + "pb resolves": 6, + "propagations": 716022, + "solve-eqs-elim-vars": 34, + "arith-fixed-eqs": 7695 + } + } + } + }, + "843647feb551627f095d0c2fffd9eb19a84804e56891ea9700102bdf81dd5d79": { + "raw_result": "Sat", + "raw_elapsed_ms": 1000, + "by_workers": { + "1": { + "elapsed_ms": 3566, + "result": "Sat", + "matches_raw": true, + "stats": { + "deterministic_time": 14388368, + "arith eq adapter": 1809, + "max memory": 249.38, + "arith-upper": 37346, + "arith-max-rows": 3879, + "pb predicates": 343, + "memory": 173.47, + "added eqs": 27879, + "arith-offset-eqs": 1231, + "time": 3.5665999999999998, + "restarts": 1, + "pb propagations": 35, + "num allocs": 1715508849, + "del clause": 681, + "solve-eqs-steps": 36, + "mk clause": 50620, + "arith-bound-propagations-lp": 29589, + "mk bool var": 65068, + "arith-lower": 59264, + "arith-max-columns": 6263, + "num checks": 1, + "mk clause binary": 34375, + "final checks": 1, + "arith-conflicts": 67, + "arith-make-feasible": 57377, + "binary propagations": 273549, + "elim-unconstrained": 29152, + "decisions": 820090, + "rlimit count": 14388368, + "conflicts": 121, + "pb conflicts": 10, + "arith-diseq": 10270, + "pb resolves": 10, + "propagations": 494969, + "solve-eqs-elim-vars": 36, + "arith-fixed-eqs": 5860 + } + } + } + }, + "9239a79679d8985e2412724d31b1813c4ef653709972b56529697526dc50031b": { + "raw_result": "Sat", + "raw_elapsed_ms": 1000, + "by_workers": { + "1": { + "elapsed_ms": 3224, + "result": "Sat", + "matches_raw": true, + "stats": { + "deterministic_time": 21105161, + "arith eq adapter": 2515, + "max memory": 291.19, + "arith-upper": 60624, + "arith-max-rows": 5272, + "pb predicates": 454, + "memory": 189.55, + "added eqs": 46113, + "arith-offset-eqs": 3606, + "time": 3.2241999999999997, + "restarts": 1, + "pb propagations": 727, + "num allocs": 3250208687, + "del clause": 980, + "solve-eqs-steps": 38, + "mk clause": 69516, + "arith-bound-propagations-lp": 56626, + "mk bool var": 91657, + "arith-lower": 87323, + "arith-max-columns": 8465, + "num checks": 1, + "mk clause binary": 48564, + "final checks": 1, + "arith-conflicts": 80, + "arith-make-feasible": 89617, + "binary propagations": 433840, + "elim-unconstrained": 41138, + "decisions": 1200663, + "rlimit count": 21105161, + "conflicts": 138, + "pb conflicts": 6, + "arith-diseq": 15578, + "pb resolves": 6, + "propagations": 780807, + "solve-eqs-elim-vars": 38, + "arith-fixed-eqs": 11884 + } + } + } + }, + "97decd1d8f2187deb5ae064730e9f9a4fb3ab461cf957b0a9e2ebcf30fc46dfb": { + "raw_result": "Sat", + "raw_elapsed_ms": 1000, + "by_workers": { + "1": { + "elapsed_ms": 2188, + "result": "Sat", + "matches_raw": true, + "stats": { + "deterministic_time": 15442320, + "arith eq adapter": 1789, + "max memory": 253.67, + "arith-upper": 42779, + "arith-max-rows": 4247, + "pb predicates": 368, + "memory": 175.88, + "added eqs": 26392, + "arith-offset-eqs": 1122, + "time": 2.1877999999999997, + "restarts": 1, + "pb propagations": 251, + "num allocs": 1903302501, + "del clause": 604, + "solve-eqs-steps": 34, + "mk clause": 51698, + "arith-bound-propagations-lp": 36963, + "mk bool var": 68380, + "arith-lower": 67183, + "arith-max-columns": 6749, + "num checks": 1, + "mk clause binary": 36758, + "final checks": 1, + "arith-conflicts": 71, + "minimized lits": 1, + "arith-make-feasible": 65630, + "binary propagations": 295878, + "elim-unconstrained": 30870, + "decisions": 878144, + "rlimit count": 15442320, + "conflicts": 119, + "pb conflicts": 4, + "arith-diseq": 13081, + "pb resolves": 4, + "propagations": 542004, + "solve-eqs-elim-vars": 34, + "arith-fixed-eqs": 6023 + } + } + } + }, + "bb108a8ed4b71427fdc2171b551df6039eb024db48d2fe488f504d655aa7097c": { + "raw_result": "Sat", + "raw_elapsed_ms": 1000, + "by_workers": { + "1": { + "elapsed_ms": 2001, + "result": "Sat", + "matches_raw": true, + "stats": { + "deterministic_time": 14304157, + "arith eq adapter": 1895, + "max memory": 249.42, + "arith-upper": 34601, + "arith-max-rows": 3876, + "pb predicates": 343, + "memory": 173.49, + "added eqs": 25862, + "arith-offset-eqs": 1169, + "time": 2.0008, + "restarts": 1, + "pb propagations": 49, + "num allocs": 1699111556, + "del clause": 793, + "solve-eqs-steps": 36, + "mk clause": 50718, + "arith-bound-propagations-lp": 30832, + "mk bool var": 65333, + "arith-lower": 56296, + "arith-max-columns": 6260, + "num checks": 1, + "mk clause binary": 34388, + "final checks": 1, + "arith-conflicts": 54, + "arith-make-feasible": 54934, + "binary propagations": 253753, + "elim-unconstrained": 29152, + "decisions": 818287, + "rlimit count": 14304157, + "conflicts": 109, + "pb conflicts": 11, + "arith-diseq": 10383, + "pb resolves": 11, + "propagations": 463729, + "solve-eqs-elim-vars": 36, + "arith-fixed-eqs": 5238 + } + } + } + } +} diff --git a/input/z3-bench/evolve/cache-sat/phase1_best.json b/input/z3-bench/evolve/cache-sat/phase1_best.json new file mode 100644 index 0000000000..bda3ca8b7f --- /dev/null +++ b/input/z3-bench/evolve/cache-sat/phase1_best.json @@ -0,0 +1,5 @@ +{ + "opt.maxsat_engine": "pd-maxres", + "opt.optsmt_engine": "basic", + "opt.priority": "box" +} diff --git a/input/z3-bench/evolve/cache-sat/stage1_sample.json b/input/z3-bench/evolve/cache-sat/stage1_sample.json new file mode 100644 index 0000000000..3e893ee6c4 --- /dev/null +++ b/input/z3-bench/evolve/cache-sat/stage1_sample.json @@ -0,0 +1,7 @@ +{ + "selection": "0 from 0 candidates", + "criteria": "thresholds-clusters=[2] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [], + "summary": [] +} diff --git a/input/z3-bench/evolve/cache-sat/stage2_sample.json b/input/z3-bench/evolve/cache-sat/stage2_sample.json new file mode 100644 index 0000000000..3e893ee6c4 --- /dev/null +++ b/input/z3-bench/evolve/cache-sat/stage2_sample.json @@ -0,0 +1,7 @@ +{ + "selection": "0 from 0 candidates", + "criteria": "thresholds-clusters=[2] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [], + "summary": [] +} diff --git a/input/z3-bench/evolve/cache-sat/stage3_sample.json b/input/z3-bench/evolve/cache-sat/stage3_sample.json new file mode 100644 index 0000000000..387f119183 --- /dev/null +++ b/input/z3-bench/evolve/cache-sat/stage3_sample.json @@ -0,0 +1,51 @@ +{ + "selection": "6 from 9 candidates", + "criteria": "thresholds-clusters=[1] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [ + "045c333ae6fd91a71357d95ad26153ca619bd0a8962abe25dc5f8c34a6a914c4", + "66d2dfbc087cf000fe202e30540b4b365e400acd3c67c634f1101c2868bd823d", + "843647feb551627f095d0c2fffd9eb19a84804e56891ea9700102bdf81dd5d79", + "9239a79679d8985e2412724d31b1813c4ef653709972b56529697526dc50031b", + "97decd1d8f2187deb5ae064730e9f9a4fb3ab461cf957b0a9e2ebcf30fc46dfb", + "bb108a8ed4b71427fdc2171b551df6039eb024db48d2fe488f504d655aa7097c" + ], + "summary": [ + { + "sha": "045c333ae6fd", + "baseline_result": "Sat", + "baseline_ms": 1000, + "features.num_hard_constraints": 31928 + }, + { + "sha": "66d2dfbc087c", + "baseline_result": "Sat", + "baseline_ms": 1000, + "features.num_hard_constraints": 31548 + }, + { + "sha": "843647feb551", + "baseline_result": "Sat", + "baseline_ms": 1000, + "features.num_hard_constraints": 29052 + }, + { + "sha": "9239a79679d8", + "baseline_result": "Sat", + "baseline_ms": 1000, + "features.num_hard_constraints": 40999 + }, + { + "sha": "97decd1d8f21", + "baseline_result": "Sat", + "baseline_ms": 1000, + "features.num_hard_constraints": 30755 + }, + { + "sha": "bb108a8ed4b7", + "baseline_result": "Sat", + "baseline_ms": 1000, + "features.num_hard_constraints": 29052 + } + ] +} diff --git a/input/z3-bench/evolve/cache-sat/stage4_sample.json b/input/z3-bench/evolve/cache-sat/stage4_sample.json new file mode 100644 index 0000000000..028127053b --- /dev/null +++ b/input/z3-bench/evolve/cache-sat/stage4_sample.json @@ -0,0 +1,7 @@ +{ + "selection": "0 from 9 candidates", + "criteria": "thresholds-clusters=[1, 2] feature=features.num_hard_constraints spread=quintile", + "source": "z3-bench/problems.jsonl", + "sha256": [], + "summary": [] +} diff --git a/input/z3-bench/evolve/config.optimize.example.yaml b/input/z3-bench/evolve/config.optimize.example.yaml new file mode 100644 index 0000000000..8f7bd20f95 --- /dev/null +++ b/input/z3-bench/evolve/config.optimize.example.yaml @@ -0,0 +1,205 @@ +# ============================================================================ +# EXAMPLE — OPTIMIZE mode (z3.Optimize, full soft-constraint optimization). +# To use: cp config.optimize.example.yaml config.yaml +# Pairs solver_mode: optimize + score_mode: cost (objective guard active). +# Artifacts: cache/, final_program.py. After copying: +# python -m _lib.sampler z3-bench && python -m _lib.rebaseline z3-bench \ +# && ./run_phase.sh z3-bench --pin 2-7 \ +# && python -m _lib.final_verify z3-bench input/z3-bench/evolve/final_program.py +# ============================================================================ +# +# Single config for z3-bench. Read by openevolve (dacite, ignores unknown +# top-level keys like `bench` / `parallel_solvers`) AND by input/run_phase.sh +# (via _lib/load_bench_config.py) for shell-side phase orchestration. +# +# === bench: section === +# Consumed by input/run_phase.sh. phases[].iters omitted → uses +# max_iterations below (same for all phases). +bench: + phases: + - dir: phase1_opt_sls + - dir: phase2_sat + - dir: phase3_smt + - dir: phase4_unified + + solver_check_cmd: "command -v z3" + solver_install_hint: "install: apt-get install -y z3 or pip install z3-solver" + + # === Refactor (2026-06) — paths to per-bench solver-specific files. === + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + unified_dict_name: UNIFIED_OVERRIDES + + # === Solver mode (config-driven; no env var). === + # optimize: z3.Optimize, full soft-constraint optimization (pair with + # evaluation.score_mode: cost — objective guard). + # sat: z3.Solver over parse_smt2_file (drops assert-soft) — hard-only + # feasibility, faster, no objective (pair with score_mode: speedup). + # The value also suffixes on-disk artifacts so both modes coexist: + # optimize → cache/, final_program.py + # sat → cache-sat/, final_program_sat.py + solver_mode: optimize + + # === Clustering / stage sampling. === + clustering: + # `mode` selects a clustering.modes. override (shallow-merged over the + # base block below). ORTHOGONAL to solver_mode — set `mode: large` to focus + # on constraint-heavy instances in EITHER optimize or sat. Unset → base. + # mode: large + method: kmeans + # reboot baselines are "Skipped" (elapsed_ms=0 placeholder), so cluster on + # problem size — num_hard_constraints spans 2.5k–41k with good spread. + feature: features.num_hard_constraints + n_clusters: 5 + max_baseline_ms: 300000 # 5 min cap (placeholder elapsed_ms << this) + spread: quintile + stage_sizes: + stage1: 5 + stage2: 5 + stage3: 5 + stage4: 20 + stage_clusters: + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + + # Clustering-mode overrides (shallow-merged over the block above when + # `clustering.mode` selects one). `large` targets constraint-heavy + # instances: threshold bucketing on num_hard_constraints, high bucket only. + modes: + large: + method: thresholds + thresholds: [15000] # bucket 0 = <15k (dropped), bucket 1 = >=15k (38 of 89) + stage_sizes: + stage1: 6 + stage2: 10 + stage3: 12 + stage4: 38 # "임계값 이상 전부" + stage_clusters: + stage1: [1] + stage2: [1] + stage3: [1] + stage4: [1] + spread: quintile + + # === Evaluation behavior. === + evaluation: + repeats: 5 + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: cost # z3-optimize: cost mode (objective guard via cost_ratio) + time_metric: wall # speedup signal = wall-clock ratio (baseline_ms/variant_ms), + # NOT deterministic_time. rlimit was too noisy/unreflective on + # this reboot workload. wall noise is tamed by repeats-averaging + # (see evaluation.repeats); bump repeats if scores get jittery. + enable_size_buckets: false + enable_outlier_stage: false + +# === Custom z3-bench knobs (silently ignored by openevolve dacite parser) === +# parallel_solvers: total concurrent z3 worker subprocesses per stage. +# - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. +# - Each pinned to a dedicated core via taskset (Linux). +# - Capped at len(problems_in_stage) at runtime. +# - Env OPENEVOLVE_PARALLEL_SOLVERS overrides this value. +# - Total RAM ≈ N × 4 GB worst-case — size per host. +parallel_solvers: 1 + +max_iterations: 50 +checkpoint_interval: 10 +log_level: "INFO" +random_seed: 42 + +diff_based_evolution: true +max_code_length: 20000 # phase2 (~95 keys) needs headroom + +early_stopping_patience: null +convergence_threshold: 0.001 +early_stopping_metric: "combined_score" + +llm: + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 0.8 + timeout: 300 # raised from 180: a capped query needs ~180-250s; no retry on timeout now (see claude_code.py) + retries: 2 + retry_delay: 10 + reasoning_effort: "high" + max_thinking_tokens: 4000 # cap extended thinking; uncapped it overflowed the timeout and burned a 2nd retry for nothing + - name: "claude-haiku-4-5" + provider: "claude_code" + weight: 0.2 + timeout: 300 + max_thinking_tokens: 4000 + +prompt: + system_message: | + You tune Z3 parameters for a z3.Optimize (soft-constraint) workload — 89 "reboot" + SMT2 instances with ~1k Int / 3k Bool / 0.2k Real vars, 42–392 assert-soft + 2.5k–41k + hard constraints, opt.* engaged. Every instance's optimal objective is 0 (all soft + constraints satisfiable), reached in well under 5s by the baseline. + + Scoring is COST mode with a WALL-CLOCK time signal: the optimization target is MINIMIZING + actual solve wall-time (baseline_ms / variant_ms speedup), which is the headroom that + matters on real hardware. The objective value is a CORRECTNESS GUARD: your variant + MUST still reach objective 0 on every instance (a worse/non-zero objective, or a + non-Sat result, is heavily penalized). Note that wall-time on this workload is short + and somewhat noisy, so favor changes with a clear, repeatable speedup over marginal ones. + + The initial_program.py exposes an EVOLVE-BLOCK dict (per phase: opt.*+sls.*, sat.*, smt.*, + or unified). Mutate this dict to cut solve wall-time while PRESERVING + correctness (result stays Sat, objective stays 0). + + Hard rules: + - Do NOT modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable + (locked; evaluator returns 0 on violation). + - Use only valid Z3 4.13.x parameter keys. Unknown keys cause evaluator to return 0 + and surface the offending key in artifacts. + - Respect types: bool=true/false, ints, floats, symbols (bare strings like "vsids"). + + Knob domains (non-exhaustive): + sat.branching.heuristic in {vsids, lrb, chb} + sat.restart in {luby, geometric, ema, static} + sat.phase in {always_false, always_true, basic_caching, random, caching} + sat.gc in {glue, psm, glue_psm, dyn_psm} + sat.pb.solver in {circuit, sorting, totalizer, solver, segmented, binary_merge} + sat.cardinality.encoding in {grouped, bimander, ordered, unate, circuit} + smt.phase_selection 0..5 + smt.case_split 0..6 + smt.restart_strategy in {0=geometric, 1=inner_outer, 2=luby, 3=fixed, 4=arithmetic} + smt.arith.solver in {2=simplex, 5=infinitary_lra, 6=lra} + opt.maxsat_engine in {maxres, pd-maxres, wmax, sortmax, rc2, maxres-bin} + opt.optsmt_engine in {basic, farkas, symba} + opt.priority in {lex, pareto, box} + sls.walksat_ucb_constant: float, sls.wp: percent 0..100 + + Read the per_problem artifacts each round — they show speedup/regression per instance. + Look for patterns: which knob change helped the slow Unsat cases vs the fast Sat cases? + +database: + population_size: 50 + archive_size: 20 + num_islands: 3 + elite_selection_ratio: 0.2 + exploitation_ratio: 0.7 + similarity_threshold: 0.95 + +evaluator: + timeout: 600 # 10 min cap per variant (stage3 worst-case ≈ 4 min wall) + cascade_evaluation: true # stage1 → stage2 → stage3 (→ stage4 inside) per variant + cascade_thresholds: [1.03, 1.03, 1.03] + # threshold[0] = stage1 combined_score gate to enter stage2 (>=1.03 = ≥3% gain) + # threshold[1] = merged combined_score gate to enter stage3 (>=1.03 = ≥3% gain) + # threshold[2] = stage3 combined_score gate to enter stage4 (>=1.03 = ≥3% gain) + # threshold[2] is read by evaluator.evaluate_stage3 via runtime.cascade_threshold() + # because openevolve cascade only exposes 3 stage slots — stage4 is chained + # inside evaluate_stage3. + # combined_score = geomean_speedup * solved_rate^2 (+ efficiency^STATS_WEIGHT). + # Initial baseline-equivalent variant scores ≈1.0 — fails stage1 gate (good — skips downstream). + parallel_evaluations: 1 # FIXED 1 — variant pool kept serial. All z3 concurrency + # is controlled by env OPENEVOLVE_PARALLEL_SOLVERS (inner + # ThreadPool that runs N stage-problems concurrently per + # variant). Single knob avoids RAM blow-up from + # parallel_evaluations × OPENEVOLVE_PARALLEL_SOLVERS. diff --git a/input/z3-bench/evolve/config.sat.example.yaml b/input/z3-bench/evolve/config.sat.example.yaml new file mode 100644 index 0000000000..9b012dffd3 --- /dev/null +++ b/input/z3-bench/evolve/config.sat.example.yaml @@ -0,0 +1,206 @@ +# ============================================================================ +# EXAMPLE — SAT mode (z3.Solver over parse_smt2_file: hard-only feasibility). +# To use: cp config.sat.example.yaml config.yaml +# Pairs solver_mode: sat + score_mode: speedup (no objective; ~2x faster). +# Focuses sampling on constraint-heavy instances (clustering.mode: large). +# Artifacts isolate to cache-sat/, final_program_sat.py (optimize cache/ untouched). +# After copying (rebaseline is MANDATORY — sat baseline ≠ optimize baseline): +# python -m _lib.sampler z3-bench && python -m _lib.rebaseline z3-bench \ +# && ./run_phase.sh z3-bench --pin 2-7 \ +# && python -m _lib.final_verify z3-bench input/z3-bench/evolve/final_program_sat.py +# ============================================================================ +# +# Single config for z3-bench. Read by openevolve (dacite, ignores unknown +# top-level keys like `bench` / `parallel_solvers`) AND by input/run_phase.sh +# (via _lib/load_bench_config.py) for shell-side phase orchestration. +# +# === bench: section === +# Consumed by input/run_phase.sh. phases[].iters omitted → uses +# max_iterations below (same for all phases). +bench: + phases: + - dir: phase1_opt_sls + - dir: phase2_sat + - dir: phase3_smt + - dir: phase4_unified + + solver_check_cmd: "command -v z3" + solver_install_hint: "install: apt-get install -y z3 or pip install z3-solver" + + # === Refactor (2026-06) — paths to per-bench solver-specific files. === + adapter: adapter.py + params_catalog: params.json + worker_path: _solve_worker.py + unified_dict_name: UNIFIED_OVERRIDES + + # === Solver mode (config-driven; no env var). === + # optimize: z3.Optimize, full soft-constraint optimization (pair with + # evaluation.score_mode: cost — objective guard). + # sat: z3.Solver over parse_smt2_file (drops assert-soft) — hard-only + # feasibility, faster, no objective (pair with score_mode: speedup). + # The value also suffixes on-disk artifacts so both modes coexist: + # optimize → cache/, final_program.py + # sat → cache-sat/, final_program_sat.py + solver_mode: sat + + # === Clustering / stage sampling. === + clustering: + # `mode` selects a clustering.modes. override (shallow-merged over the + # base block below). ORTHOGONAL to solver_mode — set `mode: large` to focus + # on constraint-heavy instances in EITHER optimize or sat. Unset → base. + mode: large + method: kmeans + # reboot baselines are "Skipped" (elapsed_ms=0 placeholder), so cluster on + # problem size — num_hard_constraints spans 2.5k–41k with good spread. + feature: features.num_hard_constraints + n_clusters: 5 + max_baseline_ms: 300000 # 5 min cap (placeholder elapsed_ms << this) + spread: quintile + stage_sizes: + stage1: 5 + stage2: 5 + stage3: 5 + stage4: 20 + stage_clusters: + stage1: [0, 1] + stage2: [2, 3] + stage3: [4] + stage4: [0, 1, 2, 3, 4] + + # Clustering-mode overrides (shallow-merged over the block above when + # `clustering.mode` selects one). `large` targets constraint-heavy + # instances: threshold bucketing on num_hard_constraints, high bucket only. + modes: + large: + method: thresholds + thresholds: [15000] # bucket 0 = <15k (dropped), bucket 1 = >=15k (38 of 89) + stage_sizes: + stage1: 6 + stage2: 10 + stage3: 12 + stage4: 38 # "임계값 이상 전부" + stage_clusters: + stage1: [1] + stage2: [1] + stage3: [1] + stage4: [1] + spread: quintile + + # === Evaluation behavior. === + evaluation: + repeats: 5 + timeout_factor: 1.3 + min_timeout_s: 5 + score_mode: speedup # z3-sat: speedup mode (wall-clock ratio; no objective guard — + # parse_smt2_file drops assert-soft, Solver has no objective) + time_metric: wall # speedup signal = wall-clock ratio (baseline_ms/variant_ms), + # NOT deterministic_time. rlimit was too noisy/unreflective on + # this reboot workload. wall noise is tamed by repeats-averaging + # (see evaluation.repeats); bump repeats if scores get jittery. + enable_size_buckets: false + enable_outlier_stage: false + +# === Custom z3-bench knobs (silently ignored by openevolve dacite parser) === +# parallel_solvers: total concurrent z3 worker subprocesses per stage. +# - Read by shared/evaluator.py, rebaseline_local.py, baseline_params self-test. +# - Each pinned to a dedicated core via taskset (Linux). +# - Capped at len(problems_in_stage) at runtime. +# - Env OPENEVOLVE_PARALLEL_SOLVERS overrides this value. +# - Total RAM ≈ N × 4 GB worst-case — size per host. +parallel_solvers: 1 + +max_iterations: 50 +checkpoint_interval: 10 +log_level: "INFO" +random_seed: 42 + +diff_based_evolution: true +max_code_length: 20000 # phase2 (~95 keys) needs headroom + +early_stopping_patience: null +convergence_threshold: 0.001 +early_stopping_metric: "combined_score" + +llm: + models: + - name: "claude-sonnet-4-6" + provider: "claude_code" + weight: 0.8 + timeout: 300 # raised from 180: a capped query needs ~180-250s; no retry on timeout now (see claude_code.py) + retries: 2 + retry_delay: 10 + reasoning_effort: "high" + max_thinking_tokens: 4000 # cap extended thinking; uncapped it overflowed the timeout and burned a 2nd retry for nothing + - name: "claude-haiku-4-5" + provider: "claude_code" + weight: 0.2 + timeout: 300 + max_thinking_tokens: 4000 + +prompt: + system_message: | + You tune Z3 parameters for a SAT-FEASIBILITY workload — 89 "reboot" SMT2 instances with + ~1k Int / 3k Bool / 0.2k Real vars and 2.5k–41k HARD constraints. This config runs z3.Solver + over parse_smt2_file, which DROPS all assert-soft constraints: there is NO objective and NO + optimization — Z3 only has to find ANY feasible model (every instance is satisfiable). This + sampling focuses on the constraint-heavy instances (num_hard_constraints >= 15000), where the + feasibility search dominates wall-time. + + Scoring is SPEEDUP mode on a WALL-CLOCK signal: the target is MINIMIZING solve wall-time + (baseline_ms / variant_ms speedup). There is no objective guard — correctness = the result + stays Sat (a non-Sat / Unknown result is heavily penalized). Wall-time is short and somewhat + noisy, so favor changes with a clear, repeatable speedup over marginal ones. + + The initial_program.py exposes an EVOLVE-BLOCK dict (per phase: opt.*+sls.*, sat.*, smt.*, or + unified). Mutate it to cut feasibility-solve wall-time while keeping result Sat. IMPORTANT: + opt.* keys are OPTIMIZE-ONLY and are silently DROPPED in this mode — do not spend mutations on + them; they are inert here. Focus on sat.*, smt.*, and sls.* (local-search) knobs. + + Hard rules: + - Do NOT modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable + (locked; evaluator returns 0 on violation). + - Use only valid Z3 4.13.x parameter keys. Unknown keys cause evaluator to return 0 + and surface the offending key in artifacts. + - Respect types: bool=true/false, ints, floats, symbols (bare strings like "vsids"). + + Knob domains (non-exhaustive) — opt.* OMITTED (inert in sat mode): + sat.branching.heuristic in {vsids, lrb, chb} + sat.restart in {luby, geometric, ema, static} + sat.phase in {always_false, always_true, basic_caching, random, caching} + sat.gc in {glue, psm, glue_psm, dyn_psm} + sat.pb.solver in {circuit, sorting, totalizer, solver, segmented, binary_merge} + sat.cardinality.encoding in {grouped, bimander, ordered, unate, circuit} + smt.phase_selection 0..5 + smt.case_split 0..6 + smt.restart_strategy in {0=geometric, 1=inner_outer, 2=luby, 3=fixed, 4=arithmetic} + smt.arith.solver in {2=simplex, 5=infinitary_lra, 6=lra} + sls.walksat_ucb_constant: float, sls.wp: percent 0..100 + + Read the per_problem artifacts each round — they show speedup/regression per instance. + Look for patterns: which knob change helped the biggest (most-constrained) instances? + +database: + population_size: 50 + archive_size: 20 + num_islands: 3 + elite_selection_ratio: 0.2 + exploitation_ratio: 0.7 + similarity_threshold: 0.95 + +evaluator: + timeout: 600 # 10 min cap per variant (stage3 worst-case ≈ 4 min wall) + cascade_evaluation: true # stage1 → stage2 → stage3 (→ stage4 inside) per variant + cascade_thresholds: [1.03, 1.03, 1.03] + # threshold[0] = stage1 combined_score gate to enter stage2 (>=1.03 = ≥3% gain) + # threshold[1] = merged combined_score gate to enter stage3 (>=1.03 = ≥3% gain) + # threshold[2] = stage3 combined_score gate to enter stage4 (>=1.03 = ≥3% gain) + # threshold[2] is read by evaluator.evaluate_stage3 via runtime.cascade_threshold() + # because openevolve cascade only exposes 3 stage slots — stage4 is chained + # inside evaluate_stage3. + # combined_score = geomean_speedup * solved_rate^2 (+ efficiency^STATS_WEIGHT). + # Initial baseline-equivalent variant scores ≈1.0 — fails stage1 gate (good — skips downstream). + parallel_evaluations: 1 # FIXED 1 — variant pool kept serial. All z3 concurrency + # is controlled by env OPENEVOLVE_PARALLEL_SOLVERS (inner + # ThreadPool that runs N stage-problems concurrently per + # variant). Single knob avoids RAM blow-up from + # parallel_evaluations × OPENEVOLVE_PARALLEL_SOLVERS. diff --git a/input/z3-bench/evolve/config.yaml b/input/z3-bench/evolve/config.yaml index 18c1266fd2..aea99f3c87 100644 --- a/input/z3-bench/evolve/config.yaml +++ b/input/z3-bench/evolve/config.yaml @@ -21,12 +21,28 @@ bench: worker_path: _solve_worker.py unified_dict_name: UNIFIED_OVERRIDES + # === Solver mode (config-driven; no env var). === + # optimize: z3.Optimize, full soft-constraint optimization (pair with + # evaluation.score_mode: cost — objective guard). + # sat: z3.Solver over parse_smt2_file (drops assert-soft) — hard-only + # feasibility, faster, no objective (pair with score_mode: speedup). + # The value also suffixes on-disk artifacts so both modes coexist: + # optimize → cache/, final_program.py + # sat → cache-sat/, final_program_sat.py + solver_mode: sat + # === Clustering / stage sampling. === clustering: + # `mode` selects a clustering.modes. override (shallow-merged over the + # base block below). ORTHOGONAL to solver_mode — set `mode: large` to focus + # on constraint-heavy instances in EITHER optimize or sat. Unset → base. + mode: large method: kmeans - feature: z3_status.elapsed_ms + # reboot baselines are "Skipped" (elapsed_ms=0 placeholder), so cluster on + # problem size — num_hard_constraints spans 2.5k–41k with good spread. + feature: features.num_hard_constraints n_clusters: 5 - max_baseline_ms: 300000 # 5 min cap + max_baseline_ms: 300000 # 5 min cap (placeholder elapsed_ms << this) spread: quintile stage_sizes: stage1: 5 @@ -39,12 +55,35 @@ bench: stage3: [4] stage4: [0, 1, 2, 3, 4] + # Clustering-mode overrides (shallow-merged over the block above when + # `clustering.mode` selects one). `large` targets constraint-heavy + # instances: threshold bucketing on num_hard_constraints, high bucket only. + modes: + large: + method: thresholds + thresholds: [25000] # bucket 0 = <15k (dropped), bucket 1 = >=15k (38 of 89) + stage_sizes: + stage1: 0 + stage2: 0 + stage3: 6 + stage4: 0 # "임계값 이상 전부" + stage_clusters: + stage1: [2] + stage2: [2] + stage3: [1] + stage4: [1,2] + spread: quintile + # === Evaluation behavior. === evaluation: - repeats: 10 + repeats: 5 timeout_factor: 1.3 min_timeout_s: 5 - score_mode: speedup # z3: wall-clock speedup + score_mode: speedup # z3-sat: speedup mode (no objective in sat — Solver drops assert-soft) + time_metric: wall # speedup signal = wall-clock ratio (baseline_ms/variant_ms), + # NOT deterministic_time. rlimit was too noisy/unreflective on + # this reboot workload. wall noise is tamed by repeats-averaging + # (see evaluation.repeats); bump repeats if scores get jittery. enable_size_buckets: false enable_outlier_stage: false @@ -57,7 +96,7 @@ bench: # - Total RAM ≈ N × 4 GB worst-case — size per host. parallel_solvers: 1 -max_iterations: 20 +max_iterations: 50 checkpoint_interval: 10 log_level: "INFO" random_seed: 42 @@ -74,23 +113,34 @@ llm: - name: "claude-sonnet-4-6" provider: "claude_code" weight: 0.8 - timeout: 180 + timeout: 300 # raised from 180: a capped query needs ~180-250s; no retry on timeout now (see claude_code.py) retries: 2 retry_delay: 10 - reasoning_effort: "medium" + reasoning_effort: "high" + max_thinking_tokens: 4000 # cap extended thinking; uncapped it overflowed the timeout and burned a 2nd retry for nothing - name: "claude-haiku-4-5" provider: "claude_code" weight: 0.2 - timeout: 120 + timeout: 300 + max_thinking_tokens: 4000 prompt: system_message: | - You tune Z3 SMT solver parameters for a MaxSMT/optimization workload (50 SMT2 instances - with ~13k Int / 19k Bool / 40 Real vars, ~2k soft + 105k hard constraints, opt.* engaged). + You tune Z3 parameters for a z3.Optimize (soft-constraint) workload — 89 "reboot" + SMT2 instances with ~1k Int / 3k Bool / 0.2k Real vars, 42–392 assert-soft + 2.5k–41k + hard constraints, opt.* engaged. Every instance's optimal objective is 0 (all soft + constraints satisfiable), reached in well under 5s by the baseline. + + Scoring is COST mode with a WALL-CLOCK time signal: the optimization target is MINIMIZING + actual solve wall-time (baseline_ms / variant_ms speedup), which is the headroom that + matters on real hardware. The objective value is a CORRECTNESS GUARD: your variant + MUST still reach objective 0 on every instance (a worse/non-zero objective, or a + non-Sat result, is heavily penalized). Note that wall-time on this workload is short + and somewhat noisy, so favor changes with a clear, repeatable speedup over marginal ones. The initial_program.py exposes an EVOLVE-BLOCK dict (per phase: opt.*+sls.*, sat.*, smt.*, - or unified). Your job is to mutate this dict to MINIMIZE wall-clock time across the - benchmark while PRESERVING correctness (Sat/Unsat must match baseline). + or unified). Mutate this dict to cut solve wall-time while PRESERVING + correctness (result stays Sat, objective stays 0). Hard rules: - Do NOT modify sat.random_seed, smt.random_seed, sls.random_seed, parallel.enable diff --git a/input/z3-bench/evolve/final_verify.json b/input/z3-bench/evolve/final_verify.json new file mode 100644 index 0000000000..8045fdebd4 --- /dev/null +++ b/input/z3-bench/evolve/final_verify.json @@ -0,0 +1,26 @@ +{ + "program": "/home/hdson/workspace/openevolve/input/z3-bench/evolve/final_program.py", + "bench": "z3-bench", + "metrics": { + "combined_score": 1.6882556964580462, + "geomean_speedup": 1.3946359196991822, + "geomean_wall_speedup": 1.3946359196991822, + "solved_rate": 1.0, + "regressions": 0, + "solved": 20, + "comparable": 20, + "total": 20, + "uncomparable": 0, + "efficiency": 1.7749303396253342, + "efficiency_pairs": 20, + "stats_weight": 0.333, + "dtime_used": 0, + "dtime_fallback": 0, + "stage": "stage4", + "total_decisions": 10251126.0, + "total_propagations": 7678550.0, + "total_conflicts": 1596.0, + "total_rlimit count": 154181064.0 + }, + "summary": "solved=20/20 regressions=0 geomean=1.395 efficiency=1.775 score=1.688" +} diff --git a/input/z3-bench/evolve/phase4_unified/initial_program.py b/input/z3-bench/evolve/phase4_unified/initial_program.py index 873c63080f..454711c59b 100644 --- a/input/z3-bench/evolve/phase4_unified/initial_program.py +++ b/input/z3-bench/evolve/phase4_unified/initial_program.py @@ -36,7 +36,19 @@ def _resolve_bench_root(): # EVOLVE-BLOCK-START -UNIFIED_OVERRIDES = {} +# Auto-generated by prepare_phase_unified.py from union of prior phase winners. +UNIFIED_OVERRIDES = {'opt.maxsat_engine': 'pd-maxres', + 'opt.optsmt_engine': 'basic', + 'opt.priority': 'box', + 'sat.branching.heuristic': 'chb', + 'sat.gc': 'glue', + 'sat.pb.solver': 'sorting', + 'sat.phase': 'caching', + 'sat.restart': 'geometric', + 'smt.arith.solver': 2, + 'smt.case_split': 4, + 'smt.phase_selection': 3, + 'smt.restart_strategy': 1} # EVOLVE-BLOCK-END diff --git a/input/z3-bench/evolve/shared/local_baseline.json b/input/z3-bench/evolve/shared/local_baseline.json new file mode 100644 index 0000000000..626866bf2a --- /dev/null +++ b/input/z3-bench/evolve/shared/local_baseline.json @@ -0,0 +1,2857 @@ +{ + "2a465c36fe213a9c72c781832dfb561ffae3691905af41289a39ec08f585dbf2": { + "elapsed_ms": 665, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 319, + "stats": { + "conflicts": 316, + "decisions": 3176, + "propagations": 286662, + "binary propagations": 221035, + "restarts": 2, + "final checks": 11, + "added eqs": 32612, + "mk clause": 6627, + "mk clause binary": 265353, + "del clause": 1624, + "minimized lits": 1233, + "num checks": 12, + "mk bool var": 8566, + "pb resolves": 42, + "pb conflicts": 42, + "pb propagations": 99, + "pb predicates": 151, + "arith eq adapter": 1194, + "arith-lower": 11744, + "arith-upper": 11507, + "arith-fixed-eqs": 66, + "arith-conflicts": 23, + "arith-bound-propagations-lp": 8838, + "arith-diseq": 3610, + "arith-make-feasible": 2925, + "arith-max-columns": 313, + "arith-max-rows": 186, + "arith-offset-eqs": 1832, + "solve-eqs-steps": 13742, + "solve-eqs-elim-vars": 4800, + "num allocs": 92570946, + "rlimit count": 3037231, + "max memory": 85.4, + "memory": 82.74, + "time": 0.665 + } + }, + "5166f0ebaa5fe05e62ea4ed44f517f9d3cd44171362e99356dd6e33889cc5d81": { + "elapsed_ms": 712, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 358, + "stats": { + "conflicts": 313, + "decisions": 3505, + "propagations": 330565, + "binary propagations": 252670, + "restarts": 2, + "final checks": 7, + "added eqs": 40212, + "mk clause": 8277, + "mk clause binary": 307301, + "del clause": 2202, + "minimized lits": 756, + "num checks": 8, + "mk bool var": 11039, + "pb resolves": 44, + "pb conflicts": 44, + "pb propagations": 73, + "pb predicates": 249, + "arith eq adapter": 1550, + "arith-lower": 14873, + "arith-upper": 15036, + "arith-fixed-eqs": 148, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 10393, + "arith-diseq": 3633, + "arith-make-feasible": 2914, + "arith-max-columns": 423, + "arith-max-rows": 252, + "arith-offset-eqs": 2304, + "solve-eqs-steps": 14685, + "solve-eqs-elim-vars": 5124, + "num allocs": 102177112, + "rlimit count": 2584489, + "max memory": 91.78, + "memory": 90.56, + "time": 0.712 + } + }, + "23efdccb9e57a41897053370a5b6ad6b367e216afbfba952ded0a68b7ee7d4ae": { + "elapsed_ms": 747, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 364, + "stats": { + "conflicts": 118, + "decisions": 1782, + "propagations": 74794, + "binary propagations": 54096, + "restarts": 1, + "final checks": 6, + "added eqs": 9279, + "mk clause": 5470, + "mk clause binary": 214163, + "del clause": 1505, + "minimized lits": 143, + "num checks": 7, + "mk bool var": 7170, + "pb resolves": 43, + "pb conflicts": 43, + "pb propagations": 17, + "pb predicates": 242, + "arith eq adapter": 837, + "arith-lower": 3014, + "arith-upper": 2944, + "arith-fixed-eqs": 43, + "arith-conflicts": 8, + "arith-bound-propagations-lp": 1683, + "arith-diseq": 809, + "arith-make-feasible": 771, + "arith-max-columns": 277, + "arith-max-rows": 152, + "arith-offset-eqs": 374, + "solve-eqs-steps": 16020, + "solve-eqs-elim-vars": 5455, + "num allocs": 93441581, + "rlimit count": 4715542, + "max memory": 77.8, + "memory": 77.28, + "time": 0.747 + } + }, + "1c18f0ae6b70612542d6269bb8736b100331a42f18b375afba1da9b92c8548ba": { + "elapsed_ms": 819, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 365, + "stats": { + "conflicts": 111, + "decisions": 1212, + "propagations": 78142, + "binary propagations": 58456, + "restarts": 1, + "final checks": 11, + "added eqs": 9123, + "mk clause": 5805, + "mk clause binary": 224962, + "del clause": 1114, + "minimized lits": 248, + "num checks": 12, + "mk bool var": 7787, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 36, + "pb predicates": 147, + "arith eq adapter": 890, + "arith-lower": 3234, + "arith-upper": 3257, + "arith-fixed-eqs": 53, + "arith-conflicts": 6, + "arith-bound-propagations-lp": 1870, + "arith-diseq": 1310, + "arith-make-feasible": 885, + "arith-max-columns": 300, + "arith-max-rows": 173, + "arith-offset-eqs": 361, + "solve-eqs-steps": 15246, + "solve-eqs-elim-vars": 5365, + "num allocs": 105767147, + "rlimit count": 4836724, + "max memory": 78.52, + "memory": 78.11, + "time": 0.818 + } + }, + "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a": { + "elapsed_ms": 106, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 366, + "stats": { + "conflicts": 57, + "decisions": 959, + "propagations": 47700, + "binary propagations": 33638, + "final checks": 24, + "added eqs": 4528, + "mk clause": 2872, + "mk clause binary": 38558, + "del clause": 285, + "minimized lits": 163, + "num checks": 25, + "mk bool var": 3595, + "pb resolves": 12, + "pb conflicts": 15, + "pb propagations": 33, + "pb predicates": 102, + "arith eq adapter": 196, + "arith-lower": 1370, + "arith-upper": 1341, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 914, + "arith-diseq": 288, + "arith-make-feasible": 503, + "arith-max-columns": 157, + "arith-max-rows": 92, + "arith-offset-eqs": 258, + "arith-fixed-eqs": 332, + "solve-eqs-steps": 7146, + "solve-eqs-elim-vars": 3244, + "num allocs": 19083028, + "rlimit count": 1085456, + "max memory": 27.8, + "memory": 27.8, + "time": 0.105 + } + }, + "2f2003b96aa2bff75f9a8792a4817a23ff4e1e4ac247d2edf9cf8f0cf3907fed": { + "elapsed_ms": 346, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 368, + "stats": { + "conflicts": 207, + "decisions": 2186, + "propagations": 123263, + "binary propagations": 87567, + "restarts": 1, + "final checks": 11, + "added eqs": 11863, + "mk clause": 5120, + "mk clause binary": 130224, + "del clause": 1915, + "minimized lits": 792, + "num checks": 12, + "mk bool var": 6622, + "pb resolves": 41, + "pb conflicts": 41, + "pb propagations": 16, + "pb predicates": 235, + "arith eq adapter": 1107, + "arith-lower": 3952, + "arith-upper": 4299, + "arith-fixed-eqs": 126, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 2787, + "arith-diseq": 1585, + "arith-make-feasible": 1151, + "arith-max-columns": 195, + "arith-max-rows": 100, + "arith-offset-eqs": 360, + "solve-eqs-steps": 16011, + "solve-eqs-elim-vars": 5652, + "num allocs": 75844879, + "rlimit count": 4542104, + "max memory": 74.43, + "memory": 68.56, + "time": 0.346 + } + }, + "05c7f64a1db7d611df8501a987ca276e96cc2735993e171468b740f3babbb34e": { + "elapsed_ms": 398, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 412, + "stats": { + "conflicts": 287, + "decisions": 2250, + "propagations": 179181, + "binary propagations": 131675, + "restarts": 1, + "final checks": 13, + "added eqs": 18281, + "mk clause": 9058, + "mk clause binary": 289651, + "del clause": 3589, + "minimized lits": 478, + "num checks": 14, + "mk bool var": 10641, + "pb resolves": 75, + "pb conflicts": 75, + "pb propagations": 110, + "pb predicates": 245, + "arith eq adapter": 1636, + "arith-lower": 6039, + "arith-upper": 7058, + "arith-fixed-eqs": 455, + "arith-conflicts": 38, + "arith-bound-propagations-lp": 4491, + "arith-diseq": 3578, + "arith-make-feasible": 1817, + "arith-max-columns": 337, + "arith-max-rows": 196, + "arith-offset-eqs": 636, + "solve-eqs-steps": 15212, + "solve-eqs-elim-vars": 5314, + "num allocs": 115004179, + "rlimit count": 3655602, + "max memory": 90.85, + "memory": 89.03, + "time": 0.398 + } + }, + "1a35f6de8ab4447aec26efb9e44f59fb1943fc4b2569d1ab2eccbeac279c1063": { + "elapsed_ms": 717, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 426, + "stats": { + "conflicts": 104, + "decisions": 2206, + "propagations": 107849, + "binary propagations": 77508, + "final checks": 8, + "added eqs": 10676, + "mk clause": 7849, + "mk clause binary": 289333, + "del clause": 2538, + "minimized lits": 115, + "num checks": 9, + "mk bool var": 10956, + "pb resolves": 37, + "pb conflicts": 37, + "pb propagations": 67, + "pb predicates": 245, + "arith eq adapter": 1882, + "arith-lower": 3736, + "arith-upper": 3426, + "arith-fixed-eqs": 116, + "arith-conflicts": 9, + "arith-bound-propagations-lp": 2078, + "arith-diseq": 1864, + "arith-make-feasible": 986, + "arith-max-columns": 324, + "arith-max-rows": 185, + "arith-offset-eqs": 543, + "solve-eqs-steps": 14917, + "solve-eqs-elim-vars": 5314, + "num allocs": 102408550, + "rlimit count": 3687049, + "max memory": 90.86, + "memory": 88.88, + "time": 0.716 + } + }, + "4efdf6c97e97e17eb3147929ad909d803a37e51a691fee016c6456bf6efe6c83": { + "elapsed_ms": 777, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 427, + "stats": { + "conflicts": 346, + "decisions": 2796, + "propagations": 275438, + "binary propagations": 207164, + "restarts": 3, + "final checks": 8, + "added eqs": 25980, + "mk clause": 7665, + "mk clause binary": 292246, + "del clause": 2089, + "minimized lits": 833, + "num checks": 9, + "mk bool var": 9705, + "pb resolves": 46, + "pb conflicts": 46, + "pb propagations": 102, + "pb predicates": 245, + "arith eq adapter": 1276, + "arith-lower": 9348, + "arith-upper": 9214, + "arith-fixed-eqs": 238, + "arith-conflicts": 17, + "arith-bound-propagations-lp": 6379, + "arith-diseq": 2379, + "arith-make-feasible": 2272, + "arith-max-columns": 351, + "arith-max-rows": 207, + "arith-offset-eqs": 1508, + "solve-eqs-steps": 14850, + "solve-eqs-elim-vars": 5292, + "num allocs": 115207172, + "rlimit count": 3995856, + "max memory": 91.11, + "memory": 89.27, + "time": 0.777 + } + }, + "0c0ae51029de74681437b42a8f8a23f5045a9bbe1e60f4d18ef0e004d9b9b983": { + "elapsed_ms": 1042, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 530, + "stats": { + "conflicts": 61, + "decisions": 1522, + "propagations": 122889, + "binary propagations": 97242, + "final checks": 40, + "added eqs": 6624, + "mk clause": 6431, + "mk clause binary": 758054, + "del clause": 260, + "minimized lits": 636, + "num checks": 41, + "mk bool var": 7697, + "pb resolves": 6, + "pb conflicts": 6, + "pb propagations": 18, + "pb predicates": 67, + "arith eq adapter": 314, + "arith-lower": 3002, + "arith-upper": 3281, + "arith-conflicts": 14, + "arith-bound-propagations-lp": 2273, + "arith-diseq": 1907, + "arith-make-feasible": 1125, + "arith-max-columns": 288, + "arith-max-rows": 173, + "arith-offset-eqs": 326, + "arith-fixed-eqs": 618, + "solve-eqs-steps": 17220, + "solve-eqs-elim-vars": 5068, + "num allocs": 213922297, + "rlimit count": 2378813, + "max memory": 261.65, + "memory": 230.49, + "time": 1.042 + } + }, + "45730d888ee32d83f372b0431c7875c2159d864ab489bb8fbf36f272548e7cf5": { + "elapsed_ms": 4449, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2250, + "stats": { + "conflicts": 398, + "decisions": 10860, + "propagations": 546858, + "binary propagations": 414288, + "restarts": 3, + "final checks": 15, + "added eqs": 69978, + "mk clause": 20294, + "mk clause binary": 2222168, + "del clause": 8997, + "minimized lits": 548, + "num checks": 16, + "mk bool var": 26405, + "pb resolves": 159, + "pb conflicts": 159, + "pb propagations": 220, + "pb predicates": 495, + "arith eq adapter": 4023, + "arith-lower": 26362, + "arith-upper": 24730, + "arith-fixed-eqs": 1346, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 18513, + "arith-diseq": 12748, + "arith-make-feasible": 7193, + "arith-max-columns": 744, + "arith-max-rows": 446, + "arith-offset-eqs": 3394, + "solve-eqs-steps": 45943, + "solve-eqs-elim-vars": 11306, + "num allocs": 1822095065, + "rlimit count": 13621558, + "max memory": 583.33, + "memory": 561.24, + "time": 4.449 + } + }, + "4be05b5b981caff9c95b9b49e81076b7776ec05f6f02b8cec803e149e173e83c": { + "elapsed_ms": 2459, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2270, + "stats": { + "conflicts": 433, + "decisions": 6963, + "propagations": 1295743, + "binary propagations": 1016846, + "restarts": 3, + "final checks": 7, + "added eqs": 126082, + "mk clause": 23055, + "mk clause binary": 2497199, + "del clause": 6741, + "minimized lits": 2030, + "num checks": 8, + "mk bool var": 30360, + "pb resolves": 78, + "pb conflicts": 78, + "pb propagations": 115, + "pb predicates": 456, + "arith eq adapter": 4229, + "arith-lower": 48350, + "arith-upper": 46103, + "arith-fixed-eqs": 66, + "arith-conflicts": 65, + "arith-bound-propagations-lp": 27326, + "arith-diseq": 10262, + "arith-make-feasible": 5656, + "arith-max-columns": 929, + "arith-max-rows": 565, + "arith-offset-eqs": 7221, + "solve-eqs-steps": 39186, + "solve-eqs-elim-vars": 11535, + "num allocs": 1605530662, + "rlimit count": 9147780, + "max memory": 597.89, + "memory": 575.92, + "time": 2.459 + } + }, + "1927b5398ba22a23ab54f1919033fbf39851ae037bcd6d74beab63c69a817499": { + "elapsed_ms": 3629, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2273, + "stats": { + "conflicts": 183, + "decisions": 3371, + "propagations": 343839, + "binary propagations": 276922, + "restarts": 1, + "final checks": 7, + "added eqs": 34450, + "mk clause": 19959, + "mk clause binary": 2965140, + "del clause": 3585, + "minimized lits": 124, + "num checks": 8, + "mk bool var": 24406, + "pb resolves": 81, + "pb conflicts": 81, + "pb propagations": 109, + "pb predicates": 506, + "arith eq adapter": 2549, + "arith-lower": 12265, + "arith-upper": 12803, + "arith-fixed-eqs": 68, + "arith-conflicts": 19, + "arith-bound-propagations-lp": 7635, + "arith-diseq": 3471, + "arith-make-feasible": 2205, + "arith-max-columns": 819, + "arith-max-rows": 485, + "arith-offset-eqs": 1699, + "solve-eqs-steps": 41735, + "solve-eqs-elim-vars": 9949, + "num allocs": 1573145204, + "rlimit count": 6649816, + "max memory": 647.48, + "memory": 633.7, + "time": 3.629 + } + }, + "542477536440c3b0909da276e91540d9ac9e310305a49f4798c7c2f0860bbe27": { + "elapsed_ms": 4395, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2289, + "stats": { + "conflicts": 155, + "decisions": 6113, + "propagations": 458003, + "binary propagations": 357833, + "restarts": 1, + "final checks": 6, + "added eqs": 47235, + "mk clause": 18560, + "mk clause binary": 2325037, + "del clause": 4695, + "minimized lits": 186, + "num checks": 7, + "mk bool var": 23692, + "pb resolves": 67, + "pb conflicts": 67, + "pb propagations": 124, + "pb predicates": 498, + "arith eq adapter": 2791, + "arith-lower": 16606, + "arith-upper": 18234, + "arith-fixed-eqs": 352, + "arith-conflicts": 13, + "arith-bound-propagations-lp": 13709, + "arith-diseq": 6268, + "arith-make-feasible": 4103, + "arith-max-columns": 785, + "arith-max-rows": 467, + "arith-offset-eqs": 2821, + "solve-eqs-steps": 46604, + "solve-eqs-elim-vars": 11165, + "num allocs": 1755118130, + "rlimit count": 13504094, + "max memory": 589.87, + "memory": 567.11, + "time": 4.394 + } + }, + "089c72fcb8dea9b5fbb99948d1710fb7c676a6cf4840e201ed51d68451e1da75": { + "elapsed_ms": 4651, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2324, + "stats": { + "conflicts": 115, + "decisions": 2942, + "propagations": 283650, + "binary propagations": 225579, + "restarts": 1, + "final checks": 18, + "added eqs": 24335, + "mk clause": 17839, + "mk clause binary": 3133959, + "del clause": 511, + "minimized lits": 326, + "num checks": 19, + "mk bool var": 22138, + "pb resolves": 17, + "pb conflicts": 19, + "pb propagations": 64, + "pb predicates": 278, + "arith eq adapter": 846, + "arith-lower": 9680, + "arith-upper": 9315, + "arith-conflicts": 12, + "arith-bound-propagations-lp": 6595, + "arith-diseq": 1835, + "arith-make-feasible": 1799, + "arith-max-columns": 844, + "arith-max-rows": 538, + "arith-offset-eqs": 1359, + "arith-fixed-eqs": 2069, + "solve-eqs-steps": 45697, + "solve-eqs-elim-vars": 12072, + "num allocs": 2139188394, + "rlimit count": 7692070, + "max memory": 1033.37, + "memory": 905.93, + "time": 4.651 + } + }, + "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c": { + "elapsed_ms": 3478, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2343, + "stats": { + "conflicts": 639, + "decisions": 9306, + "propagations": 1431906, + "binary propagations": 1101047, + "restarts": 5, + "final checks": 13, + "added eqs": 145449, + "mk clause": 25687, + "mk clause binary": 2735555, + "del clause": 9997, + "minimized lits": 3191, + "num checks": 14, + "mk bool var": 32879, + "pb resolves": 99, + "pb conflicts": 99, + "pb propagations": 67, + "pb predicates": 849, + "arith eq adapter": 4096, + "arith-lower": 53611, + "arith-upper": 52624, + "arith-fixed-eqs": 880, + "arith-conflicts": 37, + "arith-bound-propagations-lp": 31541, + "arith-diseq": 10932, + "arith-make-feasible": 6282, + "arith-max-columns": 1091, + "arith-max-rows": 683, + "arith-offset-eqs": 8729, + "solve-eqs-steps": 47319, + "solve-eqs-elim-vars": 13203, + "num allocs": 2521867915, + "rlimit count": 15170720, + "max memory": 618.47, + "memory": 596.96, + "time": 3.478 + } + }, + "246a0083daac2287aed583155d9b750c682f349a1765547d8829ae2feaf9904d": { + "elapsed_ms": 4169, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2360, + "stats": { + "conflicts": 277, + "decisions": 8477, + "propagations": 873383, + "binary propagations": 690622, + "restarts": 2, + "final checks": 12, + "added eqs": 85055, + "mk clause": 18580, + "mk clause binary": 2475585, + "del clause": 2728, + "minimized lits": 682, + "num checks": 13, + "mk bool var": 24861, + "pb resolves": 64, + "pb conflicts": 64, + "pb propagations": 128, + "pb predicates": 455, + "arith eq adapter": 2516, + "arith-lower": 31254, + "arith-upper": 30493, + "arith-fixed-eqs": 102, + "arith-conflicts": 21, + "arith-bound-propagations-lp": 21332, + "arith-diseq": 7989, + "arith-make-feasible": 6908, + "arith-max-columns": 886, + "arith-max-rows": 537, + "arith-offset-eqs": 6507, + "solve-eqs-steps": 39268, + "solve-eqs-elim-vars": 11625, + "num allocs": 1706066095, + "rlimit count": 9063114, + "max memory": 596.32, + "memory": 574.49, + "time": 4.169 + } + }, + "53508daf15f2ae2b7f4418ed4493b7d7b9a5998d39183a0dbb726a8bd64ce992": { + "elapsed_ms": 4358, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2397, + "stats": { + "conflicts": 140, + "decisions": 7437, + "propagations": 524095, + "binary propagations": 403749, + "restarts": 1, + "final checks": 14, + "added eqs": 59017, + "mk clause": 18129, + "mk clause binary": 2460105, + "del clause": 2740, + "minimized lits": 195, + "num checks": 15, + "mk bool var": 23591, + "pb resolves": 62, + "pb conflicts": 62, + "pb propagations": 14, + "pb predicates": 451, + "arith eq adapter": 2281, + "arith-lower": 20637, + "arith-upper": 20627, + "arith-fixed-eqs": 145, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 14542, + "arith-diseq": 4143, + "arith-make-feasible": 4350, + "arith-max-columns": 810, + "arith-max-rows": 485, + "arith-offset-eqs": 4131, + "solve-eqs-steps": 40957, + "solve-eqs-elim-vars": 11786, + "num allocs": 1758699843, + "rlimit count": 11672127, + "max memory": 595.27, + "memory": 572.67, + "time": 4.358 + } + }, + "08d4f4aeb3e927265e66733473f2f5cee260ba52c5974106d2f9bd55f895c3d4": { + "elapsed_ms": 3147, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2599, + "stats": { + "conflicts": 584, + "decisions": 7761, + "propagations": 946805, + "binary propagations": 737579, + "restarts": 5, + "final checks": 10, + "added eqs": 97125, + "mk clause": 15665, + "mk clause binary": 1703451, + "del clause": 3277, + "minimized lits": 1502, + "num checks": 11, + "mk bool var": 19507, + "pb resolves": 87, + "pb conflicts": 87, + "pb propagations": 160, + "pb predicates": 373, + "arith eq adapter": 2119, + "arith-lower": 36184, + "arith-upper": 35794, + "arith-fixed-eqs": 580, + "arith-conflicts": 51, + "arith-bound-propagations-lp": 26145, + "arith-diseq": 8991, + "arith-make-feasible": 7378, + "arith-max-columns": 698, + "arith-max-rows": 433, + "arith-offset-eqs": 6314, + "solve-eqs-steps": 32362, + "solve-eqs-elim-vars": 9866, + "num allocs": 893957081, + "rlimit count": 8962690, + "max memory": 521.42, + "memory": 469.05, + "time": 3.146 + } + }, + "4215cf5d0a28847f8413d521980cf6a19ccbb155ee5f112045df0c26e8631b29": { + "elapsed_ms": 4635, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2698, + "stats": { + "conflicts": 118, + "decisions": 4067, + "propagations": 304886, + "binary propagations": 233378, + "final checks": 26, + "added eqs": 22721, + "mk clause": 17936, + "mk clause binary": 3133921, + "del clause": 653, + "minimized lits": 989, + "num checks": 27, + "mk bool var": 22199, + "pb resolves": 30, + "pb conflicts": 31, + "pb propagations": 81, + "pb predicates": 278, + "arith eq adapter": 870, + "arith-lower": 8617, + "arith-upper": 8359, + "arith-conflicts": 8, + "arith-bound-propagations-lp": 6385, + "arith-diseq": 2061, + "arith-make-feasible": 1850, + "arith-max-columns": 844, + "arith-max-rows": 538, + "arith-offset-eqs": 1235, + "arith-fixed-eqs": 2228, + "solve-eqs-steps": 45697, + "solve-eqs-elim-vars": 12072, + "num allocs": 2320113188, + "rlimit count": 7831357, + "max memory": 1033.37, + "memory": 905.86, + "time": 4.635 + } + }, + "318b1d8c24c40f72ceebb82e38c760cf2b659e78a051a108ea5a372318566a21": { + "elapsed_ms": 9485, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11157, + "stats": { + "conflicts": 358, + "decisions": 10546, + "propagations": 2103755, + "binary propagations": 1666025, + "restarts": 2, + "final checks": 18, + "added eqs": 201908, + "mk clause": 37820, + "mk clause binary": 7124425, + "del clause": 2312, + "minimized lits": 1494, + "num checks": 19, + "mk bool var": 49742, + "pb resolves": 80, + "pb conflicts": 80, + "pb propagations": 208, + "pb predicates": 467, + "arith eq adapter": 3065, + "arith-lower": 76061, + "arith-upper": 76100, + "arith-fixed-eqs": 1, + "arith-conflicts": 27, + "arith-bound-propagations-lp": 51219, + "arith-diseq": 10252, + "arith-make-feasible": 7781, + "arith-max-columns": 1919, + "arith-max-rows": 1196, + "arith-offset-eqs": 10205, + "solve-eqs-steps": 89521, + "solve-eqs-elim-vars": 22292, + "rlimit count": 28141188, + "max memory": 2033.9, + "memory": 1876.53, + "num allocs": 14480495896.0, + "time": 9.484 + } + }, + "5a1fa2a8b99340b9aed5f964fe259ae971ac1dc3907a758f3e086db6b21fb22d": { + "elapsed_ms": 5292, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11365, + "stats": { + "conflicts": 115, + "decisions": 2548, + "propagations": 304422, + "binary propagations": 248251, + "final checks": 39, + "added eqs": 17652, + "mk clause": 17991, + "mk clause binary": 4072147, + "del clause": 360, + "minimized lits": 612, + "num checks": 40, + "mk bool var": 20874, + "pb resolves": 9, + "pb conflicts": 9, + "pb propagations": 139, + "pb predicates": 146, + "arith eq adapter": 658, + "arith-lower": 7622, + "arith-upper": 7864, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 7352, + "arith-diseq": 3582, + "arith-make-feasible": 2391, + "arith-max-columns": 633, + "arith-max-rows": 389, + "arith-offset-eqs": 1508, + "arith-fixed-eqs": 2266, + "solve-eqs-steps": 49082, + "solve-eqs-elim-vars": 10532, + "num allocs": 3096959475, + "rlimit count": 7652076, + "max memory": 1119.37, + "memory": 1073.55, + "time": 5.291 + } + }, + "4f7415e2970ec0e37346a6d38cf4371a7e09fcd9792a4b3a737fe3577ec2dc21": { + "elapsed_ms": 5284, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11481, + "stats": { + "conflicts": 136, + "decisions": 2698, + "propagations": 321931, + "binary propagations": 261760, + "final checks": 22, + "added eqs": 18904, + "mk clause": 18011, + "mk clause binary": 4072180, + "del clause": 376, + "minimized lits": 1301, + "num checks": 23, + "mk bool var": 20918, + "pb resolves": 9, + "pb conflicts": 9, + "pb propagations": 116, + "pb predicates": 146, + "arith eq adapter": 670, + "arith-lower": 8190, + "arith-upper": 7875, + "arith-conflicts": 19, + "arith-bound-propagations-lp": 6879, + "arith-diseq": 2717, + "arith-make-feasible": 2360, + "arith-max-columns": 635, + "arith-max-rows": 390, + "arith-offset-eqs": 1426, + "arith-fixed-eqs": 2193, + "solve-eqs-steps": 49677, + "solve-eqs-elim-vars": 10532, + "num allocs": 2449928737, + "rlimit count": 7363194, + "max memory": 1119.56, + "memory": 1072.67, + "time": 5.283 + } + }, + "095a876a32793982486741d3211591fcd3cdf13375b6e16f170f10dc3a3570b2": { + "elapsed_ms": 5279, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 11659, + "stats": { + "conflicts": 128, + "decisions": 3708, + "propagations": 286334, + "binary propagations": 227372, + "final checks": 37, + "added eqs": 12077, + "mk clause": 18003, + "mk clause binary": 4075430, + "del clause": 393, + "minimized lits": 1940, + "num checks": 38, + "mk bool var": 20823, + "pb resolves": 10, + "pb conflicts": 10, + "pb propagations": 91, + "pb predicates": 146, + "arith eq adapter": 634, + "arith-lower": 5706, + "arith-upper": 4971, + "arith-conflicts": 12, + "arith-bound-propagations-lp": 4474, + "arith-diseq": 2192, + "arith-make-feasible": 1759, + "arith-max-columns": 628, + "arith-max-rows": 386, + "arith-offset-eqs": 830, + "arith-fixed-eqs": 1560, + "solve-eqs-steps": 49160, + "solve-eqs-elim-vars": 10581, + "num allocs": 2772124675, + "rlimit count": 7516234, + "max memory": 1119.47, + "memory": 1072.46, + "time": 5.278 + } + }, + "402c63333e354866268447df2b2b313105e207519677f69f344f48b08d262375": { + "elapsed_ms": 20865, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12131, + "stats": { + "conflicts": 1121, + "decisions": 16553, + "propagations": 5852895, + "binary propagations": 4754747, + "restarts": 9, + "final checks": 18, + "added eqs": 586162, + "mk clause": 45876, + "mk clause binary": 8954040, + "del clause": 2781, + "minimized lits": 7122, + "num checks": 19, + "mk bool var": 60692, + "pb resolves": 90, + "pb conflicts": 90, + "pb propagations": 380, + "pb predicates": 549, + "arith eq adapter": 3998, + "arith-lower": 222964, + "arith-upper": 222741, + "arith-fixed-eqs": 27, + "arith-conflicts": 149, + "arith-bound-propagations-lp": 129618, + "arith-diseq": 26135, + "arith-make-feasible": 18275, + "arith-max-columns": 2283, + "arith-max-rows": 1428, + "arith-offset-eqs": 33335, + "solve-eqs-steps": 104883, + "solve-eqs-elim-vars": 26498, + "rlimit count": 40660478, + "max memory": 2237.51, + "memory": 2121.53, + "num allocs": 24809411886.0, + "time": 20.865 + } + }, + "468b7a8717458ade54aa2f2e4f74fbf9c1e085e98f05d1faaa0c7f693d274b4e": { + "elapsed_ms": 4871, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12267, + "stats": { + "conflicts": 86, + "decisions": 2051, + "propagations": 180122, + "binary propagations": 144836, + "final checks": 24, + "added eqs": 10180, + "mk clause": 17958, + "mk clause binary": 4075508, + "del clause": 343, + "minimized lits": 877, + "num checks": 25, + "mk bool var": 20865, + "pb resolves": 10, + "pb conflicts": 12, + "pb propagations": 64, + "pb predicates": 146, + "arith eq adapter": 653, + "arith-lower": 3618, + "arith-upper": 4259, + "arith-conflicts": 10, + "arith-bound-propagations-lp": 3054, + "arith-diseq": 1039, + "arith-make-feasible": 1157, + "arith-max-columns": 632, + "arith-max-rows": 388, + "arith-offset-eqs": 610, + "arith-fixed-eqs": 1010, + "solve-eqs-steps": 49940, + "solve-eqs-elim-vars": 10581, + "num allocs": 2478327180, + "rlimit count": 7162967, + "max memory": 1119.89, + "memory": 1072.62, + "time": 4.871 + } + }, + "46268e065dcc863ead3e929d13f15b9209decc5cc2eb68840d17b484f827626c": { + "elapsed_ms": 20879, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12341, + "stats": { + "conflicts": 711, + "decisions": 13944, + "propagations": 4685308, + "binary propagations": 3802857, + "restarts": 6, + "final checks": 27, + "added eqs": 450364, + "mk clause": 45424, + "mk clause binary": 8954743, + "del clause": 2722, + "minimized lits": 3404, + "num checks": 28, + "mk bool var": 59737, + "pb resolves": 84, + "pb conflicts": 84, + "pb propagations": 282, + "pb predicates": 548, + "arith eq adapter": 3690, + "arith-lower": 172705, + "arith-upper": 174412, + "arith-fixed-eqs": 116, + "arith-conflicts": 111, + "arith-bound-propagations-lp": 106431, + "arith-diseq": 20542, + "arith-make-feasible": 15069, + "arith-max-columns": 2262, + "arith-max-rows": 1418, + "arith-offset-eqs": 25526, + "solve-eqs-steps": 105644, + "solve-eqs-elim-vars": 26568, + "rlimit count": 39201132, + "max memory": 2237.22, + "memory": 2120.86, + "num allocs": 26730115871.0, + "time": 20.879 + } + }, + "04524f16b53c41aefbce8192fd96a196cb323e0bfed7250a1b30f24c1610516f": { + "elapsed_ms": 15196, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12363, + "stats": { + "conflicts": 875, + "decisions": 13748, + "propagations": 4249828, + "binary propagations": 3430916, + "restarts": 8, + "final checks": 7, + "added eqs": 417817, + "mk clause": 38104, + "mk clause binary": 7138301, + "del clause": 2008, + "minimized lits": 4045, + "num checks": 8, + "mk bool var": 49733, + "pb resolves": 76, + "pb conflicts": 76, + "pb propagations": 322, + "pb predicates": 467, + "arith eq adapter": 3131, + "arith-lower": 162208, + "arith-upper": 155669, + "arith-conflicts": 98, + "arith-bound-propagations-lp": 103645, + "arith-diseq": 18016, + "arith-make-feasible": 12855, + "arith-max-columns": 1942, + "arith-max-rows": 1213, + "arith-offset-eqs": 23184, + "arith-fixed-eqs": 39662, + "solve-eqs-steps": 88915, + "solve-eqs-elim-vars": 22258, + "rlimit count": 30186567, + "max memory": 2035.09, + "memory": 1879.63, + "num allocs": 13220127167.0, + "time": 15.195 + } + }, + "55d55e00045955471f866aced2310467f08b3a78536ffe107c983b335d15d7ca": { + "elapsed_ms": 6823, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 12501, + "stats": { + "conflicts": 160, + "decisions": 8482, + "propagations": 1081235, + "binary propagations": 850629, + "restarts": 1, + "final checks": 10, + "added eqs": 116961, + "mk clause": 34839, + "mk clause binary": 6299174, + "del clause": 2246, + "minimized lits": 312, + "num checks": 11, + "mk bool var": 46271, + "pb resolves": 74, + "pb conflicts": 74, + "pb propagations": 144, + "pb predicates": 436, + "arith eq adapter": 3049, + "arith-lower": 43301, + "arith-upper": 42949, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 29893, + "arith-diseq": 5608, + "arith-make-feasible": 5818, + "arith-max-columns": 1816, + "arith-max-rows": 1131, + "arith-offset-eqs": 8018, + "arith-fixed-eqs": 11530, + "solve-eqs-steps": 79665, + "solve-eqs-elim-vars": 20322, + "rlimit count": 17054374, + "max memory": 1270.0, + "memory": 1227.03, + "num allocs": 9720020538.0, + "time": 6.822 + } + }, + "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8": { + "elapsed_ms": 25240, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 13086, + "stats": { + "conflicts": 346, + "decisions": 13879, + "propagations": 1852731, + "binary propagations": 1542459, + "restarts": 2, + "final checks": 57, + "added eqs": 101168, + "mk clause": 53762, + "mk clause binary": 14972623, + "del clause": 788, + "minimized lits": 4063, + "num checks": 58, + "mk bool var": 61279, + "pb resolves": 27, + "pb conflicts": 27, + "pb propagations": 367, + "pb predicates": 363, + "arith eq adapter": 1621, + "arith-lower": 42952, + "arith-upper": 42151, + "arith-conflicts": 73, + "arith-bound-propagations-lp": 37965, + "arith-diseq": 12892, + "arith-make-feasible": 10663, + "arith-max-columns": 1633, + "arith-max-rows": 1015, + "arith-offset-eqs": 5846, + "arith-fixed-eqs": 13173, + "solve-eqs-steps": 140510, + "solve-eqs-elim-vars": 27284, + "rlimit count": 26312539, + "max memory": 4322.04, + "memory": 4078.58, + "num allocs": 48408657981.0, + "time": 25.239 + } + }, + "1ea44fa504f1d53e3940de8d91ee10b5048fd1062e6761c55d39c51415d3d847": { + "elapsed_ms": 23, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 20, + "stats": { + "solve-eqs-steps": 3150, + "solve-eqs-elim-vars": 1876, + "num allocs": 1044162, + "rlimit count": 318805, + "max memory": 20.88, + "memory": 19.57, + "time": 0.023 + } + }, + "2314d64da1b6d3ee9ada61974f6c4cb8f0a677a6c95a6df4d9d1c8dc38a33a66": { + "elapsed_ms": 27, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 34, + "stats": { + "conflicts": 10, + "decisions": 143, + "propagations": 5158, + "binary propagations": 3340, + "final checks": 6, + "added eqs": 519, + "mk clause": 1072, + "mk clause binary": 5539, + "del clause": 77, + "minimized lits": 56, + "num checks": 7, + "mk bool var": 1181, + "pb resolves": 1, + "pb conflicts": 1, + "pb propagations": 2, + "pb predicates": 26, + "arith eq adapter": 73, + "arith-lower": 242, + "arith-upper": 253, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 221, + "arith-diseq": 152, + "arith-make-feasible": 101, + "arith-max-columns": 75, + "arith-max-rows": 39, + "arith-offset-eqs": 11, + "arith-fixed-eqs": 57, + "solve-eqs-steps": 2716, + "solve-eqs-elim-vars": 1615, + "num allocs": 1751956, + "rlimit count": 299703, + "max memory": 20.81, + "memory": 20.81, + "time": 0.027 + } + }, + "273bb808171103f0ad5be543c56b668dabe90046b661c467985c3e234225d942": { + "elapsed_ms": 71, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 51, + "stats": { + "solve-eqs-steps": 7191, + "solve-eqs-elim-vars": 3330, + "num allocs": 4226832, + "rlimit count": 839961, + "max memory": 24.39, + "memory": 21.81, + "time": 0.07 + } + }, + "389fd7729c73dbf56d084e10fcfdd77917195159f64f3f11c6af6a476426969b": { + "elapsed_ms": 105, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 87, + "stats": { + "conflicts": 2, + "decisions": 1, + "propagations": 1341, + "binary propagations": 1083, + "added eqs": 211, + "mk clause": 2344, + "mk clause binary": 30137, + "del clause": 185, + "num checks": 1, + "mk bool var": 2840, + "pb predicates": 114, + "arith eq adapter": 85, + "arith-lower": 14, + "arith-upper": 14, + "arith-bound-propagations-lp": 2, + "arith-diseq": 9, + "arith-make-feasible": 4, + "arith-max-columns": 124, + "arith-max-rows": 56, + "solve-eqs-steps": 7439, + "solve-eqs-elim-vars": 3269, + "num allocs": 13319276, + "rlimit count": 1324609, + "max memory": 26.4, + "memory": 26.15, + "time": 0.105 + } + }, + "037a45901c1e15d666701de863dfcc00f5b35bb8da52a03fde8161ed3a0b47f6": { + "elapsed_ms": 35, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 147, + "stats": { + "conflicts": 22, + "decisions": 172, + "propagations": 9091, + "binary propagations": 6585, + "final checks": 3, + "added eqs": 1323, + "mk clause": 1234, + "mk clause binary": 9797, + "del clause": 62, + "minimized lits": 2, + "num checks": 4, + "mk bool var": 1605, + "pb resolves": 2, + "pb conflicts": 3, + "pb propagations": 6, + "pb predicates": 26, + "arith eq adapter": 92, + "arith-lower": 466, + "arith-upper": 439, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 346, + "arith-diseq": 92, + "arith-make-feasible": 188, + "arith-max-columns": 85, + "arith-max-rows": 47, + "arith-offset-eqs": 88, + "arith-fixed-eqs": 137, + "solve-eqs-steps": 3190, + "solve-eqs-elim-vars": 1843, + "num allocs": 2955902, + "rlimit count": 407946, + "max memory": 21.9, + "memory": 21.9, + "time": 0.035 + } + }, + "4ff9d45ccb1e038c7a0f3fbb2d97ef091718be487340483f2776df46478bd511": { + "elapsed_ms": 235, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 188, + "stats": { + "conflicts": 34, + "decisions": 695, + "propagations": 29004, + "binary propagations": 21162, + "final checks": 13, + "added eqs": 2522, + "mk clause": 3416, + "mk clause binary": 161107, + "del clause": 304, + "minimized lits": 98, + "num checks": 14, + "mk bool var": 4082, + "pb resolves": 13, + "pb conflicts": 14, + "pb propagations": 14, + "pb predicates": 134, + "arith eq adapter": 188, + "arith-lower": 905, + "arith-upper": 1008, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 857, + "arith-diseq": 675, + "arith-make-feasible": 293, + "arith-max-columns": 166, + "arith-max-rows": 98, + "arith-offset-eqs": 285, + "arith-fixed-eqs": 198, + "solve-eqs-steps": 11397, + "solve-eqs-elim-vars": 3940, + "num allocs": 41382015, + "rlimit count": 2486358, + "max memory": 73.77, + "memory": 67.36, + "time": 0.235 + } + }, + "4323ecfd94c6453381e752dd1023d9c3feed0f91f60326ed716cb6e5e65b585d": { + "elapsed_ms": 290, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 223, + "stats": { + "conflicts": 72, + "decisions": 1225, + "propagations": 56836, + "binary propagations": 42308, + "final checks": 13, + "added eqs": 4098, + "mk clause": 4867, + "mk clause binary": 246073, + "del clause": 314, + "minimized lits": 176, + "num checks": 14, + "mk bool var": 5952, + "pb resolves": 15, + "pb conflicts": 19, + "pb propagations": 25, + "pb predicates": 137, + "arith eq adapter": 265, + "arith-lower": 1500, + "arith-upper": 1358, + "arith-fixed-eqs": 1, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 1216, + "arith-diseq": 475, + "arith-make-feasible": 435, + "arith-max-columns": 258, + "arith-max-rows": 161, + "arith-offset-eqs": 242, + "solve-eqs-steps": 12456, + "solve-eqs-elim-vars": 4805, + "num allocs": 67430724, + "rlimit count": 1604027, + "max memory": 77.12, + "memory": 76.59, + "time": 0.29 + } + }, + "312ad6712268239f49965147a6b73850f685b72845588649975005c5083d1cc1": { + "elapsed_ms": 330, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 261, + "stats": { + "conflicts": 3, + "decisions": 2, + "propagations": 2215, + "binary propagations": 1897, + "added eqs": 676, + "mk clause": 6279, + "mk clause binary": 309714, + "del clause": 410, + "num checks": 1, + "mk bool var": 8103, + "pb predicates": 247, + "arith eq adapter": 346, + "arith-lower": 8, + "arith-upper": 8, + "arith-bound-propagations-lp": 2, + "arith-diseq": 10, + "arith-make-feasible": 6, + "arith-max-columns": 401, + "arith-max-rows": 230, + "solve-eqs-steps": 14475, + "solve-eqs-elim-vars": 4863, + "num allocs": 92413110, + "rlimit count": 1937547, + "max memory": 92.17, + "memory": 88.96, + "time": 0.33 + } + }, + "4419b795af1847562e9c35be5535c08f9582079084cebe62f1f85c925624667a": { + "elapsed_ms": 282, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 261, + "stats": { + "conflicts": 4, + "decisions": 6, + "propagations": 5867, + "binary propagations": 4857, + "added eqs": 1031, + "mk clause": 5352, + "mk clause binary": 273980, + "del clause": 267, + "num checks": 1, + "mk bool var": 6971, + "pb predicates": 151, + "arith eq adapter": 316, + "arith-lower": 192, + "arith-upper": 190, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 29, + "arith-diseq": 15, + "arith-make-feasible": 17, + "arith-max-columns": 338, + "arith-max-rows": 193, + "arith-offset-eqs": 1, + "arith-fixed-eqs": 6, + "solve-eqs-steps": 13129, + "solve-eqs-elim-vars": 4506, + "num allocs": 68116549, + "rlimit count": 1619807, + "max memory": 88.48, + "memory": 85.47, + "time": 0.282 + } + }, + "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e": { + "elapsed_ms": 305, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 307, + "stats": { + "conflicts": 80, + "decisions": 1042, + "propagations": 76601, + "binary propagations": 57835, + "final checks": 8, + "added eqs": 9032, + "mk clause": 6454, + "mk clause binary": 275132, + "del clause": 1274, + "minimized lits": 220, + "num checks": 9, + "mk bool var": 8335, + "pb resolves": 21, + "pb conflicts": 21, + "pb predicates": 152, + "arith eq adapter": 886, + "arith-lower": 3124, + "arith-upper": 3363, + "arith-fixed-eqs": 1, + "arith-conflicts": 6, + "arith-bound-propagations-lp": 2392, + "arith-diseq": 928, + "arith-make-feasible": 514, + "arith-max-columns": 350, + "arith-max-rows": 201, + "arith-offset-eqs": 299, + "solve-eqs-steps": 13037, + "solve-eqs-elim-vars": 4554, + "num allocs": 77107376, + "rlimit count": 1806970, + "max memory": 88.57, + "memory": 86.43, + "time": 0.305 + } + }, + "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62": { + "elapsed_ms": 294, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 407, + "stats": { + "conflicts": 3, + "decisions": 6, + "propagations": 3081, + "binary propagations": 2545, + "added eqs": 622, + "mk clause": 5343, + "mk clause binary": 274028, + "del clause": 243, + "num checks": 1, + "mk bool var": 6929, + "pb predicates": 151, + "arith eq adapter": 293, + "arith-lower": 86, + "arith-upper": 86, + "arith-bound-propagations-lp": 20, + "arith-diseq": 11, + "arith-make-feasible": 11, + "arith-max-columns": 337, + "arith-max-rows": 193, + "arith-offset-eqs": 1, + "arith-fixed-eqs": 6, + "solve-eqs-steps": 13327, + "solve-eqs-elim-vars": 4506, + "num allocs": 68697451, + "rlimit count": 1616021, + "max memory": 88.35, + "memory": 85.24, + "time": 0.294 + } + }, + "07db09a3dacb493c0acc1cb5cfe106613e9d9ca1990ad21d96c3fcd528b5def9": { + "elapsed_ms": 814, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 657, + "stats": { + "conflicts": 141, + "decisions": 3032, + "propagations": 201025, + "binary propagations": 154916, + "restarts": 1, + "final checks": 14, + "added eqs": 22031, + "mk clause": 9433, + "mk clause binary": 858425, + "del clause": 1379, + "minimized lits": 494, + "num checks": 15, + "mk bool var": 12852, + "pb resolves": 31, + "pb conflicts": 31, + "pb propagations": 49, + "pb predicates": 199, + "arith eq adapter": 1381, + "arith-lower": 7982, + "arith-upper": 8135, + "arith-fixed-eqs": 1, + "arith-conflicts": 14, + "arith-bound-propagations-lp": 4974, + "arith-diseq": 2690, + "arith-make-feasible": 1683, + "arith-max-columns": 456, + "arith-max-rows": 266, + "arith-offset-eqs": 1040, + "solve-eqs-steps": 19983, + "solve-eqs-elim-vars": 6019, + "num allocs": 281486410, + "rlimit count": 3117712, + "max memory": 264.37, + "memory": 251.09, + "time": 0.814 + } + }, + "1cd3cd6f6f1799616500d7ae97f46c13ac97fad2a5650a4267fa728718d6c45e": { + "elapsed_ms": 819, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 787, + "stats": { + "conflicts": 19, + "decisions": 238, + "propagations": 28589, + "binary propagations": 22830, + "final checks": 6, + "added eqs": 1791, + "mk clause": 6493, + "mk clause binary": 1024679, + "del clause": 395, + "minimized lits": 73, + "num checks": 7, + "mk bool var": 7018, + "pb resolves": 5, + "pb conflicts": 5, + "pb propagations": 8, + "pb predicates": 81, + "arith eq adapter": 233, + "arith-lower": 991, + "arith-upper": 826, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 804, + "arith-diseq": 601, + "arith-make-feasible": 285, + "arith-max-columns": 230, + "arith-max-rows": 132, + "arith-offset-eqs": 97, + "arith-fixed-eqs": 181, + "solve-eqs-steps": 22211, + "solve-eqs-elim-vars": 5504, + "num allocs": 214214019, + "rlimit count": 3802141, + "max memory": 286.77, + "memory": 271.9, + "time": 0.819 + } + }, + "311ce11d1fd8d876cdc797fe9ea39055fb644352cfcd442a92c96625cc0ff969": { + "elapsed_ms": 935, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 890, + "stats": { + "conflicts": 38, + "decisions": 733, + "propagations": 53842, + "binary propagations": 41693, + "final checks": 17, + "added eqs": 3175, + "mk clause": 8103, + "mk clause binary": 1332179, + "del clause": 181, + "minimized lits": 352, + "num checks": 18, + "mk bool var": 8631, + "pb resolves": 6, + "pb conflicts": 6, + "pb propagations": 25, + "pb predicates": 86, + "arith eq adapter": 259, + "arith-lower": 1478, + "arith-upper": 1254, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 1166, + "arith-diseq": 606, + "arith-make-feasible": 454, + "arith-max-columns": 277, + "arith-max-rows": 162, + "arith-offset-eqs": 206, + "arith-fixed-eqs": 338, + "solve-eqs-steps": 21540, + "solve-eqs-elim-vars": 5445, + "num allocs": 265610973, + "rlimit count": 2578830, + "max memory": 316.33, + "memory": 305.73, + "time": 0.935 + } + }, + "3d9704766d76e47234b3a1742997f17846162020b631a39c46d05faba418be97": { + "elapsed_ms": 1150, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1041, + "stats": { + "conflicts": 103, + "decisions": 2971, + "propagations": 136379, + "binary propagations": 101405, + "final checks": 19, + "added eqs": 17135, + "mk clause": 12349, + "mk clause binary": 1459353, + "del clause": 2839, + "minimized lits": 206, + "num checks": 20, + "mk bool var": 17451, + "pb resolves": 48, + "pb conflicts": 48, + "pb propagations": 84, + "pb predicates": 234, + "arith eq adapter": 2523, + "arith-lower": 6423, + "arith-upper": 5195, + "arith-fixed-eqs": 25, + "arith-conflicts": 10, + "arith-bound-propagations-lp": 3299, + "arith-diseq": 3933, + "arith-make-feasible": 1563, + "arith-max-columns": 495, + "arith-max-rows": 290, + "arith-offset-eqs": 596, + "solve-eqs-steps": 25788, + "solve-eqs-elim-vars": 6652, + "num allocs": 443307521, + "rlimit count": 3858006, + "max memory": 327.25, + "memory": 317.54, + "time": 1.15 + } + }, + "2302d78a584311ce70cbfd625101a08704a76c6e205e3e84e6850781736d47eb": { + "elapsed_ms": 842, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1197, + "stats": { + "conflicts": 244, + "decisions": 3441, + "propagations": 221476, + "binary propagations": 166302, + "restarts": 2, + "final checks": 4, + "added eqs": 24816, + "mk clause": 7488, + "mk clause binary": 284925, + "del clause": 2255, + "minimized lits": 633, + "num checks": 5, + "mk bool var": 10139, + "pb resolves": 49, + "pb conflicts": 49, + "pb propagations": 81, + "pb predicates": 245, + "arith eq adapter": 1578, + "arith-lower": 9599, + "arith-upper": 9063, + "arith-fixed-eqs": 115, + "arith-conflicts": 9, + "arith-bound-propagations-lp": 6526, + "arith-diseq": 2898, + "arith-make-feasible": 2265, + "arith-max-columns": 334, + "arith-max-rows": 194, + "arith-offset-eqs": 1388, + "solve-eqs-steps": 15015, + "solve-eqs-elim-vars": 5308, + "num allocs": 99275120, + "rlimit count": 3667020, + "max memory": 90.49, + "memory": 88.62, + "time": 0.842 + } + }, + "54f3ffda93934157ff428a4143e2b2946c8e6dca6074c8a52678b4f622422dd0": { + "elapsed_ms": 1256, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 1202, + "stats": { + "conflicts": 26, + "decisions": 35, + "propagations": 53705, + "binary propagations": 46487, + "added eqs": 3971, + "mk clause": 9159, + "mk clause binary": 1200755, + "del clause": 1335, + "minimized lits": 17, + "num checks": 1, + "mk bool var": 11697, + "pb resolves": 1, + "pb conflicts": 1, + "pb propagations": 1, + "pb predicates": 229, + "arith eq adapter": 482, + "arith-lower": 1372, + "arith-upper": 1364, + "arith-conflicts": 4, + "arith-bound-propagations-lp": 622, + "arith-diseq": 263, + "arith-make-feasible": 137, + "arith-max-columns": 464, + "arith-max-rows": 263, + "arith-offset-eqs": 178, + "arith-fixed-eqs": 215, + "solve-eqs-steps": 28406, + "solve-eqs-elim-vars": 7514, + "num allocs": 503303323, + "rlimit count": 7155196, + "max memory": 302.77, + "memory": 287.52, + "time": 1.256 + } + }, + "0c18c62bb9cd847041b708fea996e4c4f039bb537e268a838a1352722305c716": { + "elapsed_ms": 3132, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1387, + "stats": { + "conflicts": 368, + "decisions": 6701, + "propagations": 616301, + "binary propagations": 472988, + "restarts": 3, + "final checks": 18, + "added eqs": 70284, + "mk clause": 16073, + "mk clause binary": 1718461, + "del clause": 3099, + "minimized lits": 864, + "num checks": 19, + "mk bool var": 20559, + "pb resolves": 64, + "pb conflicts": 64, + "pb propagations": 160, + "pb predicates": 377, + "arith eq adapter": 2118, + "arith-lower": 26077, + "arith-upper": 25774, + "arith-fixed-eqs": 351, + "arith-conflicts": 34, + "arith-bound-propagations-lp": 17703, + "arith-diseq": 7099, + "arith-make-feasible": 4974, + "arith-max-columns": 797, + "arith-max-rows": 494, + "arith-offset-eqs": 4778, + "solve-eqs-steps": 31961, + "solve-eqs-elim-vars": 9634, + "num allocs": 927977451, + "rlimit count": 6729575, + "max memory": 521.05, + "memory": 470.42, + "time": 3.132 + } + }, + "1eadea88d320dce4a4b9b8fe724d215c89c66591ac61e51ad3822a0f45a3f021": { + "elapsed_ms": 3012, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1475, + "stats": { + "conflicts": 232, + "decisions": 5282, + "propagations": 519433, + "binary propagations": 408175, + "restarts": 1, + "final checks": 15, + "added eqs": 59067, + "mk clause": 15543, + "mk clause binary": 1718526, + "del clause": 2737, + "minimized lits": 994, + "num checks": 16, + "mk bool var": 21342, + "pb resolves": 52, + "pb conflicts": 52, + "pb propagations": 90, + "pb predicates": 377, + "arith eq adapter": 2382, + "arith-lower": 21675, + "arith-upper": 21342, + "arith-fixed-eqs": 147, + "arith-conflicts": 25, + "arith-bound-propagations-lp": 13622, + "arith-diseq": 4496, + "arith-make-feasible": 4182, + "arith-max-columns": 772, + "arith-max-rows": 470, + "arith-offset-eqs": 3609, + "solve-eqs-steps": 31779, + "solve-eqs-elim-vars": 9634, + "num allocs": 875591321, + "rlimit count": 6522136, + "max memory": 521.02, + "memory": 470.15, + "time": 3.012 + } + }, + "56b2f7e062c385b199567fa507f9723f8eef92fac629c28c947c690110508868": { + "elapsed_ms": 2118, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1580, + "stats": { + "conflicts": 578, + "decisions": 10469, + "propagations": 1029973, + "binary propagations": 802580, + "restarts": 4, + "final checks": 17, + "added eqs": 107842, + "mk clause": 16112, + "mk clause binary": 1706481, + "del clause": 3585, + "minimized lits": 1788, + "num checks": 18, + "mk bool var": 20710, + "pb resolves": 74, + "pb conflicts": 74, + "pb propagations": 135, + "pb predicates": 375, + "arith eq adapter": 2432, + "arith-lower": 41242, + "arith-upper": 39219, + "arith-fixed-eqs": 568, + "arith-conflicts": 48, + "arith-bound-propagations-lp": 27872, + "arith-diseq": 10800, + "arith-make-feasible": 8244, + "arith-max-columns": 720, + "arith-max-rows": 446, + "arith-offset-eqs": 6674, + "solve-eqs-steps": 32150, + "solve-eqs-elim-vars": 9807, + "num allocs": 993267271, + "rlimit count": 8526945, + "max memory": 521.12, + "memory": 469.42, + "time": 2.118 + } + }, + "48ba4e9efa030819c2a38d4f5b33f08b38bd8a7a5fdddc0ecd6b85eff1c8d716": { + "elapsed_ms": 1767, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1650, + "stats": { + "conflicts": 315, + "decisions": 5339, + "propagations": 600489, + "binary propagations": 460537, + "restarts": 2, + "final checks": 11, + "added eqs": 62526, + "mk clause": 16027, + "mk clause binary": 1727317, + "del clause": 3026, + "minimized lits": 633, + "num checks": 12, + "mk bool var": 21065, + "pb resolves": 48, + "pb conflicts": 48, + "pb propagations": 139, + "pb predicates": 377, + "arith eq adapter": 2478, + "arith-lower": 22290, + "arith-upper": 21290, + "arith-fixed-eqs": 277, + "arith-conflicts": 14, + "arith-bound-propagations-lp": 15116, + "arith-diseq": 4418, + "arith-make-feasible": 4431, + "arith-max-columns": 788, + "arith-max-rows": 483, + "arith-offset-eqs": 3549, + "solve-eqs-steps": 31762, + "solve-eqs-elim-vars": 9630, + "num allocs": 856540956, + "rlimit count": 6199004, + "max memory": 522.34, + "memory": 470.69, + "time": 1.767 + } + }, + "043e86d34f47f4f81c918163838508de3f3c368208a5126c828a7b467b5eec7b": { + "elapsed_ms": 2730, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 1796, + "stats": { + "conflicts": 92, + "decisions": 1305, + "propagations": 150778, + "binary propagations": 122395, + "final checks": 13, + "added eqs": 8728, + "mk clause": 12598, + "mk clause binary": 2604533, + "del clause": 240, + "minimized lits": 90, + "num checks": 14, + "mk bool var": 13364, + "pb resolves": 7, + "pb conflicts": 7, + "pb propagations": 114, + "pb predicates": 116, + "arith eq adapter": 385, + "arith-lower": 4339, + "arith-upper": 3895, + "arith-conflicts": 26, + "arith-bound-propagations-lp": 3469, + "arith-diseq": 2161, + "arith-make-feasible": 1834, + "arith-max-columns": 376, + "arith-max-rows": 223, + "arith-offset-eqs": 555, + "arith-fixed-eqs": 1154, + "solve-eqs-steps": 34210, + "solve-eqs-elim-vars": 7419, + "num allocs": 805210036, + "rlimit count": 4487429, + "max memory": 618.74, + "memory": 603.81, + "time": 2.73 + } + }, + "2c80d26974732941d7f04d454c5dba4a56e967f30f45775a35373bb60be7164a": { + "elapsed_ms": 3652, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 1932, + "stats": { + "conflicts": 9, + "decisions": 24, + "propagations": 32143, + "binary propagations": 27367, + "added eqs": 3194, + "mk clause": 15972, + "mk clause binary": 2955580, + "del clause": 480, + "minimized lits": 9, + "num checks": 1, + "mk bool var": 19384, + "pb predicates": 274, + "arith eq adapter": 673, + "arith-lower": 956, + "arith-upper": 966, + "arith-conflicts": 2, + "arith-bound-propagations-lp": 279, + "arith-diseq": 89, + "arith-make-feasible": 84, + "arith-max-columns": 671, + "arith-max-rows": 424, + "arith-offset-eqs": 66, + "arith-fixed-eqs": 72, + "solve-eqs-steps": 40764, + "solve-eqs-elim-vars": 9811, + "num allocs": 1531388173, + "rlimit count": 8554424, + "max memory": 645.61, + "memory": 629.41, + "time": 3.652 + } + }, + "20d9b61a0b0bea39b9507de6a5d76e41d46d303a2bc140c1dbc30e1e45d5a4cc": { + "elapsed_ms": 4106, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2117, + "stats": { + "conflicts": 18, + "decisions": 19, + "propagations": 52332, + "binary propagations": 44667, + "added eqs": 6200, + "mk clause": 14467, + "mk clause binary": 2139627, + "del clause": 2027, + "minimized lits": 10, + "num checks": 1, + "mk bool var": 18751, + "pb propagations": 3, + "pb predicates": 495, + "arith eq adapter": 769, + "arith-lower": 1951, + "arith-upper": 1941, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 907, + "arith-diseq": 241, + "arith-make-feasible": 127, + "arith-max-columns": 715, + "arith-max-rows": 406, + "arith-offset-eqs": 246, + "arith-fixed-eqs": 296, + "solve-eqs-steps": 45075, + "solve-eqs-elim-vars": 11093, + "num allocs": 1571033613, + "rlimit count": 12397508, + "max memory": 583.69, + "memory": 558.61, + "time": 4.106 + } + }, + "24b0f9d635f110184c196a1e5e849a4a4c2e088516e1faa3e058c69e6d8b6bf1": { + "elapsed_ms": 2740, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 2173, + "stats": { + "conflicts": 179, + "decisions": 5860, + "propagations": 205415, + "binary propagations": 152268, + "final checks": 14, + "added eqs": 31052, + "mk clause": 20842, + "mk clause binary": 2224412, + "del clause": 9937, + "minimized lits": 195, + "num checks": 15, + "mk bool var": 29857, + "pb resolves": 99, + "pb conflicts": 99, + "pb propagations": 83, + "pb predicates": 496, + "arith eq adapter": 5947, + "arith-lower": 11492, + "arith-upper": 10019, + "arith-fixed-eqs": 119, + "arith-conflicts": 26, + "arith-bound-propagations-lp": 5977, + "arith-diseq": 6839, + "arith-make-feasible": 3056, + "arith-max-columns": 749, + "arith-max-rows": 440, + "arith-offset-eqs": 1263, + "solve-eqs-steps": 45497, + "solve-eqs-elim-vars": 11285, + "num allocs": 1710205187, + "rlimit count": 12959842, + "max memory": 583.4, + "memory": 560.85, + "time": 2.74 + } + }, + "52279df319ed088fdca1321385bee2352530ad3fdcbe92ea82d3a61158019a1d": { + "elapsed_ms": 4112, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2541, + "stats": { + "conflicts": 9, + "decisions": 11, + "propagations": 31531, + "binary propagations": 26357, + "added eqs": 3789, + "mk clause": 14553, + "mk clause binary": 2281019, + "del clause": 2661, + "num checks": 1, + "mk bool var": 18687, + "pb predicates": 495, + "arith eq adapter": 714, + "arith-lower": 1037, + "arith-upper": 1030, + "arith-conflicts": 1, + "arith-bound-propagations-lp": 515, + "arith-diseq": 96, + "arith-make-feasible": 51, + "arith-max-columns": 718, + "arith-max-rows": 409, + "arith-offset-eqs": 91, + "arith-fixed-eqs": 156, + "solve-eqs-steps": 45820, + "solve-eqs-elim-vars": 11099, + "num allocs": 1639281666, + "rlimit count": 12481144, + "max memory": 587.23, + "memory": 561.83, + "time": 4.112 + } + }, + "04731b4c69952d7a0d2b7c69fbb0ef512239e09fbbcae6fe4553e09e5e966844": { + "elapsed_ms": 1555, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2791, + "stats": { + "conflicts": 19, + "decisions": 62, + "propagations": 39988, + "binary propagations": 32794, + "added eqs": 4950, + "mk clause": 10457, + "mk clause binary": 987701, + "del clause": 647, + "minimized lits": 22, + "num checks": 1, + "mk bool var": 13535, + "pb predicates": 326, + "arith eq adapter": 643, + "arith-lower": 1228, + "arith-upper": 1214, + "arith-bound-propagations-lp": 382, + "arith-diseq": 105, + "arith-make-feasible": 103, + "arith-max-columns": 601, + "arith-max-rows": 352, + "arith-offset-eqs": 94, + "arith-fixed-eqs": 150, + "solve-eqs-steps": 23443, + "solve-eqs-elim-vars": 7024, + "num allocs": 364504835, + "rlimit count": 3948124, + "max memory": 293.01, + "memory": 277.97, + "time": 1.554 + } + }, + "2df16cb0bc5584c4044521a5d57afbf401d893f4e241f1bf5cb2425a5dd502a9": { + "elapsed_ms": 3783, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 2934, + "stats": { + "conflicts": 946, + "decisions": 5911, + "propagations": 1893253, + "binary propagations": 1480993, + "restarts": 8, + "added eqs": 163757, + "mk clause": 22801, + "mk clause binary": 2529940, + "del clause": 8506, + "minimized lits": 7429, + "num checks": 1, + "mk bool var": 26614, + "pb resolves": 25, + "pb conflicts": 25, + "pb propagations": 118, + "pb predicates": 844, + "arith eq adapter": 2475, + "arith-lower": 58487, + "arith-upper": 58524, + "arith-fixed-eqs": 70, + "arith-conflicts": 41, + "arith-bound-propagations-lp": 37123, + "arith-diseq": 6774, + "arith-make-feasible": 5804, + "arith-max-columns": 910, + "arith-max-rows": 548, + "arith-offset-eqs": 8833, + "solve-eqs-steps": 47953, + "solve-eqs-elim-vars": 13562, + "num allocs": 2158488240, + "rlimit count": 21054202, + "max memory": 604.72, + "memory": 581.73, + "time": 3.783 + } + }, + "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84": { + "elapsed_ms": 5746, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 3350, + "stats": { + "conflicts": 417, + "decisions": 11540, + "propagations": 1128638, + "binary propagations": 849055, + "restarts": 3, + "final checks": 11, + "added eqs": 113826, + "mk clause": 25677, + "mk clause binary": 2682505, + "del clause": 7791, + "minimized lits": 1561, + "num checks": 12, + "mk bool var": 31692, + "pb resolves": 140, + "pb conflicts": 140, + "pb propagations": 151, + "pb predicates": 845, + "arith eq adapter": 4218, + "arith-lower": 40885, + "arith-upper": 41967, + "arith-fixed-eqs": 512, + "arith-conflicts": 31, + "arith-bound-propagations-lp": 27128, + "arith-diseq": 12159, + "arith-make-feasible": 7169, + "arith-max-columns": 935, + "arith-max-rows": 567, + "arith-offset-eqs": 6913, + "solve-eqs-steps": 47248, + "solve-eqs-elim-vars": 13455, + "num allocs": 2287354252, + "rlimit count": 15791680, + "max memory": 611.37, + "memory": 589.53, + "time": 5.745 + } + }, + "2de9f07a7bd7d34d18efa566f5cf0d799ef07bf0499928807f6ba8c635b1d766": { + "elapsed_ms": 2465, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 4105, + "stats": { + "conflicts": 4, + "decisions": 8, + "propagations": 11169, + "binary propagations": 9419, + "added eqs": 2032, + "mk clause": 13319, + "mk clause binary": 1730661, + "del clause": 648, + "num checks": 1, + "mk bool var": 17022, + "pb predicates": 374, + "arith eq adapter": 693, + "arith-lower": 372, + "arith-upper": 368, + "arith-bound-propagations-lp": 33, + "arith-diseq": 36, + "arith-make-feasible": 25, + "arith-max-columns": 744, + "arith-max-rows": 441, + "arith-offset-eqs": 21, + "arith-fixed-eqs": 7, + "solve-eqs-steps": 31329, + "solve-eqs-elim-vars": 8411, + "num allocs": 730130005, + "rlimit count": 4883355, + "max memory": 522.23, + "memory": 466.98, + "time": 2.465 + } + }, + "51d8a28c260d1c105f43f19cbee7e0a17dfbf8fb2ff6a5b78029f5a8bbe1d2be": { + "elapsed_ms": 3211, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 5953, + "stats": { + "conflicts": 383, + "decisions": 8075, + "propagations": 708016, + "binary propagations": 544260, + "restarts": 2, + "final checks": 22, + "added eqs": 74840, + "mk clause": 16286, + "mk clause binary": 1726047, + "del clause": 3391, + "minimized lits": 1376, + "num checks": 23, + "mk bool var": 21228, + "pb resolves": 81, + "pb conflicts": 81, + "pb propagations": 130, + "pb predicates": 376, + "arith eq adapter": 2518, + "arith-lower": 27174, + "arith-upper": 26498, + "arith-fixed-eqs": 445, + "arith-conflicts": 24, + "arith-bound-propagations-lp": 17664, + "arith-diseq": 5216, + "arith-make-feasible": 5467, + "arith-max-columns": 773, + "arith-max-rows": 471, + "arith-offset-eqs": 5096, + "solve-eqs-steps": 32272, + "solve-eqs-elim-vars": 9684, + "num allocs": 980089733, + "rlimit count": 6552144, + "max memory": 521.09, + "memory": 470.71, + "time": 3.211 + } + }, + "519ce8d31fa5d52edf4c3db0219713193457fd8a069329c1c4ee0c332620ce10": { + "elapsed_ms": 1895, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 7096, + "stats": { + "conflicts": 147, + "decisions": 2985, + "propagations": 200315, + "binary propagations": 157338, + "final checks": 10, + "added eqs": 22289, + "mk clause": 16037, + "mk clause binary": 1714559, + "del clause": 4182, + "minimized lits": 435, + "num checks": 11, + "mk bool var": 20806, + "pb resolves": 44, + "pb conflicts": 44, + "pb propagations": 32, + "pb predicates": 230, + "arith eq adapter": 2694, + "arith-lower": 7477, + "arith-upper": 8021, + "arith-fixed-eqs": 88, + "arith-conflicts": 17, + "arith-bound-propagations-lp": 4623, + "arith-diseq": 2625, + "arith-make-feasible": 1674, + "arith-max-columns": 650, + "arith-max-rows": 395, + "arith-offset-eqs": 1030, + "solve-eqs-steps": 32682, + "solve-eqs-elim-vars": 8806, + "num allocs": 873673060, + "rlimit count": 8718737, + "max memory": 521.19, + "memory": 467.78, + "time": 1.894 + } + }, + "46bd96aba2874a423d4349726ef65aef5af3e1a9385c4592d7532b26327f94ff": { + "elapsed_ms": 13378, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 7167, + "stats": { + "conflicts": 239, + "decisions": 10213, + "propagations": 1016699, + "binary propagations": 786113, + "restarts": 1, + "final checks": 31, + "added eqs": 99744, + "mk clause": 40020, + "mk clause binary": 7134350, + "del clause": 4383, + "minimized lits": 1173, + "num checks": 32, + "mk bool var": 53834, + "pb resolves": 69, + "pb conflicts": 69, + "pb propagations": 65, + "pb predicates": 469, + "arith eq adapter": 4530, + "arith-lower": 37536, + "arith-upper": 35424, + "arith-fixed-eqs": 17, + "arith-conflicts": 18, + "arith-bound-propagations-lp": 23256, + "arith-diseq": 8730, + "arith-make-feasible": 5690, + "arith-max-columns": 2004, + "arith-max-rows": 1259, + "arith-offset-eqs": 5419, + "solve-eqs-steps": 88098, + "solve-eqs-elim-vars": 24247, + "rlimit count": 19517435, + "max memory": 2036.34, + "memory": 1889.9, + "num allocs": 15138305412.0, + "time": 13.377 + } + }, + "0b900874b1fc0340c8c1ff5f8f62093926ef541289d4d118495a782764e1b1da": { + "elapsed_ms": 15830, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 8277, + "stats": { + "conflicts": 7, + "decisions": 24, + "propagations": 44054, + "binary propagations": 36840, + "added eqs": 7582, + "mk clause": 42697, + "mk clause binary": 8913150, + "del clause": 930, + "minimized lits": 11, + "num checks": 1, + "mk bool var": 55454, + "pb predicates": 546, + "arith eq adapter": 2184, + "arith-lower": 2134, + "arith-upper": 2141, + "arith-bound-propagations-lp": 851, + "arith-diseq": 91, + "arith-make-feasible": 102, + "arith-max-columns": 2229, + "arith-max-rows": 1393, + "arith-offset-eqs": 104, + "arith-fixed-eqs": 344, + "solve-eqs-steps": 106234, + "solve-eqs-elim-vars": 26307, + "rlimit count": 28147380, + "max memory": 2233.2, + "memory": 2107.73, + "num allocs": 18819144665.0, + "time": 15.83 + } + }, + "56d5b7cbf50bf3a3117f42b1a37eeaf64459957daf9db11a0f003775befca840": { + "elapsed_ms": 9823, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 9606, + "stats": { + "conflicts": 757, + "decisions": 19358, + "propagations": 4229365, + "binary propagations": 3418327, + "restarts": 7, + "final checks": 15, + "added eqs": 456140, + "mk clause": 38525, + "mk clause binary": 7149137, + "del clause": 2193, + "minimized lits": 3414, + "num checks": 16, + "mk bool var": 51054, + "pb resolves": 75, + "pb conflicts": 75, + "pb propagations": 292, + "pb predicates": 469, + "arith eq adapter": 3361, + "arith-lower": 170294, + "arith-upper": 167673, + "arith-conflicts": 92, + "arith-bound-propagations-lp": 111722, + "arith-diseq": 19017, + "arith-make-feasible": 16984, + "arith-max-columns": 2002, + "arith-max-rows": 1254, + "arith-offset-eqs": 29684, + "arith-fixed-eqs": 43323, + "solve-eqs-steps": 87549, + "solve-eqs-elim-vars": 22139, + "rlimit count": 23956077, + "max memory": 2034.5, + "memory": 1881.7, + "num allocs": 14279923810.0, + "time": 9.823 + } + }, + "4e8f9f03e736e5ed6a8defc624d75197cb7b3e12783f2cf4a8ddcbe7d5c7873d": { + "elapsed_ms": 15049, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 10483, + "stats": { + "conflicts": 386, + "decisions": 13216, + "propagations": 2685190, + "binary propagations": 2158268, + "restarts": 3, + "final checks": 19, + "added eqs": 271495, + "mk clause": 37389, + "mk clause binary": 7137960, + "del clause": 1801, + "minimized lits": 1081, + "num checks": 20, + "mk bool var": 50907, + "pb resolves": 67, + "pb conflicts": 67, + "pb propagations": 111, + "pb predicates": 467, + "arith eq adapter": 3425, + "arith-lower": 101475, + "arith-upper": 100528, + "arith-conflicts": 49, + "arith-bound-propagations-lp": 65669, + "arith-diseq": 12419, + "arith-make-feasible": 8863, + "arith-max-columns": 1939, + "arith-max-rows": 1211, + "arith-offset-eqs": 16892, + "arith-fixed-eqs": 24994, + "solve-eqs-steps": 88344, + "solve-eqs-elim-vars": 22258, + "rlimit count": 28066123, + "max memory": 2034.6, + "memory": 1879.38, + "num allocs": 14985394397.0, + "time": 15.049 + } + }, + "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f": { + "elapsed_ms": 22473, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 12712, + "stats": { + "conflicts": 31, + "decisions": 165, + "propagations": 152444, + "binary propagations": 133424, + "added eqs": 10417, + "mk clause": 53376, + "mk clause binary": 14969876, + "del clause": 609, + "minimized lits": 48, + "num checks": 1, + "mk bool var": 61188, + "pb propagations": 29, + "pb predicates": 363, + "arith eq adapter": 1591, + "arith-lower": 3687, + "arith-upper": 3788, + "arith-conflicts": 3, + "arith-bound-propagations-lp": 2078, + "arith-diseq": 506, + "arith-make-feasible": 489, + "arith-max-columns": 1633, + "arith-max-rows": 1015, + "arith-offset-eqs": 221, + "arith-fixed-eqs": 630, + "solve-eqs-steps": 140629, + "solve-eqs-elim-vars": 27284, + "rlimit count": 21751272, + "max memory": 4321.89, + "memory": 4068.81, + "num allocs": 34195762052.0, + "time": 22.473 + } + }, + "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416": { + "elapsed_ms": 15634, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 14992, + "stats": { + "conflicts": 27, + "decisions": 79, + "propagations": 144900, + "binary propagations": 123789, + "added eqs": 9276, + "mk clause": 53346, + "mk clause binary": 14961098, + "del clause": 609, + "minimized lits": 43, + "num checks": 1, + "mk bool var": 61148, + "pb propagations": 17, + "pb predicates": 363, + "arith eq adapter": 1591, + "arith-lower": 3345, + "arith-upper": 3271, + "arith-conflicts": 11, + "arith-bound-propagations-lp": 1758, + "arith-diseq": 405, + "arith-make-feasible": 328, + "arith-max-columns": 1631, + "arith-max-rows": 1015, + "arith-offset-eqs": 231, + "arith-fixed-eqs": 482, + "solve-eqs-steps": 140314, + "solve-eqs-elim-vars": 27284, + "rlimit count": 21013773, + "max memory": 4321.44, + "memory": 4068.7, + "num allocs": 33593424702.0, + "time": 15.634 + } + }, + "37b6d012f0c252781d07ef5ceaaf458e559853f9c1b13e9b2399bc8209bae47d": { + "elapsed_ms": 62967, + "result": "Sat", + "matches_raw": true, + "raw_elapsed_ms": 20621, + "stats": { + "conflicts": 8494, + "decisions": 149199, + "propagations": 54830274, + "binary propagations": 43526682, + "restarts": 61, + "final checks": 26, + "added eqs": 6770434, + "mk clause": 60112, + "mk clause binary": 6162110, + "del clause": 10050, + "minimized lits": 95829, + "num checks": 27, + "mk bool var": 74271, + "pb resolves": 385, + "pb conflicts": 385, + "pb propagations": 4984, + "pb predicates": 2479, + "arith eq adapter": 7437, + "arith-lower": 2447611, + "arith-upper": 2464985, + "arith-fixed-eqs": 970, + "arith-conflicts": 1293, + "arith-bound-propagations-lp": 1550655, + "arith-diseq": 266435, + "arith-make-feasible": 160873, + "arith-max-columns": 2869, + "arith-max-rows": 1810, + "arith-offset-eqs": 557813, + "solve-eqs-steps": 105426, + "solve-eqs-elim-vars": 29175, + "rlimit count": 135658356, + "max memory": 1299.92, + "memory": 1271.26, + "num allocs": 86586486128.0, + "time": 62.967 + } + }, + "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e": { + "elapsed_ms": 50687, + "result": "Unsat", + "matches_raw": true, + "raw_elapsed_ms": 33752, + "stats": { + "conflicts": 192, + "decisions": 1219, + "propagations": 1476494, + "binary propagations": 1235915, + "restarts": 1, + "added eqs": 195222, + "mk clause": 116479, + "mk clause binary": 18726007, + "del clause": 10092, + "minimized lits": 601, + "num checks": 1, + "mk bool var": 150603, + "pb propagations": 9, + "pb predicates": 5218, + "arith eq adapter": 8093, + "arith-lower": 68302, + "arith-upper": 67906, + "arith-fixed-eqs": 2, + "arith-conflicts": 16, + "arith-bound-propagations-lp": 31748, + "arith-diseq": 2085, + "arith-make-feasible": 2551, + "arith-max-columns": 7130, + "arith-max-rows": 4558, + "arith-offset-eqs": 11633, + "solve-eqs-steps": 247089, + "solve-eqs-elim-vars": 75122, + "rlimit count": 73674728, + "max memory": 4737.55, + "memory": 4497.48, + "num allocs": 131373345669.0, + "time": 50.686 + } + } +} diff --git a/input/z3-bench/evolve/shared/phase1_best.json b/input/z3-bench/evolve/shared/phase1_best.json new file mode 100644 index 0000000000..b0c26d1f2b --- /dev/null +++ b/input/z3-bench/evolve/shared/phase1_best.json @@ -0,0 +1,4 @@ +{ + "sls.walksat_ucb_constant": 0.4, + "sls.wp": 25 +} diff --git a/input/z3-bench/evolve/shared/phase2_best.json b/input/z3-bench/evolve/shared/phase2_best.json new file mode 100644 index 0000000000..88d247f7ed --- /dev/null +++ b/input/z3-bench/evolve/shared/phase2_best.json @@ -0,0 +1,118 @@ +{ + "sat.acce": false, + "sat.anf": false, + "sat.anf.delay": 2, + "sat.anf.exlin": false, + "sat.asymm_branch": true, + "sat.asymm_branch.all": false, + "sat.asymm_branch.delay": 1, + "sat.asymm_branch.limit": 100000000, + "sat.asymm_branch.rounds": 2, + "sat.asymm_branch.sampled": true, + "sat.ate": true, + "sat.backtrack.conflicts": 4000, + "sat.backtrack.scopes": 100, + "sat.bca": false, + "sat.bce": false, + "sat.bce_at": 2, + "sat.bce_delay": 2, + "sat.blocked_clause_limit": 100000000, + "sat.branching.anti_exploration": 0.4, + "sat.branching.heuristic": "vsids", + "sat.burst_search": 100, + "sat.cardinality.encoding": "grouped", + "sat.cardinality.solver": true, + "sat.cce": false, + "sat.core.minimize": false, + "sat.core.minimize_partial": false, + "sat.cut": false, + "sat.cut.aig": false, + "sat.cut.delay": 2, + "sat.cut.dont_cares": true, + "sat.cut.force": false, + "sat.cut.lut": false, + "sat.cut.npn3": false, + "sat.cut.redundancies": true, + "sat.cut.xor": false, + "sat.ddfw.init_clause_weight": 8, + "sat.ddfw.reinit_base": 10000, + "sat.ddfw.restart_base": 100000, + "sat.ddfw.threads": 0, + "sat.ddfw.use_reward_pct": 15, + "sat.ddfw_search": false, + "sat.elim_vars": true, + "sat.enable_pre_simplify": true, + "sat.force_cleanup": false, + "sat.gc": "glue_psm", + "sat.gc.burst": false, + "sat.gc.defrag": true, + "sat.gc.increment": 1500, + "sat.gc.initial": 20000, + "sat.gc.k": 7, + "sat.gc.small_lbd": 3, + "sat.inprocess.max": 4294967295, + "sat.local_search": false, + "sat.local_search_mode": "wsat", + "sat.local_search_threads": 0, + "sat.lookahead.cube.cutoff": "depth", + "sat.lookahead.cube.depth": 1, + "sat.lookahead.cube.fraction": 0.4, + "sat.lookahead.cube.freevars": 0.8, + "sat.lookahead.cube.psat.clause_base": 2.0, + "sat.lookahead.cube.psat.trigger": 5.0, + "sat.lookahead.cube.psat.var_exp": 1.0, + "sat.lookahead.delta_fraction": 1.0, + "sat.lookahead.double": true, + "sat.lookahead.global_autarky": false, + "sat.lookahead.preselect": false, + "sat.lookahead.reward": "march_cu", + "sat.lookahead.use_learned": false, + "sat.lookahead_scores": false, + "sat.lookahead_simplify": false, + "sat.lookahead_simplify.bca": true, + "sat.minimize_lemmas": true, + "sat.pb.lemma_format": "cardinality", + "sat.pb.resolve": "cardinality", + "sat.pb.solver": "totalizer", + "sat.phase": "caching", + "sat.phase.sticky": true, + "sat.prob_search": false, + "sat.probing": true, + "sat.probing_binary": true, + "sat.probing_cache": true, + "sat.probing_cache_limit": 1024, + "sat.probing_limit": 2000000, + "sat.propagate.prefetch": true, + "sat.random_freq": 0.01, + "sat.reorder.activity_scale": 100, + "sat.reorder.base": 4294967295, + "sat.reorder.itau": 4.0, + "sat.rephase.base": 1000, + "sat.resolution.cls_cutoff1": 100000000, + "sat.resolution.cls_cutoff2": 700000000, + "sat.resolution.limit": 500000000, + "sat.resolution.lit_cutoff_range1": 700, + "sat.resolution.lit_cutoff_range2": 400, + "sat.resolution.lit_cutoff_range3": 300, + "sat.resolution.occ_cutoff": 10, + "sat.resolution.occ_cutoff_range1": 8, + "sat.resolution.occ_cutoff_range2": 5, + "sat.resolution.occ_cutoff_range3": 3, + "sat.restart": "geometric", + "sat.restart.emafastglue": 0.03, + "sat.restart.emaslowglue": 1e-05, + "sat.restart.factor": 1.5, + "sat.restart.fast": true, + "sat.restart.initial": 100, + "sat.restart.margin": 1.1, + "sat.retain_blocked_clauses": true, + "sat.scc": true, + "sat.scc.tr": true, + "sat.search.sat.conflicts": 800, + "sat.search.unsat.conflicts": 800, + "sat.simplify.delay": 0, + "sat.subsumption": true, + "sat.subsumption.limit": 100000000, + "sat.threads": 1, + "sat.variable_decay": 110 +} diff --git a/input/z3-bench/evolve/shared/phase3_best.json b/input/z3-bench/evolve/shared/phase3_best.json new file mode 100644 index 0000000000..31de00f94e --- /dev/null +++ b/input/z3-bench/evolve/shared/phase3_best.json @@ -0,0 +1,76 @@ +{ + "smt.arith.auto_config_simplex": false, + "smt.arith.bprop_on_pivoted_rows": false, + "smt.arith.branch_cut_ratio": 4, + "smt.arith.eager_eq_axioms": true, + "smt.arith.enable_hnf": true, + "smt.arith.greatest_error_pivot": true, + "smt.arith.ignore_int": false, + "smt.arith.int_eq_branch": true, + "smt.arith.min": false, + "smt.arith.nl": false, + "smt.arith.propagate_eqs": true, + "smt.arith.propagation_mode": 2, + "smt.arith.random_initial_value": false, + "smt.arith.rep_freq": 0, + "smt.arith.simplex_strategy": 0, + "smt.arith.solver": 2, + "smt.array.extensional": true, + "smt.array.weak": false, + "smt.auto_config": false, + "smt.bv.delay": true, + "smt.bv.enable_int2bv": true, + "smt.bv.reflect": true, + "smt.bv.size_reduce": false, + "smt.bv.solver": 0, + "smt.case_split": 0, + "smt.core.extend_nonlocal_patterns": false, + "smt.core.extend_patterns": false, + "smt.core.extend_patterns.max_distance": 4294967295, + "smt.core.minimize": false, + "smt.core.validate": false, + "smt.cube_depth": 1, + "smt.dack": 0, + "smt.dack.eq": false, + "smt.dack.factor": 0.1, + "smt.dack.gc": 2000, + "smt.dack.gc_inv_decay": 0.8, + "smt.dack.threshold": 10, + "smt.delay_units": true, + "smt.delay_units_threshold": 64, + "smt.dt_lazy_splits": 1, + "smt.elim_unconstrained": true, + "smt.ematching": true, + "smt.induction": false, + "smt.lemma_gc_strategy": 0, + "smt.logic": "", + "smt.macro_finder": false, + "smt.mbqi": false, + "smt.mbqi.force_template": 10, + "smt.mbqi.max_cexs": 1, + "smt.mbqi.max_cexs_incr": 0, + "smt.mbqi.max_iterations": 500, + "smt.pb.conflict_frequency": 1000, + "smt.pb.learn_complements": true, + "smt.phase_caching_off": 100, + "smt.phase_caching_on": 400, + "smt.phase_selection": 3, + "smt.propagate_values": true, + "smt.pull_nested_quantifiers": false, + "smt.qi.cost": "(+ weight generation)", + "smt.qi.eager_threshold": 10.0, + "smt.qi.lazy_threshold": 20.0, + "smt.qi.max_instances": 4294967295, + "smt.qi.max_multi_patterns": 0, + "smt.qi.quick_checker": 0, + "smt.quasi_macros": false, + "smt.refine_inj_axioms": true, + "smt.relevancy": 0, + "smt.restart_strategy": 0, + "smt.solve_eqs": true, + "smt.theory_aware_branching": false, + "smt.theory_case_split": false, + "smt.threads": 1, + "smt.threads.cube_frequency": 2, + "smt.threads.max_conflicts": 400 +} diff --git a/input/z3-bench/problems.jsonl b/input/z3-bench/problems.jsonl index 24180fcb55..f04f5e23e7 100644 --- a/input/z3-bench/problems.jsonl +++ b/input/z3-bench/problems.jsonl @@ -1,50 +1,89 @@ -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 16518}, "z3_statistics": {"conflicts": 638, "decisions": 16700, "propagations": 3734347, "binary propagations": 3044960, "restarts": 5, "final checks": 41, "added eqs": 145020, "mk clause": 62512, "mk clause binary": 15003837, "del clause": 801, "minimized lits": 3511, "num checks": 42, "mk bool var": 60789, "pb resolves": 22, "pb conflicts": 22, "pb propagations": 1240, "pb predicates": 367, "arith eq adapter": 1624, "arith-lower": 88590, "arith-upper": 88093, "arith-fixed-eqs": 8401, "arith-conflicts": 101, "arith-bound-propagations-lp": 14758, "arith-diseq": 19981, "arith-make-feasible": 13517, "arith-max-columns": 1644, "arith-max-rows": 1023, "arith-offset-eqs": 12540, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 27700333, "max memory": 4318.31, "memory": 4076.23, "num allocs": 276298779074.0, "time": 16.518}, "problem_sha256": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "03b7e129d6254e599dcef91096f13ca6289f1d6b04e7f694a174b8f4bbb6f90c.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 13885}, "z3_statistics": {"conflicts": 419, "decisions": 13038, "propagations": 2535296, "binary propagations": 2085729, "restarts": 3, "final checks": 40, "added eqs": 95311, "mk clause": 60206, "mk clause binary": 14964248, "del clause": 1084, "minimized lits": 5865, "num checks": 41, "mk bool var": 60480, "pb resolves": 30, "pb conflicts": 30, "pb propagations": 420, "pb predicates": 363, "arith eq adapter": 1608, "arith-lower": 56673, "arith-upper": 56242, "arith-conflicts": 71, "arith-bound-propagations-lp": 9506, "arith-diseq": 14280, "arith-make-feasible": 8011, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 6459, "arith-fixed-eqs": 5175, "solve-eqs-steps": 140869, "solve-eqs-elim-vars": 27384, "rlimit count": 26615394, "max memory": 4320.75, "memory": 4077.95, "num allocs": 1625635741926.0, "time": 13.884}, "problem_sha256": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "069af7891076de4d10677710b05411844fac7d5f33f40910cc41229207fcbbc3.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112990, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2728}, "z3_statistics": {"conflicts": 281, "decisions": 10023, "propagations": 1022106, "binary propagations": 737687, "restarts": 2, "final checks": 17, "added eqs": 87034, "mk clause": 26318, "mk clause binary": 2791918, "del clause": 2426, "minimized lits": 627, "num checks": 18, "mk bool var": 25823, "pb resolves": 89, "pb conflicts": 96, "pb propagations": 231, "pb predicates": 1271, "arith eq adapter": 1026, "arith-lower": 33416, "arith-upper": 33019, "arith-fixed-eqs": 1624, "arith-conflicts": 7, "arith-bound-propagations-lp": 4214, "arith-diseq": 2406, "arith-make-feasible": 2917, "arith-max-columns": 977, "arith-max-rows": 627, "arith-offset-eqs": 6366, "solve-eqs-steps": 45389, "solve-eqs-elim-vars": 13104, "rlimit count": 10426372, "max memory": 620.35, "memory": 599.48, "num allocs": 23895626486.0, "time": 2.728}, "problem_sha256": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "0f6f9aa28440a0a26cc61b28f0a52d2a5f5b83061b46651c0741ffac1bb4d678.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24797, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 480}, "z3_statistics": {"conflicts": 8, "decisions": 12, "propagations": 10603, "binary propagations": 8669, "added eqs": 605, "mk clause": 5875, "mk clause binary": 279848, "del clause": 457, "num checks": 1, "mk bool var": 6998, "pb predicates": 259, "arith eq adapter": 298, "arith-lower": 101, "arith-upper": 103, "arith-conflicts": 1, "arith-bound-propagations-lp": 33, "arith-diseq": 5, "arith-make-feasible": 10, "arith-max-columns": 305, "arith-max-rows": 189, "arith-fixed-eqs": 3, "solve-eqs-steps": 13406, "solve-eqs-elim-vars": 4524, "rlimit count": 1689462, "max memory": 88.59, "memory": 85.7, "num allocs": 7304494372.0, "time": 0.48}, "problem_sha256": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "133383a624eff676bc61f99b5a18375904aaba4fe865cd2d4afc76d5f00f948f.smt2"} -{"z3_version": "4.13.3.0", "features": {"num_variables": 3932, "num_bool": 2188, "num_int": 1736, "num_real": 8, "num_hard_constraints": 15243, "num_soft_constraints": 224, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 366}, "z3_statistics": {"conflicts": 80, "decisions": 1169, "propagations": 53219, "binary propagations": 37973, "final checks": 7, "added eqs": 5332, "mk clause": 3358, "mk clause binary": 38581, "del clause": 248, "minimized lits": 230, "num checks": 8, "mk bool var": 3437, "pb resolves": 8, "pb conflicts": 14, "pb propagations": 56, "pb predicates": 102, "arith eq adapter": 198, "arith-lower": 2135, "arith-upper": 2217, "arith-fixed-eqs": 172, "arith-conflicts": 2, "arith-bound-propagations-lp": 515, "arith-diseq": 229, "arith-make-feasible": 609, "arith-max-columns": 159, "arith-max-rows": 92, "arith-offset-eqs": 467, "solve-eqs-steps": 7166, "solve-eqs-elim-vars": 3264, "num allocs": 127421138, "rlimit count": 992112, "max memory": 41.83, "memory": 36.99, "time": 0.365}, "problem_sha256": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "17cc4d349ce3ebeba20934b5f0c14c6716bd918a6bcf47bad7a684c2d1162f9a.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24937, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 294}, "z3_statistics": {"conflicts": 97, "decisions": 1067, "propagations": 92823, "binary propagations": 65381, "final checks": 7, "added eqs": 8031, "mk clause": 6801, "mk clause binary": 280980, "del clause": 491, "minimized lits": 232, "num checks": 8, "mk bool var": 7069, "pb resolves": 26, "pb conflicts": 28, "pb propagations": 10, "pb predicates": 260, "arith eq adapter": 353, "arith-lower": 3222, "arith-upper": 3456, "arith-fixed-eqs": 399, "arith-conflicts": 7, "arith-bound-propagations-lp": 847, "arith-diseq": 578, "arith-make-feasible": 386, "arith-max-columns": 310, "arith-max-rows": 192, "arith-offset-eqs": 392, "solve-eqs-steps": 13242, "solve-eqs-elim-vars": 4574, "num allocs": 885209871, "rlimit count": 1766969, "max memory": 88.59, "memory": 86.9, "time": 0.294}, "problem_sha256": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "187551dceaf0c039b8f6f31e2dfcea9fe819db8317dc1d4564bf84fd38129500.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 113006, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2900}, "z3_statistics": {"conflicts": 330, "decisions": 7222, "propagations": 743241, "binary propagations": 526090, "restarts": 2, "final checks": 17, "added eqs": 55429, "mk clause": 25064, "mk clause binary": 2736107, "del clause": 2676, "minimized lits": 1209, "num checks": 18, "mk bool var": 24324, "pb resolves": 85, "pb conflicts": 89, "pb propagations": 131, "pb predicates": 1266, "arith eq adapter": 968, "arith-lower": 19629, "arith-upper": 19853, "arith-fixed-eqs": 1036, "arith-conflicts": 5, "arith-bound-propagations-lp": 3780, "arith-diseq": 1510, "arith-make-feasible": 1749, "arith-max-columns": 823, "arith-max-rows": 526, "arith-offset-eqs": 3086, "solve-eqs-steps": 47221, "solve-eqs-elim-vars": 13431, "rlimit count": 14138638, "max memory": 616.98, "memory": 595.92, "num allocs": 24112114359.0, "time": 2.9}, "problem_sha256": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "21069961e8dc3386828e2608f2ece27db08b11be6e2da9ebadbc40675687e1fb.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24807, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 407}, "z3_statistics": {"conflicts": 3, "decisions": 4, "propagations": 5019, "binary propagations": 4076, "added eqs": 489, "mk clause": 5856, "mk clause binary": 279773, "del clause": 454, "num checks": 1, "mk bool var": 7005, "pb predicates": 259, "arith eq adapter": 294, "arith-lower": 37, "arith-upper": 37, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "solve-eqs-steps": 13345, "solve-eqs-elim-vars": 4524, "rlimit count": 1554154, "max memory": 88.83, "memory": 85.64, "num allocs": 7248116132.0, "time": 0.407}, "problem_sha256": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "25025d341f86cbcf9038666e523ef8ab9593954558e36e42df8d5784ef0c8a62.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 12712}, "z3_statistics": {"conflicts": 34, "decisions": 196, "propagations": 136583, "binary propagations": 117701, "added eqs": 6074, "mk clause": 54268, "mk clause binary": 14969844, "del clause": 608, "minimized lits": 9, "num checks": 1, "mk bool var": 60496, "pb propagations": 28, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 3118, "arith-upper": 3121, "arith-conflicts": 5, "arith-bound-propagations-lp": 924, "arith-diseq": 240, "arith-make-feasible": 308, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 98, "arith-fixed-eqs": 271, "solve-eqs-steps": 141071, "solve-eqs-elim-vars": 27384, "rlimit count": 21352456, "max memory": 4321.07, "memory": 4067.98, "num allocs": 1708759135547.0, "time": 12.712}, "problem_sha256": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "29efe6d38d7b8fcf41ed69b73f5a0bb370f782ab61ffe564fbe41512ea75ce5f.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 14232}, "z3_statistics": {"conflicts": 501, "decisions": 17511, "propagations": 3164096, "binary propagations": 2575222, "restarts": 4, "final checks": 30, "added eqs": 95430, "mk clause": 61190, "mk clause binary": 15003811, "del clause": 1217, "minimized lits": 5254, "num checks": 31, "mk bool var": 60793, "pb resolves": 32, "pb conflicts": 33, "pb propagations": 490, "pb predicates": 367, "arith eq adapter": 1629, "arith-lower": 58588, "arith-upper": 59006, "arith-fixed-eqs": 6134, "arith-conflicts": 72, "arith-bound-propagations-lp": 12154, "arith-diseq": 16605, "arith-make-feasible": 8769, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 7789, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 26341700, "max memory": 4318.35, "memory": 4076.37, "num allocs": 268741800331.0, "time": 14.232}, "problem_sha256": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "318bc251e0bd49f3b67bc85aa2e58b370e8b7ed5228e059d06bf58748284e4e4.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59955, "num_bool": 32107, "num_int": 27810, "num_real": 38, "num_hard_constraints": 524914, "num_soft_constraints": 1455, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 66100}, "z3_statistics": {"conflicts": 20293, "decisions": 403008, "propagations": 159458871, "binary propagations": 115958664, "restarts": 122, "final checks": 49, "added eqs": 12346592, "mk clause": 142266, "mk clause binary": 10500181, "del clause": 37530, "minimized lits": 171338, "num checks": 50, "mk bool var": 90959, "pb resolves": 741, "pb conflicts": 816, "pb propagations": 10434, "pb predicates": 4090, "arith eq adapter": 4263, "arith-lower": 5819586, "arith-upper": 5824768, "arith-fixed-eqs": 162505, "arith-conflicts": 615, "arith-bound-propagations-lp": 177174, "arith-diseq": 409254, "arith-make-feasible": 219820, "arith-max-columns": 4092, "arith-max-rows": 2679, "arith-offset-eqs": 1145118, "solve-eqs-steps": 149099, "solve-eqs-elim-vars": 45255, "rlimit count": 285787632, "max memory": 2497.69, "memory": 2437.4, "num allocs": 838208096541.0, "time": 66.1}, "problem_sha256": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "3854194b901b0b424b5199a54fa8e626506e605f0dd8cae64c75786012037c44.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1092831, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 31732}, "z3_statistics": {"conflicts": 43, "decisions": 513, "propagations": 444570, "binary propagations": 348869, "added eqs": 56536, "mk clause": 125242, "mk clause binary": 18933928, "del clause": 11461, "minimized lits": 14, "num checks": 1, "mk bool var": 148833, "pb propagations": 5, "pb predicates": 6459, "arith eq adapter": 6993, "arith-lower": 22496, "arith-upper": 22521, "arith-fixed-eqs": 973, "arith-conflicts": 2, "arith-bound-propagations-lp": 4168, "arith-diseq": 300, "arith-make-feasible": 713, "arith-max-columns": 6906, "arith-max-rows": 4548, "arith-offset-eqs": 3338, "solve-eqs-steps": 241608, "solve-eqs-elim-vars": 74706, "rlimit count": 66826573, "max memory": 4743.79, "memory": 4498.16, "num allocs": 2220106133528.0, "time": 31.732}, "problem_sha256": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "3b58bd47434b81258f5d6b182dde28df64a155b70a2aa790c4d608ec8f11ab65.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112978, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 2996}, "z3_statistics": {"conflicts": 784, "decisions": 4989, "propagations": 2033058, "binary propagations": 1494337, "restarts": 7, "added eqs": 140007, "mk clause": 25280, "mk clause binary": 2567576, "del clause": 2544, "minimized lits": 4171, "num checks": 1, "mk bool var": 23071, "pb resolves": 46, "pb conflicts": 58, "pb propagations": 189, "pb predicates": 1264, "arith eq adapter": 936, "arith-lower": 56038, "arith-upper": 55961, "arith-fixed-eqs": 1898, "arith-conflicts": 13, "arith-bound-propagations-lp": 4268, "arith-diseq": 3954, "arith-make-feasible": 2691, "arith-max-columns": 768, "arith-max-rows": 491, "arith-offset-eqs": 6795, "solve-eqs-steps": 47631, "solve-eqs-elim-vars": 13598, "rlimit count": 19446685, "max memory": 605.3, "memory": 582.2, "num allocs": 23395126940.0, "time": 2.996}, "problem_sha256": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "3cacf544225ef77231cc5a1ef778fd06534731623cc06144babac1140aa5acf1.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24807, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 490}, "z3_statistics": {"conflicts": 3, "decisions": 4, "propagations": 5876, "binary propagations": 4750, "added eqs": 485, "mk clause": 5855, "mk clause binary": 279810, "del clause": 453, "num checks": 1, "mk bool var": 6997, "pb predicates": 259, "arith eq adapter": 293, "arith-lower": 37, "arith-upper": 37, "arith-bound-propagations-lp": 6, "arith-diseq": 2, "arith-make-feasible": 5, "arith-max-columns": 303, "arith-max-rows": 189, "solve-eqs-steps": 13339, "solve-eqs-elim-vars": 4524, "rlimit count": 1554883, "max memory": 88.64, "memory": 85.62, "num allocs": 6621909635.0, "time": 0.49}, "problem_sha256": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "40bd9a43447844f232d5a083badcde91a09e72d0be849e39b582924e3285cedd.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 12692}, "z3_statistics": {"conflicts": 26, "decisions": 195, "propagations": 140779, "binary propagations": 121912, "added eqs": 5074, "mk clause": 54098, "mk clause binary": 14960765, "del clause": 608, "minimized lits": 5, "num checks": 1, "mk bool var": 60451, "pb propagations": 16, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 2542, "arith-upper": 2513, "arith-conflicts": 2, "arith-bound-propagations-lp": 779, "arith-diseq": 167, "arith-make-feasible": 257, "arith-max-columns": 1629, "arith-max-rows": 1015, "arith-offset-eqs": 96, "arith-fixed-eqs": 206, "solve-eqs-steps": 140898, "solve-eqs-elim-vars": 27384, "rlimit count": 21341530, "max memory": 4320.64, "memory": 4067.25, "num allocs": 1682503615929.0, "time": 12.692}, "problem_sha256": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "42bc61a62698412bbad582db74dd0c9d92710d69f358348ae993deaf2e8d2c08.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 14353}, "z3_statistics": {"conflicts": 383, "decisions": 11875, "propagations": 1751697, "binary propagations": 1411020, "restarts": 2, "final checks": 56, "added eqs": 59301, "mk clause": 59626, "mk clause binary": 15003810, "del clause": 1034, "minimized lits": 3367, "num checks": 57, "mk bool var": 60795, "pb resolves": 26, "pb conflicts": 26, "pb propagations": 630, "pb predicates": 367, "arith eq adapter": 1636, "arith-lower": 35643, "arith-upper": 36771, "arith-fixed-eqs": 4696, "arith-conflicts": 56, "arith-bound-propagations-lp": 9055, "arith-diseq": 11710, "arith-make-feasible": 6376, "arith-max-columns": 1642, "arith-max-rows": 1023, "arith-offset-eqs": 5531, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 25778910, "max memory": 4318.36, "memory": 4075.97, "num allocs": 286040856795.0, "time": 14.353}, "problem_sha256": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "493242c379920ed6cd98a5096fd2674877b98eaa17bbb3a758bbf1b3db38df12.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 14428}, "z3_statistics": {"conflicts": 340, "decisions": 9171, "propagations": 1845870, "binary propagations": 1520411, "restarts": 2, "final checks": 39, "added eqs": 74240, "mk clause": 59105, "mk clause binary": 14964213, "del clause": 786, "minimized lits": 998, "num checks": 40, "mk bool var": 60485, "pb resolves": 24, "pb conflicts": 24, "pb propagations": 285, "pb predicates": 363, "arith eq adapter": 1603, "arith-lower": 41809, "arith-upper": 41262, "arith-conflicts": 43, "arith-bound-propagations-lp": 7956, "arith-diseq": 7119, "arith-make-feasible": 6041, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 4979, "arith-fixed-eqs": 4240, "solve-eqs-steps": 140872, "solve-eqs-elim-vars": 27384, "rlimit count": 25489167, "max memory": 4320.79, "memory": 4077.26, "num allocs": 1785451733878.0, "time": 14.428}, "problem_sha256": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "4a02d7846394cb507e7d12f4db736ab7c54c536a8097c32502ad952026dfa64a.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83411, "num_bool": 44958, "num_int": 38403, "num_real": 50, "num_hard_constraints": 695689, "num_soft_constraints": 2133, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 132126}, "z3_statistics": {"conflicts": 29011, "decisions": 376993, "propagations": 310575312, "binary propagations": 232759821, "restarts": 163, "final checks": 9, "added eqs": 22780198, "mk clause": 213015, "mk clause binary": 18899506, "del clause": 64995, "minimized lits": 290946, "num checks": 10, "mk bool var": 138039, "pb resolves": 755, "pb conflicts": 764, "pb propagations": 11662, "pb predicates": 5948, "arith eq adapter": 6166, "arith-lower": 10543138, "arith-upper": 10483890, "arith-fixed-eqs": 256585, "arith-conflicts": 1185, "arith-bound-propagations-lp": 286437, "arith-diseq": 707609, "arith-make-feasible": 269584, "arith-max-columns": 6012, "arith-max-rows": 3941, "arith-offset-eqs": 2140101, "solve-eqs-steps": 231026, "solve-eqs-elim-vars": 61991, "rlimit count": 556478248, "max memory": 4694.12, "memory": 4492.82, "num allocs": 1954890661459.0, "time": 132.126}, "problem_sha256": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "4c942959630b48d103bbbd34a5abed3fe4542010ddff571a97af61f07ea90783.smt2"} -{"z3_version": "4.13.3.0", "features": {"num_variables": 3842, "num_bool": 2140, "num_int": 1694, "num_real": 8, "num_hard_constraints": 15034, "num_soft_constraints": 218, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 311}, "z3_statistics": {"conflicts": 4, "decisions": 4, "propagations": 3035, "binary propagations": 2463, "added eqs": 255, "mk clause": 2607, "mk clause binary": 36304, "del clause": 165, "num checks": 1, "mk bool var": 3129, "pb predicates": 98, "arith eq adapter": 124, "arith-lower": 34, "arith-upper": 34, "arith-bound-propagations-lp": 14, "arith-make-feasible": 8, "arith-max-columns": 135, "arith-max-rows": 77, "arith-fixed-eqs": 3, "solve-eqs-steps": 6989, "solve-eqs-elim-vars": 3217, "num allocs": 63214666, "rlimit count": 1042113, "max memory": 28.14, "memory": 27.65, "time": 0.311}, "problem_sha256": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "4fb703b1212783821a005b7e69b3b6f6bd668f15c2877bef52c6fe2fb10fabac.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24937, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 307}, "z3_statistics": {"conflicts": 93, "decisions": 1160, "propagations": 99526, "binary propagations": 70699, "final checks": 8, "added eqs": 7810, "mk clause": 6750, "mk clause binary": 280979, "del clause": 2128, "minimized lits": 112, "num checks": 9, "mk bool var": 7113, "pb resolves": 23, "pb conflicts": 25, "pb propagations": 4, "pb predicates": 260, "arith eq adapter": 416, "arith-lower": 3208, "arith-upper": 3203, "arith-fixed-eqs": 372, "arith-conflicts": 4, "arith-bound-propagations-lp": 780, "arith-diseq": 673, "arith-make-feasible": 405, "arith-max-columns": 311, "arith-max-rows": 191, "arith-offset-eqs": 274, "solve-eqs-steps": 13057, "solve-eqs-elim-vars": 4574, "num allocs": 886786171, "rlimit count": 1778656, "max memory": 88.58, "memory": 86.84, "time": 0.307}, "problem_sha256": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "505a2e36055c971b7ff50c806430e09386fbd2fac5645d1480df806c1fdfbf2e.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59955, "num_bool": 32107, "num_int": 27810, "num_real": 38, "num_hard_constraints": 524936, "num_soft_constraints": 1455, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 67552}, "z3_statistics": {"conflicts": 21002, "decisions": 325796, "propagations": 174972212, "binary propagations": 126959642, "restarts": 128, "final checks": 13, "added eqs": 12975639, "mk clause": 141847, "mk clause binary": 10484184, "del clause": 40992, "minimized lits": 211317, "num checks": 14, "mk bool var": 90262, "pb resolves": 851, "pb conflicts": 900, "pb propagations": 8427, "pb predicates": 4081, "arith eq adapter": 4219, "arith-lower": 6143127, "arith-upper": 6161508, "arith-fixed-eqs": 170238, "arith-conflicts": 608, "arith-bound-propagations-lp": 159293, "arith-diseq": 451355, "arith-make-feasible": 190568, "arith-max-columns": 4026, "arith-max-rows": 2636, "arith-offset-eqs": 1183279, "solve-eqs-steps": 151730, "solve-eqs-elim-vars": 45406, "rlimit count": 305746540, "max memory": 2491.57, "memory": 2429.38, "num allocs": 784980287529.0, "time": 67.552}, "problem_sha256": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "5250d459bef23286b67be03e7abec394ceb5d337f40885df8ac4e76eb48d33f8.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 13089}, "z3_statistics": {"conflicts": 30, "decisions": 140, "propagations": 135224, "binary propagations": 117112, "added eqs": 5498, "mk clause": 54151, "mk clause binary": 14960999, "del clause": 608, "minimized lits": 42, "num checks": 1, "mk bool var": 60465, "pb propagations": 31, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 2802, "arith-upper": 2774, "arith-conflicts": 6, "arith-bound-propagations-lp": 831, "arith-diseq": 260, "arith-make-feasible": 268, "arith-max-columns": 1632, "arith-max-rows": 1015, "arith-offset-eqs": 145, "arith-fixed-eqs": 202, "solve-eqs-steps": 140903, "solve-eqs-elim-vars": 27384, "rlimit count": 21339214, "max memory": 4320.63, "memory": 4067.77, "num allocs": 248743109287.0, "time": 13.089}, "problem_sha256": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "65444d69388120f98e21ea06a1cf388e621dbc77318828bd673832e90963c568.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17151, "num_bool": 9359, "num_int": 7774, "num_real": 18, "num_hard_constraints": 113172, "num_soft_constraints": 550, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 3681}, "z3_statistics": {"conflicts": 558, "decisions": 10820, "propagations": 1404437, "binary propagations": 1012034, "restarts": 5, "final checks": 8, "added eqs": 105286, "mk clause": 26721, "mk clause binary": 2793125, "del clause": 4733, "minimized lits": 2268, "num checks": 9, "mk bool var": 25831, "pb resolves": 86, "pb conflicts": 94, "pb propagations": 265, "pb predicates": 1271, "arith eq adapter": 1049, "arith-lower": 40711, "arith-upper": 40917, "arith-fixed-eqs": 1788, "arith-conflicts": 10, "arith-bound-propagations-lp": 4890, "arith-diseq": 2617, "arith-make-feasible": 2828, "arith-max-columns": 971, "arith-max-rows": 625, "arith-offset-eqs": 6036, "solve-eqs-steps": 46025, "solve-eqs-elim-vars": 13139, "rlimit count": 11339618, "max memory": 620.18, "memory": 599.2, "num allocs": 23618333082.0, "time": 3.681}, "problem_sha256": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "6aab51935a092a1d7f05bb431d3d05e0de50c19f5f983026a6d14e7c4b9cf240.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 13086}, "z3_statistics": {"conflicts": 155, "decisions": 8418, "propagations": 912363, "binary propagations": 732747, "final checks": 41, "added eqs": 35686, "mk clause": 56969, "mk clause binary": 14972566, "del clause": 961, "minimized lits": 2234, "num checks": 42, "mk bool var": 60515, "pb resolves": 27, "pb conflicts": 27, "pb propagations": 352, "pb predicates": 363, "arith eq adapter": 1601, "arith-lower": 20745, "arith-upper": 18796, "arith-conflicts": 18, "arith-bound-propagations-lp": 5861, "arith-diseq": 6427, "arith-make-feasible": 3871, "arith-max-columns": 1634, "arith-max-rows": 1015, "arith-offset-eqs": 2844, "arith-fixed-eqs": 2838, "solve-eqs-steps": 140952, "solve-eqs-elim-vars": 27384, "rlimit count": 23855170, "max memory": 4321.23, "memory": 4077.11, "num allocs": 1633050360948.0, "time": 13.086}, "problem_sha256": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "75ee534dbc926b1e245277f82a9f102ccba7718fa1f7cd6e4ed60fec3db0c4d8.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83621, "num_bool": 45066, "num_int": 38505, "num_real": 50, "num_hard_constraints": 696736, "num_soft_constraints": 2139, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 112662}, "z3_statistics": {"conflicts": 23003, "decisions": 350564, "propagations": 251976930, "binary propagations": 191192148, "restarts": 135, "final checks": 26, "added eqs": 18440443, "mk clause": 201346, "mk clause binary": 18898284, "del clause": 58027, "minimized lits": 221909, "num checks": 27, "mk bool var": 138182, "pb resolves": 810, "pb conflicts": 814, "pb propagations": 9446, "pb predicates": 5948, "arith eq adapter": 6081, "arith-lower": 8270504, "arith-upper": 8318461, "arith-conflicts": 941, "arith-bound-propagations-lp": 212243, "arith-diseq": 558301, "arith-make-feasible": 203372, "arith-max-columns": 6012, "arith-max-rows": 3938, "arith-offset-eqs": 1806760, "arith-fixed-eqs": 195998, "solve-eqs-steps": 233917, "solve-eqs-elim-vars": 62202, "rlimit count": 467737909, "max memory": 4679.64, "memory": 4475.72, "num allocs": 1959882383024.0, "time": 112.662}, "problem_sha256": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "76bcc496430708686148bd23c53bb24a2b4e9a6d1f28adb8b2e072b47871b3ea.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 14992}, "z3_statistics": {"conflicts": 28, "decisions": 146, "propagations": 156475, "binary propagations": 135175, "added eqs": 6100, "mk clause": 54267, "mk clause binary": 14960982, "del clause": 608, "num checks": 1, "mk bool var": 60466, "pb propagations": 31, "pb predicates": 363, "arith eq adapter": 1590, "arith-lower": 3067, "arith-upper": 3100, "arith-conflicts": 4, "arith-bound-propagations-lp": 943, "arith-diseq": 224, "arith-make-feasible": 265, "arith-max-columns": 1631, "arith-max-rows": 1015, "arith-offset-eqs": 161, "arith-fixed-eqs": 242, "solve-eqs-steps": 140756, "solve-eqs-elim-vars": 27384, "rlimit count": 20732604, "max memory": 4320.64, "memory": 4067.46, "num allocs": 247227550887.0, "time": 14.992}, "problem_sha256": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "7ac5a84f68bc6e1488f9c6074a42505a6c95fa8df4f615c4a0ae54359dd3b416.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59955, "num_bool": 32107, "num_int": 27810, "num_real": 38, "num_hard_constraints": 524936, "num_soft_constraints": 1455, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 40558}, "z3_statistics": {"conflicts": 8858, "decisions": 242490, "propagations": 69339814, "binary propagations": 50228368, "restarts": 63, "final checks": 37, "added eqs": 5445205, "mk clause": 122774, "mk clause binary": 10476400, "del clause": 13324, "minimized lits": 61681, "num checks": 38, "mk bool var": 90264, "pb resolves": 666, "pb conflicts": 691, "pb propagations": 5087, "pb predicates": 4081, "arith eq adapter": 4147, "arith-lower": 2484160, "arith-upper": 2503352, "arith-fixed-eqs": 84468, "arith-conflicts": 238, "arith-bound-propagations-lp": 97950, "arith-diseq": 203618, "arith-make-feasible": 107974, "arith-max-columns": 4031, "arith-max-rows": 2642, "arith-offset-eqs": 550751, "solve-eqs-steps": 151483, "solve-eqs-elim-vars": 45406, "rlimit count": 147263647, "max memory": 2491.74, "memory": 2428.83, "num allocs": 768321328643.0, "time": 40.558}, "problem_sha256": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "7d51ef2bfc4c3e45350aa61d7585a4c562f3c13412b841fd4de9830a052ca385.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83621, "num_bool": 45066, "num_int": 38505, "num_real": 50, "num_hard_constraints": 696736, "num_soft_constraints": 2139, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 181205}, "z3_statistics": {"conflicts": 48772, "decisions": 603760, "propagations": 540204864, "binary propagations": 403602049, "restarts": 230, "final checks": 46, "added eqs": 37062841, "mk clause": 240524, "mk clause binary": 18874440, "del clause": 89700, "minimized lits": 647794, "num checks": 47, "mk bool var": 137772, "pb resolves": 1202, "pb conflicts": 1246, "pb propagations": 19722, "pb predicates": 5924, "arith eq adapter": 6051, "arith-lower": 17392307, "arith-upper": 17439340, "arith-fixed-eqs": 387304, "arith-conflicts": 1452, "arith-bound-propagations-lp": 349707, "arith-diseq": 1150230, "arith-make-feasible": 386095, "arith-max-columns": 5982, "arith-max-rows": 3916, "arith-offset-eqs": 3109654, "solve-eqs-steps": 235494, "solve-eqs-elim-vars": 62257, "rlimit count": 925944306, "max memory": 4675.71, "memory": 4478.29, "num allocs": 2198837164034.0, "time": 181.205}, "problem_sha256": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "7f7b5c632ef82955fa7e13961d897ffb114e76ca4e2d183d7178639c3218af1b.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 33068, "num_bool": 19738, "num_int": 13290, "num_real": 40, "num_hard_constraints": 106100, "num_soft_constraints": 2059, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 15671}, "z3_statistics": {"conflicts": 207, "decisions": 7280, "propagations": 1095466, "binary propagations": 894105, "restarts": 1, "final checks": 44, "added eqs": 42183, "mk clause": 58411, "mk clause binary": 15003817, "del clause": 991, "minimized lits": 2493, "num checks": 45, "mk bool var": 60771, "pb resolves": 28, "pb conflicts": 28, "pb propagations": 238, "pb predicates": 367, "arith eq adapter": 1625, "arith-lower": 24070, "arith-upper": 24407, "arith-fixed-eqs": 3372, "arith-conflicts": 15, "arith-bound-propagations-lp": 6394, "arith-diseq": 5483, "arith-make-feasible": 3915, "arith-max-columns": 1640, "arith-max-rows": 1023, "arith-offset-eqs": 3491, "solve-eqs-steps": 141584, "solve-eqs-elim-vars": 27546, "rlimit count": 24227973, "max memory": 4318.34, "memory": 4074.18, "num allocs": 276646349770.0, "time": 15.671}, "problem_sha256": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "86468fd861ffa391b567ca57dc57c9b95b8577942d3fd2587e244073bdee43ef.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83621, "num_bool": 45066, "num_int": 38505, "num_real": 50, "num_hard_constraints": 696736, "num_soft_constraints": 2139, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 80512}, "z3_statistics": {"conflicts": 12501, "decisions": 340795, "propagations": 150689373, "binary propagations": 112341445, "restarts": 84, "final checks": 31, "added eqs": 11494488, "mk clause": 187206, "mk clause binary": 18879578, "del clause": 44414, "minimized lits": 117407, "num checks": 32, "mk bool var": 137591, "pb resolves": 833, "pb conflicts": 841, "pb propagations": 4689, "pb predicates": 5918, "arith eq adapter": 6010, "arith-lower": 5204616, "arith-upper": 5188371, "arith-conflicts": 693, "arith-bound-propagations-lp": 202414, "arith-diseq": 387281, "arith-make-feasible": 158327, "arith-max-columns": 5950, "arith-max-rows": 3895, "arith-offset-eqs": 1215308, "arith-fixed-eqs": 175207, "solve-eqs-steps": 236797, "solve-eqs-elim-vars": 62312, "rlimit count": 326014276, "max memory": 4677.0, "memory": 4472.91, "num allocs": 1946559293743.0, "time": 80.512}, "problem_sha256": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "86efb0762e6d99d9ade8f6718be01a366a53704b6ee199bf0e91af310c68d6f3.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 10244, "num_bool": 5621, "num_int": 4609, "num_real": 14, "num_hard_constraints": 59387, "num_soft_constraints": 383, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 1298}, "z3_statistics": {"conflicts": 204, "decisions": 2761, "propagations": 350767, "binary propagations": 247668, "restarts": 1, "final checks": 7, "added eqs": 24673, "mk clause": 13545, "mk clause binary": 1029592, "del clause": 2704, "minimized lits": 433, "num checks": 8, "mk bool var": 13485, "pb resolves": 61, "pb conflicts": 64, "pb propagations": 11, "pb predicates": 742, "arith eq adapter": 592, "arith-lower": 8074, "arith-upper": 8452, "arith-fixed-eqs": 411, "arith-conflicts": 5, "arith-bound-propagations-lp": 1423, "arith-diseq": 714, "arith-make-feasible": 559, "arith-max-columns": 440, "arith-max-rows": 276, "arith-offset-eqs": 1294, "solve-eqs-steps": 27135, "solve-eqs-elim-vars": 8110, "rlimit count": 7471692, "max memory": 296.1, "memory": 282.53, "num allocs": 5783835209.0, "time": 1.298}, "problem_sha256": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "872cbdb83f738a59db803c6c998facb249d5e4a7b082adda9c16997cd3b19e22.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17043, "num_bool": 9303, "num_int": 7722, "num_real": 18, "num_hard_constraints": 112796, "num_soft_constraints": 546, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 3053}, "z3_statistics": {"conflicts": 604, "decisions": 9551, "propagations": 1273438, "binary propagations": 923597, "restarts": 5, "final checks": 7, "added eqs": 96079, "mk clause": 26874, "mk clause binary": 2777754, "del clause": 2461, "minimized lits": 2388, "num checks": 8, "mk bool var": 25208, "pb resolves": 96, "pb conflicts": 105, "pb propagations": 207, "pb predicates": 1270, "arith eq adapter": 996, "arith-lower": 36463, "arith-upper": 36283, "arith-fixed-eqs": 1736, "arith-conflicts": 22, "arith-bound-propagations-lp": 4966, "arith-diseq": 2937, "arith-make-feasible": 2744, "arith-max-columns": 928, "arith-max-rows": 595, "arith-offset-eqs": 4498, "solve-eqs-steps": 45577, "solve-eqs-elim-vars": 13164, "rlimit count": 11627096, "max memory": 619.29, "memory": 598.59, "num allocs": 23284377244.0, "time": 3.053}, "problem_sha256": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "8a304b9c461ac8f19ce464b71010e8ef043d1ee4b857a60d871941a168fea59a.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99809, "num_bool": 52910, "num_int": 46851, "num_real": 48, "num_hard_constraints": 1095737, "num_soft_constraints": 1923, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 33160}, "z3_statistics": {"conflicts": 54, "decisions": 288, "propagations": 336058, "binary propagations": 260020, "added eqs": 42398, "mk clause": 124126, "mk clause binary": 18933443, "del clause": 11453, "minimized lits": 461, "num checks": 1, "mk bool var": 147911, "pb predicates": 6451, "arith eq adapter": 6915, "arith-lower": 16011, "arith-upper": 15880, "arith-conflicts": 5, "arith-bound-propagations-lp": 3332, "arith-diseq": 368, "arith-make-feasible": 529, "arith-max-columns": 6803, "arith-max-rows": 4481, "arith-offset-eqs": 1230, "arith-fixed-eqs": 697, "solve-eqs-steps": 242873, "solve-eqs-elim-vars": 75286, "rlimit count": 67537967, "max memory": 4757.86, "memory": 4511.08, "num allocs": 2225318125530.0, "time": 33.16}, "problem_sha256": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "96158dd28c0bfa150bffb4e0a6bcd7689cb8fa3d041af533c002004b5c1aec4d.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5854, "num_bool": 3276, "num_int": 2568, "num_real": 10, "num_hard_constraints": 25205, "num_soft_constraints": 293, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 597}, "z3_statistics": {"conflicts": 82, "decisions": 2016, "propagations": 86665, "binary propagations": 60549, "final checks": 20, "added eqs": 8473, "mk clause": 6707, "mk clause binary": 283433, "del clause": 526, "minimized lits": 218, "num checks": 21, "mk bool var": 7141, "pb resolves": 27, "pb conflicts": 28, "pb propagations": 42, "pb predicates": 262, "arith eq adapter": 352, "arith-lower": 2807, "arith-upper": 2978, "arith-conflicts": 3, "arith-bound-propagations-lp": 704, "arith-diseq": 194, "arith-make-feasible": 614, "arith-max-columns": 316, "arith-max-rows": 195, "arith-offset-eqs": 542, "arith-fixed-eqs": 235, "solve-eqs-steps": 12943, "solve-eqs-elim-vars": 4674, "num allocs": 916529572, "rlimit count": 1861058, "max memory": 88.85, "memory": 87.2, "time": 0.597}, "problem_sha256": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "a4658d3a051a31bc6d19ea051195dacfaaea52a34530d63756eab51df3168f97.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112978, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2343}, "z3_statistics": {"conflicts": 386, "decisions": 7695, "propagations": 1195002, "binary propagations": 862717, "restarts": 3, "final checks": 13, "added eqs": 92812, "mk clause": 26490, "mk clause binary": 2774776, "del clause": 3879, "minimized lits": 1659, "num checks": 14, "mk bool var": 25148, "pb resolves": 79, "pb conflicts": 83, "pb propagations": 125, "pb predicates": 1269, "arith eq adapter": 997, "arith-lower": 36636, "arith-upper": 37302, "arith-fixed-eqs": 1504, "arith-conflicts": 12, "arith-bound-propagations-lp": 4793, "arith-diseq": 3187, "arith-make-feasible": 2256, "arith-max-columns": 897, "arith-max-rows": 576, "arith-offset-eqs": 5809, "solve-eqs-steps": 47503, "solve-eqs-elim-vars": 13239, "rlimit count": 13786897, "max memory": 619.16, "memory": 598.16, "num allocs": 166577556987.0, "time": 2.343}, "problem_sha256": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "a47edaf1aecb80c732ed45ddfc8a6f2a665f0ac175af4982158e7af567d60d1c.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 83551, "num_bool": 45030, "num_int": 38471, "num_real": 50, "num_hard_constraints": 696365, "num_soft_constraints": 2137, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 93445}, "z3_statistics": {"conflicts": 12900, "decisions": 396823, "propagations": 145339357, "binary propagations": 106355263, "restarts": 86, "final checks": 28, "added eqs": 11957912, "mk clause": 192891, "mk clause binary": 18913269, "del clause": 40457, "minimized lits": 84576, "num checks": 29, "mk bool var": 138632, "pb resolves": 677, "pb conflicts": 691, "pb propagations": 9961, "pb predicates": 5972, "arith eq adapter": 6146, "arith-lower": 5515659, "arith-upper": 5502761, "arith-fixed-eqs": 165911, "arith-conflicts": 566, "arith-bound-propagations-lp": 205359, "arith-diseq": 413086, "arith-make-feasible": 220059, "arith-max-columns": 6049, "arith-max-rows": 3965, "arith-offset-eqs": 1243032, "solve-eqs-steps": 229747, "solve-eqs-elim-vars": 62037, "rlimit count": 322543353, "max memory": 4702.37, "memory": 4501.36, "num allocs": 1958182966487.0, "time": 93.445}, "problem_sha256": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "a7df812c620d14325d4d18dccdb4e3ae469f5727ac6f31d49331dd79d223af40.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 10244, "num_bool": 5621, "num_int": 4609, "num_real": 14, "num_hard_constraints": 59387, "num_soft_constraints": 383, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 1674}, "z3_statistics": {"conflicts": 132, "decisions": 3661, "propagations": 274267, "binary propagations": 199079, "restarts": 1, "final checks": 6, "added eqs": 19410, "mk clause": 13535, "mk clause binary": 1035061, "del clause": 1677, "minimized lits": 273, "num checks": 7, "mk bool var": 13565, "pb resolves": 56, "pb conflicts": 59, "pb propagations": 97, "pb predicates": 743, "arith eq adapter": 518, "arith-lower": 7215, "arith-upper": 7628, "arith-fixed-eqs": 636, "arith-conflicts": 1, "arith-bound-propagations-lp": 1404, "arith-diseq": 926, "arith-make-feasible": 931, "arith-max-columns": 461, "arith-max-rows": 290, "arith-offset-eqs": 1094, "solve-eqs-steps": 26821, "solve-eqs-elim-vars": 8075, "rlimit count": 6504829, "max memory": 296.0, "memory": 282.5, "num allocs": 5749098214.0, "time": 1.674}, "problem_sha256": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "aa358daf42261994339da8ef373dcdf18401ca35669f908e1023568b5302de07.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5701, "num_bool": 3195, "num_int": 2496, "num_real": 10, "num_hard_constraints": 24797, "num_soft_constraints": 284, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 239}, "z3_statistics": {"conflicts": 9, "decisions": 21, "propagations": 18322, "binary propagations": 14830, "added eqs": 1565, "mk clause": 6036, "mk clause binary": 279871, "del clause": 464, "minimized lits": 5, "num checks": 1, "mk bool var": 7028, "pb predicates": 259, "arith eq adapter": 309, "arith-lower": 539, "arith-upper": 548, "arith-conflicts": 1, "arith-bound-propagations-lp": 186, "arith-diseq": 55, "arith-make-feasible": 43, "arith-max-columns": 305, "arith-max-rows": 189, "arith-offset-eqs": 55, "arith-fixed-eqs": 39, "solve-eqs-steps": 13406, "solve-eqs-elim-vars": 4524, "rlimit count": 1703733, "max memory": 88.65, "memory": 85.82, "num allocs": 7218965455.0, "time": 0.239}, "problem_sha256": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "ac90ca97ff993ebed2e7b1dfdd4e670b0bac1c67d04ac3d592d58456dc4425d9.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17097, "num_bool": 9331, "num_int": 7748, "num_real": 18, "num_hard_constraints": 112978, "num_soft_constraints": 548, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 2193}, "z3_statistics": {"conflicts": 313, "decisions": 11511, "propagations": 1133434, "binary propagations": 821400, "restarts": 2, "final checks": 9, "added eqs": 88027, "mk clause": 25863, "mk clause binary": 2778804, "del clause": 6511, "minimized lits": 1008, "num checks": 10, "mk bool var": 25292, "pb resolves": 89, "pb conflicts": 95, "pb propagations": 369, "pb predicates": 1270, "arith eq adapter": 1088, "arith-lower": 34607, "arith-upper": 34622, "arith-fixed-eqs": 1721, "arith-conflicts": 9, "arith-bound-propagations-lp": 4317, "arith-diseq": 2504, "arith-make-feasible": 2668, "arith-max-columns": 922, "arith-max-rows": 593, "arith-offset-eqs": 5934, "solve-eqs-steps": 46243, "solve-eqs-elim-vars": 13199, "rlimit count": 10988398, "max memory": 619.08, "memory": 597.88, "num allocs": 173287420086.0, "time": 2.193}, "problem_sha256": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "aeec9f77b092fb1f9c13c7b1cd4914bf6f31a8c3e4e34b97556ee942431f9d1c.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5854, "num_bool": 3276, "num_int": 2568, "num_real": 10, "num_hard_constraints": 25205, "num_soft_constraints": 293, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 312}, "z3_statistics": {"conflicts": 272, "decisions": 4275, "propagations": 156893, "binary propagations": 110923, "restarts": 2, "final checks": 11, "added eqs": 13717, "mk clause": 7350, "mk clause binary": 283406, "del clause": 535, "minimized lits": 1008, "num checks": 12, "mk bool var": 7147, "pb resolves": 35, "pb conflicts": 64, "pb propagations": 311, "pb predicates": 262, "arith eq adapter": 359, "arith-lower": 5039, "arith-upper": 5210, "arith-fixed-eqs": 389, "arith-bound-propagations-lp": 1129, "arith-diseq": 408, "arith-make-feasible": 1740, "arith-max-columns": 317, "arith-max-rows": 194, "arith-offset-eqs": 977, "solve-eqs-steps": 13111, "solve-eqs-elim-vars": 4674, "num allocs": 895408085, "rlimit count": 1935497, "max memory": 88.83, "memory": 87.38, "time": 0.312}, "problem_sha256": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "b6393502fdb5834104bcd66ed1a29e6150c036beb3c8a185f04a6341b3fd3102.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1093104, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 32076}, "z3_statistics": {"conflicts": 8, "decisions": 44, "propagations": 78236, "binary propagations": 63412, "added eqs": 16606, "mk clause": 122124, "mk clause binary": 18918999, "del clause": 11413, "num checks": 1, "mk bool var": 148222, "pb predicates": 6452, "arith eq adapter": 6836, "arith-lower": 3734, "arith-upper": 3716, "arith-bound-propagations-lp": 1138, "arith-diseq": 60, "arith-make-feasible": 108, "arith-max-columns": 6854, "arith-max-rows": 4519, "arith-offset-eqs": 159, "arith-fixed-eqs": 298, "solve-eqs-steps": 246594, "solve-eqs-elim-vars": 74793, "rlimit count": 67029168, "max memory": 4739.95, "memory": 4491.86, "num allocs": 2209919358644.0, "time": 32.076}, "problem_sha256": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "bc60e5e73924b7f663b6320df3ffba8cb70b7ca50069d0bb586a8656aca15677.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99809, "num_bool": 52910, "num_int": 46851, "num_real": 48, "num_hard_constraints": 1095737, "num_soft_constraints": 1923, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 33752}, "z3_statistics": {"conflicts": 554, "decisions": 2726, "propagations": 5217493, "binary propagations": 3798556, "restarts": 5, "added eqs": 467675, "mk clause": 136706, "mk clause binary": 18949817, "del clause": 11717, "minimized lits": 7387, "num checks": 1, "mk bool var": 148696, "pb propagations": 127, "pb predicates": 6454, "arith eq adapter": 7128, "arith-lower": 201950, "arith-upper": 204836, "arith-fixed-eqs": 5630, "arith-conflicts": 22, "arith-bound-propagations-lp": 17339, "arith-diseq": 8603, "arith-make-feasible": 4523, "arith-max-columns": 6858, "arith-max-rows": 4522, "arith-offset-eqs": 32206, "solve-eqs-steps": 247112, "solve-eqs-elim-vars": 75214, "rlimit count": 76041935, "max memory": 4742.12, "memory": 4504.18, "num allocs": 2234259712780.0, "time": 33.752}, "problem_sha256": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "be1c308d797798dce2f3663ad9790822ce632331f6d9c7309a738ab8e438804e.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1093134, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 32836}, "z3_statistics": {"conflicts": 17, "decisions": 59, "propagations": 77550, "binary propagations": 60805, "added eqs": 12994, "mk clause": 121238, "mk clause binary": 18903218, "del clause": 11402, "minimized lits": 300, "num checks": 1, "mk bool var": 147738, "pb predicates": 6449, "arith eq adapter": 6797, "arith-lower": 1897, "arith-upper": 1897, "arith-bound-propagations-lp": 488, "arith-diseq": 37, "arith-make-feasible": 65, "arith-max-columns": 6794, "arith-max-rows": 4478, "arith-offset-eqs": 25, "arith-fixed-eqs": 84, "solve-eqs-steps": 242639, "solve-eqs-elim-vars": 74865, "rlimit count": 66856154, "max memory": 4755.76, "memory": 4504.42, "num allocs": 2213342027483.0, "time": 32.836}, "problem_sha256": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "c5d46b1e315a5c5e6cf895acac137541641d31b9bc77909ede85575c6876b0db.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 59881, "num_bool": 32069, "num_int": 27774, "num_real": 38, "num_hard_constraints": 524539, "num_soft_constraints": 1453, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 42599}, "z3_statistics": {"conflicts": 8751, "decisions": 199321, "propagations": 79552413, "binary propagations": 57569986, "restarts": 63, "final checks": 33, "added eqs": 6444865, "mk clause": 124076, "mk clause binary": 10500022, "del clause": 16378, "minimized lits": 70760, "num checks": 34, "mk bool var": 91008, "pb resolves": 596, "pb conflicts": 616, "pb propagations": 5541, "pb predicates": 4090, "arith eq adapter": 4241, "arith-lower": 2904629, "arith-upper": 2921908, "arith-fixed-eqs": 84900, "arith-conflicts": 259, "arith-bound-propagations-lp": 111557, "arith-diseq": 223102, "arith-make-feasible": 100743, "arith-max-columns": 4091, "arith-max-rows": 2679, "arith-offset-eqs": 664132, "solve-eqs-steps": 148243, "solve-eqs-elim-vars": 45182, "rlimit count": 161835665, "max memory": 2497.83, "memory": 2434.64, "num allocs": 769099593064.0, "time": 42.599}, "problem_sha256": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "cc611a5155b2d4fc3e0ee9f52181aea53ceefcbb5763e9f5e481ae7c93ebcc52.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 17043, "num_bool": 9303, "num_int": 7722, "num_real": 18, "num_hard_constraints": 112812, "num_soft_constraints": 546, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 3350}, "z3_statistics": {"conflicts": 394, "decisions": 10789, "propagations": 1035444, "binary propagations": 740858, "restarts": 3, "final checks": 8, "added eqs": 75108, "mk clause": 24698, "mk clause binary": 2719904, "del clause": 2582, "minimized lits": 2033, "num checks": 9, "mk bool var": 23635, "pb resolves": 101, "pb conflicts": 117, "pb propagations": 314, "pb predicates": 1265, "arith eq adapter": 831, "arith-lower": 26930, "arith-upper": 28277, "arith-fixed-eqs": 1366, "arith-conflicts": 5, "arith-bound-propagations-lp": 3554, "arith-diseq": 3069, "arith-make-feasible": 2780, "arith-max-columns": 774, "arith-max-rows": 494, "arith-offset-eqs": 4884, "solve-eqs-steps": 47432, "solve-eqs-elim-vars": 13491, "rlimit count": 14423207, "max memory": 612.05, "memory": 590.91, "num allocs": 23511619607.0, "time": 3.35}, "problem_sha256": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "d8d5ffa7d82453487927cb6588bf547b89fa3149bb1b8865bac16dcc2516af84.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 32912, "num_bool": 19654, "num_int": 13218, "num_real": 40, "num_hard_constraints": 105784, "num_soft_constraints": 2047, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 13346}, "z3_statistics": {"conflicts": 28, "decisions": 130, "propagations": 140410, "binary propagations": 119525, "added eqs": 5552, "mk clause": 54323, "mk clause binary": 14969842, "del clause": 611, "minimized lits": 12, "num checks": 1, "mk bool var": 60503, "pb propagations": 23, "pb predicates": 363, "arith eq adapter": 1593, "arith-lower": 2740, "arith-upper": 2743, "arith-conflicts": 3, "arith-bound-propagations-lp": 999, "arith-diseq": 187, "arith-make-feasible": 228, "arith-max-columns": 1633, "arith-max-rows": 1015, "arith-offset-eqs": 140, "arith-fixed-eqs": 262, "solve-eqs-steps": 141044, "solve-eqs-elim-vars": 27384, "rlimit count": 20723801, "max memory": 4321.13, "memory": 4068.8, "num allocs": 1678980211955.0, "time": 13.346}, "problem_sha256": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "deb82eaaca14c195b21c630b779fdaa94660a25ed2379f07d1ac4035cf0078fa.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24936, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "half", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 268}, "z3_statistics": {"conflicts": 61, "decisions": 190, "propagations": 57841, "binary propagations": 42514, "added eqs": 5415, "mk clause": 6486, "mk clause binary": 282146, "del clause": 491, "minimized lits": 215, "num checks": 1, "mk bool var": 7126, "pb resolves": 2, "pb conflicts": 2, "pb propagations": 16, "pb predicates": 260, "arith eq adapter": 356, "arith-lower": 2087, "arith-upper": 2155, "arith-fixed-eqs": 217, "arith-conflicts": 3, "arith-bound-propagations-lp": 546, "arith-diseq": 339, "arith-make-feasible": 239, "arith-max-columns": 310, "arith-max-rows": 191, "arith-offset-eqs": 327, "solve-eqs-steps": 13030, "solve-eqs-elim-vars": 4574, "num allocs": 848196759, "rlimit count": 1643884, "max memory": 88.64, "memory": 86.18, "time": 0.268}, "problem_sha256": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "e57b3cf2bc7e5d44864063485fcf0b98d6123bfacb936933dab8a49fec33c078.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 99386, "num_bool": 52694, "num_int": 46644, "num_real": 48, "num_hard_constraints": 1092831, "num_soft_constraints": 1914, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "2", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 31406}, "z3_statistics": {"conflicts": 34, "decisions": 752, "propagations": 307126, "binary propagations": 237755, "added eqs": 39079, "mk clause": 125068, "mk clause binary": 18935100, "del clause": 11462, "minimized lits": 216, "num checks": 1, "mk bool var": 148631, "pb propagations": 2, "pb predicates": 6459, "arith eq adapter": 6939, "arith-lower": 14729, "arith-upper": 14637, "arith-conflicts": 1, "arith-bound-propagations-lp": 3834, "arith-diseq": 277, "arith-make-feasible": 768, "arith-max-columns": 6887, "arith-max-rows": 4538, "arith-offset-eqs": 1580, "arith-fixed-eqs": 896, "solve-eqs-steps": 241933, "solve-eqs-elim-vars": 74706, "rlimit count": 66565673, "max memory": 4759.15, "memory": 4513.86, "num allocs": 2225577072298.0, "time": 31.406}, "problem_sha256": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "f54dba052fbf975e36b4f6dae5b47802965275f27cc276cd8a6199f763a7b8a4.smt2"} -{"z3_version": "4.13.3.0", "features": {"num_variables": 3797, "num_bool": 2116, "num_int": 1673, "num_real": 8, "num_hard_constraints": 14932, "num_soft_constraints": 215, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Unsat", "elapsed_ms": 221}, "z3_statistics": {"solve-eqs-steps": 7223, "solve-eqs-elim-vars": 3365, "num allocs": 49404449, "rlimit count": 828317, "max memory": 25.25, "memory": 22.82, "time": 0.221}, "problem_sha256": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "fac53f0ffed255416c5d6c6cec93f2aaa8144b18ebfac4d4cf5a973f941ef8d3.smt2"} -{"solver": "z3", "path": "primary", "z3_version": "4.13.3.0", "features": {"num_variables": 5752, "num_bool": 3222, "num_int": 2520, "num_real": 10, "num_hard_constraints": 24936, "num_soft_constraints": 287, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "False", "optimize_m1": "False", "optimize_m2": "False", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_applied_params": {"sat.random_seed": 0, "smt.random_seed": 0, "sls.random_seed": 0, "parallel.enable": false, "threads": 1, "sat.threads": 1, "smt.threads": 1, "smt.phase_selection": 3, "sat.pb.solver": "totalizer", "sat.branching.heuristic": "vsids", "sat.restart": "geometric", "sat.phase": "caching", "opt.priority": "pareto", "opt.maxsat_engine": "wmax", "opt.maxres.hill_climb": true, "opt.rc2.totalizer": true, "opt.enable_sls": true, "opt.enable_core_rotate": true, "opt.enable_sat": true}, "z3_status": {"result": "Sat", "elapsed_ms": 258}, "z3_statistics": {"conflicts": 103, "decisions": 964, "propagations": 76908, "binary propagations": 53999, "final checks": 6, "added eqs": 5141, "mk clause": 6437, "mk clause binary": 282306, "del clause": 482, "minimized lits": 242, "num checks": 7, "mk bool var": 7079, "pb resolves": 28, "pb conflicts": 30, "pb propagations": 45, "pb predicates": 260, "arith eq adapter": 357, "arith-lower": 2136, "arith-upper": 2122, "arith-fixed-eqs": 309, "arith-conflicts": 5, "arith-bound-propagations-lp": 483, "arith-diseq": 592, "arith-make-feasible": 416, "arith-max-columns": 309, "arith-max-rows": 191, "arith-offset-eqs": 291, "solve-eqs-steps": 13111, "solve-eqs-elim-vars": 4574, "num allocs": 863687625, "rlimit count": 1730326, "max memory": 88.65, "memory": 86.87, "time": 0.258}, "problem_sha256": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b", "applied_params_hash": "543b29ed8f75ba2d0c54a5409cce4ee23f2d54d221a09c0cca667e1b31ffcec6", "smt2_filename": "fe3a23ba2a11867b3e3498c501502f51befc6e98b7117d10773441d2838f093b.smt2"} +{"problem_sha256": "01cf1fd88024bf84b72adf4fc6508d9eae416e89211df44555af727b6f6471d8", "smt2_filename": "../reboot-raw-data/NAND2_D2_N_S6P25TL_C54L04_zero_20260608_134146_458501_R1/problem.smt2", "cell": "NAND2_D2_N_S6P25TL_C54L04_zero_20260608_134146_458501_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2328, "num_bool": 1533, "num_int": 662, "num_real": 133, "num_hard_constraints": 9014, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "0309699a96cf116b197bb9477ab4d58eedce7ea2a65b705c5dcdb439d8c098c6", "smt2_filename": "../reboot-raw-data/NAND4_D2_N_S6P25TL_C54L04_zero_20260608_134150_009488_R1/problem.smt2", "cell": "NAND4_D2_N_S6P25TL_C54L04_zero_20260608_134150_009488_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4810, "num_bool": 3329, "num_int": 1236, "num_real": 245, "num_hard_constraints": 18826, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "045c333ae6fd91a71357d95ad26153ca619bd0a8962abe25dc5f8c34a6a914c4", "smt2_filename": "../reboot-raw-data/XNOR3_D2_N_S6P25TL_C54L04_zero_20260608_134216_591982_R1/problem.smt2", "cell": "XNOR3_D2_N_S6P25TL_C54L04_zero_20260608_134216_591982_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 8594, "num_bool": 6408, "num_int": 1819, "num_real": 367, "num_hard_constraints": 31928, "num_soft_constraints": 321, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "0e8bb5d3945b1191c7c7f539a8a7ce1e4be6ac711833b2c18f24e455e93f8606", "smt2_filename": "../reboot-raw-data/NOR2_D2_N_S6P25TL_C54L04_zero_20260608_134151_163325_R1/problem.smt2", "cell": "NOR2_D2_N_S6P25TL_C54L04_zero_20260608_134151_163325_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2328, "num_bool": 1533, "num_int": 662, "num_real": 133, "num_hard_constraints": 9014, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "0f0682bee31ad5d773d6593f3f0f065642c17ad00704d87246a5509f6e202bbd", "smt2_filename": "../reboot-raw-data/MXIT2_D1_N_S6P25TL_C54L04_zero_20260608_134144_060444_R1/problem.smt2", "cell": "MXIT2_D1_N_S6P25TL_C54L04_zero_20260608_134144_060444_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3106, "num_bool": 2158, "num_int": 785, "num_real": 163, "num_hard_constraints": 11949, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "10fa567f637d1773ed0316aa1c7b4390f62a2eaf79f0de950ebce0298c722451", "smt2_filename": "../reboot-raw-data/MXT2_D1_N_S6P25TL_C54L04_zero_20260608_134144_592201_R1/problem.smt2", "cell": "MXT2_D1_N_S6P25TL_C54L04_zero_20260608_134144_592201_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3927, "num_bool": 2786, "num_int": 947, "num_real": 194, "num_hard_constraints": 15204, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "16d82de7f0e483e95f79f5efa8a597cfb7ee365913e5121174f34f76f0d84e4b", "smt2_filename": "../reboot-raw-data/OA22_D1_N_S6P25TL_C54L04_zero_20260608_134157_081154_R1/problem.smt2", "cell": "OA22_D1_N_S6P25TL_C54L04_zero_20260608_134157_081154_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2935, "num_int": 936, "num_real": 190, "num_hard_constraints": 15251, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "1b3f67e6de7418370fce54107c8f259b3697f6c307d97693c2928d76deca60b9", "smt2_filename": "../reboot-raw-data/NOR3_D1_N_S6P25TL_C54L04_zero_20260608_134153_655225_R1/problem.smt2", "cell": "NOR3_D1_N_S6P25TL_C54L04_zero_20260608_134153_655225_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1258, "num_int": 491, "num_real": 102, "num_hard_constraints": 7057, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "201573f49489e1fdb4c323654f80efa326145ab773b53afb164e3f46d40d6957", "smt2_filename": "../reboot-raw-data/OR4_D1_N_S6P25TL_C54L04_zero_20260608_134205_568837_R1/problem.smt2", "cell": "OR4_D1_N_S6P25TL_C54L04_zero_20260608_134205_568837_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2290, "num_int": 777, "num_real": 159, "num_hard_constraints": 12471, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "20f2377795b621297fe87a7cc65a70db0fb6089e9ab9312a5b0b9c00ae53a98b", "smt2_filename": "../reboot-raw-data/AOI31_D2_N_S6P25TL_C54L04_zero_20260608_134131_829440_R1/problem.smt2", "cell": "AOI31_D2_N_S6P25TL_C54L04_zero_20260608_134131_829440_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5113, "num_bool": 3614, "num_int": 1250, "num_real": 249, "num_hard_constraints": 19495, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "22a65b739933ee77a74974b8b5657a261507448a0e49e2ffaf3136343a411a68", "smt2_filename": "../reboot-raw-data/BUF_D1_N_S6P25TL_C54L04_zero_20260608_134132_538981_R1/problem.smt2", "cell": "BUF_D1_N_S6P25TL_C54L04_zero_20260608_134132_538981_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1326, "num_bool": 879, "num_int": 370, "num_real": 77, "num_hard_constraints": 4667, "num_soft_constraints": 71, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "26cd161f5e2ae7358ff989f95648c1a89a8b07c1e15d387b13954b17b92e3493", "smt2_filename": "../reboot-raw-data/BUF_D2_N_S6P25TL_C54L04_zero_20260608_134132_822236_R1/problem.smt2", "cell": "BUF_D2_N_S6P25TL_C54L04_zero_20260608_134132_822236_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1767, "num_bool": 1168, "num_int": 497, "num_real": 102, "num_hard_constraints": 6840, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "27c6c62771d273077aebfc6bd75d73a37c71f01499d72faea543921340dd4f4d", "smt2_filename": "../reboot-raw-data/OAI211_D1_N_S6P25TL_C54L04_zero_20260608_134157_845466_R1/problem.smt2", "cell": "OAI211_D1_N_S6P25TL_C54L04_zero_20260608_134157_845466_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1938, "num_int": 658, "num_real": 135, "num_hard_constraints": 10503, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "2b1eedd6d9e4153237ea16800290116b7a9fd2b7a4581ee82d6f2eb2f5f098cd", "smt2_filename": "../reboot-raw-data/DLY4_D1_N_S6P25TL_C54L04_zero_20260608_134137_422225_R1/problem.smt2", "cell": "DLY4_D1_N_S6P25TL_C54L04_zero_20260608_134137_422225_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5281, "num_bool": 3656, "num_int": 1357, "num_real": 268, "num_hard_constraints": 18592, "num_soft_constraints": 242, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "2b97d9c2614421eeb89317f5748bd60205cbfc6d74dd953a5ae7cf2266769e02", "smt2_filename": "../reboot-raw-data/BUF_D8_N_S6P25TL_C54L04_zero_20260608_134134_308096_R1/problem.smt2", "cell": "BUF_D8_N_S6P25TL_C54L04_zero_20260608_134134_308096_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5371, "num_bool": 3530, "num_int": 1541, "num_real": 300, "num_hard_constraints": 21395, "num_soft_constraints": 271, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "30968c422e50ad76504da2148eeb89ad70f1b7c56743165c012060a1f59edf61", "smt2_filename": "../reboot-raw-data/OA211_D1_N_S6P25TL_C54L04_zero_20260608_134156_305077_R1/problem.smt2", "cell": "OA211_D1_N_S6P25TL_C54L04_zero_20260608_134156_305077_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2933, "num_int": 934, "num_real": 190, "num_hard_constraints": 15687, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "324197612dbfc6e0624bcf36160c6bd365f6eb5a2a251b36ec835dff357a0220", "smt2_filename": "../reboot-raw-data/LATNQ_D1_N_S6P25TL_C54L04_zero_20260608_134142_609481_R1/problem.smt2", "cell": "LATNQ_D1_N_S6P25TL_C54L04_zero_20260608_134142_609481_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5083, "num_bool": 3601, "num_int": 1233, "num_real": 249, "num_hard_constraints": 19814, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "32fcb972c287588019470d702cc875ed9f8e50241aefb4598b50fb327f005659", "smt2_filename": "../reboot-raw-data/INVP_D1_N_S6P25TL_C54L04_zero_20260608_134142_302715_R1/problem.smt2", "cell": "INVP_D1_N_S6P25TL_C54L04_zero_20260608_134142_302715_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 208, "num_real": 46, "num_hard_constraints": 2528, "num_soft_constraints": 42, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "32fcb972c287588019470d702cc875ed9f8e50241aefb4598b50fb327f005659", "smt2_filename": "../reboot-raw-data/INV_D1_N_S6P25TL_C54L04_zero_20260608_134139_053916_R1/problem.smt2", "cell": "INV_D1_N_S6P25TL_C54L04_zero_20260608_134139_053916_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 715, "num_bool": 461, "num_int": 208, "num_real": 46, "num_hard_constraints": 2528, "num_soft_constraints": 42, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "33dbca07362528b149aacd5aef54c66159da9880411506d8b43493a9af2b3c43", "smt2_filename": "../reboot-raw-data/ADDH_D1_N_S6P25TL_C54L04_zero_20260608_134121_796919_R1/problem.smt2", "cell": "ADDH_D1_N_S6P25TL_C54L04_zero_20260608_134121_796919_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5314, "num_bool": 3835, "num_int": 1232, "num_real": 247, "num_hard_constraints": 20836, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "3bd17864562303c4059087e0ccc0326c4f0dd2f3ec6229d18e4e8a1da6a59e28", "smt2_filename": "../reboot-raw-data/INV_D10_N_S6P25TL_C54L04_zero_20260608_134138_131083_R1/problem.smt2", "cell": "INV_D10_N_S6P25TL_C54L04_zero_20260608_134138_131083_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5081, "num_bool": 3235, "num_int": 1546, "num_real": 300, "num_hard_constraints": 20224, "num_soft_constraints": 271, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "423de84152fe9643829fba29de86a80851186b5968ca19b2c512a1a7e8cbda86", "smt2_filename": "../reboot-raw-data/AOI22_D2_N_S6P25TL_C54L04_zero_20260608_134130_172592_R1/problem.smt2", "cell": "AOI22_D2_N_S6P25TL_C54L04_zero_20260608_134130_172592_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5113, "num_bool": 3614, "num_int": 1250, "num_real": 249, "num_hard_constraints": 19490, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "42c13770fa2cb11f6f6bd178413378b789f031c255f0596c2078db8bbc3ac3ea", "smt2_filename": "../reboot-raw-data/NAND2B_D1_N_S6P25TL_C54L04_zero_20260608_134147_734192_R1/problem.smt2", "cell": "NAND2B_D1_N_S6P25TL_C54L04_zero_20260608_134147_734192_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1265, "num_int": 492, "num_real": 103, "num_hard_constraints": 7133, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "465148e2cb138d832fba1c4a3e233a861ee10208f36bb7dc6dbea59bceda5d4a", "smt2_filename": "../reboot-raw-data/AO21A1AI2_D1_N_S6P25TL_C54L04_zero_20260608_134125_475035_R1/problem.smt2", "cell": "AO21A1AI2_D1_N_S6P25TL_C54L04_zero_20260608_134125_475035_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3374, "num_bool": 2444, "num_int": 770, "num_real": 160, "num_hard_constraints": 12941, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "47d4dc87682815e37e5a340045e7fb6e77d61eaea14d99a0e7fd27741675db5c", "smt2_filename": "../reboot-raw-data/SDFFRPQRLV_D1_N_S6P25TL_C54L04_zero_20260608_134210_145338_R1/problem.smt2", "cell": "SDFFRPQRLV_D1_N_S6P25TL_C54L04_zero_20260608_134210_145338_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 8092, "num_bool": 5940, "num_int": 1792, "num_real": 360, "num_hard_constraints": 30755, "num_soft_constraints": 321, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "4c758d5b342040952c67c764da335f108264fb8c26bb3f01f8987ac703aac8d5", "smt2_filename": "../reboot-raw-data/OAI22BB_D1_N_S6P25TL_C54L04_zero_20260608_134201_900987_R1/problem.smt2", "cell": "OAI22BB_D1_N_S6P25TL_C54L04_zero_20260608_134201_900987_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4049, "num_bool": 2927, "num_int": 932, "num_real": 190, "num_hard_constraints": 15189, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "4e8e8c8fc1360d59093776653c85b284f3b907289b49c44fd58cef40a13a219c", "smt2_filename": "../reboot-raw-data/INV_D6_N_S6P25TL_C54L04_zero_20260608_134141_039793_R1/problem.smt2", "cell": "INV_D6_N_S6P25TL_C54L04_zero_20260608_134141_039793_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3161, "num_bool": 2015, "num_int": 958, "num_real": 188, "num_hard_constraints": 12478, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "5576f5ebb45bfe4e84cde466857284d524ae73422cca4ff3197b48a84cebc334", "smt2_filename": "../reboot-raw-data/AOI211_D2_N_S6P25TL_C54L04_zero_20260608_134127_803090_R1/problem.smt2", "cell": "AOI211_D2_N_S6P25TL_C54L04_zero_20260608_134127_803090_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5103, "num_bool": 3608, "num_int": 1247, "num_real": 248, "num_hard_constraints": 20055, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "568ab98c78f7171b9f575c59002687fcefed00b39ff9ac47e3ea3d9bfed3f4ea", "smt2_filename": "../reboot-raw-data/NAND3_D1_N_S6P25TL_C54L04_zero_20260608_134148_279727_R1/problem.smt2", "cell": "NAND3_D1_N_S6P25TL_C54L04_zero_20260608_134148_279727_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1851, "num_bool": 1258, "num_int": 491, "num_real": 102, "num_hard_constraints": 7057, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "5daef32206784050115ef4181dcbd4245b4bb1f4ce893d7c230fb0eb2332bb02", "smt2_filename": "../reboot-raw-data/ADDF_D1_N_S6P25TL_C54L04_zero_20260608_134121_142864_R1/problem.smt2", "cell": "ADDF_D1_N_S6P25TL_C54L04_zero_20260608_134121_142864_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4574, "num_bool": 3307, "num_int": 1054, "num_real": 213, "num_hard_constraints": 17716, "num_soft_constraints": 192, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "5de600a7caea1ea91634e2cd4e04739aced915668f48623f73101fd4073d1cd7", "smt2_filename": "../reboot-raw-data/AND2_D1_N_S6P25TL_C54L04_zero_20260608_134122_471859_R1/problem.smt2", "cell": "AND2_D1_N_S6P25TL_C54L04_zero_20260608_134122_471859_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1267, "num_int": 494, "num_real": 103, "num_hard_constraints": 7154, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "6218121285c573e7d6ec2f079bb0dfa14ab323ae9e99fdb9a67c142594d2904c", "smt2_filename": "../reboot-raw-data/NOR2B_D1_N_S6P25TL_C54L04_zero_20260608_134152_493910_R1/problem.smt2", "cell": "NOR2B_D1_N_S6P25TL_C54L04_zero_20260608_134152_493910_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1265, "num_int": 492, "num_real": 103, "num_hard_constraints": 7138, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "623b792bb23da42d6d58c7602236b057bb9fc466d1fc126450f2ce68b4f65d93", "smt2_filename": "../reboot-raw-data/INV_D4_N_S6P25TL_C54L04_zero_20260608_134140_222316_R1/problem.smt2", "cell": "INV_D4_N_S6P25TL_C54L04_zero_20260608_134140_222316_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2201, "num_bool": 1405, "num_int": 664, "num_real": 132, "num_hard_constraints": 8605, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "6269c109fdff919c02ed33e66efd40fe6d0d79bbb4b3eaa982c8f76627231567", "smt2_filename": "../reboot-raw-data/DLY2_D2_N_S6P25TL_C54L04_zero_20260608_134136_921468_R1/problem.smt2", "cell": "DLY2_D2_N_S6P25TL_C54L04_zero_20260608_134136_921468_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3316, "num_bool": 2180, "num_int": 949, "num_real": 187, "num_hard_constraints": 12891, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "63443bd9cf67dd325af74b91845138fe29b2e5657913a55374a9e184352e76a0", "smt2_filename": "../reboot-raw-data/OAI22P_D1_N_S6P25TL_C54L04_zero_20260608_134202_714132_R1/problem.smt2", "cell": "OAI22P_D1_N_S6P25TL_C54L04_zero_20260608_134202_714132_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1940, "num_int": 660, "num_real": 135, "num_hard_constraints": 10206, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "63443bd9cf67dd325af74b91845138fe29b2e5657913a55374a9e184352e76a0", "smt2_filename": "../reboot-raw-data/OAI22_D1_N_S6P25TL_C54L04_zero_20260608_134200_545745_R1/problem.smt2", "cell": "OAI22_D1_N_S6P25TL_C54L04_zero_20260608_134200_545745_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1940, "num_int": 660, "num_real": 135, "num_hard_constraints": 10206, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "64c0aab6d5b4c677d46c422ad8f22c64ee64fc565343958871b1617471fbd8d3", "smt2_filename": "../reboot-raw-data/NOR2_D1_N_S6P25TL_C54L04_zero_20260608_134150_775662_R1/problem.smt2", "cell": "NOR2_D1_N_S6P25TL_C54L04_zero_20260608_134150_775662_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 870, "num_int": 370, "num_real": 77, "num_hard_constraints": 4981, "num_soft_constraints": 71, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "66d2dfbc087cf000fe202e30540b4b365e400acd3c67c634f1101c2868bd823d", "smt2_filename": "../reboot-raw-data/SDFFRPQNRLV_D1_N_S6P25TL_C54L04_zero_20260608_134208_944541_R1/problem.smt2", "cell": "SDFFRPQNRLV_D1_N_S6P25TL_C54L04_zero_20260608_134208_944541_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 8078, "num_bool": 5933, "num_int": 1785, "num_real": 360, "num_hard_constraints": 31548, "num_soft_constraints": 321, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "6ddc4a20d2064d321ca02d3e9f498391e5aec57e1ce51e4b348977713d522ef0", "smt2_filename": "../reboot-raw-data/OAI21_D1_N_S6P25TL_C54L04_zero_20260608_134159_193779_R1/problem.smt2", "cell": "OAI21_D1_N_S6P25TL_C54L04_zero_20260608_134159_193779_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1978, "num_bool": 1378, "num_int": 496, "num_real": 104, "num_hard_constraints": 7558, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "73d66e09d43ed58e307e5f581e8db1f9885079ef7f53ace918618ccd3483da50", "smt2_filename": "../reboot-raw-data/OAI211_D2_N_S6P25TL_C54L04_zero_20260608_134158_412835_R1/problem.smt2", "cell": "OAI211_D2_N_S6P25TL_C54L04_zero_20260608_134158_412835_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5103, "num_bool": 3608, "num_int": 1247, "num_real": 248, "num_hard_constraints": 20055, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "75d514ea2dc1e089d3b8c32dfb727d6662d118da378ae0bad5809963ef1b0ee4", "smt2_filename": "../reboot-raw-data/NAND2_D1_N_S6P25TL_C54L04_zero_20260608_134146_146923_R1/problem.smt2", "cell": "NAND2_D1_N_S6P25TL_C54L04_zero_20260608_134146_146923_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1317, "num_bool": 870, "num_int": 370, "num_real": 77, "num_hard_constraints": 4981, "num_soft_constraints": 71, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "7ced356d6d700da07e89a6a60b842699e8f68bbc9b31bd09942183a8425645f3", "smt2_filename": "../reboot-raw-data/LATQ_D1_N_S6P25TL_C54L04_zero_20260608_134143_328287_R1/problem.smt2", "cell": "LATQ_D1_N_S6P25TL_C54L04_zero_20260608_134143_328287_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5083, "num_bool": 3601, "num_int": 1233, "num_real": 249, "num_hard_constraints": 19814, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "808699d0d5c43d5e6e199f7ca25e1db0fce44070be0730d6d178d039a1daefeb", "smt2_filename": "../reboot-raw-data/AO22_D2_N_S6P25TL_C54L04_zero_20260608_134126_650116_R1/problem.smt2", "cell": "AO22_D2_N_S6P25TL_C54L04_zero_20260608_134126_650116_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4592, "num_bool": 3319, "num_int": 1058, "num_real": 215, "num_hard_constraints": 17851, "num_soft_constraints": 192, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "843647feb551627f095d0c2fffd9eb19a84804e56891ea9700102bdf81dd5d79", "smt2_filename": "../reboot-raw-data/XNOR3_D1_N_S6P25TL_C54L04_zero_20260608_134215_387381_R1/problem.smt2", "cell": "XNOR3_D1_N_S6P25TL_C54L04_zero_20260608_134215_387381_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 7848, "num_bool": 5859, "num_int": 1652, "num_real": 337, "num_hard_constraints": 29052, "num_soft_constraints": 292, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "84828a02cbd35f90c3d30fde0b47745c75d25fe71a9818c03b32b38e0d62d515", "smt2_filename": "../reboot-raw-data/INV_D3_N_S6P25TL_C54L04_zero_20260608_134139_703243_R1/problem.smt2", "cell": "INV_D3_N_S6P25TL_C54L04_zero_20260608_134139_703243_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1675, "num_bool": 1071, "num_int": 502, "num_real": 102, "num_hard_constraints": 6499, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "8a06ffa7faffff0ae49ce3bcf41073017968492a2d0516787b5f9225ab3cbdee", "smt2_filename": "../reboot-raw-data/SDFFQRLV_D1_N_S6P25TL_C54L04_zero_20260608_134207_957228_R1/problem.smt2", "cell": "SDFFQRLV_D1_N_S6P25TL_C54L04_zero_20260608_134207_957228_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 6855, "num_bool": 5041, "num_int": 1506, "num_real": 308, "num_hard_constraints": 26602, "num_soft_constraints": 271, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "8a15c81ab17e76e087c598a13f66c1661d894fe9d974f82d3043df5340b15f86", "smt2_filename": "../reboot-raw-data/XOR2_D2_N_S6P25TL_C54L04_zero_20260608_134218_414924_R1/problem.smt2", "cell": "XOR2_D2_N_S6P25TL_C54L04_zero_20260608_134218_414924_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3677, "num_int": 1361, "num_real": 272, "num_hard_constraints": 18859, "num_soft_constraints": 242, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "8d36778505fb883d1db05b6436571ccdf10f1844435aad6aa505c0e707761dde", "smt2_filename": "../reboot-raw-data/NOR3_D2_N_S6P25TL_C54L04_zero_20260608_134154_209229_R1/problem.smt2", "cell": "NOR3_D2_N_S6P25TL_C54L04_zero_20260608_134154_209229_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3527, "num_bool": 2384, "num_int": 954, "num_real": 189, "num_hard_constraints": 13781, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "8eeb1dc0f627c45b4b234e17adc46699739e8ea016c72b20463fa2635171bd30", "smt2_filename": "../reboot-raw-data/MXT2_D2_N_S6P25TL_C54L04_zero_20260608_134145_402080_R1/problem.smt2", "cell": "MXT2_D2_N_S6P25TL_C54L04_zero_20260608_134145_402080_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4443, "num_bool": 3150, "num_int": 1074, "num_real": 219, "num_hard_constraints": 17308, "num_soft_constraints": 192, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "9239a79679d8985e2412724d31b1813c4ef653709972b56529697526dc50031b", "smt2_filename": "../reboot-raw-data/PREICG_D4_N_S6P25TL_C54L04_zero_20260608_134206_180049_R1/problem.smt2", "cell": "PREICG_D4_N_S6P25TL_C54L04_zero_20260608_134206_180049_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 10411, "num_bool": 7758, "num_int": 2210, "num_real": 443, "num_hard_constraints": 40999, "num_soft_constraints": 392, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "92f171f9364d8cd00926f714e0ec1d7564b14b000754954a47e1c1259c9fca6f", "smt2_filename": "../reboot-raw-data/XNOR2_D1_N_S6P25TL_C54L04_zero_20260608_134213_823170_R1/problem.smt2", "cell": "XNOR2_D1_N_S6P25TL_C54L04_zero_20260608_134213_823170_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2151, "num_int": 788, "num_real": 161, "num_hard_constraints": 10920, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "939076811a6edcc56666b526e006f374e9a8c56bcd6d6be0e72d434b12a777d0", "smt2_filename": "../reboot-raw-data/AOI31_D1_N_S6P25TL_C54L04_zero_20260608_134131_341831_R1/problem.smt2", "cell": "AOI31_D1_N_S6P25TL_C54L04_zero_20260608_134131_341831_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1926, "num_int": 653, "num_real": 134, "num_hard_constraints": 10422, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "9519573014bbb31f8252ee74b8e763b80c7f5864f308e7cb4b540bdf91ac9282", "smt2_filename": "../reboot-raw-data/OR2_D1_N_S6P25TL_C54L04_zero_20260608_134204_939701_R1/problem.smt2", "cell": "OR2_D1_N_S6P25TL_C54L04_zero_20260608_134204_939701_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1864, "num_bool": 1267, "num_int": 494, "num_real": 103, "num_hard_constraints": 7154, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "9594daa3a31330b248de40088e638da5dbe0e43d3e44d6427a4e6568681cc48a", "smt2_filename": "../reboot-raw-data/AND4_D1_N_S6P25TL_C54L04_zero_20260608_134122_937018_R1/problem.smt2", "cell": "AND4_D1_N_S6P25TL_C54L04_zero_20260608_134122_937018_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3226, "num_bool": 2290, "num_int": 777, "num_real": 159, "num_hard_constraints": 12471, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "97decd1d8f2187deb5ae064730e9f9a4fb3ab461cf957b0a9e2ebcf30fc46dfb", "smt2_filename": "../reboot-raw-data/SDFFSQRLV_D1_N_S6P25TL_C54L04_zero_20260608_134211_343900_R1/problem.smt2", "cell": "SDFFSQRLV_D1_N_S6P25TL_C54L04_zero_20260608_134211_343900_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 8092, "num_bool": 5940, "num_int": 1792, "num_real": 360, "num_hard_constraints": 30755, "num_soft_constraints": 321, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "9e68bd9134bd6c7e1eebda7abb4dfb3f3c3aac6587dfbafd9c52cad941e40e52", "smt2_filename": "../reboot-raw-data/NOR2XB_D1_N_S6P25TL_C54L04_zero_20260608_134153_068648_R1/problem.smt2", "cell": "NOR2XB_D1_N_S6P25TL_C54L04_zero_20260608_134153_068648_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1860, "num_bool": 1265, "num_int": 492, "num_real": 103, "num_hard_constraints": 7128, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "9f4682735fd40c2fbfce81d7bde51db66595da86d707be0d0aed196c39607000", "smt2_filename": "../reboot-raw-data/OAI31_D2_N_S6P25TL_C54L04_zero_20260608_134203_872867_R1/problem.smt2", "cell": "OAI31_D2_N_S6P25TL_C54L04_zero_20260608_134203_872867_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5085, "num_bool": 3596, "num_int": 1242, "num_real": 247, "num_hard_constraints": 19979, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "a2ed64e2b36371062b3866f867a37cd1070428e1b20a1894151de9ad4b7edf92", "smt2_filename": "../reboot-raw-data/OAI31_D1_N_S6P25TL_C54L04_zero_20260608_134203_301486_R1/problem.smt2", "cell": "OAI31_D1_N_S6P25TL_C54L04_zero_20260608_134203_301486_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2713, "num_bool": 1926, "num_int": 653, "num_real": 134, "num_hard_constraints": 10422, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "a6eda8217afdc03a8b6658423667efd58a4b3927fea6c7d511203f218fa045dd", "smt2_filename": "../reboot-raw-data/XNOR2_D2_N_S6P25TL_C54L04_zero_20260608_134214_413752_R1/problem.smt2", "cell": "XNOR2_D2_N_S6P25TL_C54L04_zero_20260608_134214_413752_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5310, "num_bool": 3677, "num_int": 1361, "num_real": 272, "num_hard_constraints": 18859, "num_soft_constraints": 242, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "a9ca74bc1144fb9055b0ad70e40d0f5eb244b3f1eb178f149a9acc34236279a3", "smt2_filename": "../reboot-raw-data/AO22_D1_N_S6P25TL_C54L04_zero_20260608_134125_946508_R1/problem.smt2", "cell": "AO22_D1_N_S6P25TL_C54L04_zero_20260608_134125_946508_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4061, "num_bool": 2935, "num_int": 936, "num_real": 190, "num_hard_constraints": 15251, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "b0162695b4418f2a5ca43759133b52b289c28c7391bf1182f47120c1a5813142", "smt2_filename": "../reboot-raw-data/NOR4_D2_N_S6P25TL_C54L04_zero_20260608_134155_531431_R1/problem.smt2", "cell": "NOR4_D2_N_S6P25TL_C54L04_zero_20260608_134155_531431_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4824, "num_bool": 3338, "num_int": 1241, "num_real": 245, "num_hard_constraints": 18918, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "b16157318852aa76634fa720047f8e8e5e215203de11c355ff6df12076229779", "smt2_filename": "../reboot-raw-data/CGEN_D1_N_S6P25TL_C54L04_zero_20260608_134135_213243_R1/problem.smt2", "cell": "CGEN_D1_N_S6P25TL_C54L04_zero_20260608_134135_213243_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4094, "num_bool": 2959, "num_int": 944, "num_real": 191, "num_hard_constraints": 15499, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "b1f89e666a21e064acd035d0fe6a274c2c694df5e4c3ab56ed378afee5d01b88", "smt2_filename": "../reboot-raw-data/XOR3_D2_N_S6P25TL_C54L04_zero_20260608_134220_327615_R1/problem.smt2", "cell": "XOR3_D2_N_S6P25TL_C54L04_zero_20260608_134220_327615_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 8594, "num_bool": 6408, "num_int": 1819, "num_real": 367, "num_hard_constraints": 31928, "num_soft_constraints": 321, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "b46fd72094b1908cd5f6e0c104324ddc48f412de70a9518149c7726facd9a2ea", "smt2_filename": "../reboot-raw-data/NAND3_D2_N_S6P25TL_C54L04_zero_20260608_134148_823722_R1/problem.smt2", "cell": "NAND3_D2_N_S6P25TL_C54L04_zero_20260608_134148_823722_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3497, "num_bool": 2365, "num_int": 944, "num_real": 188, "num_hard_constraints": 13633, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "b7abec4acf713a308735f7b16a2f411e325ad6a3ccf83c866d038d6de6d4f05f", "smt2_filename": "../reboot-raw-data/AO21_D1_N_S6P25TL_C54L04_zero_20260608_134124_534419_R1/problem.smt2", "cell": "AO21_D1_N_S6P25TL_C54L04_zero_20260608_134124_534419_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2736, "num_bool": 1943, "num_int": 658, "num_real": 135, "num_hard_constraints": 10568, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ba82cccbfdf2dee07e6d1629a2f85dd796e06761b3dd1ad75a1808974ab9258e", "smt2_filename": "../reboot-raw-data/INV_D8_N_S6P25TL_C54L04_zero_20260608_134141_560905_R1/problem.smt2", "cell": "INV_D8_N_S6P25TL_C54L04_zero_20260608_134141_560905_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4121, "num_bool": 2625, "num_int": 1252, "num_real": 244, "num_hard_constraints": 16351, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "bb108a8ed4b71427fdc2171b551df6039eb024db48d2fe488f504d655aa7097c", "smt2_filename": "../reboot-raw-data/XOR3_D1_N_S6P25TL_C54L04_zero_20260608_134219_329994_R1/problem.smt2", "cell": "XOR3_D1_N_S6P25TL_C54L04_zero_20260608_134219_329994_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 7848, "num_bool": 5859, "num_int": 1652, "num_real": 337, "num_hard_constraints": 29052, "num_soft_constraints": 292, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "bd2670d100830e850c3a35e1a6d0af9a29853af86c34566c3b108b6f8f3ce59d", "smt2_filename": "../reboot-raw-data/DLY2_D1_N_S6P25TL_C54L04_zero_20260608_134136_422460_R1/problem.smt2", "cell": "DLY2_D1_N_S6P25TL_C54L04_zero_20260608_134136_422460_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2327, "num_bool": 1532, "num_int": 663, "num_real": 132, "num_hard_constraints": 8636, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "c2902d3d6b589de5dae7df8bb161367f366c2aefc298db88206b0555e9b9774a", "smt2_filename": "../reboot-raw-data/TIELO_D1_N_S6P25TL_C54L04_zero_20260608_134213_129167_R1/problem.smt2", "cell": "TIELO_D1_N_S6P25TL_C54L04_zero_20260608_134213_129167_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1740, "num_bool": 1150, "num_int": 487, "num_real": 103, "num_hard_constraints": 6658, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "c33e8af72ca15aec2aa57e2952704d819a5df7aa9afce821f24e8e10d913c138", "smt2_filename": "../reboot-raw-data/AOI211_D1_N_S6P25TL_C54L04_zero_20260608_134127_328980_R1/problem.smt2", "cell": "AOI211_D1_N_S6P25TL_C54L04_zero_20260608_134127_328980_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2731, "num_bool": 1938, "num_int": 658, "num_real": 135, "num_hard_constraints": 10503, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ca4ce7d51ef74bdffdf6311458f38e5f95c0440cfed99638d046bb6e51b26aca", "smt2_filename": "../reboot-raw-data/XOR2_D1_N_S6P25TL_C54L04_zero_20260608_134217_804929_R1/problem.smt2", "cell": "XOR2_D1_N_S6P25TL_C54L04_zero_20260608_134217_804929_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3100, "num_bool": 2151, "num_int": 788, "num_real": 161, "num_hard_constraints": 10920, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "d2642cd7be749de1cd3eadbe5e4eee0bc1c796bc782a452714df3abc04bb14c3", "smt2_filename": "../reboot-raw-data/TIEHI_D1_N_S6P25TL_C54L04_zero_20260608_134212_534776_R1/problem.smt2", "cell": "TIEHI_D1_N_S6P25TL_C54L04_zero_20260608_134212_534776_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1740, "num_bool": 1150, "num_int": 487, "num_real": 103, "num_hard_constraints": 6658, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "d420820bc98fced1fd569657342c8b41f426cb5d11e21ff4e1b35fc16d18eb8e", "smt2_filename": "../reboot-raw-data/BUF_D4_N_S6P25TL_C54L04_zero_20260608_134133_811104_R1/problem.smt2", "cell": "BUF_D4_N_S6P25TL_C54L04_zero_20260608_134133_811104_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2783, "num_bool": 1834, "num_int": 791, "num_real": 158, "num_hard_constraints": 10950, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "d6f4bdbf9671d56a9e66de5d2814114549b625f21addf732ca1eb002956d779c", "smt2_filename": "../reboot-raw-data/AOI21_D2_N_S6P25TL_C54L04_zero_20260608_134128_975483_R1/problem.smt2", "cell": "AOI21_D2_N_S6P25TL_C54L04_zero_20260608_134128_975483_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3730, "num_bool": 2584, "num_int": 955, "num_real": 191, "num_hard_constraints": 14615, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "d9ed433c822f443e7f336e1d8a885df4edcc8e796ee06479b779cdb25b44af9f", "smt2_filename": "../reboot-raw-data/AOI21_D1_N_S6P25TL_C54L04_zero_20260608_134128_490010_R1/problem.smt2", "cell": "AOI21_D1_N_S6P25TL_C54L04_zero_20260608_134128_490010_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1978, "num_bool": 1378, "num_int": 496, "num_real": 104, "num_hard_constraints": 7558, "num_soft_constraints": 92, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "db0d00bf34ca53ad6802b695c8ea34f70bd1ae4ec9da32c6e56efb58ba87325f", "smt2_filename": "../reboot-raw-data/AO211_D1_N_S6P25TL_C54L04_zero_20260608_134123_863835_R1/problem.smt2", "cell": "AO211_D1_N_S6P25TL_C54L04_zero_20260608_134123_863835_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4057, "num_bool": 2933, "num_int": 934, "num_real": 190, "num_hard_constraints": 15684, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "dcb23e94e0a0fcd35f0011813defdee81c65a0860bbd180f2b64ffc0dddf609a", "smt2_filename": "../reboot-raw-data/NAND4_D1_N_S6P25TL_C54L04_zero_20260608_134149_472064_R1/problem.smt2", "cell": "NAND4_D1_N_S6P25TL_C54L04_zero_20260608_134149_472064_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1785, "num_int": 653, "num_real": 133, "num_hard_constraints": 9870, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "dd0afd29adff96564f1a0dd248ef164bdaf00e91a10cfc5ea0d2d3ab48e56b74", "smt2_filename": "../reboot-raw-data/INV_D2_N_S6P25TL_C54L04_zero_20260608_134139_351767_R1/problem.smt2", "cell": "INV_D2_N_S6P25TL_C54L04_zero_20260608_134139_351767_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 1241, "num_bool": 795, "num_int": 370, "num_real": 76, "num_hard_constraints": 4732, "num_soft_constraints": 71, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ded825c735634093a396410e1979cd3cdb9fe18f30d9117b14b99e0811df1f43", "smt2_filename": "../reboot-raw-data/AO1B2_D1_N_S6P25TL_C54L04_zero_20260608_134123_394153_R1/problem.smt2", "cell": "AO1B2_D1_N_S6P25TL_C54L04_zero_20260608_134123_394153_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2585, "num_bool": 1795, "num_int": 656, "num_real": 134, "num_hard_constraints": 9656, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "e4392f5924b92abcf42571c247d2206183e132af61dae286209a620416a36d2e", "smt2_filename": "../reboot-raw-data/OAI21_D2_N_S6P25TL_C54L04_zero_20260608_134159_767171_R1/problem.smt2", "cell": "OAI21_D2_N_S6P25TL_C54L04_zero_20260608_134159_767171_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3730, "num_bool": 2584, "num_int": 955, "num_real": 191, "num_hard_constraints": 14615, "num_soft_constraints": 171, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "e93871a47a880ae3aa6c8140af5a862691cefac5c914268a7c7b8a7618c990e0", "smt2_filename": "../reboot-raw-data/AO21_D2_N_S6P25TL_C54L04_zero_20260608_134124_999905_R1/problem.smt2", "cell": "AO21_D2_N_S6P25TL_C54L04_zero_20260608_134124_999905_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3242, "num_bool": 2302, "num_int": 780, "num_real": 160, "num_hard_constraints": 12615, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "e97913390a37fe40f2c68688f84c48095b18267a8825fc9c4754d257709c77fc", "smt2_filename": "../reboot-raw-data/CGENI_D1_N_S6P25TL_C54L04_zero_20260608_134135_925146_R1/problem.smt2", "cell": "CGENI_D1_N_S6P25TL_C54L04_zero_20260608_134135_925146_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 3245, "num_bool": 2303, "num_int": 782, "num_real": 160, "num_hard_constraints": 12208, "num_soft_constraints": 142, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "f11d3b5a9d62ca42f6c2741f29d229e950529e13ae693d4a88d390800db63363", "smt2_filename": "../reboot-raw-data/OAI22_D2_N_S6P25TL_C54L04_zero_20260608_134201_121432_R1/problem.smt2", "cell": "OAI22_D2_N_S6P25TL_C54L04_zero_20260608_134201_121432_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 5113, "num_bool": 3614, "num_int": 1250, "num_real": 249, "num_hard_constraints": 19490, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "f7cbbee43f849138272b9be348d36d58495a45f52fdf36c0b98b2d467ea0e248", "smt2_filename": "../reboot-raw-data/NOR4_D1_N_S6P25TL_C54L04_zero_20260608_134154_977689_R1/problem.smt2", "cell": "NOR4_D1_N_S6P25TL_C54L04_zero_20260608_134154_977689_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2571, "num_bool": 1785, "num_int": 653, "num_real": 133, "num_hard_constraints": 9872, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "fdec815730df597d72062a2a1500d15d4f32a5c642197926be395c941cec533b", "smt2_filename": "../reboot-raw-data/NOR2_D4_N_S6P25TL_C54L04_zero_20260608_134151_744774_R1/problem.smt2", "cell": "NOR2_D4_N_S6P25TL_C54L04_zero_20260608_134151_744774_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4362, "num_bool": 2865, "num_int": 1252, "num_real": 245, "num_hard_constraints": 17191, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ff53c36bec6c03b6f46b144ef9ae423d8d26b899cd5a090bb27bfe773b9cceb8", "smt2_filename": "../reboot-raw-data/NAND2_D4_N_S6P25TL_C54L04_zero_20260608_134146_997706_R1/problem.smt2", "cell": "NAND2_D4_N_S6P25TL_C54L04_zero_20260608_134146_997706_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 4362, "num_bool": 2865, "num_int": 1252, "num_real": 245, "num_hard_constraints": 17191, "num_soft_constraints": 221, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ff6093c6a82dc6a35febd4cf918e0b39f7ba3f374315191aa3b58ea2520a19b2", "smt2_filename": "../reboot-raw-data/BUF_D3_N_S6P25TL_C54L04_zero_20260608_134133_316962_R1/problem.smt2", "cell": "BUF_D3_N_S6P25TL_C54L04_zero_20260608_134133_316962_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2352, "num_bool": 1550, "num_int": 669, "num_real": 133, "num_hard_constraints": 9197, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ffdb55161055a357b34cbd7a1617bef5583c360c7151cae17aae170cc5a61904", "smt2_filename": "../reboot-raw-data/AOI22P_D1_N_S6P25TL_C54L04_zero_20260608_134130_858199_R1/problem.smt2", "cell": "AOI22P_D1_N_S6P25TL_C54L04_zero_20260608_134130_858199_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1940, "num_int": 660, "num_real": 135, "num_hard_constraints": 10206, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} +{"problem_sha256": "ffdb55161055a357b34cbd7a1617bef5583c360c7151cae17aae170cc5a61904", "smt2_filename": "../reboot-raw-data/AOI22_D1_N_S6P25TL_C54L04_zero_20260608_134129_675593_R1/problem.smt2", "cell": "AOI22_D1_N_S6P25TL_C54L04_zero_20260608_134129_675593_R1", "solver": "z3-optimize", "z3_version": "4.13.3.0", "path": "contracted", "features": {"num_variables": 2735, "num_bool": 1940, "num_int": 660, "num_real": 135, "num_hard_constraints": 10206, "num_soft_constraints": 121, "num_minimize_objectives": 0, "num_maximize_objectives": 0}, "cli_params": {"effort": "low", "seed": "0", "solver": "z3", "unsat_debug": "False", "m2_offset": "zero", "use_reboot": "True", "optimize_m1": "True", "optimize_m2": "True", "num_of_heights": "1", "process": "sf4lpp", "tech": "sf4lpp", "solver_iter_timeout": "3600.0"}, "z3_status": {"result": "Sat", "elapsed_ms": 1000, "objective_value": 0}} diff --git a/openevolve/llm/claude_code.py b/openevolve/llm/claude_code.py index 391ec891c6..31c2f325c5 100644 --- a/openevolve/llm/claude_code.py +++ b/openevolve/llm/claude_code.py @@ -78,13 +78,16 @@ async def generate_with_context( return await asyncio.wait_for(coro, timeout=timeout) return await coro except asyncio.TimeoutError: - if attempt < retries: - logger.warning( - f"[claude_code] Timeout {attempt + 1}/{retries + 1}, retrying." - ) - await asyncio.sleep(retry_delay) - continue - logger.error(f"[claude_code] All {retries + 1} attempts timed out") + # Do NOT retry on timeout: a timeout means generation (usually + # extended thinking) exceeded the budget. The retry uses the same + # prompt and will time out again, burning another full `timeout` + # window for nothing. Fail fast instead. Cap latency with + # `max_thinking_tokens` rather than relying on retries. + logger.error( + f"[claude_code] Timeout after {timeout}s on attempt " + f"{attempt + 1}; not retrying (timeouts are not transient). " + f"Lower `max_thinking_tokens` or raise `timeout`." + ) raise except Exception as e: if attempt < retries: @@ -121,8 +124,6 @@ async def _query_once( opts_kwargs["system_prompt"] = system_message if self.model: opts_kwargs["model"] = self.model - if self.max_thinking_tokens is not None: - opts_kwargs["max_thinking_tokens"] = self.max_thinking_tokens effort = kwargs.get("reasoning_effort", self.reasoning_effort) if effort is not None: opts_kwargs["effort"] = effort @@ -130,13 +131,30 @@ async def _query_once( opts_kwargs["cli_path"] = self.cli_path if self.cwd is not None: opts_kwargs["cwd"] = self.cwd - # When reasoning is requested (effort or max_thinking_tokens), default - # to adaptive thinking with `display=summarized` so ThinkingBlock - # actually carries text — Opus 4.7+ defaults display to "omitted" - # (signature-only), which would zero-out our DEBUG reasoning log. - # User can still override via claude_code_options.thinking. - if (effort is not None or self.max_thinking_tokens is not None) \ - and "thinking" not in self.extra_sdk_options: + + # Thinking config. The SDK serializes only ONE of `thinking` / + # `max_thinking_tokens` (the `thinking` field wins via if/elif in + # subprocess_cli), so we must NOT pass both — doing so silently drops + # the budget and leaves thinking on `adaptive` (uncapped), which is + # exactly what made queries run 7min+ and hit the timeout. + # + # We translate `max_thinking_tokens` into the documented explicit form + # thinking={"type":"enabled","budget_tokens":N} rather than the + # deprecated bare field (which newer models treat as on/off only). This + # is a real hard cap — measured: budget 6000 -> ~150s, 2000 -> ~96s, + # vs uncapped adaptive -> 7min+. + # + # Priority: explicit user `thinking` > max_thinking_tokens (hard cap) > + # effort (adaptive, with display=summarized so ThinkingBlock carries + # text for the DEBUG log; Opus 4.7+ otherwise omits it). + if "thinking" in self.extra_sdk_options: + pass # user override applied via opts_kwargs.update below + elif self.max_thinking_tokens is not None: + opts_kwargs["thinking"] = { + "type": "enabled", + "budget_tokens": self.max_thinking_tokens, + } + elif effort is not None: opts_kwargs["thinking"] = {"type": "adaptive", "display": "summarized"} opts_kwargs.update(self.extra_sdk_options) @@ -147,22 +165,35 @@ async def _query_once( f"prompt_chars={len(prompt_text)} " f"sys_chars={len(system_message) if system_message else 0} " f"effort={opts_kwargs.get('effort')} " - f"max_thinking_tokens={opts_kwargs.get('max_thinking_tokens')}" + f"thinking={opts_kwargs.get('thinking')}" ) text_chunks: List[str] = [] thinking_chunks: List[str] = [] result_text: Optional[str] = None - async for msg in query(prompt=prompt_text, options=options): - if isinstance(msg, AssistantMessage): - for block in msg.content: - if isinstance(block, TextBlock): - text_chunks.append(block.text) - elif ThinkingBlock is not None and isinstance(block, ThinkingBlock): - thinking_chunks.append(block.thinking) - elif isinstance(msg, ResultMessage): - result_text = getattr(msg, "result", None) or result_text + try: + async for msg in query(prompt=prompt_text, options=options): + if isinstance(msg, AssistantMessage): + for block in msg.content: + if isinstance(block, TextBlock): + text_chunks.append(block.text) + elif ThinkingBlock is not None and isinstance(block, ThinkingBlock): + thinking_chunks.append(block.thinking) + elif isinstance(msg, ResultMessage): + result_text = getattr(msg, "result", None) or result_text + except Exception as e: + # SDK errors (e.g. ProcessError / CLIConnectionError) often have an + # empty str() — the real cause sits in .stderr / .exit_code. Surface + # those so a CLI-rejected option doesn't show up as a blank + # "LLM generation failed:" upstream. + detail = ( + f"{type(e).__name__}: {e!r}" + f" exit_code={getattr(e, 'exit_code', None)}" + f" stderr={getattr(e, 'stderr', None)!r}" + ) + logger.error(f"[claude_code] query failed -> {detail}") + raise RuntimeError(f"claude_code query failed -> {detail}") from e final = result_text if result_text else "".join(text_chunks) thinking = "".join(thinking_chunks)

    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 z z*v0p99a1#!9W;lEzPx65c>Z08?vN$7FN7gZVUt>ALr9VEuWcZzU7c^+BDwrI71`26 z%-|f7&Dc2Mi{kibb2ADnj+`OCbkX-Kp>uV@++1xQnqAy5{`!Rz#g%|9?di@!pbz|v zY%?MsM>&%_I$?g@@e%p<%%L%|V@g@so4<-)|4o+}D)dUafv5g&b>NyCxBA?l^RIhM z43e`P-a@l`7&3$55MX84!rQjj$UP95A_9Ik>U8_OQ#!OAkXkTj$19mahfq#t7Xs&P zS8#Svo1sg)2mMz${#ZIG0=SbqRsMYCgz5dq?B{#>`=_PVl@%=mNE~esJ9<62i-oYz zFRn`Z-h`AS#mI43S*pG%8ij;p=*O4@+CuQyFcB?K&YaY~oL;LDp#+q{ zLhWsN(c{>YbE5uefaILxf(shI3!x{VE3f$B;bJWbB_(AKKuZ~#=v%_172UM@OW)n+ zkuB_cI2`CQV195F56U%lVTn2?kHe;{A^c)1gQn@UuD%%6J5#NxKM`0kH$sH|#jSTk z>3?K_6Gbs9N*h~kQ>ym;ms;4ABKd`m+OmNa) z#x^{7=|P^X;N|<=-1aT}w9TAVb6Vo(kQOPc7@c`ypPolSCNlfghV*}DQ$1AwDKLHl zge_opCDB0JP7y;64a+alQ<`uUyHY4pwz2)&SILCd`~9OJ46KHexFUFmwoK?WIe7<# zsdLzh!=E}5K+SF75~r27p<5ZXxYbZcvt&i=_yZScKj1yN8E7&&YQDj+*tbx zP!#q)K&jHxA1s|Mi3Te1x&$HINdNE6⋙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 QC-ed?nOK}JKZlI_AJ`Un0ssI2 diff --git a/input/cpsat-bench/Statistics/plots/04_box_by_status.png b/input/cpsat-bench/Statistics/plots/04_box_by_status.png index 8888330df19751a195b9eb1c9015621a3df18efa..b4e5cf2178291c90503d8bfbfe325feea2ad977d 100644 GIT binary patch literal 19154 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