gs.m

 M ファイル adip.m で定義された,アーム型倒立振子の LPV モデル
  
を考える.ただし,
  
の変動範囲をぞれぞれ
  
とする.このとき,LPV モデルを安定化し,しかも,有界条件
  
を満足するゲインスケジューリング (GS: Gain Scheduling) コントローラ
  
を設計する.ただし,
  
である.
 この設計問題の可解条件は,連立 PDLMI
  
を満足する
  
が存在することである.ただし, を満足する正方行列である.このとき,有界条件を満足する GS コントローラは,
  
で与えられる.
 PDLMI の解を求めるため,
  
という形式に限定すると,
  
となる.このとき,PDLMI は,
  
に関する多項式型の PDLMI
  
となる.ただし, は決定変数
  
の要素であり,また,
  
である.したがって,有限個の LMI
  
を満足する解
  
を得ることができれば,これらは,PDLMI を満足させることができる.

 M ファイル gs.m では,重み
  
と変動範囲の上限値
  
を与え,有限個の LMI の解が存在する範囲で線形目的関数 を最小化する凸最適化問題を解いている.

実行結果

>> gs

SeDuMi 1.3 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.
Alg = 2: xz-corrector, theta = 0.250, beta = 0.500
eqs m = 29, order n = 97, dim = 809, blocks = 13
nnz(A) = 748 + 0, nnz(ADA) = 825, nnz(L) = 427
 it :     b*y       gap    delta  rate   t/tP*  t/tD*   feas cg cg  prec
  0 :            3.23E+003 0.000
  1 : -1.35E+000 1.11E+003 0.000 0.3437 0.9000 0.9000   3.09  1  1  2.5E+002
  2 : -3.08E+000 4.85E+002 0.000 0.4362 0.9000 0.9000   0.84  1  1  1.4E+002
  3 : -5.23E+000 2.44E+002 0.000 0.5032 0.9000 0.9000   0.57  1  1  9.1E+001
  4 : -7.64E+000 1.25E+002 0.000 0.5106 0.9000 0.9000   0.41  1  1  6.1E+001
  5 : -9.87E+000 7.31E+001 0.000 0.5872 0.9000 0.9000   0.27  1  1  4.7E+001
  6 : -1.30E+001 4.04E+001 0.000 0.5523 0.9000 0.9000   0.19  1  1  3.6E+001
  7 : -1.65E+001 2.27E+001 0.000 0.5632 0.9000 0.9000   0.14  1  1  2.7E+001
  8 : -2.01E+001 1.35E+001 0.000 0.5933 0.9000 0.9000   0.09  1  1  2.2E+001
  9 : -2.48E+001 7.72E+000 0.000 0.5722 0.9000 0.9000   0.07  1  1  1.7E+001
 10 : -2.97E+001 4.58E+000 0.000 0.5928 0.9000 0.9000   0.07  1  1  1.4E+001
 11 : -3.55E+001 2.72E+000 0.000 0.5934 0.9000 0.9000   0.07  1  1  1.1E+001
 12 : -4.17E+001 1.67E+000 0.000 0.6132 0.9000 0.9000   0.09  1  1  9.1E+000
 13 : -4.89E+001 1.02E+000 0.000 0.6151 0.9000 0.9000   0.11  1  1  7.3E+000
 14 : -5.67E+001 6.43E-001 0.000 0.6280 0.9000 0.9000   0.14  1  1  6.0E+000
 15 : -6.55E+001 4.04E-001 0.000 0.6281 0.9000 0.9000   0.17  1  1  4.8E+000
 16 : -7.48E+001 2.58E-001 0.000 0.6374 0.9000 0.9000   0.21  1  1  3.9E+000
 17 : -8.52E+001 1.64E-001 0.000 0.6360 0.9000 0.9000   0.25  1  1  3.1E+000
 18 : -9.61E+001 1.05E-001 0.000 0.6402 0.9000 0.9000   0.30  1  1  2.5E+000
 19 : -1.08E+002 6.69E-002 0.000 0.6375 0.9000 0.9000   0.34  1  1  2.0E+000
 20 : -1.19E+002 4.26E-002 0.000 0.6377 0.9000 0.9000   0.39  1  1  1.5E+000
 21 : -1.31E+002 2.70E-002 0.000 0.6340 0.9000 0.9000   0.44  1  1  1.2E+000
 22 : -1.43E+002 1.70E-002 0.000 0.6301 0.9000 0.9000   0.50  1  1  8.7E-001
 23 : -1.54E+002 1.06E-002 0.000 0.6228 0.9000 0.9000   0.56  1  1  6.3E-001
 24 : -1.64E+002 6.49E-003 0.000 0.6118 0.9000 0.9000   0.63  1  1  4.4E-001
 25 : -1.73E+002 3.86E-003 0.000 0.5941 0.9000 0.9000   0.70  1  1  2.9E-001
 26 : -1.80E+002 2.18E-003 0.000 0.5665 0.9000 0.9000   0.77  1  2  1.8E-001
 27 : -1.86E+002 1.14E-003 0.000 0.5236 0.9000 0.9000   0.84  1  4  1.0E-001
 28 : -1.90E+002 5.33E-004 0.000 0.4660 0.9000 0.9000   0.89  1  2  5.0E-002
 29 : -1.92E+002 1.98E-004 0.000 0.3708 0.9000 0.9000   0.94  2  2  1.9E-002
 30 : -1.93E+002 5.26E-005 0.000 0.2663 0.9000 0.9000   0.96  4  4  5.2E-003
 31 : -1.94E+002 2.39E-005 0.000 0.4536 0.9000 0.9000   0.92  1 13  2.4E-003
 32 : -1.94E+002 6.69E-006 0.000 0.2805 0.9000 0.9000   0.92  7  7  7.0E-004
 33 : -1.94E+002 1.66E-006 0.000 0.2485 0.9000 0.9000   0.93  7  7  1.8E-004
 34 : -1.94E+002 5.96E-008 0.000 0.0358 0.9900 0.9900   0.99  8  8  6.5E-006
Run into numerical problems.

iter seconds digits       c*x               b*y
 34      1.7   7.4 -1.9388153490e+002 -1.9388152726e+002
|Ax-b| =  7.8e-006, [Ay-c]_+ =  1.4E-008, |x|= 3.8e+004, |y|= 3.7e+002

Detailed timing (sec)
   Pre          IPM          Post
3.600E-002    1.168E+000    2.997E-003    
Max-norms: ||b||=1, ||c|| = 2,
Cholesky |add|=1, |skip| = 2, ||L.L|| = 36015.8.
sol = 
    yalmiptime: 0.2490
    solvertime: 1.2080
          info: 'Numerical problems (SeDuMi-1.3)'
       problem: 4
        dimacs: [3.9129e-006 0 0 7.1465e-009 -1.9652e-008 5.1702e-007]
gamma_opt =
  193.8815
X_0_opt =
    0.9762   -0.0725   -3.4455    1.1987
   -0.0725    4.5524    0.1786  -28.5313
   -3.4455    0.1786   27.7755  -11.8733
    1.1987  -28.5313  -11.8733  183.9239
X_1_opt =
   -0.1513    0.1405    1.4518   -1.5499
    0.1405   -6.2658   -0.2912   39.2640
    1.4518   -0.2912  -20.8204   14.9295
   -1.5499   39.2640   14.9295 -253.9216
F_0_opt =
   -1.3316    0.2786    6.4606   -3.2162
F_1_opt =
    0.5816   -0.1166   -8.3415    5.9812
pres =
  7.5017e-003
  6.1021e-004
 -6.1715e-009
  8.7407e-008
 -2.7577e-009
  1.8727e-008
  3.5027e-008
  4.1861e-008
  2.7232e-010
 -8.6368e-009
  2.3438e-003
 -1.4293e-008
    
前のページ (kawata_ebihara.zip) に戻る