در این مطلب، ویدئو برنامه نویسی خطی در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:18:30
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,009
مسائل بهینهسازی
2
00:00:02,009 –> 00:00:05,279
هدف خطی دارند و معادلات خطی در
3
00:00:05,279 –> 00:00:07,529
تمام بخشهای ریاضیات و علوم تجاری مهندسی
4
00:00:07,529 –> 00:00:10,830
و بهویژه علم داده
5
00:00:10,830 –> 00:00:12,420
و یادگیری ماشین هستند، بنابراین ما
6
00:00:12,420 –> 00:00:15,780
یک راهاندازی برنامهنویسی خطی را پوشش میدهیم و
7
00:00:15,780 –> 00:00:19,470
آن را در پایتون با Python gecko
8
00:00:19,470 –> 00:00:21,990
و همچنین Sai PI حل میکنیم. همچنین
9
00:00:21,990 –> 00:00:24,600
بسته های خوب دیگری برای
10
00:00:24,600 –> 00:00:26,779
برنامه نویسی خطی و همچنین مانند پالپ و
11
00:00:26,779 –> 00:00:30,000
موارد دیگر در پایتون وجود دارد، بنابراین اگر می خواهید
12
00:00:30,000 –> 00:00:31,769
همراه با کد منبع آن را دنبال کنید
13
00:00:31,769 –> 00:00:35,370
، لینک آن وجود دارد و این
14
00:00:35,370 –> 00:00:38,760
صفحه وب را نشان می دهد که این اطلاعات را نشان می دهد و
15
00:00:38,760 –> 00:00:41,640
می توانید کد منبع و
16
00:00:41,640 –> 00:00:45,539
اطلاعات دیگر خوب است، بنابراین ما یک مشکل برنامه نویسی خطی داریم در
17
00:00:45,539 –> 00:00:46,940
اینجا یک
18
00:00:46,940 –> 00:00:49,559
عبارت ریاضی وجود دارد که اجازه دهید
19
00:00:49,559 –> 00:00:53,460
این را مرور کنم، ما می توانیم مقدار معینی را کمینه یا
20
00:00:53,460 –> 00:00:55,530
حداکثر کنیم، این
21
00:00:55,530 –> 00:00:59,039
یک ماتریس C خواهد بود.
22
00:00:59,039 –> 00:01:01,500
جایی که من باید C
23
00:01:01,500 –> 00:01:10,590
1 C 2 و C 3 و غیره داشته باشم و سپس
24
00:01:10,590 –> 00:01:13,470
مقادیر X خود را خواهم داشت بنابراین
25
00:01:13,470 –> 00:01:20,159
X 1 X 2 X 3 خواهم داشت یا می توانید
26
00:01:20,159 –> 00:01:25,020
با پایتون C 0 C 1 0 شاخص داشته باشید. C 2 X 0 X 1 X 2 X 2 بسیار
27
00:01:25,020 –> 00:01:28,500
خوب و پس از آن، ما موضوع را داریم که اینها
28
00:01:28,500 –> 00:01:32,040
محدودیتهای برابری ما خواهند بود
29
00:01:32,040 –> 00:01:34,979
و سپس محدودیتهای نابرابری ما
30
00:01:34,979 –> 00:01:39,509
و ماتریسهای a و B احتمالاً
31
00:01:39,509 –> 00:01:42,030
بین این دو تفاوت دارند، گاهی
32
00:01:42,030 –> 00:01:44,490
اوقات فقط محدودیتهای نابرابری یا
33
00:01:44,490 –> 00:01:47,420
برابری داریم یا گاهی اوقات هر
34
00:01:47,420 –> 00:01:50,399
دو را داریم. بسیاری از روشهای مختلف برای حل
35
00:01:50,399 –> 00:01:53,220
اینها میدانیم که برای
36
00:01:53,220 –> 00:01:55,530
مسائل برنامهریزی خطی
37
00:01:55,530 –> 00:02:00,000
همیشه در تقاطع محدودیتها
38
00:02:00,000 –> 00:02:03,780
قرار میگیریم، بنابراین فرض کنید باید در این سمت
39
00:02:03,780 –> 00:02:06,110
از محدودیتها باشیم،
40
00:02:06,110 –> 00:02:08,639
نابرابریهایی داریم که ما را به
41
00:02:08,639 –> 00:02:11,068
وسط سوق میدهند. ما می دانیم که راه حل
42
00:02:11,068 –> 00:02:11,490
قرار
43
00:02:11,490 –> 00:02:14,730
است تقاطع یکی از این
44
00:02:14,730 –> 00:02:17,010
روش ها باشد، بنابراین روش سیمپلکس فقط بازدید از
45
00:02:17,010 –> 00:02:20,130
تمام رئوس به روشی هوشمند
46
00:02:20,130 –> 00:02:22,800
برای یافتن راه حل بهینه یا
47
00:02:22,800 –> 00:02:27,540
روش های نقطه ردیف صحنه آنهاست و همچنین اجازه
48
00:02:27,540 –> 00:02:30,060
دهید در اینجا به یک مسئله ساده بپردازیم. ما میخواهیم
49
00:02:30,060 –> 00:02:31,680
آن را تنظیم کنیم و در پایتون آن را حل
50
00:02:31,680 –> 00:02:35,780
کنیم، دو عنصر a و B داریم
51
00:02:35,780 –> 00:02:39,860
که میتوانند محصولاتی را تولید کنند و دو
52
00:02:39,860 –> 00:02:43,500
منبع موجود a 30 و
53
00:02:43,500 –> 00:02:45,690
s موجود است. میزان مصرف B 44
54
00:02:45,690 –> 00:02:49,080
است برای تولید محصول یک سه واحد a و هشت
55
00:02:49,080 –> 00:02:51,660
واحد B و
56
00:02:51,660 –> 00:02:54,540
سپس شش سال a و چهار واحد B
57
00:02:54,540 –> 00:02:57,740
برای تولید محصول طول می کشد تا حداکثر
58
00:02:57,740 –> 00:03:00,990
پنج واحد محصول یک و چهار
59
00:03:00,990 –> 00:03:04,290
واحد محصول برای آن تولید شود. ما می توانیم بسازیم و
60
00:03:04,290 –> 00:03:07,320
یک محصول را می توان به ازای 100 فروخت محصول
61
00:03:07,320 –> 00:03:09,690
دوم را می توان به قیمت 125 فروخت، بنابراین
62
00:03:09,690 –> 00:03:12,300
هدف ارزشمندتر در اینجا این است
63
00:03:12,300 –> 00:03:14,640
که سود را برای این مشکل تولید به حداکثر برسانیم،
64
00:03:14,640 –> 00:03:17,340
بنابراین بیایید به طرح Contra نگاه کنیم و
65
00:03:17,340 –> 00:03:21,690
به برخی از این سؤالات پاسخ
66
00:03:21,690 –> 00:03:25,200
دهیم. طرح تمام راه حل
67
00:03:25,200 –> 00:03:28,950
هایی که ما داریم اول از همه می دانید که ما
68
00:03:28,950 –> 00:03:32,070
باید بیش از 0 بسازیم، نمی توانیم
69
00:03:32,070 –> 00:03:35,610
از هیچ یک از آن محصولات 1 منفی کنیم
70
00:03:35,610 –> 00:03:39,000
، ما محصول 1 را در اینجا داریم و محصول 2
71
00:03:39,000 –> 00:03:42,230
و سپس خطوط سبز را داریم.
72
00:03:42,230 –> 00:03:46,440
ارزشهای عینی ما هستند، بنابراین وقتی از
73
00:03:46,440 –> 00:03:49,160
هر کدام از آنها بیشتر میسازیم، میتوانیم آن را با قیمت بیشتری بفروشیم و
74
00:03:49,160 –> 00:03:52,200
شما یکی از آنها را دارید که ارزش آن بیشتر
75
00:03:52,200 –> 00:03:55,770
از دیگری
76
00:03:55,770 –> 00:04:00,990
77
00:04:00,990 –> 00:04:02,730
است. فقط به این دلیل که ما
78
00:04:02,730 –> 00:04:06,709
عرضه محدودی داریم a و B و
79
00:04:06,709 –> 00:04:10,140
همچنین مقدار محدودی که می توانیم از
80
00:04:10,140 –> 00:04:12,900
هر یک از آنها بسازیم، بنابراین فقط می توانیم 4 واحد
81
00:04:12,900 –> 00:04:19,260
از محصول 2 و 5 واحد از محصول 1
82
00:04:19,260 –> 00:04:22,680
را بسازیم تا ما را در همین کادر محدود کند
83
00:04:22,680 –> 00:04:23,570
84
00:04:23,570 –> 00:04:25,910
و حداقل و حداکثری را که می توانیم
85
00:04:25,910 –> 00:04:28,400
تولید کنیم. و همچنین محدودیتهای دیگری داریم
86
00:04:28,400 –> 00:04:30,920
که عرضه محدود
87
00:04:30,920 –> 00:04:35,600
مواد تشکیل دهنده ما است، بنابراین اولین مورد این است
88
00:04:35,600 –> 00:04:40,370
که ما کمتر یا مساوی 30
89
00:04:40,370 –> 00:04:46,490
داریم و بیشتر 30 واحد a و 44
90
00:04:46,490 –> 00:04:49,970
واحد B بود، بنابراین این محدودیت B ما
91
00:04:49,970 –> 00:04:54,230
در اینجا است. این یک محدودیت ما است
92
00:04:54,230 –> 00:04:57,530
شما فقط مقادیر محدودی از
93
00:04:57,530 –> 00:04:59,930
محصولات خام دارید که می توانند آن محصولات را تولید کنند،
94
00:04:59,930 –> 00:05:02,870
بنابراین ما در جایی
95
00:05:02,870 –> 00:05:11,060
در منطقه خواهیم بود که دقیقاً در اینجا است، بنابراین
96
00:05:11,060 –> 00:05:13,790
منظورم این است که اگر من این را سایه بزنم، این
97
00:05:13,790 –> 00:05:17,510
منطقه امکان پذیر ما خواهد بود، بنابراین هر یک از آن ها
98
00:05:17,510 –> 00:05:21,620
امتیازها به عنوان یک راه حل بالقوه کار می کنند
99
00:05:21,620 –> 00:05:24,230
که می خواهیم راه حلی را انتخاب
100
00:05:24,230 –> 00:05:28,100
کنیم که بالاترین ارزش هدف را به ما می دهد، بنابراین
101
00:05:28,100 –> 00:05:30,230
اگر نگاه کنیم می بینیم که
102
00:05:30,230 –> 00:05:33,890
دقیقاً به اینجا می رویم تا بالاترین ارزش را داشته باشیم و
103
00:05:33,890 –> 00:05:39,860
این یعنی چهار و سه واحد
104
00:05:39,860 –> 00:05:42,490
محصول یک و محصول دو r به خصوص
105
00:05:42,490 –> 00:05:44,650
خوب است و اگر بخواهیم به
106
00:05:44,650 –> 00:05:48,740
هر دلیلی سود را به حداقل برسانیم،
107
00:05:48,740 –> 00:05:51,020
می توانید ببینید که حداقل در اینجا دوباره پایین می آید،
108
00:05:51,020 –> 00:05:53,930
این موارد در
109
00:05:53,930 –> 00:05:57,590
تقاطع دو محدودیت هستند که
110
00:05:57,590 –> 00:06:00,580
برای هر مشکل برنامه ریزی خطی وجود دارد و
111
00:06:00,580 –> 00:06:04,010
اجازه دهید این را تنظیم کنیم و آن را در پایتون حل کنید،
112
00:06:04,010 –> 00:06:08,810
هرچند خوب است، بنابراین در پایتون ما داریم،
113
00:06:08,810 –> 00:06:15,590
اجازه دهید من با مارمولک وارداتی
114
00:06:15,590 –> 00:06:18,980
gecko شروع کنم و اولین محصول خود را داشته باشم
115
00:06:18,980 –> 00:06:21,680
که محصول یک ثانیه است که محصول
116
00:06:21,680 –> 00:06:24,170
دو است و سپس تابع حداکثر کردن را داشته باشم
117
00:06:24,170 –> 00:06:27,740
و سپس واحدهای a من
118
00:06:27,740 –> 00:06:29,540
یک محدودیت نابرابری برای نگه داشتن آن
119
00:06:29,540 –> 00:06:33,530
زیر 30 و سپس 44 دارم، بنابراین من یک
120
00:06:33,530 –> 00:06:35,160
کران پایینی از 0
121
00:06:35,160 –> 00:06:37,980
محصول 1 خواهم داشت، یک کران بالای پنج
122
00:06:37,980 –> 00:06:40,770
کران پایینی صفر برای محصول به یک
123
00:06:40,770 –> 00:06:42,960
کران بالای چهار اکنون می خواهم
124
00:06:42,960 –> 00:06:46,950
آنچه را که از تولید به دست میآورم را به حداکثر برسانم، بنابراین
125
00:06:46,950 –> 00:06:49,280
x1 تولید 1 باشد.
126
00:06:49,280 –> 00:06:52,380
127
00:06:52,380 –> 00:06:55,770
128
00:06:55,770 –> 00:07:00,240
129
00:07:00,240 –> 00:07:04,140
6 برای ساخت محصول –
130
00:07:04,140 –> 00:07:06,660
شش واحد طول می کشد یک روز و بنابراین این
131
00:07:06,660 –> 00:07:09,300
مقدار کمتر یا مساوی 30 خواهد بود،
132
00:07:09,300 –> 00:07:11,250
بنابراین بسته به کاری که برای محصول 1
133
00:07:11,250 –> 00:07:14,610
و 2 انجام میدهم، مقدار بیشتری از یک محصول مصرف خواهم کرد
134
00:07:14,610 –> 00:07:16,230
– و این محصول با ارزشتری
135
00:07:16,230 –> 00:07:18,660
است که من فقط 30 عدد دارم، بنابراین دارم
136
00:07:18,660 –> 00:07:20,370
با در نظر گرفتن اینکه از نظر تعداد
137
00:07:20,370 –> 00:07:25,980
انتخابی من 8 واحد B برای ایجاد
138
00:07:25,980 –> 00:07:29,250
محصول 1 و 4 واحد B برای ایجاد
139
00:07:29,250 –> 00:07:32,010
محصول 2 دارم که کمتر
140
00:07:32,010 –> 00:07:36,000
یا مساوی 44 خواهد بود، سپس آن را حل
141
00:07:36,000 –> 00:07:38,520
می کنم و من قرار دادن ریموت مساوی نادرست است که
142
00:07:38,520 –> 00:07:41,790
آن را به صورت محلی حل می کند و اگر نمایشگر را
143
00:07:41,790 –> 00:07:43,440
مساوی خطاهایی قرار دهم که خروجی حل کننده را نشان نمی دهد،
144
00:07:43,440 –> 00:07:45,600
145
00:07:45,600 –> 00:07:48,390
کمی بیشتر تراکم می کند، خوب است و من می توانم انتخاب
146
00:07:48,390 –> 00:07:50,790
کنم که محصول 1 در اینجا نمایش داده شود، من
147
00:07:50,790 –> 00:07:54,030
از X 1 استفاده خواهم کرد. مقدار نقطه 0 و سپس
148
00:07:54,030 –> 00:07:57,360
این محصول 2 خواهد بود و سپس
149
00:07:57,360 –> 00:08:00,450
محصول یک محصول 2 و
150
00:08:00,450 –> 00:08:05,100
سودی که آنها اینها را به عنوان رشته قرار می دهند را چاپ می
151
00:08:05,100 –> 00:08:08,610
کنم و سپس در حال حاضر سود را وارد می
152
00:08:08,610 –> 00:08:11,190
کنم این محصول آماده اجرا است و سپس
153
00:08:11,190 –> 00:08:13,410
ما چند مورد دیگر را نیز با
154
00:08:13,410 –> 00:08:16,830
PI جانبی حل خواهم کرد و این کار را با ماتریس ها
155
00:08:16,830 –> 00:08:21,930
نیز انجام خواهم داد، بنابراین اگر به اینجا بیایم به این برنامه
156
00:08:21,930 –> 00:08:24,419
و من آن را اجرا می کنم شما می توانید آن را در هر محیط پایتون اجرا کنید،
157
00:08:24,419 –> 00:08:26,760
یک بار که gecko را نصب کردید،
158
00:08:26,760 –> 00:08:30,930
اگر pip install gecko و قرار است
159
00:08:30,930 –> 00:08:34,909
آن را اجرا کند و سود من
160
00:08:34,909 –> 00:08:39,780
775 است و من می گویم از محصول 2 و
161
00:08:39,780 –> 00:08:43,169
4 محصول 1 را می سازم که ما نیز در
162
00:08:43,169 –> 00:08:44,200
163
00:08:44,200 –> 00:08:48,360
حال حاضر اشکالی ندارد
164
00:08:48,360 –> 00:08:51,520
که مسائلی را بنویسید که فقط
165
00:08:51,520 –> 00:08:53,500
چند معادله یا چند متغیر را
166
00:08:53,500 –> 00:08:55,750
میدانید، میتوانید آنها را همانطور که نشان دادیم بنویسید،
167
00:08:55,750 –> 00:08:58,510
اما وقتی مشکلی در مقیاس بزرگ
168
00:08:58,510 –> 00:09:00,820
دارید ممکن است بخواهید آن را به صورت ماتریس بیان کنید.
169
00:09:00,820 –> 00:09:04,870
و بنابراین با SCI PI ما قصد داریم برنامهنوی