highs-js API reference
    Preparing search index...

    Interface RawModelApi

    Methods correspond closely to stable C operations; some combine several C calls or use a small safety bridge. File-oriented C functions are represented as data operations. Pointer arguments are validated, copied into packed temporary allocations, and freed before return. Returned arrays are detached copies.

    interface RawModelApi {
        disposed: boolean;
        addCol(
            cost: number,
            lower: number,
            upper: number,
            entries: SparseEntriesInput,
        ): RawStatus;
        addCols(data: Omit<ColumnData, "count">): RawStatus;
        addLinearObjective(objective: LinearObjectiveInput): RawStatus;
        addRow(
            lower: number,
            upper: number,
            entries: SparseEntriesInput,
        ): RawStatus;
        addRows(data: Omit<RowData, "count">): RawStatus;
        addVar(lower: number, upper: number): RawStatus;
        addVars(lower: NumberInput, upper: NumberInput): RawStatus;
        changeCoeff(row: number, col: number, value: number): RawStatus;
        changeColBounds(col: number, lower: number, upper: number): RawStatus;
        changeColCost(col: number, cost: number): RawStatus;
        changeColIntegrality(col: number, type: VariableType): RawStatus;
        changeColsBounds(
            selection: IndexSelection,
            lower: NumberInput,
            upper: NumberInput,
        ): RawStatus;
        changeColsCost(selection: IndexSelection, costs: NumberInput): RawStatus;
        changeColsIntegrality(
            selection: IndexSelection,
            types: Int32Array<ArrayBufferLike> | readonly VariableType[],
        ): RawStatus;
        changeObjectiveOffset(offset: number): RawStatus;
        changeObjectiveSense(sense: ObjectiveSense): RawStatus;
        changeRowBounds(row: number, lower: number, upper: number): RawStatus;
        changeRowsBounds(
            selection: IndexSelection,
            lower: NumberInput,
            upper: NumberInput,
        ): RawStatus;
        clear(): RawStatus;
        clearIntegrality(): RawStatus;
        clearLinearObjectives(): RawStatus;
        clearModel(): RawStatus;
        clearSolver(): RawStatus;
        crossover(input: SolutionInput): RawStatus;
        deleteCols(selection: IndexSelection): RawStatus;
        deleteRows(selection: IndexSelection): RawStatus;
        dispose(): void;
        ensureColwise(): RawStatus;
        ensureRowwise(): RawStatus;
        exportModel(
            format: "lp" | "mps",
        ): RawResult<string | Uint8Array<ArrayBufferLike>>;
        exportOptions(deviationsOnly?: boolean): RawResult<string>;
        exportPresolvedModel(
            format: "lp" | "mps",
        ): RawResult<string | Uint8Array<ArrayBufferLike>>;
        exportSolution(pretty?: boolean): RawResult<string>;
        feasibilityRelaxation(input: FeasibilityRelaxationInput): RawStatus;
        getBasicVariables(): RawResult<Int32Array<ArrayBufferLike>>;
        getBasis(): RawResult<Basis>;
        getBasisInverseCol(col: number, sparse?: boolean): RawResult<NumericVector>;
        getBasisInverseRow(row: number, sparse?: boolean): RawResult<NumericVector>;
        getBasisSolve(rhs: NumberInput, sparse?: boolean): RawResult<NumericVector>;
        getBasisTransposeSolve(
            rhs: NumberInput,
            sparse?: boolean,
        ): RawResult<NumericVector>;
        getColByName(name: string): RawResult<number>;
        getColIntegrality(col: number): RawResult<VariableType>;
        getColName(col: number): RawResult<string>;
        getCols(selection: IndexSelection): RawResult<ColumnData>;
        getDimensions(): ModelDimensions;
        getDualRay(): RawResult<NumericVector | undefined>;
        getDualUnboundednessDirection(): RawResult<NumericVector | undefined>;
        getFixedLp(format?: MatrixFormat): RawResult<DetachedModelData>;
        getIis(): RawResult<IisResult>;
        getIisLp(format?: MatrixFormat): RawResult<DetachedModelData>;
        getInfinity(): number;
        getInfoType(name: string): RawResult<InfoType>;
        getInfoValue(name: string): RawResult<number | bigint>;
        getLp(format?: MatrixFormat): RawResult<DetachedModelData>;
        getModel(format?: MatrixFormat): RawResult<DetachedModelData>;
        getModelStatus(): ModelStatusCode;
        getNumOptions(): number;
        getObjectiveOffset(): RawResult<number>;
        getObjectiveSense(): RawResult<ObjectiveSense>;
        getObjectiveValue(): number;
        getOptionName(index: number): RawResult<string>;
        getOptionType(name: string): RawResult<OptionType>;
        getOptionValue(name: string): RawResult<OptionValue>;
        getOptionValues(name: string): RawResult<OptionDescriptor<OptionValue>>;
        getPresolvedColName(col: number): RawResult<string>;
        getPresolvedDimensions(): PresolvedDimensions;
        getPresolvedLp(format?: MatrixFormat): RawResult<DetachedModelData>;
        getPresolvedRowName(row: number): RawResult<string>;
        getPrimalRay(): RawResult<NumericVector | undefined>;
        getRanging(): RawResult<RangingResult>;
        getReducedColumn(col: number, sparse?: boolean): RawResult<NumericVector>;
        getReducedRow(row: number, sparse?: boolean): RawResult<NumericVector>;
        getRowByName(name: string): RawResult<number>;
        getRowName(row: number): RawResult<string>;
        getRows(selection: IndexSelection): RawResult<RowData>;
        getRunTime(): number;
        getSizeofHighsInt(): number;
        getSolution(): RawResult<Solution>;
        passColName(col: number, name: string): RawStatus;
        passHessian(hessian: HessianInput): RawStatus;
        passLinearObjectives(
            objectives: readonly LinearObjectiveInput[],
        ): RawStatus;
        passLp(model: ModelData): RawStatus;
        passMip(model: ModelData): RawStatus;
        passModel(model: ModelData): RawStatus;
        passModelName(name: string): RawStatus;
        passRowName(row: number, name: string): RawStatus;
        postsolve(input: PostsolveInput): RawStatus;
        presolve(): RawStatus;
        readModel(source: EncodedModel): RawStatus;
        readOptions(text: string): RawStatus;
        releaseMemory(): RawStatus;
        resetOptions(): RawStatus;
        run(): RawStatus;
        scaleCol(col: number, factor: number): RawStatus;
        scaleRow(row: number, factor: number): RawStatus;
        setBasis(basis: BasisInput): RawStatus;
        setCallback(callback: HighsCallback | undefined): RawStatus;
        setLogicalBasis(): RawStatus;
        setOptionValue(name: string, value: OptionValue): RawStatus;
        setSolution(solution: SolutionInput): RawStatus;
        setSparseSolution(solution: SparseSolutionInput): RawStatus;
        startCallback(type: CallbackType): RawStatus;
        stopCallback(type: CallbackType): RawStatus;
        zeroAllClocks(): RawStatus;
    }
    Index
    disposed: boolean

    Whether dispose() on either model view destroyed the shared native instance.

    • Appends copied CSC columns. cost, lower, and upper have equal length; the matrix has that many columns and one row per existing model row.

      Parameters

      Returns RawStatus

    • Appends copied CSR rows. lower and upper have equal length; the matrix has that many rows and one column per existing model column.

      Parameters

      Returns RawStatus

    • Appends one zero-cost column with no coefficients.

      Parameters

      • lower: number
      • upper: number

      Returns RawStatus

    • Inserts, changes, or removes (value === 0) one matrix coefficient.

      Parameters

      • row: number
      • col: number
      • value: number

      Returns RawStatus

    • Changes one zero-based column's lower and upper bounds.

      Parameters

      • col: number
      • lower: number
      • upper: number

      Returns RawStatus

    • Changes one zero-based column cost.

      Parameters

      • col: number
      • cost: number

      Returns RawStatus

    • Changes one zero-based row's lower and upper bounds.

      Parameters

      • row: number
      • lower: number
      • upper: number

      Returns RawStatus

    • Destroys native ownership. Idempotent; subsequent operations throw disposed errors.

      Returns void

    • Serializes the model to detached LP text or MPS bytes.

      Parameters

      • format: "lp" | "mps"

      Returns RawResult<string | Uint8Array<ArrayBufferLike>>

    • Serializes all options or only deviations into detached text.

      Parameters

      • OptionaldeviationsOnly: boolean

      Returns RawResult<string>

    • Serializes the last presolved model; presolve state is required.

      Parameters

      • format: "lp" | "mps"

      Returns RawResult<string | Uint8Array<ArrayBufferLike>>

    • Serializes solution state; pretty output represents unavailable fields with placeholders.

      Parameters

      • Optionalpretty: boolean

      Returns RawResult<string>

    • Copies basis identifiers: columns are zero-based; row slacks are -rowIndex - 1.

      Returns RawResult<Int32Array<ArrayBufferLike>>

    • Resolves an exact column name to a zero-based index.

      Parameters

      • name: string

      Returns RawResult<number>

    • Returns IEEE positive infinity.

      Returns number

    • Reads one exact information item; int64 values preserve precision as bigint.

      Parameters

      • name: string

      Returns RawResult<number | bigint>

    • Returns the number of enumerable native options.

      Returns number

    • Returns current objective value directly; check solution/model status before use.

      Returns number

    • Returns the option name at a zero-based enumeration index.

      Parameters

      • index: number

      Returns RawResult<string>

    • Reads a zero-based presolved column name.

      Parameters

      • col: number

      Returns RawResult<string>

    • Reads a zero-based presolved row name.

      Parameters

      • row: number

      Returns RawResult<string>

    • Resolves an exact row name to a zero-based index.

      Parameters

      • name: string

      Returns RawResult<number>

    • Returns cumulative wall-clock seconds spent in solver runs since the last clock reset.

      Returns number

    • Returns native HighsInt width in bytes.

      Returns number

    • Assigns a copied name to a zero-based column.

      Parameters

      • col: number
      • name: string

      Returns RawStatus

    • Assigns a copied name to a zero-based row.

      Parameters

      • row: number
      • name: string

      Returns RawStatus

    • Parses option-file text from private storage; accepted earlier settings may persist on error.

      Parameters

      • text: string

      Returns RawStatus

    • Solves synchronously with configured callbacks/options. status reports whether the native call completed, not the optimization outcome; call getModelStatus() for optimal, infeasible, limited, or interrupted state. A limit can therefore accompany status: 0 or 1.

      Returns RawStatus

    • Multiplies column coefficients/cost by a nonzero factor and divides/reorders its bounds.

      Parameters

      • col: number
      • factor: number

      Returns RawStatus

    • Multiplies row coefficients/bounds by a nonzero factor and reorders bounds if negative.

      Parameters

      • row: number
      • factor: number

      Returns RawStatus

    • Registers a synchronous callback until replaced, unset, or disposed. Registration activates no channel. Payloads are detached, and only event controls may call HiGHS while the callback is executing. Callback/channel registration persists across runs until explicitly changed.

      Parameters

      Returns RawStatus

    • Activates a channel until stopped or disposed. Register a callback first; otherwise native status is an error. Native callback type 8 is rejected by JavaScript validation and is not a CallbackType.

      Parameters

      Returns RawStatus