Manajer, gunakan ini untuk merencanakan hari kerja cerdas untuk tim Anda! – Menuju AI — Publikasi AI dan Teknologi Terkemuka di Dunia

Pengarang: Alberto Prospero

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Optimasi

Alat pengoptimalan matematis untuk menjadwalkan hari kerja cerdas dan merencanakan kembali ke kantor

Foto oleh Diggity Marketing di Unsplash

pengantar

Selama covid-19 beberapa tim dibatasi untuk bekerja dari rumah sepenuhnya. Untungnya, sebagian situasi telah membaik selama tahun lalu dan di banyak negara, tim diizinkan untuk sebagian kembali ke kantor. Proyek ini bertujuan untuk menyediakan alat bagi semua manajer untuk merencanakan dengan lebih baik kepulangan karyawan ke kantor atau hari kerja cerdas untuk minggu-minggu berikutnya.

Artikel ini disusun sebagai berikut:

Motivasi, mengungkapkan alasan mengapa algoritma optimasi dapat membantu dalam perencanaan dan penjadwalan. Algoritma optimasi, memberikan pengenalan objek utama dari optimasi matematika. Pemodelan, merinci bagaimana bagian dari pemodelan optimasi dilakukan. Ini adalah bagian yang paling menantang dan bisa dilewati. Hasil, menggambarkan hasil yang diperoleh dari algoritma. Kesimpulan, penutup.

Dalam artikel ini, saya berasumsi bahwa Anda memiliki pemahaman tentang konsep dan ide yang terkait dengan optimasi matematika. Jika tidak, saya sarankan untuk melihat kursus gratis ini di Coursera. Ini sulit, tetapi itu sepadan!

Anda dapat menemukan semua detail dan kode di halaman GitHub saya.

Motivasi

Merencanakan kembalinya karyawan ke kantor bisa menjadi tugas yang rumit bagi manusia. Memilih konfigurasi terbaik bisa sangat menantang, terutama jika ada banyak kendala yang harus diperhitungkan. Misalnya, kita mungkin perlu mempertimbangkan preferensi pengembalian karyawan, tempat kerja yang tersedia, kapasitas maksimum ruangan, dan jarak sosial. Mempertimbangkan semua ini pada saat yang sama mungkin sulit bagi manusia, terutama jika kita bertujuan untuk menemukan konfigurasi terbaik.

Untuk alasan ini, algoritme pengoptimalan dapat membantu. Ini dapat mempertimbangkan berbagai faktor, menentukan batasan keras untuk mencegah konfigurasi yang ditentukan, dan secara matematis memastikan bahwa solusi yang diidentifikasi adalah solusi yang optimal.

Parameter pengoptimalan

Model optimasi terdiri dari tiga objek utama: variabel keputusan, fungsi tujuan, dan kendala. Semua ini dapat sepenuhnya disesuaikan dalam kode.

Variabel keputusan
Setiap variabel keputusan adalah variabel biner xᵢⱼ yang merepresentasikan apakah karyawan i kembali ke kantor pada hari j.

fungsi tujuan
Fungsi tujuan terdiri dari berbagai istilah. Perhatikan bobot yang ditetapkan untuk masing-masing ini dapat disesuaikan dalam kode sehingga istilah dapat dikecualikan dari proses pengoptimalan.

Hari-hari yang berurutan. Bagi seorang karyawan mungkin lebih mudah untuk kembali pada hari kerja berturut-turut, jadi setiap kali ini terjadi, fungsi tujuan meningkat. tim yang sama. Anggota tim yang sama lebih memilih untuk kembali pada hari yang sama, jadi setiap kali hal ini terjadi, fungsi tujuan meningkat. Kehadiran sasaran. Setiap karyawan harus kembali dalam jumlah minimum hari, mendorong beberapa ekuitas dalam pengembalian ke kantor. Jadi, setiap kali seorang karyawan tidak mencapai kehadiran rata-rata yang disediakan selama periode perencanaan, hukuman ditambahkan ke fungsi tujuan. Pengembalian tunggal. Kembali ke kantor harus didorong, jadi setiap kali ada kehadiran karyawan di kantor setiap hari, fungsi objektif meningkat.

Kendala
Kami memiliki dua jenis kendala:

Jumlah karyawan maksimal dan minimal. Ada jumlah maksimum dan minimum karyawan yang dapat kembali ke kantor per hari. Algoritma optimasi mencegah menemukan solusi yang melebihi nilai-nilai ini. hari preferensi. Karyawan diperbolehkan untuk memilih hari apa mereka bisa dan tidak bisa kembali. Algoritma optimasi menemukan solusi yang sesuai dengan preferensi ini.

Pemodelan

Untuk memecahkan masalah optimasi kita perlu menyatakan setiap elemen dari kendala dan fungsi tujuan dalam hal variabel keputusan.

Karena kami menggunakan variabel biner, kami sangat fleksibel tentang apa yang dapat kami ekspresikan. Asumsikan kita mencoba untuk mengungkapkan istilah hari berturut-turut, yang bertujuan untuk mempromosikan pengembalian karyawan pada hari berturut-turut.

Ingatlah bahwa setiap variabel keputusan xᵢⱼ mewakili apakah karyawan i datang ke kantor pada hari j. Sekarang, mari kita fokus pada satu karyawan, dan pertimbangkan urutan terkait x₁, x, .., x, …, xₙ dari variabel keputusan, di mana n adalah jumlah hari dalam periode perencanaan.

Jika kita mempertimbangkan n = 2 (yaitu kita merencanakan untuk 2 hari), maka kita ingin mencari fungsi dari x₁, x₂ sedemikian rupa sehingga adalah nol ketika x₁ = 0 atau x₂ = 1 dan satu ketika x₁ = 1 dan x₂ = 1:

Dengan demikian, ketika karyawan datang ke kantor baik pada hari 1 dan hari 2 (yaitu ketika x₁ = 1 dan x₂ = 1) istilah hari berturut-turut adalah 1 dan fungsi tujuan meningkat 1. Sebaliknya, ketika ini adalah tidak benar, sukunya 0 dan fungsi tujuan tidak bertambah.

Fungsi seperti dapat dengan mudah dinyatakan sebagai:

Sekarang, asumsikan n = 3 (yaitu perencanaan selama 3 hari). Demikian pula, kami ingin menemukan fungsi dari x₁, x₂, x₃ sedemikian rupa sehingga menjadi 2 ketika x₁ = 1, x₂ = 1 dan x₃ = 1 (yaitu karyawan kembali selama tiga hari), itu adalah 1 ketika x₁ = 1 dan x₂ = 1 atau x₂ = 1 dan x₃ = 1 (yaitu karyawan kembali pada hari pertama dan pada hari kedua atau pada hari kedua dan pada hari ketiga), dan sebaliknya adalah 0:

Fungsi tersebut merupakan perpanjangan dari kasus sebelumnya, dan dapat dinyatakan sebagai:

Anda bisa melihat polanya. Secara umum, untuk n hari, suku hari berturut-turut dapat dinyatakan sebagai:

Linearisasi

Ada satu catatan samping. Anda mungkin telah memperhatikan bahwa suku turunan bukanlah suku linier. Ketika ditambahkan ke fungsi tujuan, itu menyebabkan ini menjadi non-linier, dan pada gilirannya, ini menimbulkan beberapa masalah dalam menemukan solusi optimal. Faktanya, masalah linier dijamin secara matematis menemukan solusi yang unik dan optimal. Juga, hampir semua pemecah (gratis) bekerja hanya dalam kasus optimasi linier.

Namun, kita dapat menggunakan strategi yang menarik untuk membuat istilah linier, dalam kasus variabel keputusan produk biner. Secara khusus, untuk setiap produk biner, kami memperkenalkan variabel biner baru z = xᵢ * x (di mana dalam hal ini xᵢ dan xⱼ adalah dua variabel biner), dan satu set kendala pada z, yang diberikan oleh:

Variabel z berperilaku sebagai produk biner. Ketika xᵢ = 0 atau xⱼ = 0, z harus lebih kecil dari 0 sehingga harus nol. Ketika xᵢ = 1 atau xⱼ = 1, z harus lebih besar dari 1 sehingga harus satu. Oleh karena itu, kita dapat kembali ke kasus linier.

Terakhir, perhatikan bahwa proses serupa harus diulang untuk setiap suku fungsi tujuan dan kendala, agar dapat menentukan seluruh masalah optimasi.

Hasil

Untuk menjalankan kode dan mendapatkan hasilnya, kami berfokus pada konfigurasi awal tertentu, tetapi dapat sepenuhnya disesuaikan untuk beradaptasi dengan kebutuhan Anda. Dalam skenario ini, kita akan mengasumsikan pengaturan berikut:

Jumlah karyawan adalah 13 (disebut sebagai makanan Italia ) Ada 20 hari (sesuai dengan 4 minggu, yaitu 1 bulan) untuk merencanakan minimal 4 karyawan diperbolehkan untuk kembali ke kantor pada hari yang sama. Maksimal 6 karyawan diperbolehkan kembali ke kantor pada hari yang sama. 8 hari selama periode perencanaan (yaitu 2 hari per minggu) adalah target kehadiran yang harus dicapai atau dilampaui setiap karyawan. Ada 4 sub-tim karyawan, yang didefinisikan sebagai berikut:
– Karyawan nomor 1,2 3
– Karyawan nomor 4,5,6
– Karyawan nomor 8, 9, 10
– Karyawan nomor 11, 12
Perhatikan bahwa satu karyawan mungkin menjadi bagian dari lebih banyak sub-tim.

Akhirnya, preferensi karyawan dilaporkan di bawah ini. Sel berwarna hijau muda mewakili hari-hari ketika karyawan tidak dapat kembali ke kantor dan harus dihindari dalam solusi pengoptimalan. Sel berwarna hijau tua mewakili hari-hari ketika karyawan dapat kembali ke kantor.

Preferensi karyawan pada n=20 hari (gambar diproduksi oleh penulis)

Sekarang, saatnya untuk menjalankan notebook Python kami dan mendapatkan hasilnya:

Solusi yang dioptimalkan (gambar yang dihasilkan oleh penulis)

Seperti yang Anda lihat, algoritme menghasilkan pekerjaan yang luar biasa! Cluster yang dibentuk oleh karyawan dari sub-tim yang sama jelas dalam plot, dan karyawan cenderung datang ke kantor pada hari-hari berturut-turut. Juga, perhatikan bahwa jumlah karyawan pada setiap hari tidak melebihi batas yang ditentukan, dan setiap karyawan kembali setidaknya 8 hari selama periode yang direncanakan!

Wow! Mencintai matematika!

Kesimpulan

Dalam artikel ini, kami menjelaskan alat yang memungkinkan mengidentifikasi perencanaan terbaik untuk tim yang kembali ke kantor atau bekerja cerdas. Itu dibangun menggunakan algoritma matematika dengan mempertimbangkan kendala dan faktor yang berbeda secara bersamaan. Kami menyiapkan konfigurasi awal dan menunjukkan manfaat menggunakan algoritme semacam itu.

Perhatikan bahwa ada sejumlah perbaikan yang dapat dilakukan pada algoritme, yang pada akhirnya bergantung pada persyaratan dan kebutuhan pribadi. Misalnya, kita mungkin ingin kehadiran karyawan atau tim lebih seragam selama periode yang direncanakan, atau beberapa karyawan tidak didorong untuk kembali pada hari-hari berturut-turut.

Namun demikian, penggunaan alat semacam itu bisa sangat ampuh dalam menghemat waktu dan sumber daya bagi manajer yang perlu merencanakan kembali ke kantor atau hari kerja cerdas untuk tim mereka.

Semoga Anda menikmati posting ini, jangan ragu untuk berkomentar dan memberikan jempol!
Tetap emas!

Manajer, gunakan ini untuk merencanakan hari kerja cerdas untuk tim Anda! awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI