אתגר לוגי/מתימטי/תיכנותי - חישוב חבילת התשלום הכי זולה ברב-קו
-
מה נשמע אנשים
למי שלא מכיר אני יקדים ויתאר את הקייס:
משרד התחבורה עשה פיצ'ר שמאפשר לשלם באוטובוס באמצעות סמרטפון. זה עובד ככה שסורקים QR שנמצא באוטובוס וזה מוסיף את הנסיעה לתוך החשבון שלך (חשבון במשרד התחבורה, שאתה נרשם וזה ייעודי לנושא הזה)
הפוינט הוא כזה. התשלום לא מרובע כמו שיש עכשיו שמשלמים על נסיעה כשעולים עליה, אלא - בסוף חודש אתה צריך לשלם, על כל הנסיעות של החודש האחרון, ומה שקורה אז זה שמנגנון מסוים עורך חישוב של כל הנסיעות שלך, והוא עושה שם את כל האפשרויות שאפשר לשלב כל מיני חוזי נסיעה שיוזילו את עלויות הנסיעה - כגון חופשי יומי-שבועי-חודשי, כרטיסי הלוך-חזור, נסיעות מעבר.
ואחרי כל החישובים האלה הוא יוצר לך סכום סופי שבפועל יוצא זול הרבה יותר (כנראה) מאשר אם היה משלם בראש מרובע בדיוק על הנסיעות שעשית.אוקיי הפיצ'ר הזה מגניב וכו'ו וכו' מה שאני חשבתי זה - איך עושים כזה דבר?
השאלה שלי היא בעיקר סתם מסקרנות, אבל יכול להיות לזה גם השלכה מעשית. כי אפשר לבנות מנגנון כזה למי שאין סמרטפון (כמוני) שיהיה אפשר לחשב שם את הצורה הנכונה ביותר של חוזי נסיעה לקנות לפני שמתחילים חודש.
השאלה היא אם יש כאן משהו מתימטי - אולי יש כאן נוסחה גאונית שעם שימוש בה יתייתר כל מיני לוגיקות מסובכות יותר שאדם שלא יודע מתימטיקה (כמוני חרדי..) היה מנסה לעשות בתיכנות 'רגיל'.
אשמח לשמוע חוות דעתם המחוכמה של חברי הפורום דכאן. מה אתם חושבים? איך צריך לעשות את זה?
מי יודע, אולי באמת ייצא מזה משהו, איזה פרויקט אופן-סורס חמוד לחרדים..
אני יפרט כאן פרטים טכניים שאני זוכר כרגע, שיכולים להיכלל בחישוב. למי שיש עוד דברים ששכחתי - שיגיד ואני גם יכניס את זה כאן.
-
החופשי לסוגיו (חודשי-שבועי-יומי)
-
נסיעות-מַעַבָר
בשני הנ"ל יש שני פנים של הוזלה -
- time-based (תקופת החוזה)
- area-based (אזורים שכלולים בחוזה)
-
הלוך-חזור (ברכבת או אילת וכד'ו)
תיעודים
יש בטח הרבה מראי מקומות למצוא בגוגל, אני יכול לצרף שניים
- הסבר של מוביט על חלקים של הפיצ'ר אצלם (זה כנראה הולך להיות שונה בין ספקים)
- במסמך הזה של משרד התחבורה בסוף סעיף 3.1 מוזכר השיטה החדשה (מסמך מעניין מאוד גם בלי קשר)
-
-
@chv באופן כללי זה נשמע לי כמו יישום של אלגוריתם למציאת המסלול הקצר ביותר.
כעין החישוב שמבוצע בווייז למציאת המסלול הקצר \ המהיר ביותר.
הרעיון הוא לייצג את כל האפשרויות על ידי גרף עם משקולות = לכל קשת בגרף יש משקל (אורך, זמן או במקרה שלך - מחיר) ואז להריץ על הגרף את האלגוריתם הנ"ל, כדי למצוא את המסלול עם המשקל הקטן ביותר.
תוכל לראות במכלול דוגמא לאלגוריתם המפורסם של דייקסטרה למציאת המסלול הקצר ביותר.