Aplikasi web interaktif untuk menyelesaikan berbagai masalah Operation Research menggunakan Python dan Streamlit.
- Menyelesaikan masalah LP (Maksimasi/Minimasi)
- Support input manual atau upload file
- Visualisasi hasil optimal dengan grafik
- Analisis variabel keputusan
- Optimasi dengan variabel bilangan bulat (0-1 atau integer)
- Support binary dan integer variables
- Branch and bound algorithm
- Visualisasi solusi optimal
- Optimasi distribusi dari sumber ke tujuan
- Biaya minimal dengan kendala supply-demand
- Visualisasi heatmap alokasi
- Detail supply dan demand
- Alokasi optimal sumber daya ke tugas
- Hungarian Algorithm untuk solusi optimal
- Visualisasi cost distribution
- Detail assignment untuk setiap pekerja-tugas
- Menemukan rute terpendek dalam jaringan
- Support berbagai jenis graf
- Dijkstra Algorithm
- Visualisasi path
- Analisis sistem antrian M/M/1 dan M/M/c
- Perhitungan utilization factor, waiting time
- Probabilitas sistem kosong
- Optimasi pelayanan
- Simulasi probabilistik untuk analisis risiko
- Support berbagai distribusi (normal, uniform, exponential)
- Confidence interval calculation
- Statistical analysis
- Algoritma machine learning untuk klasifikasi
- Support Logistic Regression, SVM, Random Forest, KNN
- Evaluasi model dengan accuracy, precision, recall
- Confusion matrix analysis
- Algoritma clustering untuk pengelompokan data
- Support K-Means, Hierarchical, DBSCAN
- Evaluasi dengan silhouette score
- Visualisasi cluster
- Python 3.8+ - Bahasa pemrograman utama
- Streamlit - Framework UI web interaktif
- PuLP - Solver untuk linear programming
- SciPy - Computasi ilmiah (optimization, linear algebra)
- Pandas - Manipulasi dan analisis data
- NumPy - Operasi array dan numerik
- Plotly - Visualisasi data interaktif
- Matplotlib - Visualisasi grafik
- Scikit-learn - Machine learning algorithms
python_solver_app/
βββ main.py # Entry point aplikasi
βββ requirements.txt # Dependencies
βββ README.md # Dokumentasi ini
βββ modules/
βββ __init__.py
βββ solvers.py # Implementasi solver
βββ utils.py # Utility functions
cd python_solver_app
pip install -r requirements.txtstreamlit run main.pyAplikasi akan membuka di browser pada http://localhost:8501
- Pilih "Linear Programming" dari sidebar
- Tentukan jumlah variabel dan kendala
- Input koefisien fungsi objektif
- Input koefisien kendala dan RHS
- Klik "Selesaikan"
- Pilih "Transportation Problem" dari sidebar
- Input jumlah sumber dan tujuan
- Input supply untuk setiap sumber
- Input cost matrix
- Input demand untuk setiap tujuan
- Klik "Selesaikan"
- Pilih "Assignment Problem" dari sidebar
- Tentukan ukuran problem (nΓn)
- Input cost matrix
- Klik "Selesaikan"
Setiap solver menghasilkan:
- β Status optimasi
- π Nilai optimal
- π Detail variabel/alokasi
- π Visualisasi grafik
- π₯ Option untuk export hasil
Maksimalkan: 800xβ + 600xβ
Kendala:
2xβ + 3xβ β€ 60 (Kayu Jati)
5xβ + 3xβ β€ 100 (Jam Kerja)
xβ, xβ β₯ 0
Supply: [100, 150, 120]
Demand: [80, 90, 100]
Minimize total cost dengan matriks biaya yang diberikan
Assign 4 pekerja ke 4 tugas
Minimize total biaya assignment
Fitur yang dapat ditambahkan:
- Integer Programming
- Network Flow Problem
- Goal Programming
- Quadratic Programming
- Export ke format lain (PDF, JSON)
- Database untuk menyimpan hasil
- Multi-language support
- API REST
- Import dari Excel template
- Linear Programming: Simplex Method, Interior Point Method
- Transportation: Vogel's Approximation Method (VAM), Stepping Stone
- Assignment: Hungarian Algorithm (Kuhn-Munkres)
- Shortest Path: Dijkstra Algorithm, Bellman-Ford Algorithm
pip install -r requirements.txt- Pastikan port 8501 tidak terpakai
- Coba dengan port berbeda:
streamlit run main.py --server.port 8502
- Cek constraint, mungkin ada konflik antar kendala
- Pastikan supply = demand untuk transportation problem
Aplikasi ini dikembangkan untuk tujuan pendidikan dan penelitian.
Dikembangkan sebagai alat bantu pembelajaran Operation Research dengan Python.
Versi: 1.0.0
Last Updated: 2026
Status: Active Development