数学建模社区-数学中国

标题: 学了LINGO才2天别笑我写的东西,求助接口指针写法。 [打印本页]

作者: cqwj    时间: 2010-4-15 23:52
标题: 学了LINGO才2天别笑我写的东西,求助接口指针写法。
本帖最后由 cqwj 于 2010-4-18 13:47 编辑
0 a, T' B% p) L6 ^& \3 ^. V9 v, O
$ P3 t; K5 }( {指针处怎么写??6 E) y0 R4 i$ g7 b6 C
我的意思就是说@pointer在模型里面怎么定义?如@pointer(1)=??或 ??=@pointer(1)
: c! ~; |/ k& X: ~3 _* N4 r  X表示什么意思。我个人理解@pointer(1)=??表示把数模变量的值??装进@pointer(1)这个储存单元,外部程序程序可调用此储存单元数据。??=@pointer(1)表示外部数据值??通过DLL传来的数据放进数模变量,这样理解对吗?
6 ^6 J9 d  E: f1 ]4 Y) [5 K6 l:) sets:
' ~! ^! t  X5 S9 ~xinxi:cl190,cl160,cl270,gzsj,sl190,sl160,sl270,sj190,sj160,sj270,k,zys,x,y,z;
  t" @  }) m( R: Jendsets
* j8 O0 n* L( Q& \# G& xdata:1 q4 s/ o( F: {6 {  f) v: n
xinxi,cl190,cl160,cl270,gzsj,sl190,sl160,sl270,sj190,sj160,sj270,k= @file("li_yong.txt"): y; D9 ^3 q- X. w" b& D! e
@TEXT()=@status();
& z  x0 V$ l  L+ K% {$ \/ g+ l, Kenddata' q7 T9 X0 ]% o7 W
[bb] min=@sum(xinxi:sj190*x+sj160*y+sj270*z);  B& ^0 y8 p2 O$ I3 Z7 @* s: q, X
@for(xinxi(i):sj190(i)*x(i)+sj160(i)*y(i)+sj270(i)*z(i)<=12);
7 y% T0 W4 [* X0 v@for(xinxi(i):sj190(i)*x(i)+sj160(i)*y(i)+sj270(i)*z(i)>=0);" d" R$ _! P% i# G9 ]0 s
@sum(xinxi:x)=sr190;) A( c& i$ N# ?8 K, D/ s& L
@sum(xinxi:y)=sr160;& _4 W) z  u0 u* o1 D2 {
@sum(xinxi:z)=sr270;
+ q2 N3 V1 q9 G" J6 B@sum(xinxi:x)>=0;
: T( Y" i- U2 m# \. @% a@sum(xinxi:y)>=0;. `: _9 K7 y- K! t" j$ N. X% M( i3 j1 f" U1 t
@sum(xinxi:z)>=0;: r1 Q6 x, I+ a$ R; B9 i
@for(xinxi(i):x(i)<=cl190(i)*sl190(i));/ L: J* D. M$ M& w- D  a3 S
@for(xinxi(i):x(i)>=0);6 M3 D% l* _- p$ L- i$ ?: |% m6 a
@for(xinxi(i):y(i)<=cl160(i)*sl160(i));
( K$ c; j7 a0 r  |@for(xinxi(i):y(i)>=0);
3 A/ U( H/ v' f6 h' W@for(xinxi(i):z(i)<=cl270(i)*sl270(i));* c2 ~; U7 U' u
@for(xinxi(i):z(i)>=0);
& ?* [: v8 z6 H6 ^* |@for(xinxi(i):@gin(x(i)));
) Q3 J! h  S1 g  h! T6 c6 G@for(xinxi(i):@gin(y(i)));
* y% d" D# c6 y4 o% q* ?! m@for(xinxi(i):@gin(z(i)));
' N, B) ^# p6 Y. q' z- \( U* Cmm=@sum(xinxi:k);5 f! ]! C" v$ f% I( m8 C! n* n/ m
xx=@sum(xinxi:sj190*x+sj160*y+sj270*z)/mm;
  c; J9 P" X" O# d3 k
& P* `. \. [, L, }1 ^$ s: M@for(xinxi(i):zys(i)=sj190(i)*x(i)+sj160(i)*y(i)+sj270(i)*z(i));+ v) K; p6 u* U$ T! k
DATA:5 }" n: P7 P2 Y8 o
    @POINTER) ~' M; s# j( |( ^9 v
+ J6 o) Y! Y/ {. P, b: m
!此处结果想连接VB6.0,却不知道怎么写;0 m; J% R1 n# c, ^
ENDDATA+ u: j+ w2 ^' W
6 e+ y% Y" B0 c& |- |; A
end
9 o0 c4 V; z; j6 }- _) b0 I结果为 主要是想取 X,Y,Z的结果
+ \2 x! s! k: ^8 k! T' R2 v7 FGlobal optimal solution found.
- g! R' A) T- m   Objective value:                              0.0000004 v9 {& V+ R( n$ |  f
   Extended solver steps:                               05 N, c9 G6 ?5 Q$ s4 m3 c
   Total solver iterations:                             0
4 _* q( U. I1 @. c1 w0 t+ F4 B! _& b. y' J6 ?, c& l
; Q6 ^, l4 f* u& J
                0
5 I' Y7 d: ^' J; S
& S  P2 ~6 F: r                       Variable           Value        Reduced Cost, G( _& Y3 L" I2 T' x0 ^
                          SR190        0.000000            0.0000008 C2 t  y7 e/ W# l: G+ T% G
                          SR160        0.000000            0.000000
2 R( [- {) f& K3 X" b4 t                          SR270        0.000000            0.000000
5 a9 j! e9 t/ l0 y                             MM        2.000000            0.000000
3 X1 Z$ U5 M6 q4 J6 d                             XX        0.000000            0.0000008 U! s6 [) C$ `. A4 W6 L% b
                  CL190( ZHANG)        35.00000            0.000000
+ I; a8 j  D+ S$ E4 r, `2 |                     CL190( LI)        35.00000            0.000000
* }3 W2 @/ [- h& k: m: a                  CL160( ZHANG)        30.00000            0.000000
1 e: e: h. v; F                     CL160( LI)        30.00000            0.0000003 P9 h: T5 q+ D( A
                  CL270( ZHANG)        5.000000            0.000000
  U3 o. L$ [  G9 k: w                     CL270( LI)        5.000000            0.0000007 q; _* ~- s9 H4 |  `5 E7 y" c' F
                   GZSJ( ZHANG)        12.00000            0.000000* C6 W, ?# s; D& A) W2 ?/ f
                      GZSJ( LI)        12.00000            0.0000000 N% U6 x  m6 X; e& X# e
                  SL190( ZHANG)       0.9000000            0.0000009 S! M5 b( X; {! g2 O" r, A
                     SL190( LI)       0.8000000            0.000000( u8 l6 C4 S6 T  ~3 t. Z7 a
                  SL160( ZHANG)       0.9000000            0.000000- x6 H" q2 P7 x2 n7 l6 b; a5 a) w
                     SL160( LI)       0.9000000            0.000000
% v9 d0 c9 L! m% N( @5 y                  SL270( ZHANG)       0.8000000            0.000000
$ T0 x% U* }- J2 g5 g: W) ~' }$ `                     SL270( LI)       0.6000000            0.000000
% D9 |; \( b" T; k                  SJ190( ZHANG)       0.3770000            0.000000
) G2 F9 m4 @2 A6 I/ m                     SJ190( LI)       0.4120000            0.000000
3 C6 R- L5 O4 \                  SJ160( ZHANG)       0.4400000            0.000000
* s# J# o" r0 B2 S4 E                     SJ160( LI)       0.4400000            0.0000000 r# ], E& ]/ A( N! g; Q  m4 K5 _
                  SJ270( ZHANG)        2.880000            0.000000
) v4 N# y1 y+ {: k                     SJ270( LI)        3.360000            0.000000
0 J. F% M$ L( ~2 M) ~* k2 a/ L& L                      K( ZHANG)        1.000000            0.0000002 r' L5 J6 `1 T- X7 y
                         K( LI)        1.000000            0.000000# R0 x0 @. m9 u
                    ZYS( ZHANG)        0.000000            0.000000# S3 y5 i: x9 I# ^8 s8 I
                       ZYS( LI)        0.000000            0.000000
, l' p7 d* |: G' A) f5 U                      X( ZHANG)        0.000000           0.3770000& f# N3 Z6 r/ H3 _9 r
                         X( LI)        0.000000           0.4120000' |. A" s- F: E5 i# w2 h( q
                      Y( ZHANG)        0.000000           0.4400000& M7 g. J5 t, D$ \- Q  }* e
                         Y( LI)        0.000000           0.44000007 `& R/ [! ?4 Y% {' m2 m6 D
                      Z( ZHANG)        0.000000            2.880000: w* H4 u) g& I( K  f
                         Z( LI)        0.000000            3.360000* _" f. }) k" `& Z+ }( d4 S& I
1 v6 U# M- Y# K: v( Y( r& n8 B) P
                            Row    Slack or Surplus      Dual Price
! Q  u( Y( o% |1 X. K+ b                             BB        0.000000           -1.0000005 O6 J1 y1 i4 Y" k( d
                              2        12.00000            0.000000+ V( S+ `8 T2 k% n
                              3        12.00000            0.000000& K* [& n2 Q# y% t/ f5 y8 N
                              4        0.000000            0.000000
- l" z; m. f, q' J                              5        0.000000            0.000000
; ^1 S, A$ u  \7 X, F4 E                              6        0.000000            0.0000005 r; c7 N8 d$ i, l2 z& j) T
                              7        0.000000            0.000000
8 Y: r; \1 D8 ^                              8        0.000000            0.000000
  x8 f) c; c* I2 E5 _2 Q9 s, `+ B                              9        0.000000            0.0000000 ]4 [+ j. O( P+ b
                             10        0.000000            0.0000009 C0 q- P5 I  i$ @: K
                             11        0.000000            0.000000+ ^! C9 l; i$ f/ I* v. e, F$ ]
                             12        31.50000            0.000000
: [( F; V3 Y  Z+ p6 l: @                             13        28.00000            0.000000
9 x- _1 H' b8 M- I# M& p                             14        0.000000            0.000000
8 h- T& w" c+ Y3 N: ]                             15        0.000000            0.000000
  u" P8 B: @5 {1 U) B: D6 a4 d                             16        27.00000            0.000000
- h+ d( n/ U* _# d% {5 H                             17        27.00000            0.0000009 P  K* G  b& g
                             18        0.000000            0.0000006 Q/ F0 }4 `  T# l, O" c# \8 z0 G
                             19        0.000000            0.0000004 ~' P  Q4 K. h# m2 {- U6 c9 d1 e
                             20        4.000000            0.000000
% i0 I& e. i0 @# n# J                             21        3.000000            0.000000
( j& D' E' Y7 h& N                             22        0.000000            0.000000
4 q2 E1 H1 |3 n* R                             23        0.000000            0.000000
  v7 z% V# z. o" U                             24        0.000000            0.000000  A" D7 `( p- m' k
                             25        0.000000            0.000000) l( y8 |# {& z; I  k- h. Q/ B
                             26        0.000000            0.000000  Q* S% v: J# Z/ t$ I1 `
                             27        0.000000            0.000000
作者: olh2008    时间: 2010-4-16 07:49
VB中调用Lingo使用DLL就行了
作者: olh2008    时间: 2010-4-16 07:50
这是一个例子,可以参考一下。
4 i  G6 L7 R) W: \: d' r; R Staff1.rar (8.2 KB, 下载次数: 6)
作者: cqwj    时间: 2010-4-16 11:56
回复 3# olh2008 - U1 ?7 v! z0 S* {

8 i" {9 P8 [) H0 D& ?
, W' S) T, ^3 `' W/ x  L' x    你发的附件不对,再说我也有这个例程,只是不清楚指针这么写到数模里才好调用。
作者: olh2008    时间: 2010-4-16 11:59
指针怎么写到数模里
4 i0 Z- h; s" \. ?& V
这是什么意思?
作者: legan    时间: 2010-4-16 12:07
谁会LINGO与C++的混合编程啊,我想用C++的循环调用LINGO编的程序进行复杂的优化类问题计算
作者: funintears    时间: 2010-4-16 12:18
lingo可以和c++混合编程呀?!厉害,牛人指导下呀!!!
作者: haoshuang3394    时间: 2010-4-16 19:28
lingo怎么用啊,看着代码挺怪的?
作者: 风云雨哲    时间: 2010-4-16 20:04
请教高手Lingo的使用。请教高手Lingo的使用。
作者: cqwj    时间: 2010-4-16 22:16
LINGO的代码很简单,相当于命令格式,但是要灵活运用的话也不简单。
作者: cqwj    时间: 2010-4-16 22:17
年龄18岁以下的同学最好不用,会有依赖感
作者: madio    时间: 2010-4-16 22:53
要想用C++调用lingo需要了lingo的命令行使用方法,C++采用调用外部程序的方法也可以调用lingo。可以看lingo的帮助文档。例如:4 e# U2 l* ~# A
Solution Commands in Brief
! E7 f% h6 d; \  W/ G2 q Top  Previous  Next  
( u- p% \, x0 P9 W3 @6 HDEBUG
+ V- `* v' g, f$ p7 u tracks down formulation errors in infeasible and unbounded models
' L3 C$ K) ?7 p+ D
$ M: w: F' I; L$ G5 qGO 2 @2 d6 P, D1 E. b) V! T
solves the current model
% Y5 L6 A& G7 P2 i  L + W1 _8 Q( P- Z  U( }: f( ~. D* m
NONZ 4 Q& j( D( z& d- B' i0 j
generates a nonzeros only solution report
# G1 b! U8 j6 ?6 G+ [9 L ( b, d4 E. K* Y( o5 O
RANGE
% [: i( x% c- ? generates a range analysis report4 L' _+ P9 {$ B

& _. U9 |/ r( S* Z; F- C5 N( ySOLU ; x: W4 K% S0 F$ q- \
generates a solution report
作者: fangxuanfxuan    时间: 2010-4-17 21:55
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: cqwj    时间: 2010-4-18 13:50
这是命令行语句,@pointer怎么用还是不清楚。。。。期待中。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5