Optimization Story: Optimisasi Alokasi Budget Marketing Perusahaan II
Masih melanjutkan post saya sebelumnya terkait pemilihan alokasi budget marketing. Kali ini saya akan menuliskan kembali kasus kedua terkait optimisasi perusahaan saat mengalokasikan budget marketing-nya.
Latar Belakang
Sebuah perusahaan ingin memilih kombinasi promosi dari tiga channel berikut ini:
- Radio,
- Koran,
- Spanduk.
Dengan biaya seminimal mungkin tapi harus menjangkau (reach) minimal 150.000 orang pelanggan. Setiap channel memiliki fixed cost (jika dipilih) dan memiliki tingkat jangkauan berbeda-beda.
Channel | Biaya Tetap ($) | Biaya per Unit ($) | Jangkauan per Unit (ribu pelanggan) |
---|---|---|---|
Radio | 500 | - | 40 |
Koran | 300 | - | 25 |
Spanduk | 100 | 50 | 10 (per spanduk) |
Berbeda dengan radio dan koran, spanduk memiliki dua jenis biaya yakni biaya tetap dan biaya per unit (karena bisa ditaruh di beberapa tempat yang berbeda-beda).
Agar bisa melakukan formulasi model matematikanya, saya perlu menuliskan beberapa hal berikut ini:
Variabel Keputusan:
: Binary (1 jika memilih radio, 0 jika tidak).
: Binary (1 jika memilih koran, 0 jika tidak).
: Binary (1 jika memilih spanduk, 0 jika tidak).
: Jumlah unit spanduk (integer ≥ 0) (karena Spanduk bisa dipasang lebih dari satu lokasi)
Formulasi Matematika:
Objective function bisa dituliskan sebagai berikut:
Yakni meminimumkan budget marketing dengan constraints:
- Target Jangkauan Pelanggan:
.
- Spanduk Hanya Digunakan Jika Dipilih
(
): Maka untuk menghubungkan
dan
kita bisa menggunakan hubungan sebagai berikut:
.
- Non-negatif dan Integer:
.
Model tersebut akan saya solve menggunakan R sebagai berikut:
Mixed integer linear optimization problem
Variables:
Continuous: 0
Integer: 1
Binary: 3
Model sense: minimize
Constraints: 2
<SOLVER MSG> ----
GLPK Simplex Optimizer 5.0
2 rows, 4 columns, 5 non-zeros
0: obj = 0.000000000e+00 inf = 1.500e+02 (1)
4: obj = 1.233500000e+03 inf = 0.000e+00 (0)
* 6: obj = 7.650000000e+02 inf = 0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
GLPK Integer Optimizer 5.0
2 rows, 4 columns, 5 non-zeros
4 integer variables, 3 of which are binary
Integer optimization begins...
Long-step dual simplex will be used
+ 6: mip = not found yet >= -inf (1; 0)
+ 7: >>>>> 8.500000000e+02 >= 8.500000000e+02 0.0% (1; 0)
+ 7: mip = 8.500000000e+02 >= tree is empty 0.0% (0; 1)
INTEGER OPTIMAL SOLUTION FOUND
<!SOLVER MSG> ----
Status: success
Objective value: 850
R menghasilkan total spending budget sebesar 850$ saja dengan cara:
channel | decision |
---|---|
Radio | 0 |
Koran | 0 |
Spanduk | 1 |
y
15
Hanya menggunakan spanduk dan menggunakan 15 unit spanduk saja agar tepat reach 150.000 orang pelanggan.
Perlu diperhatikan bahwa tujuan dari masalah ini adalah meminimumkan budget marketing sehingga mendapatkan reach yang pas dengan constraint tidaklah mengapa.
if you find this article helpful, support this blog by clicking the ads.