All Products
Search
Document Center

Optimization Solver:Panduan Pengguna Optimization Solver

Last Updated:Feb 05, 2026

Panduan ini menjelaskan cara memanggil Pemecah Optimasi (Optimization Solver), menginput masalah, serta menyediakan daftar API pemecah.

Catatan

Perangkat lunak ini memiliki banyak API, dan fitur baru sering ditambahkan. Untuk deskripsi API yang lebih lengkap, Anda akan sering diarahkan ke Panduan Pengguna MindOpt – Versi Lengkap. Kami mohon maaf atas ketidaknyamanan ini. Anda dapat mengganti bahasa dan versi dokumen pada halaman tersebut.

Cara memanggil Optimization Solver

Sebelum memulai, unduh dan instal kit pengembangan perangkat lunak (SDK) pemecah serta peroleh izin yang diperlukan. Untuk informasi selengkapnya, lihat Memulai Cepat (Aktivasi dan Penggunaan) dan Unduh dan instal SDK pemecah.

Bagian berikut menyediakan contoh sederhana. Untuk petunjuk lengkap tentang cara memanggil pemecah dan contoh lengkap, lihat Selengkapnya.

Contoh pemanggilan command line

Pada Linux dan macOS, asumsikan Anda telah menginstal MindOpt ke direktori yang ditentukan oleh variabel lingkungan `$MINDOPT_HOME` seperti yang dijelaskan dalam dokumen instalasi:

mindopt $MINDOPT_HOME/examples/data/afiro.mps

Pada Windows:

mindopt %MINDOPT_HOME%\examples\data\afiro.mps

Contoh pemanggilan melalui C/C++/C#/Java/Python/MATLAB

Catatan

API untuk V1.x dan versi setelahnya sebagian besar berbeda dari API untuk V0.x. Pastikan Anda menggunakan versi yang benar.

V1.x

env = mindoptpy.Env()
env.start()
model = mindoptpy.read(filename, env)
model.optimize()
print(f"Nilai objektif optimal adalah: {model.objval}")
for v in x:
    print(f"{v.VarName} = {v.X}")
MDOEnv env = new MDOEnv();
MDOModel model = new MDOModel(env, filename);
model.optimize();
System.out.println("Nilai objektif optimal adalah: " + model.get(MDO.DoubleAttr.ObjVal));
MDOVar[] x = model.getVars();
for (int i = 0; i < x.length; ++i) {
    System.out.println(x[i].get(MDO.StringAttr.VarName) + " = " + x[i].get(MDO.DoubleAttr.X));
}
MDOEnv env = MDOEnv();
MDOModel model = MDOModel(env, filename);
model.optimize();
std::cout << "Optimal objective value is: " << model.get(MDO_DoubleAttr_ObjVal) << std::endl;
std::vector<MDOVar> vars = model.getVars();
for (auto v : vars) {
    std::cout << v.get(MDO_StringAttr_VarName) << " = " << v.get(MDO_DoubleAttr_X) << std::endl;
}
MDOenv* env;
MDOemptyenv(&env);
MDOstartenv(env);
MDOmodel* model;
double obj;

MDOreadmodel(env, argv[1], filename);
MDOoptimize(model);
MDOgetdblattr(model, MDO_DBL_ATTR_OBJ_VAL, &obj);
printf("Nilai objektif optimal adalah: %f\n", obj);

/* Bebaskan lingkungan. */
MDOfreemodel(model);
MDOfreeenv(env);
MDOEnv env = new MDOEnv();
MDOModel model =new MDOModel(env, filename);
model.optimize();
Console.WriteLine($"Optimal objective value is: {model.Get(MDO.DoubleAttr.ObjVal)}");
MDOVar[] vars = model.GetVars();
for (int i = 0; i < vars.Length; i++)
{
    Console.WriteLine($"{vars[i].Get(MDO.StringAttr.VarName)} = {vars[i].Get(MDO.DoubleAttr.X)}");
}
model = mindopt_read(file);
result = mindopt(model);

for v=1:length(result.X)
    fprintf('%s %d\n', model.varnames{v}, result.X(v));
end
fprintf('Optimal objective value is: %e\n', result.ObjVal);

objval = result.ObjVal;

Untuk contoh kode lengkap, lihat Selengkapnya.


V0.x

# Method 1: A new model creation method was introduced in version 0.19.0. This method provides faster cloud authentication and consumes less concurrency.
env = mindoptpy.MdoEnv()
model = mindoptpy.MdoModel(env)
model.read_prob(filename)
model.solve_prob()
model.display_results()

# Method 2: The old model creation method is still supported.
# model = mindoptpy.MdoModel()
# model.read_prob(filename)
# model.solve_prob()
# model.display_results()
//<dependency>
//    <groupId>com.alibaba.damo</groupId>
//    <artifactId>mindoptj</artifactId>
//    <version>[0.20.0,)</version>
//</dependency>
// Load the dynamic-link library, as follows:
Mdo.load("c:\\mindopt\\0.20.0\\win64_x86\\lib\\mindopt_0_20_0.dll");

// Method 1: A new model creation method was introduced in version 0.19.0. This method provides faster cloud authentication and consumes less concurrency.
// Set up the environment during program initialization, for example, in the setup phase of MapReduce.
MdoEnv env = new MdoEnv();
// Create a model.
MdoModel model = env.createModel();
model.readProb(filename)
model.solveProb();
model.displayResult();
model.free();
// The Java SDK requires you to manually release the env at the end of the program, for example, in the cleanup phase of MapReduce.
env.free();

// Method 2: The old model creation method is still supported but is marked as deprecated and will be removed in a future version.
/*
MdoModel model = new MdoModel();
model.readProb(filename)
model.solveProb();
model.displayResult();
*/
// Method 1: A new model creation method was introduced in version 0.19.0. This method provides faster cloud authentication and consumes less concurrency.
using mindopt::MdoEnv;
MdoEnv env;
MdoModel model(env);
model.readProb(filename);
model.solveProb();
model.displayResults();

// Method 2: The old model creation method is still supported.
/*
MdoModel model;
model.readProb(filename);
model.solveProb();
model.displayResults();
*/
// Method 1: A new model creation method was introduced in version 0.19.0. This method provides faster cloud authentication and consumes less concurrency.
MdoEnvPtr env;
MdoMdlPtr model;
Mdo_createEnv(&env);
Mdo_createMdlWithEnv(&model, env);
Mdo_readProb(model, filename);
Mdo_solveProb(model);
Mdo_displayResults(model);
Mdo_freeMdl(&model);
// The C SDK requires you to manually release the env.
Mdo_freeEnv(&env);

// Method 2: The old model creation method is still supported.
/*
MdoMdlPtr model;
Mdo_createMdl(&model);
Mdo_readProb(model, filename);
Mdo_solveProb(model);
Mdo_displayResults(model);
Mdo_freeMdl(&model);
*/

Untuk contoh kode lengkap, lihat dokumentasi V0.x.

Masalah optimasi yang didukung

Versi saat ini dari pemecah mendukung hal-hal berikut:

Metode input masalah optimasi

Anda dapat menginput masalah optimasi dengan tiga cara: melalui file, menggunakan API pemodelan data, atau dengan memanggil tool pemodelan eksternal.

Metode 1: Input melalui file

  • Pemecah mendukung format MPS dan format LP, seperti file .mps dan .lp, serta versi terkompresinya, seperti .mps.gz dan .mps.bz2.

  • Pemecah mendukung format .dat-s, yang digunakan dalam contoh masalah SDP.

  • Pemecah mendukung format .qps, yang digunakan untuk data masalah QP.

  • Modul `mindoptampl` mendukung input file .nl. Misalnya, Anda dapat menjalankan perintah mindoptampl filename.nl.

Untuk informasi lebih lanjut, lihat More.

Metode 2: Input melalui Modeling API

Catatan

API untuk V1.x dan versi setelahnya sebagian besar berbeda dari API untuk V0.x. Pastikan Anda menggunakan versi yang benar.

V1.x

Tersedia beberapa API terkait yang mendukung input data per baris (row-wise).

  • Berikut adalah contoh singkat dalam Python:

    • Gunakan mindoptpy.Model.modelsense = MDO.MINIMIZE untuk mengatur fungsi objektif ke minimisasi.

    • Gunakan mindoptpy.Model.addVar() untuk menambahkan variabel optimasi dan menentukan batas bawah, batas atas, koefisien objektif, nama, serta tipe variabel tersebut.

    • Gunakan mindoptpy.Model.addConstrs() untuk menambahkan kendala.

Untuk informasi selengkapnya, lihat Selengkapnya. Untuk daftar atribut, lihat Selengkapnya. Bab API juga berisi contoh lengkap untuk setiap bahasa.


V0.x

Tersedia beberapa API terkait, dan data yang sama dapat diinput dengan berbagai cara.

  • Berikut adalah contoh singkat dalam Python untuk input per baris (row-wise):

    • Gunakan mindoptpy.MdoModel.set_int_attr() untuk mengatur fungsi objektif ke minimisasi.

    • Gunakan mindoptpy.MdoModel.add_var() untuk menambahkan empat variabel optimasi dan menentukan batas bawah, batas atas, nama, serta tipe variabel tersebut.

    • Gunakan mindoptpy.MdoModel.add_cons() untuk menambahkan kendala.

  • Berikut adalah contoh singkat dalam Python untuk input per kolom (column-wise):

    • Gunakan mindoptpy.MdoModel.set_int_attr() untuk mengatur fungsi objektif ke minimisasi.

    • Pertama, panggil mindoptpy.MdoModel.add_cons() untuk membuat kendala dengan nilai sisi kiri dan kanan yang ditentukan, tetapi tanpa elemen non-nol.

    • Buat objek kolom sementara mindoptpy.MdoCol() untuk menyimpan kendala dan nilai elemen non-nol secara berurutan.

    • Akhirnya, panggil mindoptpy.MdoModel.add_var() untuk membuat variabel baru beserta koefisien fungsi objektifnya, elemen non-nol dalam vektor kolom, batas bawah dan atas, nama variabel, serta tipe variabel.

Untuk informasi selengkapnya, lihat dokumentasi V0.x. Untuk daftar atribut model, lihat dokumentasi V0.x.

Metode 3: Bahasa pemodelan MindOpt APL, AMPL, Pyomo, PuLP, dan JuMP

Catatan

Keuntungan menggunakan bahasa pemodelan adalah API-nya memungkinkan Anda membangun model yang dapat dengan mudah dialihkan antarversi solver yang berbeda.

MindOpt mendukung beberapa tool pemodelan umum, termasuk yang berikut:

1. MindOpt APL

Dukungan untuk MindOpt APL, bahasa pemodelan yang dikembangkan oleh tim MindOpt, diperkenalkan pada tahun 2022.

  • Anda dapat menggunakan bahasa pemodelan dan solver ini secara gratis di browser melalui platform pemodelan dan penyelesaian online MindOpt. Platform ini juga mencakup studi kasus untuk membantu Anda memulai dengan cepat. Tidak diperlukan instalasi perangkat lunak. Cukup buka browser Anda untuk menggunakannya.

  • Untuk dokumentasi sintaks lebih lanjut, lihat Selengkapnya.

2. AMPL

Sebelum menggunakan AMPL untuk memanggil MindOpt, Anda harus menginstal MindOpt dan AMPL. Aplikasi `mindoptampl` terletak di direktori \bin\mindoptampl paket instalasi. `mindoptampl` menyediakan parameter yang dapat dikonfigurasi. Anda dapat menggunakan perintah option AMPL untuk mengatur parameter mindoptampl_options. Contohnya:

ampl: option mindoptampl_options 'numthreads=4 maxtime=1e+4';

Untuk informasi dan contoh selengkapnya, lihat Selengkapnya.

3. CVXPY

Sebelum menggunakan CVXPY untuk memanggil MindOpt, Anda harus menginstal MindOpt dan CVXPY. Untuk memanggil API CVXPY MindOpt, Anda harus terlebih dahulu mengimpor file antarmuka mindopt_conif.py dan mindopt_qpif.py. Impor file-file ini dalam kode Python Anda sebagai berikut:

from mindopt_conif import *
from mindopt_qpif import *

Untuk informasi dan contoh selengkapnya, lihat Selengkapnya.

4. Pyomo

Sebelum menggunakan Pyomo untuk memanggil MindOpt, Anda harus menginstal MindOpt dan Pyomo. Untuk memanggil API Pyomo MindOpt, Anda harus menggunakan file antarmuka mindopt_pyomo.py. Antarmuka MindOpt Pyomo mewarisi dari kelas DirectSolver milik Pyomo. Kode implementasinya terdapat dalam file \lib\pyomo\mindopt_pyomo.py paket instalasi. Impor file ini dalam kode Python Anda sebagai berikut:

from mindopt_pyomo import MindoptDirect

Untuk informasi dan contoh selengkapnya, lihat Selengkapnya.

5. PuLP

Sebelum menggunakan PuLP untuk memanggil MindOpt, Anda harus menginstal MindOpt dan PuLP. Untuk memanggil API PuLP MindOpt, Anda harus menggunakan file antarmuka mindopt_pulp.py. Antarmuka MindOpt PuLP mewarisi dari kelas LpSolver milik PuLP. Kode implementasinya terdapat dalam file \lib\pulp\mindopt_pulp.py paket instalasi. Impor file ini dalam kode Python Anda sebagai berikut:

from mindopt_pulp import MINDOPT

Untuk informasi dan contoh lebih lanjut, lihat More.

6. JuMP

JuMP adalah tool pemodelan open source berbasis bahasa pemrograman Julia. Sebelum menggunakan JuMP untuk memanggil MindOpt, Anda harus menginstal MindOpt, Julia, JuMP, dan AmplNLWriter. Panggil API JuMP untuk membuat objek pemodelan dan tentukan `mindoptampl` sebagai solver.

model = Model(() -> AmplNLWriter.Optimizer(mindoptampl))

Untuk informasi selengkapnya, lihat Selengkapnya.

Pengaturan parameter penyelesaian

Anda dapat mengatur parameter input saat menjalankan pemecah. Untuk dokumentasi V1.x, lihat bab Parameter. Misalnya, Anda dapat mengatur waktu maksimum penyelesaian menggunakan "MaxTime". Untuk dokumentasi V0.x, lihat bab Parameter Input Opsional.

Referensi konfigurasi perangkat komputasi: Karakteristik algoritma berbeda untuk penyelesaian LP

Saat mengonfigurasi sumber daya mesin, jumlah sumber daya yang dikonsumsi bervariasi tergantung pada struktur masalah dan algoritma yang dipilih. Anda harus menguji dan memilih konfigurasi sesuai kebutuhan.

Untuk penyelesaian LP, kami saat ini menyediakan algoritma Simplex, Interior-Point Method (IPM), dan Concurrent optimization. Alur eksekusi ditunjukkan pada gambar "Execution flow" di bawah. Algoritma Concurrent dipilih secara default. Anda dapat mengatur parameter "Method" untuk memilih algoritma yang berbeda.

Perbedaan antara ketiga algoritma tersebut adalah sebagai berikut:

Simplex

Interior-Point Method (IPM)

Concurrent (Simultaneous Optimization)

Karakteristik

- Umumnya kurang sensitif terhadap masalah numerik

- Mengonsumsi lebih sedikit memori

- Mendukung warm-start

- Lebih sensitif terhadap masalah numerik

- Mengonsumsi memori 2 hingga 10 kali lebih banyak daripada metode Simplex

- Tidak mendukung warm-start

- Mungkin lebih cocok untuk masalah berskala besar

- Melakukan optimasi menggunakan kedua metode secara simultan, sehingga mengonsumsi lebih banyak memori

- Lebih robust

- Saat menyelesaikan kategori masalah baru, Anda dapat mencoba metode ini terlebih dahulu untuk menentukan apakah metode Simplex atau IPM lebih cocok. Hal ini membantu dalam pemilihan algoritma di masa depan.

Persyaratan perangkat komputasi

Persyaratan dapat sangat bervariasi antar masalah. Gunakan hasil pengujian aktual sebagai acuan. Nilai uji laboratorium berikut hanya sebagai referensi:

Saat jumlah kendala adalah 43.200 dan jumlah elemen non-nol adalah 1.038.761

Penggunaan memori maksimum teruji adalah 350 MB

Penggunaan memori maksimum teruji adalah 620 MB

Penggunaan memori maksimum teruji adalah 920 MB

Saat jumlah kendala adalah 986.069 dan jumlah elemen non-nol adalah 4.280.320

Penggunaan memori maksimum teruji adalah 1.250 MB

Penggunaan memori maksimum teruji adalah 1.500 MB

Penggunaan memori maksimum teruji adalah 1.650 MB

Saat jumlah kendala adalah 4.284 dan jumlah elemen non-nol adalah 11.279.748

Penggunaan memori maksimum teruji adalah 2.050 MB

Penggunaan memori maksimum teruji adalah 5.200 MB

Penggunaan memori maksimum teruji adalah 5.200 MB

Saat jumlah kendala adalah 22.117 dan jumlah elemen non-nol adalah 20.078.717

Penggunaan memori maksimum teruji adalah 3.400 MB

Penggunaan memori maksimum teruji adalah 5.600 MB

Penggunaan memori maksimum teruji adalah 8.300 MB

Catatan

- Konsumsi memori bergantung pada bentuk, skala, dan kelangkaan (sparsity) masalah. Untuk memperkirakan sumber daya memori sebelumnya, Anda dapat menghitung konsumsi memori berdasarkan skala dan kelangkaan masalah terlebih dahulu. Kemudian, kalikan nilai tersebut dengan faktor tertentu untuk mendapatkan perkiraan nilai memori cadangan.

Mendapatkan hasil solusi

Eksekusi command line

Saat Anda menjalankan pemecah dari command line, pemecah akan mencetak output proses penyelesaian dan ringkasan hasilnya. Pemecah juga menghasilkan file hasil .bas dan .sol dengan nama yang sama di direktori yang sama dengan file masalah.

Gambar berikut menunjukkan bahwa setelah menjalankan perintah mindopt afiro.mps, file afiro.bas dan afiro.sol dihasilkan di folder tersebut. File .bas menyimpan basis, dan file .sol menyimpan nilai objektif optimal dan solusi untuk nilai variabel.

lQLPJwEdbd-17pzNAR7NApqwz0O66RW2UCEExUKi1cC7AA_666_286.png

Penyelesaian melalui API dan pengambilan hasil

Catatan

API untuk V1.x dan versi setelahnya sebagian besar berbeda dari API untuk V0.x. Pastikan Anda menggunakan versi yang benar.

V1.x

Setelah menginput masalah yang akan diselesaikan, panggil API optimize() untuk menyelesaikannya. Misalnya, perintah Python-nya adalah model.optimize().

Setelah penyelesaian, Anda dapat memanggil API untuk mengambil hasilnya. Contoh berikut menggunakan Python:

  • Panggil model.status untuk mengambil status solusi. Status yang mungkin termasuk UNKNOWN, OPTIMAL, INFEASIBLE, UNBOUNDED, INF_OR_UBD, dan SUB_OPTIMAL. Misalnya, MDO.OPTIMAL dalam Python.

  • Gunakan model.objval untuk mengambil nilai objektif.

    • Anda juga dapat memanggil model.getAttr(MDO.Attr.PrimalObjVal) untuk mengambil nilai atribut model lainnya. Demikian pula:

      • SolutionTime: Total waktu eksekusi dalam detik

      • DualObjVal: Nilai objektif dual

      • ColBasis: Basis solusi primal

  • Panggil var.X untuk mengambil solusi suatu variabel.

  • Untuk daftar atribut solusi lainnya, lihat Selengkapnya.

Untuk contoh kode lengkap, lihat folder `example` dalam paket instalasi, dokumentasi di Selengkapnya, atau bab contoh dalam dokumentasi API setiap bahasa, seperti contoh Python.


V0.x

Setelah menginput masalah yang akan diselesaikan, panggil API solveProb untuk menyelesaikannya. Misalnya, perintah Python-nya adalah model.solve_prob().

Setelah penyelesaian, Anda dapat memanggil API untuk mengambil hasilnya. Contoh berikut menggunakan Python:

  • Panggil model.display_results() untuk mencetak hasilnya.

  • Panggil model.get_status() untuk mengambil status solusi.

  • Panggil model.get_real_attr("PrimalObjVal") untuk mengambil nilai objektif primal. Demikian pula:

    • "DualObjVal": Nilai objektif dual

    • "PrimalSoln": Solusi primal

    • "ColBasis": Basis solusi primal

    • Untuk daftar atribut solusi lainnya, lihat dokumentasi V0.x

Untuk contoh kode lengkap, lihat folder `example` dalam paket instalasi atau dokumentasi.

Tool analisis solusi dan teknik pemodelan lanjutan

Analisis ketidaklayakan batasan

Selama proses pemodelan dan penyelesaian, Anda mungkin menghadapi masalah tak layak (infeasible) akibat konflik kendala. Menganalisis masalah tak layak dan mengidentifikasi kendala utama yang menyebabkan konflik dapat sangat membantu dalam pemodelan. Subset minimal kendala yang menyebabkan masalah menjadi tak layak disebut irreducible infeasible system (IIS).

MindOpt menyediakan API untuk menghitung IIS. Jika suatu masalah berstatus "INFEASIBLE", Anda dapat menggunakan API compute IIS untuk menganalisis masalah tak layak tersebut. Misalnya, Anda dapat memodifikasi atau menghapus kendala dalam IIS agar masalah optimasi menjadi layak.

Berikut adalah contoh cara memanggil antarmuka IIS dalam Python:

V1.x

if model.status == MDO.INFEASIBLE or model.status == MDO.INF_OR_UBD:
    idx_rows, idx_cols = model.compute_iis()

Untuk petunjuk lengkap mengenai perhitungan IIS, lihat Selengkapnya.


V0.x

status_code, status_msg = model.get_status()
if status_msg == "INFEASIBLE":
    idx_rows, idx_cols = model.compute_iis()

Untuk petunjuk lengkap mengenai perhitungan IIS, lihat dokumentasi V0.x.

Callback

MindOpt menggunakan metode branch-and-bound klasik untuk menyelesaikan masalah MIP. Fitur callback memungkinkan Anda melacak proses penyelesaian dan mengambil keputusan untuk memandu pemecah, termasuk hal-hal berikut:

  • Menambahkan cutting planes untuk memangkas cabang yang tidak akan berisi solusi optimal.

  • Mengintervensi strategi pemilihan cabang MindOpt untuk mengontrol metode pembagian node dan urutan traversal.

  • Menambahkan solusi layak kustom (misalnya, solusi yang diperoleh melalui algoritma heuristik). Solusi layak yang baik dapat meningkatkan efisiensi penyelesaian MindOpt.

Anda dapat membuat fungsi callback sebagai berikut:

def callback(model, where):

Untuk petunjuk lengkap mengenai callback, lihat Selengkapnya.

Penyetelan parameter solver

MindOpt Tuner juga dapat melakukan optimasi hiperparameter untuk pemecah. Anda dapat menyediakan data dari skenario bisnis Anda dan menggunakan MindOpt Tuner. Setelah penyetelan parameter, Anda akan memperoleh pemecah yang lebih cepat dan disesuaikan untuk skenario bisnis Anda. Beberapa fitur saat ini tersedia di platform cloud MindOpt.

Pemodelan dibantu insinyur AI

Insinyur AI adalah robot AI yang dibangun di atas Large Language Model (LLM) dan diintegrasikan dengan pengetahuan tentang tool perangkat lunak spesifik domain untuk memberikan konsultasi teknis dasar. MindOpt Copilot adalah insinyur AI yang membantu Anda menggunakan teknologi MindOpt untuk menyelesaikan masalah optimasi matematis. Insinyur ini dapat digunakan untuk konsultasi teknis di bidang optimasi matematis.

Saat ini, insinyur AI MindOpt Copilot mendukung tool seperti MindOpt Solver dan bahasa pemodelan MindOpt APL. Insinyur ini berkomunikasi melalui bahasa alami dan data tabel untuk secara otomatis melakukan tugas berdasarkan masalah bisnis Anda. Tugas-tugas tersebut mencakup pemodelan matematis, merumuskan persamaan matematis, menulis kode, dan memanggil perangkat lunak MindOpt untuk menyelesaikan masalah. Insinyur ini juga dapat menghasilkan Proyek dari teks, rumus matematis, dan kode yang dihasilkannya, yang dapat Anda impor dengan cepat ke dalam proyek pengembangan Anda.

Pertama kali diluncurkan pada September 2023, tersedia di platform cloud MindOpt.

Fitur lainnya

Penyembunyian data

Command line MindOpt menyertakan opsi --sanitize, yang dapat menghasilkan file model yang disembunyikan datanya. Hal ini memudahkan pengiriman data untuk pertukaran teknis atau untuk penyetelan dan peningkatan parameter pemecah.

Alur eksekusi solver

Alur eksekusi MindOpt:

Masalah optimasi yang berbeda memiliki metode penyelesaian yang berbeda, tetapi alur keseluruhan serupa. Berikut adalah contoh alur pemanggilan untuk masalah LP. Selama proses tersebut, Anda dapat mengatur parameter tertentu.

Solver execution flow

API lengkap dan metode pemanggilan

Untuk petunjuk lengkap, lihat Panduan Pengguna MindOpt – Versi Lengkap

Daftar isi adalah sebagai berikut: