package com.aps.macroplanner.output.dto;

/**
 * 求解器运行统计 — 对应 Quintiq 中 SnapshotMacroPlannerOptimizer 的运行统计部分。
 */
public class SolverStatistics {

    /** 求解状态 */
    private String status;
    /** 变量数 */
    private int numVariables;
    /** 约束数 */
    private int numConstraints;
    /** 求解耗时 (秒) */
    private double elapsedSeconds;
    /** 目标函数值 */
    private double objectiveValue;
    /** 最佳界 (Best Bound) */
    private Double bestBound;
    /** 间隙 (Gap) */
    private Double gap;
    /** 迭代次数 */
    private long iterations;

    // ==================== Getters / Setters ====================

    public String getStatus() { return status; }
    public void setStatus(String v) { this.status = v; }

    public int getNumVariables() { return numVariables; }
    public void setNumVariables(int v) { this.numVariables = v; }

    public int getNumConstraints() { return numConstraints; }
    public void setNumConstraints(int v) { this.numConstraints = v; }

    public double getElapsedSeconds() { return elapsedSeconds; }
    public void setElapsedSeconds(double v) { this.elapsedSeconds = v; }

    public double getObjectiveValue() { return objectiveValue; }
    public void setObjectiveValue(double v) { this.objectiveValue = v; }

    public Double getBestBound() { return bestBound; }
    public void setBestBound(Double v) { this.bestBound = v; }

    public Double getGap() { return gap; }
    public void setGap(Double v) { this.gap = v; }

    public long getIterations() { return iterations; }
    public void setIterations(long v) { this.iterations = v; }
}