Βίντεο: Statistical Programming with R by Connor Harris 2024
Ένα πολύ μεγάλο σώμα μαθηματικών αποσκοπεί στην επίλυση προβλημάτων βελτιστοποίησης κάθε είδους. Στο R, η λειτουργία optimize () παρέχει ένα αρκετά απλό μηχανισμό για τη βελτιστοποίηση των λειτουργιών.
Φανταστείτε ότι είστε ο διευθυντής πωλήσεων μιας εταιρείας και πρέπει να ρυθμίσετε την καλύτερη τιμή για το προϊόν σας. Με άλλα λόγια, βρείτε την τιμή ενός προϊόντος που μεγιστοποιεί τα έσοδα.
Στα οικονομικά, ένα απλό μοντέλο τιμολόγησης δηλώνει ότι οι άνθρωποι αγοράζουν λιγότερο από ένα δεδομένο προϊόν όταν η τιμή αυξάνεται. Εδώ είναι μια πολύ απλή λειτουργία που έχει αυτή τη συμπεριφορά:
πωλήσεις <- λειτουργία (τιμή) {100 - 0. 5 * τιμή}(τιμή) {τιμή * πωλήσεις (τιμή)}
Μπορείτε να χρησιμοποιήσετε τη λειτουργία καμπύλης () για να σχεδιάσετε συνεχείς λειτουργίες. Αυτό παίρνει μια συνάρτηση ως είσοδο και παράγει μια γραφική παράσταση. Προσπαθήστε να σχεδιάσετε τη συμπεριφορά των πωλήσεων και των εσόδων χρησιμοποιώντας τη λειτουργία καμπύλης (), με διαφορετική τιμή από $ 50 έως $ 150:
>> par (mfrow = c (1, 2))> καμπύλη (πωλήσεις, από = 50, έως = 150, xname = "τιμή", ylab = ")>> καμπύλη (έσοδα από = 50 έως 150, xname =" τιμή ", ylab =" έσοδα ", main =" έσοδα ")> ένα λειτουργικό μοντέλο πωλήσεων και εσόδων. Μπορείτε να δείτε αμέσως ότι υπάρχει ένα σημείο μέγιστων εσόδων. Στη συνέχεια, χρησιμοποιήστε τη λειτουργία R optimize () για να βρείτε την τιμή αυτού του μέγιστου.
> βελτιστοποίηση (έσοδα, διάστημα = c (50, 150), maximum = TRUE) [1] 100 $ στόχος [1] 5000Και εκεί πηγαίνετε. Φορτίστε μια τιμή $ 100 και περιμένετε να λάβετε εισοδήματα ύψους $ 5,000.
Η βελτιστοποίηση της λειτουργίας R () χρησιμοποιεί συνδυασμό αναζήτησης χρυσού τμήματος και διαδοχική παραβολική παρεμβολή. Ευτυχώς, ένας μεγάλος αριθμός πακέτων παρέχει διάφορους διαφορετικούς αλγορίθμους για την επίλυση προβλημάτων βελτιστοποίησης. Στην πραγματικότητα, υπάρχει μια ειδική εργασία στο CRAN για βελτιστοποίηση και μαθηματικό προγραμματισμό.