/[ascend]/trunk/solvers/conopt/conopttest.a4c
ViewVC logotype

Annotation of /trunk/solvers/conopt/conopttest.a4c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 791 - (hide annotations) (download) (as text)
Thu Jul 27 12:04:19 2006 UTC (17 years, 2 months ago) by johnpye
Original Path: trunk/models/johnpye/testconopt.a4c
File MIME type: text/x-ascend
File size: 1087 byte(s)
Moved 'SearchArchiveLibraryPath' into ascDynaLoad so that it can be shared between
compiler/packages and solver/conopt.

Changed debug messages in ospath.

Fixed conopt to search for consub3 in $LD_LIBRARY_PATH or /usr/lib:/usr/local/lib
by default on Linux (or %PATH% or c:\Program Files\ASCEND on Windows).

Modified definition of testconopt so that some parameters can be varied via the interface.
1 johnpye 786 REQUIRE "atoms.a4l";
2    
3     MODEL testconopt;
4     Profit, Inp, Out IS_A solver_var;
5 johnpye 788 P, L IS_A solver_var;
6 johnpye 786
7 johnpye 788 K IS_A real_constant;
8 johnpye 791 Al, Ak, Ainp, Rho IS_A solver_var;
9 johnpye 786 Pinp, P0, D IS_A real_constant;
10     W, L0, K0 IS_A real_constant;
11    
12 johnpye 788 cesfn: Out = ( Al*L^(-Rho) + Ak*K^(-Rho) + Ainp*Inp^(-Rho) )^(-1/Rho);
13 johnpye 786
14 johnpye 788 demandfn: Out = ( P0 - P ) / D;
15 johnpye 786
16     W :== 1.0;
17     L0 :== 0.1;
18     Pinp :== 1.0;
19 johnpye 791
20 johnpye 786 K0 :== 4.0;
21     P0 :== 2.0;
22     D :== 0.5;
23 johnpye 788 K :== K0;
24 johnpye 786
25 johnpye 788 profitfn: Profit = P*Out - (L-L0)*W - Inp*Pinp;
26     maxprofit: MAXIMIZE Profit;
27 johnpye 786
28     METHODS
29    
30     METHOD default_self;
31 johnpye 789 L := 0.5;
32     Inp := 0.5;
33 johnpye 786 END default_self;
34    
35     METHOD specify;
36 johnpye 791 FIX Al, Ak, Ainp, Rho;
37 johnpye 786 END specify;
38    
39     METHOD values;
40 johnpye 791 Al := 0.16;
41     Ak := 2.00;
42     Ainp := 0.16;
43     Rho := 1.0;
44    
45 johnpye 788 L.lower_bound := L0;
46     P.lower_bound := 0;
47     Out.lower_bound := 0;
48 johnpye 789 Inp.lower_bound := -0.001;
49 johnpye 786 END values;
50    
51     METHOD on_load;
52     RUN default_self;
53     RUN specify;
54     RUN values;
55     END on_load;
56    
57     METHOD self_test;
58 johnpye 788 ASSERT abs(L - 0.295686) < 0.000001;
59     ASSERT abs(Inp - 0.295686) < 0.000001;
60     ASSERT abs(Out - 0.632019) < 0.000001;
61     ASSERT abs(P - 1.683990) < 0.000001;
62 johnpye 786 END self_test;
63    
64     END testconopt;

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22