Pada saat ini, sudah banyak berdiri perusahaan-perusahaan yang bergerak dibidang garment
(pakaian). Semua perusahaan pasti menginginkan keuntungan sebanyak-banyaknya dengan cara
mengefisiensikan sumber daya produksi yang dimiliki terhadap batasan-batasan produksi yang ditemukan pada suatu masalah. Kebanyakan masalah ini dapat dilihat pada persoalan pemilihan pola apa saja yang dihasilkan dari proses pemotongan sebuah bahan dengan keterbatasan ukuran, sehingga didapatkan keuntungan maksimum dari bahan-bahan yang sudah dipotong tersebut tanpa adanya pemborosan bahan. Pemotongan bahan yang dilakukan menjadi beberapa bagian untuk diproses lebih lanjut ini dikenal sebagai cutting-stock problem. Optimasi cutting-stock problem dapat diaplikasikan untuk beberapa material tertentu, seperti kertas, kaca, kayu, kain, plastik, dan bahan lainnya. Pada kasus ini, optimasi cutting-stock problem akan diterapkan secara khusus untuk material kain. Permasalahan dalam cutting-stock problem dapat diselesaikan dengan metode algoritma genetika yang diimplementasikan ke dalam sistem informasi. Algoritma genetika merupakan algoritma yang terinspirasi dari teori Darwin tentang evolusi atau dinamakan Survival of The Fittest. Dimana dalam alam terdapat kompetisi antara individual untuk sumber daya yang sedikit menghasilkan individual yang kuat mendominasi individual yang lemah. Dibandingkan dengan pencarian secara probabilistik, algoritma genetika melakukan random search di area yang mempunyai performansi bagus dalam tempat pencarian. Tahapan umum dari algoritma genetika meliputi inisialisasi, seleksi orang tua, crossover, mutasi, dan terminasi. Inisialisasi merupakan sebuah metode yang dibutuhkan untuk mengubah solusi ke dalam suatu bentuk dimana komputer dapat memprosesnya. Dalam algoritma genetika ada 3 macam representasi kedalam bentuk biner, integer, dan real. Seleksi orang tua merupakan operator pertama yang dilakukan pada populasi. Dalam seleksi ini, masing-masing individu dihitung nilai fitnessnya dengan fungsi fitness. Fitness merupakan sebuah fungsi solusi yang dapat menghitung kualitas dari masing-masing individu sehingga peringkat individu dapat diperoleh. Dan selanjutnya berdasarkan nilai yang didapat dari fungsi fitness tersebut dilakukanlah salah satu dari metode seleksi orang tua. Crossover adalah operator genetika yang menggabungkan 2 kromosom individu untuk menghasilkan individu baru yang bertujuan agar individu tersebut memiliki nilai fitness atau kualitas yang lebih bagus dibandingkan orang tuanya. Setelah crossover dilakukan, langkah selanjutnya adalah mutasi. Mutasi merupakan operator genetika yang digunakan untuk mengubah satu atau beberapa gen kedalam suatu individu. Mutasi ini bertujuan untuk menjaga keragaman individu sehingga mendapat kemungkinan nilai fitness individu tersebut lebih baik. Terminasi adalah suatu kondisi yang dapat menterminasi looping dari algoritma genetika ketika nilai fitness sudah tercapai atau melewati batas. Tanpa terminasi proses dari seleksi, crossover dan mutasi akan terus terjadi tanpa berhenti.