Mantık yardımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
onur2x
Üye
Mesajlar: 16
Kayıt: 29 Şub 2016 12:20

Mantık yardımı

Mesaj gönderen onur2x » 13 Oca 2018 11:40

Şöyle bir sorunum var. Bir çizelge programı yapmaya çalışıyorum.
Bir iş yeri var 100 küsür çalışan var bunlar 3 varsiya çalışıyor.
haftaiçi
sabah 1 2 3 4 5 6 7 8 9 10 11
n sabah 21 22 23 24 25 26 27 28 29
akşam 51 52 53 54 55 56 57 58 59 60 61
n akşam 70 71 72 73 74 75 76 77 78 79

Cumartesi
sabah 101 102 103 104 105 106 107 108 109 110 111
n sabah 121 122 123 124 125 126 127 128 129
akşam 151 152 153 154 155 156 157 158 159 160 161
n akşam 170 171 172 173 174 175 176 177 178 179

pazar
sabah 201 202 203 204 205 206 207 208 209 210 211
n sabah 221 222 223 224 225 226 227 228 229
akşam 251 252 253 254 255 256 257 258 259 260 261
n akşam 270 271 272 273 274 275 276 277 278 279

Bu numaralar güne göre çalışan personele verilecek. bir numara tek günde 2 defa olmayacak.
Akşam çalışanlar belli akşamdan sabaha dönüş olmayacak.
ve art arda 2 gün aynı numara çalışılmayacak. Örn. 1 nci gün 51 se ikinci gün 52 olacak... 61 den sonra tekrar 51 e dönecek sırayla gidecek.
4 gün akşam 2 gün izin 4 gün sabah çalışacak..
bir yıllık çizelge oluşturmam gerekiyor. Her ay geçişinde de numara sırasıyla devam edecek son kaldığı numara 51 se 52 diye devam edecek.

Bu konuyla alakalı bir mantık karmaşası yaşıyorum işin içinden farklı yollarla çıkmaya çalıştım ama tam başarılı oldum sayılmaz konuyla alakalı bir yol izlememe yardımcı olabilecek arkadaşlara tşk ediyorum.

ertank
Üye
Mesajlar: 1032
Kayıt: 11 Eyl 2015 11:45

Re: Mantık yardımı

Mesaj gönderen ertank » 13 Oca 2018 03:19

Merhaba,

Sorunuzu anlayamadım.

1) Numaralar neyi ifade ediyor ve neden tekrar etmemesi gerekli?
2) "sabah" ne demek?, "n sabah" ne demek? akşam ne demek? "n akşam" ne demek? Neden her birisi için farklı adette rakam yazılı?
3) Neden haftaiçi, cumartesi ve pazar şeklinde 3 ayrı bölüm yazdınız ve bunların içindeki rakam adedi tamamen aynı sadece numaraları farklı?
4) Yukarıdaki soru ile bağlantılı olarak: Neden "51 den başlayıp 61'e gitmek ve sonra tekrar 51'e dönmek" gerekiyor? Ya da başka bir ifade ile neden sadece 11 rakam kullanılmalı? Diğer 9 ve 10 rakam kullanılan "n sabah" ve "n akşam" için durum ne olacak?
5) "Akşamdan sabaha dönüş olmayacak" ifadeniz şu anlama mı geliyor? Akşam vardiyasında çalışan sürekli akşam vardiyasında kalacak. Aksi takdirde "vardiya dönüşümü" denilen gece çalışan personel bir hafta sonra (veya bir ay sonra) sabah vardiyasına geçmesi konusu sizde yok mu? Nitekim sorunuzun içinde "4 gün gece 2 gün izin ve 4 gün sabah çalışılacak" ifadeniz ile tamamen çelişiyor gibi...
6) Sizin ifadenize göre bayram ve resmi tatil günlerinde çalışma olacak şeklinde anlaşılıyor. Çalışanlar hiç yıllık izin kullanmayacak mı?
7) Excel gibi bir ortamda 2-4 kişi veya bir grup için bir veya iki aylık sınırlı bir süreyi içeren örnek bir çalışma yaptınız mı? Bu çalışmayı paylaşmanız mümkün mü?

Ben vardiya ifadesini aynı gün içinde aynı işi yapan kaç farklı kişi çalışacak şeklinde anlıyorum. Misal bir üretim makinası 24 saat çalışır ve makinayı 3 vardiya sistemine göre 24 saat içinde 3 farklı operatör 8'er saatlik çalışma süreleri ile kullanır. Ancak siz sabah dediğiniz ilk vardiya için 11'e kadar numara yazmışsınız. "n sabah" için 9 numara yazmışsınız. Ardından Akşam için de 11 numara yazmışsınız. ve "n akşam" için 10 numara yazmışsınız.

Eğer bir rakam bir saat anlamına geliyor ise sabah 11 + akşam 11 = 22 saat her ikisinde de 1 saat yemek molası ile 24 saat tamamlanıyor. Bu durumda aradaki "n" olan ifadeler nedir? Eğer onlar da vardiya ise siz kendi çalışma şeklinize uygun (cafe olabilir mesela) 4 vardiyalık bir çalışma planı hazırlamaya çalışıyorsunuz diye anlıyorum.

Yukarıdaki soru ve açıklamalara istinaden konuyu hiç bilmeyenlerin de anlayacağı şekilde sorunuzu yeniden düzenlemeniz mümkün mü?

onur2x
Üye
Mesajlar: 16
Kayıt: 29 Şub 2016 12:20

Re: Mantık yardımı

Mesaj gönderen onur2x » 13 Oca 2018 04:56

1) Numaralar bir görev ifade ediyor her numaranın bir görevi var 1,2,3 diye ben salladım bu 2-4-6 gibi de gidebilir. Görev numarası olduğu için bugun 1 nolu gorevi yapan yarın 2 nolu gorevi yapar o yuzden tekrarlaması gerekiyor?
2) "sabah", "n sabah" , akşam "n akşam" bunların her bir görev numaraların kategorisi.
3) haftaiçi, cumartesi ve pazar günü de görevlerde değişiklik olabilir saat bazında onlar ayrı numara olması gerekli o yuzden ayrım olsun diye 101-102 diye yazdım.
4) Numaralar sırasıyla devam etmeli örnek 51 den başlayıp 61'e gitmek ve akşam numaraları için 61 den sonra tekrar akşam çalıştığında sırayla gideceği için en baştaki numaraya dönecek. Numara sayıları göreceli 20 de olur 10 da.
5) Akşamdan sabaha dönüş olmayacak ifadesinde 4-2 sistemi çalışılacak Örn. 4 gün akşam 2 gün izin 4 gün sabah 2 gün izin 4 gün akşam ... Mesela 3 gün akşam çalışıp 4 ncü gün sabah olmayacak gibi.
6) Bayram yok çalışma var ve izin alan personel için manuel elle giriş yapılacak
7)

Gün 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 vardiya A A A A İ İ S S S S İ İ A A A A .............
2 vardiya İ İ S S S S İ İ A A A A İ İ S S S S .....
3 vardiya S S İ İ A A A A İ İ S S S S....

tarzinda
A:akşam
S:sabah
İ:izin

Çalışma sistemi bu şekilde.. çalışmalar numara saati ile belirlenecek 10 saat 11 saat tarzinda olanlar var numaraları tam belli değil şuan yani onu sonradan belirlenecek

mkysoft
Kıdemli Üye
Mesajlar: 2850
Kayıt: 25 Ağu 2003 11:35
Konum: İstanbul
İletişim:

Re: Mantık yardımı

Mesaj gönderen mkysoft » 13 Oca 2018 10:04

Uğraştınığız problem atama problemi olarak geçer, bu konuda bir çok makale bulabilirsiniz. Uzun vadede işçilerin eşit şekilde görevlendirilmesini de katmak isterseniz buda fairness olarak literatürde geçer.
Paylaştığım kavramlar size uzak geldiyse, üniversitelerin endüstri mühendeslikleri ile temasa geçip destek alabilirsiniz. Bir yüksek lisans / doktora öğrencisi ile çalışarak daha hızlı yol alabilirsiniz.

onur2x
Üye
Mesajlar: 16
Kayıt: 29 Şub 2016 12:20

Re: Mantık yardımı

Mesaj gönderen onur2x » 16 Oca 2018 02:27

Tşkler

Cevapla