در این مطلب، ویدئو حل مسئله برنامه نویسی خطی (LPP) در پایتون | بهینه سازی | تحقیق در عملیات P.1 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:17:37
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,320 –> 00:00:02,080
سلام، آنچه در این ویدئو به شما نشان خواهم داد این
2
00:00:02,080 –> 00:00:04,480
است که چگونه بیایید
3
00:00:04,480 –> 00:00:06,640
بفهمیم برنامه نویسی خطی چیست،
4
00:00:06,640 –> 00:00:08,160
اگر از قبل با
5
00:00:08,160 –> 00:00:10,480
برنامه نویسی خطی آشنا هستید، احتمالاً
6
00:00:10,480 –> 00:00:12,960
می دانید که چیست و چگونه می توانید
7
00:00:12,960 –> 00:00:15,120
با استفاده از برنامه ریزی خطی مسائل را حل کنید،
8
00:00:15,120 –> 00:00:17,119
اما اگر نمی دانید آشنا شدیداً
9
00:00:17,119 –> 00:00:19,920
به شما توصیه می کنم اول تئوری را بخوانید
10
00:00:19,920 –> 00:00:22,960
حوزه هایی مانند مالی مهندسی و
11
00:00:22,960 –> 00:00:24,560
علوم کامپیوتر از همه انواع
12
00:00:24,560 –> 00:00:28,400
حوزه های مهندسی استفاده زیادی می
13
00:00:28,400 –> 00:00:31,599
شود بنابراین بیشتر در مورد بهینه سازی است
14
00:00:31,599 –> 00:00:34,079
خوب بهینه سازی
15
00:00:34,079 –> 00:00:35,920
توابع uh اما در اینجا در این مورد
16
00:00:35,920 –> 00:00:38,320
ما فقط در مورد توابع خطی صحبت
17
00:00:38,320 –> 00:00:41,200
می کنیم همچنین
18
00:00:41,200 –> 00:00:44,719
میتوانیم بخواهیم تابع غیرخطی را بهینه کنیم، اما
19
00:00:44,719 –> 00:00:46,559
در سخنرانی بعدی خواهیم دید
20
00:00:46,559 –> 00:00:49,280
که چگونه میتوانیم این کار را انجام دهیم، اما
21
00:00:49,280 –> 00:00:50,719
برنامهنویسی خطی تماماً در مورد
22
00:00:50,719 –> 00:00:54,399
بهینهسازی توابع خطی است،
23
00:00:54,800 –> 00:00:57,039
ما یک مثال میزنیم، بنابراین در اینجا
24
00:00:57,039 –> 00:01:00,480
این مثال است که میخواهیم این را به حداکثر برسانیم.
25
00:01:00,480 –> 00:01:01,840
تابع
26
00:01:01,840 –> 00:01:03,840
2x بعلاوه
27
00:01:03,840 –> 00:01:06,400
y تابع مجموعه ای از قیدها است، بنابراین
28
00:01:06,400 –> 00:01:08,960
ما سه قید نابرابری داریم که
29
00:01:08,960 –> 00:01:10,159
یکی
30
00:01:10,159 –> 00:01:12,320
2y است به علاوه x باید کمتر از برابر
31
00:01:12,320 –> 00:01:15,520
22 باشد. قید دوم
32
00:01:15,520 –> 00:01:18,720
منفی 5y بعلاوه 4x باید کمتر از
33
00:01:18,720 –> 00:01:21,360
15 باشد. و محدودیت سوم
34
00:01:21,360 –> 00:01:23,280
35
00:01:23,280 –> 00:01:26,000
منفی y به اضافه 4x باید کمتر از
36
00:01:26,000 –> 00:01:28,640
12 باشد، بنابراین محدودیت سوم است
37
00:01:28,640 –> 00:01:31,040
و آخرین مورد در واقع قید
38
00:01:31,040 –> 00:01:32,560
نابرابری نیست، بلکه محدودیت برابری
39
00:01:32,560 –> 00:01:35,759
است که منفی y به اضافه 4x
40
00:01:35,759 –> 00:01:39,360
باید باشد. برابر 16 باشد.
41
00:01:39,360 –> 00:01:41,200
42
00:01:41,200 –> 00:01:43,840
و دو قید بیشتر هر دو x و y
43
00:01:43,840 –> 00:01:45,759
باید مثبت باشند.
44
00:01:45,759 –> 00:01:47,759
45
00:01:47,759 –> 00:01:51,360
46
00:01:51,360 –> 00:01:53,680
47
00:01:53,680 –> 00:01:56,640
48
00:01:56,640 –> 00:01:58,560
49
00:01:58,560 –> 00:01:59,759
50
00:01:59,759 –> 00:02:01,759
51
00:02:01,759 –> 00:02:03,439
می خواهید
52
00:02:03,439 –> 00:02:05,280
53
00:02:05,280 –> 00:02:07,520
x را حداکثر کنید
54
00:02:07,520 –> 00:02:08,800
j
55
00:02:08,800 –> 00:02:09,758
um را
56
00:02:09,758 –> 00:02:11,280
به گونه ای که
57
00:02:11,280 –> 00:02:14,480
بدانید این محدودیت ها um برآورده می شوند
58
00:02:14,480 –> 00:02:17,360
و در عین حال مقدار تابع
59
00:02:17,360 –> 00:02:19,520
حداکثر
60
00:02:19,520 –> 00:02:20,800
مجاز است
61
00:02:20,800 –> 00:02:23,280
62
00:02:23,280 –> 00:02:25,120
بنابراین x و y
63
00:02:25,120 –> 00:02:27,360
متغیرهای تصمیم هستند
64
00:02:27,360 –> 00:02:30,879
بنابراین مقادیر x و y را می خواهیم پس آن را فراخوانی می
65
00:02:30,879 –> 00:02:31,760
کنیم
66
00:02:31,760 –> 00:02:34,640
به عنوان تابع متغیر تصمیم که قرار
67
00:02:34,640 –> 00:02:37,599
است در هنگام بهینهسازی بهینه شود، میتوان آن را
68
00:02:37,599 –> 00:02:39,920
69
00:02:39,920 –> 00:02:41,519
در پایتون مینیمیم یا حداکثر کرد، در
70
00:02:41,519 –> 00:02:45,280
واقع ما فقط میتوانیم
71
00:02:46,400 –> 00:02:49,280
مینیمیم کنیم نه حداکثر، اما همیشه میتوان
72
00:02:49,280 –> 00:02:51,200
یک مسئله حداکثرسازی را به یک
73
00:02:51,200 –> 00:02:52,959
مشکل کمینهسازی تبدیل کرد. lem و یک مسئله کمینه سازی
74
00:02:52,959 –> 00:02:54,640
تا یک مسئله به حداکثر رساندن، بنابراین انجام
75
00:02:54,640 –> 00:02:57,120
آن همیشه آسان است،
76
00:02:57,120 –> 00:03:00,159
اما یک چیز را به یاد داشته باشید که
77
00:03:00,159 –> 00:03:03,680
همه مسائل lpp راه
78
00:03:03,680 –> 00:03:06,000
حل مناسبی ندارند، شما
79
00:03:06,000 –> 00:03:06,879
80
00:03:06,879 –> 00:03:08,800
یک مسئله برنامه ریزی خطی خواهید داشت که به طور خلاصه
81
00:03:08,800 –> 00:03:10,640
به عنوان lpp شناخته می شود
82
00:03:10,640 –> 00:03:11,599
که
83
00:03:11,599 –> 00:03:13,360
راه حل
84
00:03:13,360 –> 00:03:16,080
درستی ندارد و این وضعیت زمانی پیش میآید که
85
00:03:16,080 –> 00:03:19,360
میدانید نمیتوانید
86
00:03:19,360 –> 00:03:21,360
مقادیر uh را برای متغیر تصمیم خود بیابید
87
00:03:21,360 –> 00:03:22,159
که
88
00:03:22,159 –> 00:03:25,440
تمام محدودیتها را برآورده میکند،
89
00:03:25,440 –> 00:03:26,640
90
00:03:26,640 –> 00:03:28,080
همچنین ممکن است اتفاق بیفتد که
91
00:03:28,080 –> 00:03:29,680
هرگز راهحلی
92
00:03:29,680 –> 00:03:32,400
برای برخی از مشکلات نخواهید داشت،
93
00:03:32,400 –> 00:03:34,319
اما اگر
94
00:03:34,319 –> 00:03:36,480
مقادیری برای متغیر تصمیم شما وجود داشته باشد. که
95
00:03:36,480 –> 00:03:38,640
می تواند تمام محدودیت ها را برآورده کند، سپس
96
00:03:38,640 –> 00:03:40,640
می توانیم آنها را به عنوان
97
00:03:40,640 –> 00:03:42,799
راه حل برای مسئله تعیین کنیم
98
00:03:42,799 –> 00:03:46,080
چگونه آن را در پایتون حل کنیم بسیار خوب، اکنون
99
00:03:46,080 –> 00:03:48,080
این مثال را درست گرفته ایم، سعی می کنیم
100
00:03:48,080 –> 00:03:50,560
این را در پایتون حل کنیم، بنابراین سعی خواهیم
101
00:03:50,560 –> 00:03:52,319
کرد مقدار آن را پیدا کنیم. از x و y که
102
00:03:52,319 –> 00:03:54,480
g را با
103
00:03:54,480 –> 00:03:55,920
توجه به
104
00:03:55,920 –> 00:03:57,920
این سه قید نابرابری و محدودیت
105
00:03:57,920 –> 00:03:59,439
یک
106
00:03:59,439 –> 00:04:00,959
برابری حداکثر می کند و
107
00:04:00,959 –> 00:04:04,560
همچنین تضمین می کند که هر دو x 1 y
108
00:04:04,560 –> 00:04:07,680
0 یا یک عدد مثبت هستند،
109
00:04:07,680 –> 00:04:10,319
بنابراین ما th را وارد خواهیم کرد. تابع ناب
110
00:04:10,319 –> 00:04:12,959
از psi pi است
111
00:04:12,959 –> 00:04:15,599
بنابراین از sci pi dot optimize ما این تابع را وارد می کنیم
112
00:04:15,599 –> 00:04:17,120
113
00:04:17,120 –> 00:04:17,918
um
114
00:04:17,918 –> 00:04:20,720
همانطور که گفتم این Lean pro اجازه حداکثر سازی را نمی دهد
115
00:04:20,720 –> 00:04:22,800
بنابراین ما باید یک
116
00:04:22,800 –> 00:04:25,199
مشکل حداکثر سازی را به یک کمینه سازی تبدیل کنیم
117
00:04:25,199 –> 00:04:26,880
اما کاری که شما انجام می دهید آسان است این است که
118
00:04:26,880 –> 00:04:29,440
به سادگی
119
00:04:29,440 –> 00:04:31,600
علامت را تغییر دهید برای
120
00:04:31,600 –> 00:04:33,680
هر یک از متغیرها، بنابراین به جای اینکه
121
00:04:33,680 –> 00:04:37,199
z برابر با 2x به اضافه y را به حداکثر برسانیم، می خواهیم
122
00:04:37,199 –> 00:04:38,639
123
00:04:38,639 –> 00:04:40,080
منفی g را به حداقل برسانیم،
124
00:04:40,080 –> 00:04:41,360
بنابراین به سادگی
125
00:04:41,360 –> 00:04:42,960
تابع را تغییر می دهیم که می دانید
126
00:04:42,960 –> 00:04:45,520
به سادگی یک منفی را ضرب کنید تا
127
00:04:45,520 –> 00:04:49,360
اکنون منفی 2x منفی y شود.
128
00:04:49,360 –> 00:04:50,240
129
00:04:50,240 –> 00:04:52,400
این لنگر
130
00:04:52,400 –> 00:04:55,520
از تابع اجازه نمی دهد um
131
00:04:55,520 –> 00:04:57,199
بزرگتر از مساوی
132
00:04:57,199 –> 00:04:59,919
آن همیشه کمتر از مساوی
133
00:04:59,919 –> 00:05:00,960
باشد اگر بزرگتر یا مساوی با شما
134
00:05:00,960 –> 00:05:02,960
داشته باشید می توانید علامت را تغییر دهید و به
135
00:05:02,960 –> 00:05:04,639
کمتر از مساوی تبدیل کنید تا این نیز
136
00:05:04,639 –> 00:05:06,960
امکان پذیر است اما در این مورد ما این کار را انجام می دهیم
137
00:05:06,960 –> 00:05:08,880
بزرگتر از برابر با محدودیت uh نیست
138
00:05:08,880 –> 00:05:11,680
، بنابراین
139
00:05:11,680 –> 00:05:14,000
هیچ iso اوکی وجود ندارد،
140
00:05:14,000 –> 00:05:14,880
141
00:05:14,880 –> 00:05:17,680
پس ما باید
142
00:05:17,680 –> 00:05:20,240
قبل از استفاده از این تابع ورودی uh، چند متغیر را تعریف کنیم، بنابراین
143
00:05:20,240 –> 00:05:21,520
چگونه این کار را انجام می دهید،
144
00:05:21,520 –> 00:05:23,680
بنابراین ابتدا باید
145
00:05:23,680 –> 00:05:25,840
بله این uh
146
00:05:25,840 –> 00:05:27,759
one va است. riable که در
147
00:05:27,759 –> 00:05:29,840
آن ضرایب تابع هدف را قرار
148
00:05:29,840 –> 00:05:30,960
149
00:05:30,960 –> 00:05:34,160
می دهیم و تابع هدف ما
150
00:05:34,160 –> 00:05:36,880
منفی 2x منفی y درست است، بنابراین
151
00:05:36,880 –> 00:05:38,880
چه ضرایبی در اینجا منفی 2 و
152
00:05:38,880 –> 00:05:41,680
منفی 1 است، بنابراین در اینجا آن را در پرانتز قرار می دهیم
153
00:05:41,680 –> 00:05:43,360
154
00:05:43,360 –> 00:05:45,120
155
00:05:45,120 –> 00:05:46,560
ok um
156
00:05:46,560 –> 00:05:48,080
سپس
157
00:05:48,080 –> 00:05:49,919
باید دیگری را تعریف کنیم. متغیر ما
158
00:05:49,919 –> 00:05:52,880
آن را lhs می نامیم، بنابراین باید
159
00:05:52,880 –> 00:05:54,880
تمام
160
00:05:54,880 –> 00:05:55,840
161
00:05:55,840 –> 00:05:57,600
ضرایب um
162
00:05:57,600 –> 00:05:59,600
برای این
163
00:05:59,600 –> 00:06:00,800
محدودیت ها
164
00:06:00,800 –> 00:06:04,080
را در یک مجموعه از یک در یک شکل برداری
165
00:06:04,080 –> 00:06:04,960
166
00:06:04,960 –> 00:06:06,639
um قرار دهیم،
167
00:06:06,639 –> 00:06:08,720
بنابراین در اینجا شما این ضریب را
168
00:06:08,720 –> 00:06:10,880
برای مثال برای حالت اول می بینید که دو
169
00:06:10,880 –> 00:06:14,400
و یک است. فقط سمت راست lhs rhs من خواهم
170
00:06:14,400 –> 00:06:16,960
بود بعداً خواهیم دید
171
00:06:16,960 –> 00:06:18,960
در متغیر دیگری تعریف خواهیم کرد اما
172
00:06:18,960 –> 00:06:22,240
در سمت lhs فقط دو و یک برای
173
00:06:22,240 –> 00:06:23,120
174
00:06:23,120 –> 00:06:26,000
محدودیت نابرابری اول داریم برای دومی
175
00:06:26,000 –> 00:06:28,880
منفی پنج و
176
00:06:28,880 –> 00:06:30,639
برای سومی چهار داریم. یک منفی برای
177
00:06:30,639 –> 00:06:31,759
جریان
178
00:06:31,759 –> 00:06:33,039
درست است،
179
00:06:33,039 –> 00:06:35,919
بنابراین دقیقاً همان چیزی است که در اینجا داریم
180
00:06:35,919 –> 00:06:38,240
و سپس طرف rhs داریم خوب است، اما فقط
181
00:06:38,240 –> 00:06:40,960
برای نابرابری یک محدودیت برابری نیز وجود دارد،
182
00:06:40,960 –> 00:06:43,440
اما باید
183
00:06:43,440 –> 00:06:45,440
بین آنها تفاوت قائل شویم. قید نابرابری
184
00:06:45,440 –> 00:06:47,759
و قید برابری را
185
00:06:47,759 –> 00:06:49,199
به خاطر بسپارید و به یاد داشته باشید
186
00:06:49,199 –> 00:06:50,960
که وقتی در مورد ثابت نابرابری صحبت
187
00:06:50,960 –> 00:06:52,639
می کنیم باید
188
00:06:52,639 –> 00:06:54,560
کمتر از برابر ثابت نابرابری
189
00:06:54,560 –> 00:06:55,680
باشد اگر بیشتر از مساوی با
190
00:06:55,680 –> 00:06:57,199
قید نابرابری دارید، باید
191
00:06:57,199 –> 00:06:59,120
آن را به مقدار کمتر از مساوی با
192
00:06:59,120 –> 00:07:01,280
قید نابرابری تبدیل کنید، بسیار
193
00:07:01,280 –> 00:07:04,800
خوب است به همین ترتیب شما آن را برای rhs
194
00:07:04,800 –> 00:07:06,560
قبول دارید،
195
00:07:06,560 –> 00:07:12,639
بنابراین برای rhs ما 22 15 و 12 داریم. بسیار
196
00:07:12,639 –> 00:07:13,680
خوب
197
00:07:13,680 –> 00:07:16,800
و این چیزی است که اکنون برای محدودیت برابری داریم
198
00:07:16,800 –> 00:07:17,919
،
199
00:07:17,919 –> 00:07:20,240
بنابراین آخرین
200
00:07:20,240 –> 00:07:22,080
معادله این است که محدودیت نقدینگی
201
00:07:22,080 –> 00:07:26,880
راست منفی y به اضافه 4x برابر با 60 است.
202
00:07:27,120 –> 00:07:29,199
فقط برای ایجاد تمایز بین
203
00:07:29,199 –> 00:07:30,560
ثابتهای نابرابری و
204
00:07:30,560 –> 00:07:33,360
نگرانی برابری من از این پیشوند استفاده
205
00:07:33,360 –> 00:07:35,120
206
00:07:35,120 –> 00:07:36,080
207
00:07:36,080 –> 00:07:38,800
208
00:07:38,800 –> 00:07:40,319
209
00:07:40,319 –> 00:07:41,599
210
00:07:41,599 –> 00:07:43,759
میکنم و ضرایب یک و چهار منفی هستند، مانند کاری که برای ثابتهای نابرابری انجام دادیم، شما
211
00:07:43,759 –> 00:07:46,160
همچنین میتوانید این ضرایب را به دست آورید
212
00:07:46,160 –> 00:07:49,360
که lhs و rhs در
213
00:07:49,360 –> 00:07:51,680
سمت راست معادله است. شما درست 16 دارید،
214
00:07:51,680 –> 00:07:56,080
بنابراین در اینجا ما 16 را اختصاص می دهیم. فقط برای
215
00:07:56,080 –> 00:07:58,960
تأیید مجدد شما، بنابراین 16 از
216
00:07:58,960 –> 00:08:00,479
اینجا گرفته می شود، سمت راست معادله است،
217
00:08:00,479 –> 00:08:04,400
درست به عنوان s است.
218
00:08:04,960 –> 00:08:07,759
درست است، اما مطمئن شوید که ترتیب
219
00:08:07,759 –> 00:08:10,479
سطرها و ستونها دقیقاً همان چیزی است
220
00:08:10,479 –> 00:08:12,080
که در معادله دارید، اگر ترتیب را تغییر دهید،
221
00:08:12,080 –> 00:08:14,319
به یک مشکل تبدیل میشود،
222
00:08:14,319 –> 00:08:16,080
بنابراین مطمئن شوید که
223
00:08:16,080 –> 00:08:18,080
میدانید ترتیب کاملی دارید، یعنی میتوانید.
224
00:08:18,080 –> 00:08:20,960
فقط 20 را تغییر ندهید، نمی توانید فقط 22 را به
225
00:08:20,960 –> 00:08:23,039
سمت راست ببرید و 12 را به اینجا بیاورید
226
00:08:23,039 –> 00:08:24,560
که بعداً اشتباه می شود،
227
00:08:24,560 –> 00:08:26,319
در این صورت راه حل اشتباهی خواهید داشت،
228
00:08:26,319 –> 00:08:29,360
بنابراین ترتیب باید
229
00:08:29,360 –> 00:08:33,599
برای هر دو lh و هر دو دقیقاً یکسان باشد. rhs
230
00:08:34,479 –> 00:08:36,640
مورد بعدی در مورد مرز
231
00:08:36,640 –> 00:08: