Melawan stres dan isolasi Covid dengan Pemrograman Linier!

Di masa pandemi Covid ini bekerja dari rumah sudah menjadi hal yang biasa. Sekarang waktu perlahan menjadi lebih baik, dan kami dapat pergi ke kantor pusat Albert Heijn sesekali, tetapi selama satu setengah tahun terakhir, kami bekerja hampir secara eksklusif dari rumah. Salah satu hal yang tidak terjadi lagi, adalah obrolan ringan di mesin kopi departemen data science. Saat bekerja dari rumah, sangat mudah untuk hanya berbicara dengan rekan kerja yang bekerja di tim yang sama. Tentu saja masih ada beberapa pertemuan tim yang lebih luas, tetapi pertemuan satu lawan satu secara acak sudah tidak ada lagi.

Rekomendasi Swab Test Jakarta

Di dalam tim ilmu data, kami menemukan solusi! Setiap minggu, kami secara acak memilih pasangan rekan kerja dan mengirimi mereka email yang menyarankan agar mereka meluangkan waktu untuk minum kopi virtual bersama. Hanya mengobrol tentang sesuatu selain pekerjaan, dan untuk tetap berhubungan.

Kami tidak hanya ingin tanggal kopi acak, kami ingin tanggal kopi antara pasangan anggota tim yang tidak bekerja di tim yang sama. Orang-orang yang bekerja di tim yang sama sudah berbicara satu sama lain setiap hari. Juga kombinasi spesifik seharusnya tidak terjadi baru-baru ini. Bagaimana kita bisa menemukan kombinasi rekan untuk kopi tanggal sehingga kondisi ini terpenuhi?

Ada berbagai cara untuk membuat kombinasi yang cocok untuk kurma. Hal pertama yang terlintas dalam pikiran, adalah membuat pilihan acak misalnya. Buat pasangan secara acak sampai Anda menemukan kombinasi yang sesuai dengan keinginan Anda. Tetapi mengapa menunggu sampai program acak Anda menemukan solusi?

Atau kita dapat menerjemahkan masalah ini ke dalam masalah matematika dan langsung mencari solusi. Salah satu caranya adalah dengan Linear Programming (LP). Pada bagian berikutnya saya memberikan gambaran singkat tentang apa itu Pemrograman Linier dan membahas bagaimana kita mengubah masalah kita menjadi masalah LP.
Pemrograman Linier

Pemrograman Linier adalah jenis optimasi matematika. Ini adalah metode untuk memecahkan sistem pertidaksamaan linier. Sebuah LP terdiri dari komponen yang berbeda:

sekumpulan besaran atau variabel.
satu set kendala, beberapa persyaratan, diwakili oleh ketidaksetaraan linier, dinyatakan dalam variabel.
Biasanya ada juga fungsi tujuan dari variabel yang nilainya ingin Anda minimalkan (atau maksimalkan).

Biasanya dengan LP kita ingin mengoptimalkan tujuan dengan mencari nilai yang tepat untuk variabel yang juga memenuhi persyaratan. Hal ini juga dapat terjadi jika Anda tidak ingin mengoptimalkan variabel, tetapi hanya ingin menemukan solusi yang memenuhi kendala — dalam hal ini tujuan tidak diperlukan. Jika Anda ingin membaca lebih lanjut tentang ini, lihat contoh dan lihat bagaimana Anda dapat menyelesaikan masalah seperti itu dengan tangan, baca tautan berikut.
Bagaimana mengubah masalah kita menjadi masalah LP

Bagi saya, bagian terbaik dari memecahkan masalah Anda dengan pendekatan LP, adalah memikirkan bagaimana mengubah masalah dunia nyata Anda menjadi bentuk matematika. Apa jenis variabel yang Anda butuhkan? Kendala seperti apa yang Anda butuhkan? Haruskah Anda meminimalkan atau memaksimalkan sesuatu? Atau tidak ada tujuan sama sekali? Mengubah kehidupan nyata menjadi variabel bisa menjadi tugas yang sulit dan terkadang Anda benar-benar harus kreatif.

Mari kita mulai dengan apa yang kita ketahui. Kami memiliki daftar orang-orang di departemen dan untuk setiap orang kami tahu di tim mana mereka berada. Juga, kami tahu tanggal kopi yang telah terjadi sebelumnya.
Komponen 1: variabel

Mari kita definisikan beberapa variabel yang mewakili situasi:

M: himpunan orang, dengan orang i M.
T: orang-orang dibagi menjadi beberapa tim, dan T mewakili himpunan tim. Setiap orang termasuk dalam tim t T.
D: set tanggal (sepasang op orang).
xᵢⱼ: nilai ini menunjukkan apakah rekan i bergabung dengan tanggal j, dengan i M dan j∈ D. Variabel ini akan sama dengan 1 jika demikian dan sama dengan 0 jika tidak.
kᵢₚ: nilai ini mewakili apakah rekan saya bekerja pada proyek p. Variabel ini akan sama dengan 1 jika hal ini terjadi dan sama dengan 0 jika tidak.

Komponen 2: kendala

Ada batasan tertentu yang harus diikuti oleh solusi. Ini akan diwakili dalam ketidaksetaraan matematika

Pertama setiap kencan harus terdiri dari dua rekan kerja. Tentu saja, jika kita memiliki jumlah rekan kerja yang tidak merata, kita hanya memiliki satu kencan dengan satu orang. Jadi, setiap tanggal harus terdiri dari setidaknya satu dan maksimal dua rekan kerja. Ini berarti bahwa jumlah variabel xᵢⱼ atas semua rekan harus sama dengan 1 atau 2 untuk semua tanggal j D. Batasan ini dapat ditulis secara matematis sebagai berikut:

Selanjutnya, setiap orang harus berpartisipasi dalam satu kencan. Ini berarti bahwa jumlah variabel xᵢⱼ pada semua tanggal harus sama dengan 1 untuk semua rekan i M.

Swab Test Jakarta yang nyaman