-
Notifications
You must be signed in to change notification settings - Fork 0
/
problems.tex
2332 lines (2125 loc) · 89.8 KB
/
problems.tex
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Author: Xiong Yiliang
% Email: [email protected]
% Update: August 26, 2008
% Institution: Southwest
% Jiaotong University
% Title: Solution Manual of Urban
% Transportation Network
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper,12pt]{article}
\usepackage{CJKutf8}
\usepackage{amsmath}
\usepackage{paralist}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage{listings}
\usepackage{mflogo}
\usepackage{endnotes}
\usepackage[small]{caption}
% Exercise counter
\newcounter{exercise}[section]
\renewcommand{\theexercise}{\thesection.\arabic{exercise}}
% Solution counter
\newcounter{solution}[section]
\renewcommand{\thesolution}{\thesection.\arabic{solution}}
%% Using CJK package
% \begin{CJK*}{UTF8}{gbsn}
% Exercise environment
\newenvironment{exercise}[1][{}]%
{\refstepcounter{exercise}\vspace{10pt}\par\noindent
\textbf{习题~\theexercise\ #1 \nopagebreak}
\par}%
{\par}
% Solution environment
\newenvironment{solution}[1][{}]%
{\refstepcounter{solution} \vspace{5pt}\par\noindent
\textbf{解答~\thesolution\ #1 \nopagebreak}
\par}%
{\par}
% Redefine names
\renewcommand{\contentsname}{}
\renewcommand{\figurename}{图}
\renewcommand{\refname}{参考文献}
\renewcommand{\abstractname}{说\;明}
\renewcommand{\lstlistingname}{源代码}
% Endnotes
\let\footnote=\endnote
\def\notesname{注释}
% \end{CJK*}
% Partial fraction
\newcommand{\partialfrac}[2]%
{\frac{\partial #1}{\partial #2}}
% Page margins
\geometry{top=1.02in, bottom=1.02in, left=1.37in, right=0.79in}
% Circled number
\newcommand{\circlednum}[1]%
{\textcircled{\scriptsize #1}}
% Make a nicer C++
\def\Cplusplus{~C{\raise.5ex\hbox{\footnotesize ++~}}}
% Caption width
\setlength{\captionwidth}{\linewidth}
\begin{document}
% Using CJK package
\begin{CJK*}{UTF8}{gbsn}
% Title, author and date
\title{《城市交通网络》习题翻译及解答}
\author{小~熊\\ \textsl{西南交通大学}}
\date{2008年8月}
\maketitle
\abstract{
本文翻译了~Yosef Sheffi~教授的经典教材~\emph{Urban Transportation Network:
Equilibrium Analysis with Mathematical Programming Methods}~前五章的习题,
并且给出了这些习题的解答. \emph{Urban Transportation Network}~主要介绍
~20~世纪七八十年代经典的交通分配模型及其求解算法, 这些方法作为行业软件的
核心被广泛应用到交通规划实践中. 该教材的电子版可以在~Yosef Sheffi~教授的个人主页上免费下载~
\texttt{http://web.mit.edu/sheffi/www/urbanTransportation.html}.
这里给出的解答只代表本文作者的个人解题能力, 其中可能存在一些错误.
当前的解答集使用~\LaTeX~编辑,并借助~\MP~绘制插图.}
\tableofcontents
\newpage
\section{城市交通网络的分析}
本章习题帮助读者熟悉~Wardrop~原理, 运用该原理解决一些简单的问题.
\begin{exercise}
考虑这样一种彩票, 它的奖金是已知的并且价格是固定的. 购买彩票的人数是中奖率的函数.
而中奖率又是购买彩票人数的函数. 在需求/效能均衡的框架下研究这一情形. 在图像中指出
均衡点及推动趋向均衡点的力量.
\end{exercise}
\begin{solution}
彩票销售中只有中奖率和购买彩票的人数是变动的, 其它因素都是固定的. 较高的中奖率将
驱使较多的人去购买彩票, 所以需求函数是递增的. 由于奖金数量不变, 较多的人购买彩票
将使每个人的中奖机率降低, 所以中奖率函数~(效能函数)~是递减的. 这两条曲线将交于一点,
在该点处需求/效能达到均衡(如图~\ref{fig:s1-1}~).当中奖率高于均衡点对应的中奖率时,
购买彩票的人数大于效能函数对应的人数, 而奖金数量不变所以中奖率将下降并趋于均衡点.
当中奖率低于均衡点对应的中奖率时, 购买彩票的人数小于效能函数对应的人数, 同样因为
奖金数量不变, 中奖率将上升并趋于均衡点.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/s1-1-0}
\caption{需求/效能均衡}
\label{fig:s1-1}
\end{center}
\end{figure}
\end{solution}
\begin{exercise}
求解图~\ref{fig:p1-2}~所示网络的用户均衡流量和均衡出行时间. 运行水平函数为
\begin{align*}
t_1 &= 2 + x_1^2 \\
t_2 &= 1 + 3x_2 \\
t_3 &= 3 + x_3
\end{align*}
其中~$t_a$~和~$x_a$~分别表示路段~$a~(a = 1,2,3)$~上的旅行时间和交通流量.
从节点~1~到节点~4~有~4~个单位的出行需求.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/p1-2-0}
\caption{习题1.2图}
\label{fig:p1-2}
\end{center}
\end{figure}
\end{exercise}
\begin{solution}
图示的交通网络中包含两条路径~:
\circlednum{1}$\xrightarrow{1}$\circlednum{2}$\xrightarrow{3}$\circlednum{3},
\circlednum{1}$\xrightarrow{2}$\circlednum{2}$\xrightarrow{3}$\circlednum{3}.
\par 设这两条路径上的旅行时间分别为~$t_1, t_2$, 三条路段上的交通流量分别为
~$x_1, x_2, x_3$, 根据~Wardrop~原理有
$$ \left\{\begin{aligned}
t_1 &= 2 + x_1^2\\
t_2 &= 1 + 3x_2\\
t_1 &= t_2\\
4 &= x_1 + x_2
\end{aligned}\right.
\Longrightarrow
\left\{\begin{aligned}
x_1^2 -3x_2 + 1 &= 0\\
x_1 + x_2 &= 4
\end{aligned}\right. $$
求解得到~$x_1 = \frac{\sqrt{53} - 3}{2}, x_2 = \frac{-\sqrt{53} + 11}{2}$, 节点处流量守恒有
~$x_3 = x_1 + x_2 = 4$. 均衡出行时间为~$t_1 = t_2 = \frac{-3\sqrt{53} + 35}{2}$
\end{solution}
\begin{exercise}
图~\ref{fig:p1-3}~所示网络中包含多条连接起点和终点的路段.每条路段的运行水平曲线都是线性的, 即是,
$$ t_a = A_a + B_ax_a $$
其中~$A_a$~和~$B_a$~为常数, 并且如习题~1.2~中所示,~$t_a$~和~$x_a$~分别表示路段~$a$~
上的旅行时间和交通流量. 起点和终点间的出行需求为~$q$~.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/p1-3-0}
\caption{习题1.3图}
\label{fig:p1-3}
\end{center}
\end{figure}
\begin{compactenum}[(1)]
\item 假设达到均衡时, 网络中所有的路段都有交通流量, 写出每个路段上流量的表达式.
\item 当在均衡状态不确定每个路段都被使用, 各个路段上的流量如何求解~(即只有部分路段被使用)?
\end{compactenum}
\end{exercise}
\begin{solution}
(1) 根据~Wardrop~条件, 达到均衡时各路段的交通量必须满足如下线性方程组
$$ \left\{ \begin{aligned}
t_i &= A_i + B_ix_i \quad i = 1,\ldots,n\\
t &= t_1 = t_2 = \ldots = t_n\\
q &= \sum_k x_k
\end{aligned} \right. $$
其中~$n$~为路段总数, $t$~为均衡时各路段的旅行时间. 各路段的流量为
$$ x_i = \frac{t_i - A_i}{B_i} = \frac{t - A_i}{B_i} \quad i\in[i,n]$$
将上式代入~$q = \sum_k x_k$~中
$$ q = \sum_k \frac{t - A_k}{B_k} = t\sum_k \frac{1}{B_k} - \sum_k \frac{A_k}{B_k} $$
于是均衡旅行时间为
$$ t = \frac{\sum_k \frac{A_k}{B_k} + q}{\sum_k \frac{1}{B_k}} $$
代入~$ x_i = \frac{t - A_i}{B_i}$~中就求得各路段的交通流量
$$ x_i = \frac{1}{B_i}\left[ \frac{\sum_k \frac{A_k}{B_k} + q}{\sum_k \frac{1}{B_k}} - A_i \right] $$
\par (2) 由第一问的结论可知路段~i~被使用应该满足如下条件
$$ x_i = \frac{1}{B_i}\left[ \frac{\sum_k \frac{A_k}{B_k} + q}{\sum_k \frac{1}{B_k}} - A_i \right] > 0 $$
即如果路段~i~被使用, 交通需求~$q$~应满足
$$ q > \sum_k \frac{A_i}{B_k} - \sum_k \frac{A_k}{B_k} $$
对于给定的~$q$, 可以根据上式确定已被使用的路段, 将未被使用的路段从交通网络中移除,
在剩余的网络中, 按照第一问做类似的求解即可.
\end{solution}
\section{最优化问题的基本概念}
在本章中, 作者提前预告了下一章需要用到的最优化理论和技巧, 为均衡配流的等价数学规划
问题的引入作准备.本章的一些习题是最优化理论中的重要定理~(如习题~2.1, 2.2, 2.3, 2.4),
它们的证明可以在一般的最优化理论教材中找到~(\cite{sundaram96}是作者喜欢的一本教材).
严格的说, 少数证明题的题设并不完善, 所以解题时我们认为题目中暗示了一些理所当然的条件.
从题目的选取可以察觉, 原书作者希望读者掌握最优化理论中的数学技巧, 理解直观的解释
~(如习题~2.11, 2.12, 2.17, 2.18).
\begin{exercise}%[(极小值的一阶必要条件)]
证明连续可导函数~$z(x)$~在极小值点处的一阶导数为零.
\end{exercise}
\begin{solution}
设函数~$z(x)$~在~$x^*$~处取极小值, 根据题设条件~$z(x)$~在~$x^*$~处可导, 所以对于任意的
数列~$y_k \rightarrow x^*$~有
$$ \lim_{k \rightarrow \infty} \frac{z(y_k) - z(x^*)}{y_k - x^*} = z'(x^*)$$
构造两个数列~${a_k}$~和~${b_k}$~分别满足条件~$a_k < x^* \ \forall k, a_k \rightarrow x^*$
和~$b_k > x^* \ \forall k, b_k \rightarrow x^*$. 因为在~$x^*$~处取得极小值, 所以存在领域
~$U(x^*, \epsilon)$, 使得对于足够大的~$k$~有~$z(a_k) \geq z(x^*),\, z(b_k) \leq z(x^*)$,于是
$$ \frac{z(a_k) - z(x^*)}{a_k - x^*} \geq 0 \geq \frac{z(b_k) - z(x^*)}{b_k - x^*} $$
当~$k \rightarrow \infty$~时, 对上式取极限有~$z'(x^*) \geq 0 \geq z'(x^*) $, 即~$z'(x^*) = 0$,
命题得证. 当~$z(\mathbf x)$~为多元函数时的证明可以参考\cite{sundaram96}.
\end{solution}
\begin{exercise}%[(凸函数的一阶充要条件)]
证明如果一个函数连续可微, 它是严格的凸函数当且仅当对该函数的线性近似总是低估其函数值.
(提示~: 证明如果条件~[2.4a]~成立, 那么条件~[2.4b]~也成立, 并且如果条件~[2.4b]~成立,
那么条件~[2.4a]~也成立.\footnote{原书中的公式~[2.4a]~和公式~[2.4b]~分别为
\begin{gather*}
z[\theta x_1 + (1 - \theta)x_2] < \theta z(x_1) + (1 - \theta)z(x_2)\\
z(x_1) + \frac{dz(x_1)}{dx}(x_2 - x_1)< z(x_2)
\end{gather*}})
\end{exercise}
\begin{solution}
首先证明必要性, 即已知公式~[2.4a]~证明公式~[2.4b].
任取函数定义域上的两点~$x_1,\,x_2$, 由函数连续可微有
$$ \frac{dz(x_1)}{dx}(x_2-x_1) = \lim_{\Delta x \rightarrow 0} \frac{z(x_1 + \Delta x) - z(x_1)}
{\Delta x} (x_2 - x_1)$$
取合适的~$t \in (0,1)$~使得~$\Delta x = t(x_2 - x_1)$, 于是
\begin{align*}
\lim_{\Delta x \rightarrow 0} \frac{z(x_1 + \Delta x) - z(x_1)}{\Delta x} (x_2 - x_1)
&= \lim_{t \rightarrow 0} \frac{z(x_1 + t(x_2 - x_1)) - z(x_1)}{t}\\
&= \lim_{t \rightarrow 0} \frac{z((1 - t)tx_1 + tx_2) - z(x_1)}{t}
\end{align*}
应用公式~[2.4a]~有~$z((1 - t)tx_1 + tx_2) - z(x_1) < tz(x_2) - tz(x_1)$于是
$$ \lim_{t \rightarrow 0} \frac{z((1 - t)tx_1 + tx_2) - z(x_1)}{t}
< \lim_{t \rightarrow 0} \frac{tz(x_2) - tz(x_1)}{t} = z(x_2) - z(x_1)$$
公式~[2.4b]~得证.
\par 再来证明充分性, 即已知公式~[2.4b]~证明公式~[2.4a].
任取函数定义域上的两点~$x_1,\,x_2$, 令~$x_{\theta} = \theta x_1 + (1 - \theta)x_2 \quad \theta \in (0,1)$,
应用公式~[2.4b]~有
\begin{align*}
z(x_2) - z(x_{\theta}) > \frac{dz(x_{\theta})}{dx}(x_2 - x_{\theta})
&= \frac{dz(x_{\theta})}{dx}(x_2 - x_1)\theta\\
z(x_1) - z(x_{\theta}) > \frac{dz(x_{\theta})}{dx}(x_1 - x_{\theta})
&= \frac{dz(x_{\theta})}{dx}(x_1 - x_2)(1 - \theta)
\end{align*}
上述不等式两边分别除以~$\theta, (1 - \theta)$~, 得到
\begin{align*}
\frac{1}{\theta}[z(x_2) - z(x_{\theta})] &> \frac{dz(x_{\theta})}{dx}(x_2 - x_1)\\
\frac{1}{(1 - \theta)}[z(x_1) - z(x_{\theta})] &> \frac{dz(x_{\theta})}{dx}(x_1 - x_2)
\end{align*}
将以上两式相加有
$$ \frac{1}{\theta}[z(x_2) - z(x_{\theta})] + \frac{1}{(1 - \theta)}[z(x_1) - z(x_{\theta})] > 0$$
整理得到
$$ z(x_{\theta}) < \theta(x_1) + (1 - \theta)(x_2) $$
公式~[2.4a]~得证. 当~$z(\mathbf x)$~为多元函数时可做类似的证明.
\end{solution}
\begin{exercise}%[(凸函数的二阶充要条件)]
证明如果一个函数二阶连续可导, 它是严格的凸函数当且仅当其二阶导数为正. (提示~: 证明如果
条件~[2.4a]~成立, 那么条件~[2.4c]~也成立, 并且如果条件~[2.4c]~成立,那么条件~[2.4a]~
也成立.\footnote{原书中的公式~[2.4c]~为 $$\frac{d^2z(x^*)}{dx^2} > 0$$})
\end{exercise}
\begin{solution}
首先证明必要性, 即由公式~[2.4a]~证明公式~[2.4c]. 为了简化证明过程, 根据习题~2.2~可以通过
公式~[2.4b]~证明公式~[2.4c]~成立.
任取函数定义域上的两点~$x_1,\,x_2\,(x_1 < x_2)$, 由公式~[2.4b]~分别有
\begin{align*}
\frac{dz(x_1)}{dx}(x_2 - x_1) &< z(x_2) - z(x_1)\\
\frac{dz(x_2)}{dx}(x_1 - x_2) &< z(x_1) - z(x_2)
\end{align*}
将上述两式均除以~$(x_2 - x_1)$
\begin{align*}
\frac{dz(x_1)}{dx} &< \frac{z(x_2) - z(x_1)}{x_2 - x_1}\\
-\frac{dz(x_2)}{dx} &< \frac{z(x_1) - z(x_2)}{x_2 - x_1}
\end{align*}
将两式相加得
$$ \frac{dz(x_1)}{dx} - \frac{dz(x_2)}{dx} < 0 $$
这个就证明了导函数~$\frac{dz(x)}{dx}$~单调递增, 显然其二阶导数满足
$$ \frac{d^2z(x)}{dx^2} > 0$$
\par 再来证明充分性, 即由公式~[2.4c]~证明公式~[2.4a]. 任取函数定义域上的两点~$x_1,\,x_2$,
令~$x_{\theta} = \theta x_1 + (1 - \theta)x_2 \quad \theta \in (0,1)$. 由函数二阶连续可导,
应用微分中值定理, 存在~$\omega_1 \in (x_1, x_{\theta}),\,\omega_2 \in (x_{\theta}, x_2)$~使得
\begin{align*}
\frac{z(x_{\theta}) - z(x_1)}{x_{\theta} - x_1} &= z'(\omega_1)\\
\frac{z(x_2) - z(\theta)}{x_2 - x_{\theta}} &= z'(\omega_2)
\end{align*}
由~$\omega_1 < \omega_2$~及函数的二阶条件~[2.4c]~有
$$ z'(\omega_1) < z'(\omega_2) $$
于是
$$ \frac{z(x_{\theta}) - z(x_1)}{x_{\theta} - x_1}
< \frac{z(x_2) - z(\theta)}{x_2 - x_{\theta}} $$
将~$x_{\theta} = \theta x_1 + (1 - \theta)x_2$~带入上式
$$ \frac{z(x_{\theta}) - z(x_1)}{(1 - \theta)(x_2 - x_1)}
< \frac{f(x_2) - z(\theta)}{\theta(x_2 - x_1)} $$
整理得
$$ z(x_{\theta}) < \theta z(x_1) + (1 - \theta)z(x_2) $$
公式~[2.4a]~得证. 当~$z(\mathbf x)$~为多元函数时的证明可以参考\cite{sundaram96}.
\end{solution}
\begin{exercise}
数学规划的~$\min z(\mathbf x)$~约束条件为~$g_j(\mathbf x) \geq b_j$, 其中~$j = 1,\ldots,J$,
该数学规划在下面那种情况有唯一的极小值? 回答问题并解释原因.
\begin{compactenum}[(a)]
\item 函数~$z(\mathbf x)$~是凸函数且约束集为凸.
\item 函数~$z(\mathbf x)$~有唯一的极小值且无约束.
\item 函数~$z(\mathbf x)$~单调递增且无约束.
\item 函数~$z(\mathbf x)$~是凹函数且约束集为凸.
\item 函数~$z(\mathbf x)$~在凸约束集中分段连续.
\end{compactenum}
\end{exercise}
\begin{solution}
该数学规划满足~(a)~时有唯一的极小值, 在证明中我们需要使用如下定理~(它们的证明可以参见~\cite{sundaram96}~):\\
如果~$D \subset \Re^n$~是凸集, 且~$f: D \rightarrow \Re$~是凸函数, 那么
\begin{compactenum}
\item 函数~$f$~的任何局部极小值都是全局最小值.
\item 函数~$f$~在~$D$~上的极值点的集合~$\arg \max \{f(\mathbf x)|\;\mathbf x \in D\}$~是空集或凸集.
\end{compactenum}
\par 现在证明本题的结论. 假设~$\arg \max \{z(\mathbf x)|\;\mathbf x \in D\}$~是非空集合,
我们需要证明它仅包含一个点.从上面的定理可知~$\arg \max \{z(\mathbf x)|\;\mathbf x \in D\}$~是凸集,
设函数有两个不同的极小值~$\mathbf x_1^*,\,\mathbf x_2^*$, 令~$\mathbf x_{\theta} = \theta
\mathbf x_1^* + (1 - \theta)\mathbf x_2^* \quad \theta \in (0,1)$. 显然~$\mathbf x_{\theta}
\in \arg \max \{z(\mathbf x)|\;\mathbf x \in D\}$~是函数的极值点, 所以有~$z(\mathbf x_{\theta}) =
z(\mathbf x_1^*) = z(\mathbf x_2^*)$.
但是由函数~$z(\mathbf x)$~的严格凸性有
\begin{align*}
z(\mathbf x_{\theta}) = z(\theta \mathbf x_1^* + (1 - \theta)\mathbf x_2^*)
> \theta z(\mathbf x_1^*) + (1 - \theta)z(\mathbf x_2^*) = z(\mathbf x_1^*)
\end{align*}
与先前的假设矛盾, 所以~$z(\mathbf x)$~在~$D$~上仅有一个极小值.
\end{solution}
\begin{exercise}
考虑数学规划~$\min z(x) = (x - 2)^2$, 约束条件为~$0 \leq x \leq 1$.
\begin{compactenum}[(a)]
\item 将上述数学规划写作标准形式.
\item 证明在可行域中~$z(x)$~的极小值点满足一阶条件~[2.7]%
\footnote{原书中的公式~[2.7]~为
\begin{gather*}
\frac{dz(x^*)}{dx} = \sum_j u_j \frac{dg_j(x^*)}{dx}\\
u_j \geq 0,\ u_j[b_j - g_j(x^*)] = 0,\ g_j(x^*) \geq b_j, \quad j = 1,\ldots,J
\end{gather*}}.
\end{compactenum}
\end{exercise}
\begin{solution}
(a) 写作标准形式~:
\begin{align*}
\min z(x) &= (x - 2)^2\\
s.t\ -x &\geq -1\\
x &\geq 0
\end{align*}
\par (b) 函数~$z(x)$~在区间~[0,1]~上单调递减, 极小值在~$x = 1$~处取得, 有
\begin{align*}
\left.\frac{dz(x)}{dx}\right|_{x = 1} &= 2(x - 2)|_{x = 1} = -2\\
\left.\frac{dg_1(x)}{dx}\right|_{x = 1} &= -1\\
\left.\frac{dg_2(x)}{dx}\right|_{x = 1} &= 1
\end{align*}
存在~$u_1 = 2,\,u_2 = 0$~满足一阶条件~[2.7].
\end{solution}
\begin{exercise}
绘制二维函数~$z(x_1,x_2)$~的等高线图~(仅绘制可行域范围), 约束条件为~$0 \leq x_1 \leq a$, $0 \leq x_2 \leq b$,
假设该函数有如下性质~:
\begin{compactenum}[(a)]
\item 是严格的凸函数.
\item 在多个最小值处为凸.
\item 是线性的.
\item 有约束条件~$x_1 + x_2 = c$~(外加前面的约束条件).
\end{compactenum}
\end{exercise}
\begin{solution}
(解答暂缺)
\end{solution}
\begin{exercise}
证明梯度总是指向函数~$z(\mathbf x)$~的最速上升方向~(局部).
\end{exercise}
\begin{solution}
在所有范数~$\|\mathbf d\| = 1$~的方向中, 最速上升方向为
$$ \overline{\mathbf d} = \frac{\nabla z(\mathbf x)}{\|\nabla z(\mathbf x)\|} $$
根据下边的不等式可以得到这个结论
$$ \nabla z(\mathbf x)^{T}\mathbf d \leq \|\nabla z(\mathbf x)\| \|\mathbf d\| =
\nabla z(x)^{T} \left( \frac{\nabla z(\mathbf x)}{\|\nabla z(\mathbf x) \|} \right) =
\nabla z(x)^{T} \overline{\mathbf d} $$
还可以根据下面的最大值问题来求得最速上升方向
\begin{gather*}
\max_{d} \nabla z(\mathbf x) \mathbf d\\
s.t.\quad \|\mathbf d\| = 1
\end{gather*}
运用拉格朗日定理求解有类似的结果.
\end{solution}
\begin{exercise}
计算函数~$z(x_1,x_2) = 2(x_1 - 3)^2 + 3(x_2 - 2)^2$~在点~$(x_1,x_2) = (2,3)$~
和~$(x_1,x_2) = (3,2)$~处的梯度.
\end{exercise}
\begin{solution}
函数~$z(x)$~的梯度为
$$ \nabla z(x_1,x_2) =
\begin{pmatrix}
4(x_1 - 3) \\
6(x_2 - 2)
\end{pmatrix} $$
点~$(x_1,x_2) = (2,3)$~和~$(x_1,x_2) = (3,2)$~处的梯度
\begin{align*}
\nabla z(x_1,x_2)|_{(x_1,x_2) = (2,3)} &=
\begin{pmatrix}
-4 \\ 6
\end{pmatrix}\\
\nabla z(x_1,x_2)|_{(x_1,x_2) = (3,2)} &=
\begin{pmatrix}
0 \\ 0
\end{pmatrix}
\end{align*}
\end{solution}
\begin{exercise}
证明凸函数的和组成的函数也是凸函数.
\end{exercise}
\begin{solution}
首先证明两个凸函数的和组成的函数是凸函数. 设两个凸函数分别为~$f: D_1 \rightarrow \Re$~和
~$g: D_2 \rightarrow \Re$, 它们的定义域分别为~$D_1 \subset \Re^n$~和~$D_2 \subset \Re^n$,
且都是凸集. 两函数和组成的函数为~$h: D_3 \rightarrow \Re$, 其中~$D_3 = D_1 \cap D_2$.
现在证明函数~$h(x)$~是凸函数. 任取两个点~$x_1,\,x_2 \in D_3\; (x_1 \neq x_2)$, 且令
~$x_{\theta} = \theta x_1 + (1 - \theta)x_2,\ \theta \in (0,1)$~
\begin{align*}
h(x_{\theta}) &= h(\theta x_1 + (1 - \theta)x_2)\\
&= f(\theta x_1 + (1 - \theta)x_2) + g(\theta x_1 + (1 - \theta)x_2)\\
&> \theta f(x_1) + (1 - \theta)f(x_2) + \theta g(x_1) + (1 - \theta)g(x_2)\\
&= \theta [f(x_1) + g(x_1)] + (1 - \theta)[f(x_2) + g(x_2)]\\
&= \theta h(x_1) + (1 - \theta)h(x_2)
\end{align*}
于是证明了~$h(x)$~是凸函数. 多个凸函数的和组成的函数的凸性可以在此基础上证明.
\end{solution}
\begin{exercise}
求解数学规划~[2.15]\footnote{原书中数学规划~[2.15]~为
\begin{gather*}
\min z(x_1,x_2) = x_1^2 + 2x_2^2 + 2x_1x_2 - 2x_1 - 4x_2\\
\text{s.t.}\ x_1 + x_2 \geq 2
\end{gather*}}%
得到对偶变量的值为~$u^* = 2$. 稍微松驰约束条件, 再次进行求解.
验证~$u^*$~衡量了~$z(\mathbf x^*)$~对约束条件的灵敏度.
\end{exercise}
\begin{solution}
该数学规划对应的拉格朗日函数为
$$ L(x_1,x_2,u) = z(x_1,x_2) - u(x_1 + x_2 -2) $$
根据~Kuhn-Tucker~条件有
\begin{gather*}
\begin{aligned}
\frac{\partial L}{\partial x_1} &= 2x_1 + 2x_2 - 2 - u = 0\\
\frac{\partial L}{\partial x_2} &= 2x_1 + 4x_2 - 4 - u = 0\\
u\frac{\partial L}{\partial u} &= u(2 - x_1 - x_2) = 0
\end{aligned}\\
x_1 + x_2 \geq 2\\
u \geq 0
\end{gather*}
求方程组得~$u = 2,\;x_1 = 1,\;x_2 = 1$, 函数值为~$z(x_1,x_2) = -1$. 稍微松驰约束条件
$$ x_1 + x_2 \geq 2.1 $$
根据~Kuhn-Tucker~条件再次求解
\begin{gather*}
\begin{aligned}
\frac{\partial L}{\partial x_1} &= 2x_1 + 2x_2 - 2 - u = 0\\
\frac{\partial L}{\partial x_2} &= 2x_1 + 4x_2 - 4 - u = 0\\
u\frac{\partial L}{\partial u} &= u(2.1 - x_1 - x_2) = 0
\end{aligned}\\
u \geq 0, \quad x_1 + x_2 \geq 2.1
\end{gather*}
解得~$u = 2.1,\;x_1 = 1.15,\;x_2 = 0.95$, 函数值为~$z(x_1,x_2) = -0.7875$. 函数值的变化为
~$\nabla z(x_1,x_2) = 0.2125 $, 近似于~$u\Delta b = 0.2$.
\end{solution}
\begin{exercise}
\begin{compactenum}[(a)]
\item 运用~Kuhn-Tucker~条件, 证明如果仅有非负约束则公式~[2.19]%
\footnote{原书中的公式~[2.19]~为 $$x_i^*\frac{\partial z(\mathbf x^*)}{\partial x_i} = 0
~\text{且}~\frac{\partial z(\mathbf x^*)}{\partial x_i} \geq 0~\text{其中}~i = 1,2,\ldots,I$$}成立.
\item 直接从~Kuhn-Tcker~条件~(公式~[2.14]\footnote{原书中的公式~[2.14]~为
\begin{gather*}
\frac{\partial z(\mathbf x^*)}{\partial x_i} = \sum_j u_j \frac{\partial g_i(\mathbf x^*)}{\partial x}\\
u_j \geq 0,\ u_j[b_j - g_j(\mathbf x^*)] = 0,\ g_j(\mathbf x^*) \geq b_j,\ \text{其中}~j = 1,\ldots,J
\end{gather*}})~%
推导出公式~[2.28]\footnote{原书中的公式~[2.28]~为
\begin{align*}
x_i^* \left( \frac{\partial z(\mathbf x^*)}{\partial x_i} - \sum_j u_j^*h_{ij} \right) &= 0\ \forall i \\
\frac{\partial z(\mathbf x^*)}{\partial x_i} - \sum_j u_j^*h_{ij} &\geq 0\ \forall i \\
\sum_i h_{ij}x_i^* &= b_j\ \forall j \\
x_i^* &\geq 0\ \forall i
\end{align*}}.
\end{compactenum}
\end{exercise}
\begin{solution}
(a)~如果仅有非负约束则数学规划的标准形式如下
\begin{gather*}
\min z(\mathbf x)\\
s.t.\quad \mathbf x \geq 0
\end{gather*}
运用~Kuhn-Tucker~条件有
\begin{align*}
\nabla z(\mathbf x) - \mathbf u &= 0\\
\mathbf x^T \mathbf u &= 0\\
\mathbf x \geq 0,\ \mathbf u &\geq 0
\end{align*}
将~$\mathbf u = \nabla z(\mathbf x)$~分别代入~$\mathbf x^T \mathbf u = 0$~和~$\mathbf u \geq 0$
\begin{align*}
\mathbf x^T \nabla z(\mathbf x) &= 0\\
\nabla z(\mathbf x) &\geq 0
\end{align*}
于是公式~[2.19]~成立.
\par (b)~按照上面的方法做类似推导可以得到~公式~[2.28].
\end{solution}
\begin{exercise}[(灵敏度分析)]%
函数~$z(\mathbf x)$~的约束条件为~$g_j(\mathbf x) \geq b_j$, 其中~$j = 1,\ldots J$,
运用其拉格朗日函数解释为什么第~$j$~个约束条件稍微松驰~$\Delta b_j$, 将使目标函数%
~$z(\mathbf x)$~减小~$u_j\Delta b_j$.
\end{exercise}
\begin{solution}
假设最优解~$\mathbf x^*$~是约束条件中向量~$\mathbf b$~的函数, 并且连续可导, 那么有
$$ y(\mathbf b) = z(\mathbf x^*(\mathbf b))$$
即将目标函数写成关于~$\mathbf b$~的函数的形式, 对它求偏导数有
$$ \partialfrac{y}{b_i} = \sum_j \partialfrac{z}{x_j} \cdot \partialfrac{x^*_i}{b_i}$$
设~$h(\mathbf x) = g(\mathbf x) - \mathbf b$, 原目标函数关于~$x_i$~的偏导数为
$$ \partialfrac{z}{x_j} = \sum_k u_k \cdot \partialfrac{h_k}{x_j}$$
将上式代入~$\partialfrac{y}{b_i}$~中有
\begin{equation*} \begin{split}
\partialfrac{y}{b_i} &= \sum_j \left(\sum_k u_k \cdot \partialfrac{h_k}{x_j}\right) \cdot \partialfrac{x^*_j}{b_i}\\
&= \sum_k u_k \cdot \sum_j \partialfrac{h_k}{x_j} \cdot \partialfrac{x^*_j}{b_i}\\
\end{split} \end{equation*}
因为~$\partialfrac{g_k}{x_j} = \partialfrac{h_j}{x_l}$~所以
$$ \partialfrac{h_k}{b_i} = \left\{
\begin{aligned}
&\partialfrac{g_k}{b_i} - 1 = \sum_j \partialfrac{h_k}{x_j} \cdot \partialfrac{x_j}{b_i} - 1 &k = i\\
&\partialfrac{g_k}{b_i} = \sum_j \partialfrac{h_k}{x_j} \cdot \partialfrac{x_j}{b_i} &k \neq i
\end{aligned} \right. $$
于是有
$$ \partialfrac{y}{b_i} = u_i$$
所以第~$j$~个约束条件稍微松驰~$\Delta b_j$, 将使目标函数~$z(\mathbf x)$~减小~$u_j\Delta b_j$.
\end{solution}
\begin{exercise}
运用~Kuhn-Tucker~条件, 求解数学规划
\begin{align*}
\min z(x_1,x_2) = 4(x_1 &- 2)^2 + 3(x_2 - 4)^2\\
\text{s.t.}\
x_1 + x_2 &\geq 5\\
x_1 &\geq 1\\
x_2 &\geq 2
\end{align*}
证明解是唯一的.
\end{exercise}
\begin{solution}
目标函数的~Hessian~矩阵为
$$ \nabla^2 z(x_1,x_2) = \begin{pmatrix} 8 & 0\\0 & 6 \end{pmatrix} $$
并且可行域是一个凸集, 所以该数学规划有唯一的极小值. 运用~Kuhn-Tucker~条件容易求得
$(x_1, x_2) = (2, 4)$~时有最小值~$z(x_1, x_2) = 0$.
\end{solution}
\begin{exercise}
运用拉格朗日函数, 求解数学规划
\begin{align*}
\min z(x_1,x_2) = 5x_1^2 &- 3x_1x_2 + 2x_2^2 +7\\
\text{s.t.}\ 2x_1 + x_2 &= 5\\
x_1 &\geq 0\\
x_2 &\geq 0
\end{align*}
画出可行域.
\end{exercise}
\begin{solution}
由目标函数和等式约束条件得到拉格朗日函数
$$ L(x_1,x_2,\lambda) = 5x_1^2 - 3x_1x_2 + 2x_2^2 +7 + \lambda (2x_1 + x_2 - 5)$$
求解下面的方程组
$$ \left\{ \begin{aligned}
x_1 \partialfrac{L}{x_1} &= 0\\
x_2 \partialfrac{L}{x_2} &= 0\\
\partialfrac{L}{\lambda} &= 0
\end{aligned} \right. $$
满足约束的解为~$x_1 = \frac{55}{38}, x_2 = \frac{80}{38}$, 函数最小值为~$z(x_1, x_2) = \frac{1307}{76}$.
\end{solution}
\begin{exercise}
求解数学规划
\begin{align*}
\min z(x_1,x_2) = 2x_1 &+ x_2\\
\text{s.t.}\ 3x_1 + x_2 &\geq 1\\
x_1 + 4x_2 &\geq 2\\
-x_1 + x_2 &\geq 1
\end{align*}
画出可行域及目标函数的等高线图.
\end{exercise}
\begin{solution}
根据~Kuhn-Tucker~条件如下方程组成立
$$ \left\{ \begin{aligned}
2 - 3u_1 -u_2 +u_3 &= 0\\
1 - u_1 - 4u_2 - u_3 &= 0\\
u_1(3x_1 + x_2 - 1) &= 0\\
u_2(x_1 + 4x_2 - 2) &= 0\\
u_3(-x_1 + x_2 - 1) &= 0
\end{aligned} \right. $$
满足约束条件的解为~$x_1 = 0, x_2 = 1$, 函数最小值为~$z(x_1, x_2) = 1$.
\end{solution}
\begin{exercise}
给定函数
$$z(x_1,x_2,x_3) = 3x_1^2 + 2x_1x_2 + 6x_2^2 - x_2x_3 + 5x_3^2 - 4x_1 - 2x_2 - 6x_3 +9$$
\begin{compactenum}[(a)]
\item 计算~$z(x_1,x_2,x_3)$~的极小值.
\item 验证这是局部极小值.
\item 验证这个局部极小值是全局最小值.
\end{compactenum}
\end{exercise}
\begin{solution}
首先, 解下面的方程组得到函数的驻点
$$ \left\{ \begin{aligned}
\partialfrac{z}{x_1} &= 0\\
\partialfrac{z}{x_2} &= 0\\
\partialfrac{z}{x_3} &= 0
\end{aligned} \right. $$
解得~$x_1 = \frac{212}{337}, x_2 = \frac{38}{337}, x_3 = \frac{206}{337}, z(x_1, x_2, x_3) = \frac{1953}{337}$.
函数的~Hessian~矩阵为
$$ \nabla^2 z(x_1, x_2, x_3) =
\begin{pmatrix}
6 & 2 & 0\\
2 & 12 & -1\\
0 & -1 & 10
\end{pmatrix} $$
容易验证上述矩阵是正定的, 所以求得的局部最小值是全局最小值.
\end{solution}
\begin{exercise}
如果对偶变量表示目标函数值得改进, 联系约束条件的松驰, 解释为什么对有标准不等式约束的
极小值问题有~$u_j \geq 0, \forall j$, 而在等式约束中~$u_j$~能取任意的符号.
\end{exercise}
\begin{solution}
下面的求解仅仅是一种直观的解释, 严格的证明可以参见~\cite{sundaram96}. 原书中标准的极小值问题有如下形式
\begin{gather*}
\min z(\mathbf x)\\
s.t. \quad g_j(\mathbf x) \geq b_j, \quad j = 1,\ldots, J
\end{gather*}
若上述极小值问题达到极小值时有~$g_j(\mathbf x) > b_j$, 松驰这一约束条件并不会帮助减小函数值,
所以有~$u_j = 0$. 当~$g_j(\mathbf x) = b_j$~时, 根据习题~2.12, 知道~$b_j$~稍微减小~$\Delta b_j$,
将使目标函数~$z(\mathbf x)$~减小~$u_j\Delta b_j$, 于是有~$u_j \geq 0$.
\par 在等式约束中, 总是有~$g_j(\mathbf x) = b_j$, 增加或减小~$b_j$~都有可能减小目标函数的值,
所以~$u_j$~的符号并不确定.
\end{solution}
\begin{exercise}
不使用拉格朗日函数写出下面数学规划的~Kuhn-Tucker~条件~(提示~: 将约束条件写作标准形式.)
\begin{gather*}
\min z(\mathbf x)\\
\text{s.t.}\ \sum_i h_{ij}x_i = b_j \ \forall j
\end{gather*}
证明等式约束的对偶变量可取任意符号.
\end{exercise}
\begin{solution}
如题目中提示的, 将数学规划写作标准形式
\begin{gather*}
\min z(\mathbf x)\\
s.t.\quad
\begin{aligned}
\sum_i h_{ij}x_i &\geq b_j\\
-\sum_i h_{ij}x_i &\geq -b_j
\end{aligned}
\quad \forall j
\end{gather*}
上述数学规划的~Kuhn-Tucker~条件为
\begin{align*}
\begin{aligned}
\partialfrac{z}{x_i} - \sum_j u_j h_{ij} &= 0\\
\partialfrac{z}{x_i} + \sum_j \lambda_j h_{ij} &= 0
\end{aligned} \quad &\forall i\\
\begin{aligned}
u_j(\sum_i h_{ij}x_i - b_j) &= 0\\
\lambda_j(-\sum_i h_{ij}x_i + b_j) &= 0\\
u_j \geq 0, \lambda_j &\geq 0
\end{aligned} \quad &\forall j
\end{align*}
其中~$u_j, \lambda_j$~为对偶变量. 我们将前四个式子两两相加
\begin{align*}
\partialfrac{z}{x_i} - \sum_j (u_j - \lambda_j)h_{ij} = 0 \quad &\forall i\\
\begin{aligned}
(u_j - \lambda_j)(\sum_i h_{ij}x_i - b_j) &= 0\\
u_j \geq 0, \lambda_j &\geq 0
\end{aligned} \quad &\forall j
\end{align*}
将式中的~$u_j - \lambda_j$~替换为~$\theta_j$, 显然新的对偶变量~$\theta_j$~的符号没有限制.
\end{solution}
\section{交通分配的数学规划模型}
本章的第~1~节给出了~Wardrop~原理的数学规划模型; 第~2, 3~节根据上一章的预备知识证明了
该模型的正确性, 并讨论解的唯一性需要满足的条件. 第~4, 5~节介绍了系统最优原理的数学
规划模型, 以及它与用户均衡配流的关系. 本章的习题要求读者运用非线性规划理论解释交通
分配问题, 引导读者探究借助~Kuhn-Tucker~条件转换~Wardrop~原理的精巧之处.
\begin{exercise}
考虑图~\ref{fig:p3-1}~中的网络. 它包含了两个~O--D~对~(1 $\rightarrow$ 4~和~2 $\rightarrow$ 4)
和五条路段~(路段的编号标在各路段上). 将各路径编号并且指出每条路径的走向. 写出这个网络
的路径--路段关联矩阵. 使用这个矩阵由~$\mathbf f$~得出~$x_3$.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/p3-1-0};
\caption{习题~3.1~图}
\label{fig:p3-1}
\end{center}
\end{figure}
\end{exercise}
\begin{solution}
各路径的编号如下~:\\
路径~1: \circlednum{1} $\xrightarrow{4}$ \circlednum{4}\\
路径~2: \circlednum{1} $\xrightarrow{1}$ \circlednum{3} $\xrightarrow{3}$ \circlednum{4}\\
路径~3: \circlednum{2} $\xrightarrow{2}$ \circlednum{3} $\xrightarrow{3}$ \circlednum{4}\\
路径~4: \circlednum{2} $\xrightarrow{5}$ \circlednum{4}\\
于是~$\mathbf f = (f_1, f_2, f_3, f_4)$, 可以得到如下路段--路径关联矩阵
$$ \bordermatrix{%
& 1 & 2 & 3 & 4 \cr
1 & 0 & 1 & 0 & 0 \cr
2 & 0 & 0 & 1 & 0 \cr
3 & 0 & 1 & 1 & 0 \cr
4 & 1 & 0 & 0 & 0 \cr
5 & 0 & 0 & 0 & 1
} $$
第~3~条路段上的流量为
$$ x_3 = \mathbf f \cdot (0, 1, 1, 0)^T = f_2 + f_4 $$
\end{solution}
\begin{exercise}
通过设置等价极小值问题和使用拉格朗日乘数法来求解图~\ref{fig:p3-2}~所示网络
\footnote{此图在原书的~62~页, O--D~对间的交通需求为~5, 两个路段的服务水平函数分别为~
$t_1 = 2 + x_1, t_2 = 1 + 2x_2$.}.
解释取得最优解时拉格朗日乘数的意义.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/p3-2-0}
\caption{习题~3.2~图}
\label{fig:p3-2}
\end{center}
\end{figure}
\end{exercise}
\begin{solution}
对应的等价极小值问题为
\begin{gather*}
\min \int_0^{x_1} t_1(w)dw + \int_0^{x_2} t_2(w)dw\\
\begin{aligned}
s.t \quad x_1 + x_2 &= 5\\
x_1, x_2 &\geq 0
\end{aligned}
\end{gather*}
对应的拉格朗日函数为
$$ L(\mathbf x_1, x_2, u) = \int_0^{x_1} t_1(w)dw + \int_0^{x_2} t_2(x)dw + u(q - x_1 - x_2) $$
达到最优解时满足如下条件\footnote{通过~Kuhn-Tucker~条件求解函数极值的标准步骤是~:\\
1) 确定函数的最大值或最小值存在~(Weierstrass 定理),\\
2) 判别约束条件是否满足要求~(Constraint Qualitication),\\
3) 求解~Kuhn-Tucker~方程组, \\
4) 确定最优解.\\
由于等价数学规划的性质~(目标函数为凸和线性的约束条件), 解集中所有的求解过程略去步骤~1, 2~
(不影响结果的正确性). 这样做的理由请参阅~\cite{bertsekas99, sundaram96}.}
$$ \left\{
\begin{aligned}
\partialfrac{L}{x_1} &= 2 + x_1 - u = 0\\
\partialfrac{L}{x_2} &= 1 + 2x_2 - u = 0\\
\partialfrac{L}{u} &= 5 - x_1 -x_2 = 0
\end{aligned}
\right.$$
解得~$ x_1 = 3, x_2 = 2, u = 5$. 所以在最优解处, 拉格朗日乘数~$u$~等于每个路段当前的
服务水平, 也就是再增加一个单位的交通流所产生的行驶时间.
\end{solution}
\begin{exercise}
求解图~\ref{fig:p3-3}~中交通网络的用户均衡配流, 以及行驶时间, 其中
\begin{align*}
t_1 &= 2 + x_1^2\\
t_2 &= 3 + x_2\\
t_3 &= 1 + 2x_3^2\\
t_4 &= 2 + 4x_4
\end{align*}
(路段编号标注在各路段之上). 节点~1, 3~间有~4~单位的交通流量.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/p3-3-0}
\caption{习题~3.3~图}
\label{fig:p3-3}
\end{center}
\end{figure}
\end{exercise}
\begin{solution}
对应的等价极小值问题为
\begin{gather*}
\min \sum_{i = 1}^4 \int_0^{x_i} t_i(w)dw\\
\begin{aligned}
s.t \quad &x_1 + x_2 = 4\\
&x_3 + x_4 = 4\\
&x_1, x_2, x_3, x_4 \geq 0
\end{aligned}
\end{gather*}
最优解应当满足如下方程组
$$ \left\{
\begin{aligned}
x_1(2 + x_1^2 - u_1) &= 0\\
x_2(3 + x_2 - u_1) &= 0\\
x_3(1 + 2x_3^2 - u_2) &= 0\\
x_4(2 + 4x_4 - u_2) &= 0\\
x_1 + x_2 &= 4\\
x_3 + x_4 &= 4\\
\end{aligned}
\right. $$
上述方程的解需要满足如下不等式组
$$ \left\{
\begin{aligned}
2 + x_1^2 - u_1 &\geq 0\\
3 + x_2 - u_1 &\geq 0\\
1 + 2x_3^2 - u_2 &\geq 0\\
2 + 4x_4 - u_2 &\geq 0\\
x_1, x_2, x_3, x_4 &\geq 0
\end{aligned}
\right. $$
满足上述条件的有多组解, 通过代入目标函数比较大小, 求得最优解
\footnote{这里给出的答案是习题解答集作者借助~Maple~的非线性方程求解功能得到的.}
\begin{gather*}
x_1 = 1.791287847, x_2 = 2.208712153\\
x_3 = 2.082207001, x_4 = 1.917792999\\
u_1 = 5.208712153, u_2 = 9.671171996
\end{gather*}
各路段的服务水平近似为
$$ t_1 = 5.2087, t_2 = 5.2087, t_3 = 9.6712, t_4 = 9.6712 $$
此时从节点~1~到节点~3~的行驶时间为~14.8799~个单位.
\par 本题为了计算上的简便, 没有使用原书中的关于路径流量的公式~[3.16]~进行计算\footnote{%
原书中的公式~[3.16]
\begin{align*}
f_k^{rs}(c_k^{rs} - u_{rs}) &= 0 \quad \forall k, r, s\\
c_k^{rs} - u_{rs} &\geq 0 \quad \forall k, r, s\\
\sum_k f_k^{rs} &= q \quad \forall k, r\\
f_k^rs &\geq 0 \quad \forall k, r, s
\end{align*}},
而是使用关于路段流量的方程组来求得最优解\footnote{实际上这是两种不同的网络表达形式,
有的文献称它们为~node--link~和~link-route. 感兴趣的读者可以参阅~\cite{patrksson94}
中的~2.2.2~小节以及经典教材~\cite{ahuja93}, 必须承认习题解答集作者对这个问题只是一知半解.}.
但是本题的计算量仍然很大, 方程组中前~4~个方程的求解需要试举~16~种不同的情况.
一般的, 如果交通网络中有~n~条路段, 可能需要进行~$2^n$~试举, 显然这样做的效率
是极低的, 所以高效的求解算法势在必行.
\end{solution}
\begin{exercise}
求解如图~\ref{fig:p3-4}~所示交通网络的均衡交通分配
\footnote{此图在原书的~68~页, 各路段的服务水平函数分别为
$$t_1 = 1,\;t_2 = 2,\;t_3 = 2 + x_3,\;t_4 = 1 + 2x_4,\;t_5 = 1$$
O--D~对间的交通需求分别为~$q_{15} = 2, q_{25} = 3$.}.
写出用户均衡的等价数学规划, 并且求解其一阶条件.
\begin{figure}[ht]
\begin{center}
\includegraphics{fig/p3-4-0}
\caption{习题~3.4~图}
\label{fig:p3-4}
\end{center}
\end{figure}
\end{exercise}
\begin{solution}
写出等价的极小值问题
\begin{gather*}
\min \sum_i \int_0^{x_i} t_i(w)dw\\
s.t \quad x_1 = 2,\;x_2 = 3,\;x_3 + x_4 = 5,\;x_5 = 5\\
x_1, \ldots x_5, \geq 0
\end{gather*}
达到极小值时路段流量应该满足如下方程组
$$ \left\{
\begin{aligned}
x_1(1 - u_1) &= 0\\
x_2(2 - u_2) &= 0\\
x_3(2 + x_3 - u_3) &= 0\\
x_4(1 + 2x_4 - u_3) &= 0\\
x_5(1 - u_4) &= 0\\
x_1 = 2\quad x_2 &= 3\\
x_3 + x_4 = 5\quad x_5 &= 5
\end{aligned}
\right. $$
解得~$x_1 = 2, x_2 = 3, x_3 = 2, x_4 = 3, x_5 = 5$. 细心的读者可以发现本题中
节点~3~到节点~4~的一段网络是习题~3.2~的翻版.
\end{solution}
\begin{exercise}
\begin{compactenum}[(a)]
\item 将如图~\ref{fig:p3-4}~所示网络对应的用户均衡目标函数的~Hessian~矩阵用路径
流量表示出来. 确定这个矩阵是非正定的.
\item 证实用路径流量表示的用户均衡目标函数的~Hessian~矩阵, 在通常情况下不是正定
矩阵. 对于何种类型的交通网络这个~Hessian~矩阵是正定的?
\end{compactenum}
\end{exercise}
\begin{solution}
(a) 目标函数的二阶偏导数有如下形式
$$ \frac{\partial^2 z(\mathbf f)}{\partial f_m^{ab} \partial f_n^{cd}}
= \ldots + \frac{t_i(x_i)}{dx_i} + \ldots$$
上式等号右边的是一些路段服务水平函数的导函数, 经过一些尝试可以发现~: 如若导函数
~$\frac{t_i(x_i)}{dx_i}$~在式中出现, 那么路段~i~必是路径~$f_m^{ab}$~和路径~$f_n^{cd}$
都经过的. 根据这一规律足以给出本小题的解答
$$ \nabla^2 z(\mathbf f) =
\begin{pmatrix}
1 & 0 & 1 & 1\\
0 & 2 & 0 & 2\\
1 & 0 & 1 & 1\\
1 & 2 & 1 & 3
\end{pmatrix} $$
上述~Hessian~矩阵的行列式的值为零, 显然不是正定矩阵.
\par (b) 回答第~2~小问必须知道~Hessian~矩阵的闭合形式, 实际上是将它写做一些矩阵
运算的结果. 再结合第~1~小问中得到的规律, 不难发现
$$ \nabla^ 2 z(\mathbf f) = \Delta^T \cdot diag\left[\frac{t_1(x_1)}{dx_1}, \frac{t_2(x_2)}{dx_2},
\ldots, \frac{t_n(x_n)}{dx_n}\right] \cdot \Delta$$
其中~$\Delta$~为路段--路径关联矩阵, ~$diag[\ldots]$~是由导函数组成的对角矩阵.
\par 现在要讨论的是~: 在什么情况下目标函数的~Hessian~矩阵是正定的. 根据正定矩阵的定义,
如果~$\nabla^2 z(\mathbf f)$~是正定矩阵, 那么有
$$ \mathbf y^T \cdot \nabla^2 z(\mathbf f) \cdot \mathbf y > 0\quad \forall \mathbf y$$
即 $$ (\Delta \cdot \mathbf y)^T \cdot diag\left[\frac{t_1(x_1)}{dx_1}, \frac{t_2(x_2)}{dx_2},
\ldots, \frac{t_n(x_n)}{dx_n}\right] \cdot (\Delta \cdot \mathbf y) > 0 \quad \forall \mathbf y$$
如果各路段的服务水平函数均单调递增, 则对角矩阵~$diag\left[\frac{t_1(x_1)}{dx_1}, \frac{t_2(x_2)}{dx_2},
\ldots, \frac{t_n(x_n)}{dx_n}\right]$~为正定矩阵, 于是上面的不等式成立.
\end{solution}
\begin{exercise}
证明一个单调增函数的积分函数是凸函数.
\end{exercise}
\begin{solution}
我们只需证明该积分函数的二阶导数为正, 即证明原函数的导函数为正, 而题设中已知
原函数单调递增, 那么该积分函数是凸函数无疑.
\end{solution}
\begin{exercise}
求解如图~\ref{fig:p3-2}~所示网络的系统最优配流. 将该交通流形态与用户均衡配流的
交通流形态进行比较, 并且解释他们的差异.
\end{exercise}
\begin{solution}
系统最优配流的数学规划为
\begin{gather*}
\min t_1(x_1) x_1 + t_2(x_2) x_2\\
\begin{aligned}
s.t. \quad x_1 + x_2 &= 5\\
x_1, x_2 &\geq 0
\end{aligned}
\end{gather*}
对应的拉格朗日函数为
$$ L(x_1, x_2, u) = (2+x_1)x_1 + (1 + 2x_2)x_2 + u(5 - x_1 - x_2) $$
达到最优解时满足如下条件
$$ \left\{
\begin{aligned}
\partialfrac{L}{x_1} = 2 + 2x_1 - u &= 0\\
\partialfrac{L}{x_2} = 1 + 4x_2 - u &= 0\\
\partialfrac{L}{u} = 5 - x_1 - x_2 &= 0
\end{aligned}
\right. $$
解得~$x_1 = \frac{19}{6}, x_2 = \frac{11}{6}$, 习题~3.2~交通分配情况为~$x_1 = 3, x_2 = 2$.
对比用户均衡配流, 在系统最优配流中, 路段~1~的流量增加了~$\frac{1}{6}$~个单位.
\end{solution}
\begin{exercise}
求解习题~3.3~中交通网络的系统最优配流. 将它和用户均衡配流的结果进行比较.
\end{exercise}
\begin{solution}
系统最优配流的数学规划为
\begin{gather*}
\min \sum_{i = 1}^4 t_i(x_i)x_i\\
\begin{aligned}