Re: [Help-glpk] Trojan Horse in Gusek

2011-09-06 Thread Yingjie Lan
Hi Xypron,

Thanks a lot for this information, I downloaded the fciv.exe from microsoft and 
run the check:

C:\Documents and Settings\dell\My Documents\Downloadsfciv gusek_0-2-12.zip
//
// File Checksum Integrity Verifier version 2.05.
//
65227b950b02efd6f42f91238cb60134 gusek_0-2-12.zip

which agrees with the MD5 sum you provided. So it is probably the case that my 
antivirus system is raising a false flag.

Best regards,

Yingjie




From: glpk xypron xypron.g...@gmx.de
To: Yingjie Lan lany...@yahoo.com; help-glpk@gnu.org
Sent: Tuesday, September 6, 2011 1:42 PM
Subject: Re: [Help-glpk] Trojan Horse in Gusek

Hello Yingjie,

thank you for reporting the issue.

I guess you downloaded from Sourceforge.net?

If so, please, address the problem to Sourceforge. Please, indicate
the virus scanner you used.

Sourceforge diffuses software to a lot of different servers which are
not run by Sourceforge. When downloading from Sourceforge a server is
chosen for download. It is possible that one of those servers is
compromised.

After downloading you should check the MD5 and SHA1 checksums
provided on the files tab of the project.

gusek_0-2-12.zip
SHA1:
b46950b4d407950604eeb8b5e535012b21803d09
MD5:
65227b950b02efd6f42f91238cb60134

Microsoft offers a tool File Checksum Integrity Verifier (fciv) for
calculating the check sums.

Trendmicro OfficeScan did not find a Trojan in
http://downloads.sourceforge.net/project/gusek/gusek/0.2.12/gusek_0-2-12.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fgusek%2Fts=1315286544use_mirror=netcologne

Please, observe:
It is also possible that your virus scanner is creating a false
positive result.

Best regards

Xypron

 Original-Nachricht 
 Datum: Mon, 5 Sep 2011 19:21:55 -0700 (PDT)
 Betreff: [Help-glpk] Trojan Horse in Gusek

 Hi,
 
 I just downloaded Gusek 0.2.12, and when I run it, a Trojan horse named
 HEUR/Malware.QVM10.Gen was caught by my antivirus system. The malware was
 found in the GLPSOL.exe file came with Gusek. Any idea?
 
 Yingjie

-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de


___
Help-glpk mailing list
Help-glpk@gnu.org
https://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Trojan Horse in Gusek

2011-09-05 Thread Yingjie Lan
Hi,

I just downloaded Gusek 0.2.12, and when I run it, a Trojan horse named 
HEUR/Malware.QVM10.Gen was caught by my antivirus system. The malware was found 
in the GLPSOL.exe file came with Gusek. Any idea?

Yingjie___
Help-glpk mailing list
Help-glpk@gnu.org
https://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] linear ordering problem again

2010-02-10 Thread Yingjie Lan
  Thanks, I noticed that one, but
 what if I only know an objective
  value, not the actual solution?
 
 If you cannot demonstrate the solution, you cannot assert
 that the
 objective value you know is valid.


Well, if you think about easy of use, while obtain 
the same effects: in one case you need to write some
code that requires a lot more information, 
in another case you just need to give the objective 
value.

  In fact, it seems the solution is not
  of much help for pruning, but just the objective
 value.
 
 In any case you can add an inequality constraint that
 limits the
 objective to a specified value, e.g. for minimization:
 
    c1 x1 + ... + cn xn = obj value

Thanks for the suggestion. 
The same comments above applies here as well.





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] linear ordering problem again

2010-02-09 Thread Yingjie Lan
 If I have a really good heuristic solution, how can I take
 advantage of it with GLPK API (for example, how to use that
 to help with pruning the tree)?
 

Hi Andrew,

I checked with the GLPK source code, but didn't find anything useful in this 
regard. I wonder if we can add another option to the glpsol (and some thing in 
the solver control structure in the API), about specifying an objective value 
to an MIP problem obtained via some heuristics, in the hope to speed it up. 
This kind of option is available to cplex, I think, and it is probably helpful 
in some cases.

Thanks,

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] linear ordering problem again

2010-02-09 Thread Yingjie Lan
 In response to the reason GLP_IHEUR the application program
 can use the
 api routine glp_ios_heur_sol to provide an integer feasible
 solution
 found with a primal heuristic. For details please see the
 glpk reference
 manual.
 

Thanks, I noticed that one, but what if I only know an objective value, not the 
actual solution? In fact, it seems the solution is not of much help for 
pruning, but just the objective value.


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] A question on row generation

2010-01-28 Thread Yingjie Lan
  Branching on variable needs adding no rows; this just
 changes current
  bounds of the branching variable. It is possible to
 branch on constraint
  (for example, on disjunctive or GUB constraint),
 however, currently this
  feature is not used in glpk.
 
 To branch on constraint you may add a free row to the
 current
 subproblem prior to branching (or use some existing row)
 and then
 specify lower and upper bounds of that row for each branch
 in the same
 way as for branching on variable. Then each child
 subproblem will
 inherit that row with corresponding bounds specified.
 

Cool, crystal clear. Thanks!

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Re: API friendliness Re: sensitivity analysis

2010-01-24 Thread Yingjie Lan
  But in GLPK sensitivity analysis, the API would not
  be affected if you allow more complete functionality, 
  just same routines, but with much more convenience.
 
 This would affect the api, because, for example, a
 non-basic variable
 has exactly one active bound to be analyzed while in a
 general case a
 variable may have one or two bounds or even no bounds.

OK, I somehow had a wrong impression that your API routine
would calculate ranges for both lower and upper bounds.
Your choice of API this way is interesting, when
I looked into your code for glp_report_range(), 
it seems you are playing with duality nicely.
But it is probably more fool-proof if your API 
provides a more direct approach? Just like how
you look at the sensitivity report table, where 
API would simply give the information for
any particular row of the table. I don't know,
maybe I am too way off the track.

  The documentation is easier to write and remember, 
  for you don't have to say that the user must first 
  make sure to use basic variables, otherwise the 
  outcome is unpredictable.
 
 Not unpredictable; glp_analyze_bound and glp_analyze_coef
 check the
 row/column status and signal an error if the status is not
 valid.

That's true, as I check with the code. 
It is not in the document. 
I should have checked the code first. 

 
 It seems to me that it is normal for the user to write some
 wrapper
 routines (like sin_degree above) which meet his particular
 needs.
 

Though it is trivial, but still it is ideal if the
routine provides a complete functionality and a fool-proof API
so that you don't even have to worry about the knowledge anymore.
Well, probably that's a little lazy ...

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Modelling Advice Request - Project Tasks

2010-01-23 Thread Yingjie Lan
 
        if (glp_ios_reason(T) == GLP_IROWGEN)
        { 
   remove_inactive(T);
           generate_rows();
        }
 

Thanks, that's nice. I sent you an email another day on the friendliness of 
GLPK API on sensitivity analysis, haven't heard from you. Any reason for not 
including basic variables? But it would be neat if the API routine can deal 
with all cases, be it basic or not. 

Cheers,

Yingjie





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Re: API friendliness Re: sensitivity analysis

2010-01-23 Thread Yingjie Lan
 The interpretation of sensitivity analysis results depends
 on the
 row/column status, so in any case you need to first find
 out its
 status by glp_get_row_stat or glp_get_col_stat, don't you?
 For example,
 changing an active bound affects primal activities while
 changing an
 inactive bound does not.


Sure, that's true. But all you need is just the range.
the range reflects what you said about active bounds.
 
 As to completeness and friendliness, just a question.
 Imagine you have
 a triginometric function library which includes sin, cos,
 tan, etc. for
 angles measured in radians. Is the library incomplete and
 non-friendly,
 because it does not include functions for angles measured
 in grades?
 

There is surely a trade off: on the one hand is the 
inconvenience for the user to adapt the API to their 
needs, on the other hand is the clumsiness of the API,
which clutters up the API for the user. In the case
you provided above, the inconvenience is minimal, as
converting from degrees to radians is easy; but if you
have to do both, you probably need to do something
like this: sin_radian(x), sin_degree(x); Or you could
do sin(x, radian), where radian can be 1 or 0. 
The first is a really bad design, the second is still
not too good, because most of the case in scientific
usage people use radians.

But in GLPK sensitivity analysis, the API would not
be affected if you allow more complete functionality, 
just same routines, but with much more convenience.
The documentation is easier to write and remember, 
for you don't have to say that the user must first 
make sure to use basic variables, otherwise the 
outcome is unpredictable.

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


RE: [Help-glpk] Modelling Advice Request - Project Tasks

2010-01-22 Thread Yingjie Lan
Hi Tawny,

My pleasure, surely enjoyed the problem as well. ;)
Probably should contribute this thing into the example set
that ships with GLPK, and maybe I will also add an exampel
in PyMathProg, once GLPK has it (which means GPL, hehe).

  Big-M: M = 15 - 1 given 15 tasks. 

 param BigM := 100;

Usually too big an M slows down the solver,
it might be good to make it as smaller as you can.

If you really have a huge model, say with 
200 tasks, row generation suggested by others
might be a must, my rough guess.

Cheers,

Yingjie





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Modelling Advice Request - Project Tasks

2010-01-22 Thread Yingjie Lan
 The 'BigM' piece was there in my first
 version as a way of having the solver calculate the
 position[a] data.  I was being lazy.  My later version
 avoided this by computing position in a post-processing step
 after the solver.  This problem doesn't actually need
 BigM at all.

BigM is a lazy method...

 I agree, this would be a nice problem to include
 in the example set.
 Jeff

 I am waiting for Jeff's permission to grab all his example
 models :) 

Sounds like a full permission to me :), thanks Jeff!

Cheers,

Yingjie


   


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Modelling Advice Request - Project Tasks

2010-01-22 Thread Yingjie Lan
 Here is my version of the LOP solver
 based on lazy constraint
 generation; please see the attachment. It is able to solve
 instances
 having up to 100 nodes. The code requires glpk v4.42.

I am really excited about it, now here is a row generation
code example! I looked into the code, and there is a question
concerning this block of code:

void callback(glp_tree *T, void *info)
{ xassert(info == info);
  if (glp_ios_reason(T) == GLP_IROWGEN)
  {  remove_inactive(T);
 if (generate_rows() == 0)
remove_inactive(T);
  }
  return;
}

I don't quite understand the second remove_inactive(T) call:
it seems to me the second remove_inactive(T) won't do anything, 
or am I missing something? Could you explain it a little bit?

Thanks!

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] variable object and deletions

2010-01-21 Thread Yingjie Lan
 Yingjie, 
 Instead of deleting variables, you can fix their
 upper and lower bounds at 0. It will have the same
 effects. 
 

Xiangjun, thanks, that's true. If you need
to remove a constraint, you just set its 
bounds to infinity.





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: Re [Help-glpk] variable object and deletions

2010-01-20 Thread Yingjie Lan
Hi Robbie,

 
 
  Hi,
 
  Suppose you would like to use a variable object (a C
  structure, or C++ class, or Python class, etc) to
  represent a column in GLPK, it is probably natural to
  let the variable object have an integer field called
  'index', which is the index of this variable in the
  GLPK model (the API of GLPK use this index very
  often). But there is a problem: when you delete a
  variable, you must update all this field for all
  variables behind the deleted variable. I am also
 aware
  of another index, which is the name of each variable,
  but it is less efficient (probably OK if doing
  Python). I wonder if there is a more elegant way to
  implement a variable object that would significantly
  brings down the overhead involved with variable
  deletions. Similar problem can be proposed for
  constraints, of course, and I suspect the solution is
  similar too.
 
  Regards,
 
  Yingjie
 
 I assume this is during problem building and prior to
 loading the data into a GLPK problem object?  For
 C++:
 

Yes, the index value is assigned at that time, when
you add the column (variable) into the GLPK model.
The deletion comes from the use case when you are
modifying the model (some customized algorithms 
may need to delete some non-basic variables from
the model). 

 What if you hold your columns in std::listColumn
 rather than std::vectorColumn?  Easier to
 delete
 entries in the way you wish I would think.
 

OK. The position index of the column in the list is
used to make calls to GLPK API routines. When you 
delete one column from your list (where you must
also have deleted the same column from the GLPK model), 
the position of those columns after the deleted column
in the list/model also changed (reduced by 1). How
to efficiently keep track of this index change is 
my problem.

 I haven't got any C++ books here, otherwise I would
 work this up a bit more.
 
 Berryhill will undoubtedly have some good suggestions
 on the design of optimization problem structures:
 
   Berryhill, John B.  2001.  C++ scientific
 programming :
     computational recipes at a higher level John
 Wiley and
     Sons, New York, USA.  ISBN
 0-471-41210-4.
 
 hope this is on the right track

Thanks, Robbie. Will check it out when got a chance.

Yingjie







___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Modelling Advice Request - Project Tasks

2010-01-20 Thread Yingjie Lan
 I solved your enclosed model in 350sec.
 using SCIP (Answer was 5 ) with no special
 settings.

Seems NEOS SCIP can be hooked up to many different solvers (including GLPK), I 
wonder which solver are you using behind SCIP?

 
 * if position[a]  position[b], then before[a,b] = 0
 * if position[a]  position[b], then before[a,b] = 1
 

Big-M: M = 15 - 1 given 15 tasks. 

position[b] - position[a] = M * before[a,b]
position[a] - position[b] = M * before[b,a]
before[a,b]+before[b,a] == 1


 
 /* 
 The project consists of 15 tasks. Completion of any of
 these tasks will save time on other tasks in the project as
 follows:
 
 
 Task 1 savings: 2 hours on task 2: 2 hours on task 4: 1
 hours on task 9
 Task 2 savings: 2 hours on task 1: 3 hours on task 15
 Task 3 savings: 4 hours on task 1: 1 hours on task 5
 Task 4 savings: 1 hours on task 1: 1 hours on task 3: 2
 hours on task 5: 1 hours on task 10
 
 Task 5 savings: 1 hours on task 2: 1 hours on task 10: 1
 hours on task 13: 1 hours on task 14: 1 hours on task 15
 Task 6 savings: 1 hours on task 4: 1 hours on task 8: 2
 hours on task 11: 1 hours on task 15
 Task 7 savings: 2 hours on task 2: 3 hours on task 15
 
 Task 8 savings: 4 hours on task 5: 1 hours on task 11
 Task 9 savings: 1 hours on task 2: 2 hours on task 3: 1
 hours on task 11: 1 hours on task 13
 Task 10 savings: 4 hours on task 11: 1 hours on task 15
 Task 11 savings: 1 hours on task 1: 1 hours on task 3: 1
 hours on task 8: 1 hours on task 10: 1 hours on task 12
 
 Task 12 savings: 3 hours on task 1: 1 hours on task 4: 1
 hours on task 11
 Task 13 savings: 2 hours on task 3: 3 hours on task 12
 Task 14 savings: 1 hours on task 3: 1 hours on task 6: 1
 hours on task 7: 1 hours on task 8: 1 hours on task 12
 
 Task 15 savings: 2 hours on task 6: 2 hours on task 12: 1
 hours on task 13
 */

can reduce the before[,] variables somehow,
create variable pair: before[a,b] and before[b,a]
only if task a, b are related in savings.

Cheers,

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] API friendliness Re: sensitivity analysis

2010-01-18 Thread Yingjie Lan
  Sure, both cases are trivial, I
 am only not sure what the call
  would result? Would there be some bad consequences of
 you call that
  way?
 
 Primal values (activities) of rows and columns can be
 obtained with
 routines glp_get_row_prim/glp_get_col_prim, and the dual
 values
 (reduced costs) can be obtained with
 glp_get_row_dual/glp_get_col_dual.
 Row/column statuses are reported by routines
 glp_get_row_stat and
 glp_get_col_stat.
 

Sure, Andrew, this is good stuff. But I am considering from
a little different angle: the API friendliness. Suppose
you need to get the sensitivity bounds for a variable or 
constraint, you will have to first find out its status
by glp_get_row_stat or glp_get_col_stat, then decide if
you should call the corresponding sensitivity analysis
API routine, or you should rather deal with the case yourself,
as the behavior of the sensitivity analysis API routine is
not defined in that case (undocumented at least).
But even though it is a trivial thing to implement, 
you could still need other API routines or data structures 
to make things right. This is not very API friendly, is it?
So if it is not two ugly, why not have those cases included
into the sensitivity analysis routines, just for the sake of
completeness and API friendliness?

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Re: sensitivity analysis

2010-01-16 Thread Yingjie Lan
  I'm looking forward to it. In
 the example you have given, the
  params are linearly dependent on t -- what if the
 dependence is
  non-linear?
 
 Non-linear dependence leads to a non-linear program, so in
 this case
 the simplex method cannot be applied.
 

No, I am not saying it is non-linear program, it is still
a linear program, but the parameters may be a non-linear
function of scaler t. In a more general case, t could be
a vector. A little bit like the confidence region in
statistic analysis, we could have a simultaneous region
of all the right-hand sides, for example. Such a region 
could be a polytope with the single parameter bounds as
its extreme points (a good paper could be produced on 
this, if not yet done), I think, but this is just an initial
conjecture. Then you could have a curve/shape parametrized
on t (t could be a vector). All you need is to find out the 
intersection of the curve/shape thing with the conjectured 
polytope thing. This is certainly a very difficult problem, 
I am not talking about analytical solution, I am only talking 
about numerical -- it is still very difficult.

  When the params (not just rhs, coefs, but also any
 entry in the
  contraint matrix) depends nonlinearly on scaler t, I
 wonder if there
  are some efficient algorithms. This problem seems
 extremely hard,
 
 Harder, but not extremely, because you have only one
 parameter, so
 some one-dimensional methods can be used, even a brute
 force technique.

True, even for one scaler t, but it is much harder than
solving for all the roots of a polynomial (for, even if all 
the parameters depend polynomially on t, you still have
a boundary region at least as complicated as a polytope). 

 
   as
  the set of t that shares the same optimal basis might
 be many disjoint
  intervals. We might just be satisfied with identifying
 one particular
  interval of t that contains some initial t_0.
 
 Could you provide an example of the dependence?
 

A simple form could be polynomial dependence on scaler t.





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Help with GLPK installation

2010-01-16 Thread Yingjie Lan
 In examples dir i do sudo mv glpsol
 /usr/local/bin and sudo chmod +x
 /url/local/bin/glpsol and I can run glpsol in any dir
 without have
 physically glpsol file in the dir?
 

Two crucial things to make it work:

1. /usr/local/bin is in your $path 
2. glpk.so (dynamic library) is in the right place.

to check which glpsol will be invoked, run

 which glpsol

if nothing, then glpsol is not in your path.

If 1 is passed, but 2 is not, then you glpsol won't
be able to link to glpk.so, and you still get stuck.



  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] glpk 4.42 release information

2010-01-14 Thread Yingjie Lan
  Thanks, quickly looked at the
 reference manual and it looks really
  good. The sensitivity report preamble message has been
 turned off,
  which is nice. But I'm not sure what would happen if
 you give
  glp_analyze_coef a none-basic variable?
 
 This is a trivial case which needs no analysis. For
 example, if
 non-basic variable x have its lower bound active and its
 reduced
 cost, say, 1.23, you cannot decrease the objective
 coefficient more
 than on 1.23; otherwise the reduced cost becomes negative
 and the
 basis becomes dual infeasible (non-optimal).
 
   Similarly, what would happen
  if you give glp_analyze_bound a basic variable?
 
 This is also a trivial case, even easier than the previous
 one.
 For example, if primal value of basic variable x is 3.21,
 its lower
 bound cannot be greater and its upper bound cannot be less
 than 3.21;
 otherwise the basis becomes primal infeasible.

Sure, both cases are trivial, I am only not sure what the call would result? 
Would there be some bad consequences of you call that way?

 
   The reference manual
  does not mention this, it seems to me. BTW, I'm not
 sure how to check
  if a variable is basic or not, simply checking if the
 value is at one
  of its bounds is easy but not a reliable way to do
 this.
 
 glp_get_row_stat/glp_get_col_stat should be used.
 

Thanks for that one. :)

Yingjie





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Gusek : a GLPK IDE for Windows - 0.2.8

2009-12-30 Thread Yingjie Lan
 I've updated the Gusek project on SourceForge:
    http://gusek.sourceforge.net
 
 
 Release 0.2.8 changes:
  - GLPK updated to 4.41.
  - Added Java files support (as in native SciTE).
  - Added gnuplot files support (testing - thanks to Noli
 Sicad).
 
 
 Gusek provide an open source LP/MILP IDE for Win32,
 packing a custom version of the SciTE editor linked to the
 GLPK standalone solver (glpsol.exe).
 

Hi Luiz, Thanks, this is good stuff, keep up the good work. Yesterday we had a 
LP/MIP computer test and many students used lindo, but encountered a lot of 
problems. At least, the cplex lp format would be a good substitute for lindo 
modelling language, let alone the GMPL! The only thing missing is sensitivity 
report -- maybe I haven't found it yet. Next year, I would give Gusek a serious 
consideration if the sensivity analysis is there.

Happy New Year!

Yingjie





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Gusek : a GLPK IDE for Windows - 0.2.8

2009-12-30 Thread Yingjie Lan
  I've updated the Gusek project
 on SourceForge:
     http://gusek.sourceforge.net
  
  
  Release 0.2.8 changes:
   - GLPK updated to 4.41.
   - Added Java files support (as in native
 SciTE).
   - Added gnuplot files support (testing - thanks
 to Noli
  Sicad).
  
  
  Gusek provide an open source LP/MILP IDE for Win32,
  packing a custom version of the SciTE editor linked to
 the
  GLPK standalone solver (glpsol.exe).
  
 
 Hi Luiz, Thanks, this is good stuff, keep up the good work.
 Yesterday we had a LP/MIP computer test and many students
 used lindo, but encountered a lot of problems. At least, the
 cplex lp format would be a good substitute for lindo
 modelling language, let alone the GMPL! The only thing
 missing is sensitivity report -- maybe I haven't found it
 yet. Next year, I would give Gusek a serious consideration
 if the sensivity analysis is there.
 

Well, I found it -- the sensitivity analysis is almost blameless! Great work!

Yingjie






___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] sensitivity analysis table in glpk

2009-12-26 Thread Yingjie Lan
 Another way is just disable the lp presolver (--nopresol).

I tried the --nopresol switch, and still got the same result. 
My glpsol version is 4.39. I think I will look forward to the new release.

I wonder if it is possible for the API to support printing the sensitivity info 
for just one particular variable/constraint? This is useful when one is only 
interested in some of the sensitivity bounds.

Sensitivity report is almost a must-have for teaching purposes, so it is 
probably desirable to include this feature in GMPL as well.

I don't know, maybe it is helpful (pedantically) to rename the two sections of 
the report as the primal sensitivity info (on the objective coefficients) and 
the dual sensitivity info (on the right-hand-sides).


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] sensitivity analysis table in glpk

2009-12-25 Thread Yingjie Lan
 BTW,
 
    glpsol --bounds /dev/stdout
 
 must work under Linux while
 
    glpsol --bounds CON
 
 must work under Windows.
 
 

Great! This answers my previous question (please disregard that one). Thanks a 
lot! 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] sensitivity analysis table in glpk

2009-12-25 Thread Yingjie Lan
 BTW,
 
    glpsol --bounds /dev/stdout
 
 must work under Linux while
 
    glpsol --bounds CON
 
 must work under Windows.
 
 

I tried it on my mac os x and /dev/stdout also corresponds to the standard 
output (since it is a unix variant). 

The problem is, of course, the out-dated LPX_OPT. Even after glpsol found the 
optimal solution, I still got the output saying:


...

Size of triangular part = 1
  0: obj =   1.825236167e+05  infeas =  2.463e+05 (0)
* 1: obj =   2.70500e+03  infeas =  0.000e+00 (0)
*28: obj =   2.243054181e+05  infeas =  0.000e+00 (0)
OPTIMAL SOLUTION FOUND
Time used:   0.0 secs

...

No range information since solution is not optimal.

End of output






___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] sensitivity analysis table in glpk

2009-12-24 Thread Yingjie Lan
  I wonder if there is a simply
 way to print a sensitivity analysis
  table below with an LP in glpk?
 
 Look at the routine lpx_print_sens_bnds (file
 glpk/src/glplpx03.c).
 It implements the glpsol option --bounds.

Thanks for that information. I checked the source code, and wonder if there is 
a way to have the output go to the standard output. Currently I only saw a 
possibility that requires a little change to the source code:

The prototype is:

  int lpx_print_sens_bnds(LPX *lp, const char *fname)

There is a line like this:

   fp = xfopen(fname, w);

If it is changed to something like this:

   fp = fname? xfopen(fname, w): stdout;

where 'stdout' stands for the standard output (not sure if I got this right), 
then we can have things printed to standard output as well.

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] sensitivity analysis table in glpk

2009-12-24 Thread Yingjie Lan
 Look at the routine lpx_print_sens_bnds (file
 glpk/src/glplpx03.c).
 It implements the glpsol option --bounds.

I was wondering about if LPX_OPT == GLP_OPT 
when checking the solution status? It seems 
pyglpk used GLP_OPT while the routine

lpx_print_sens_bnds(...)

used LPX_OPT, and I got wrong outputs.


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] sensitivity analysis table in glpk

2009-12-23 Thread Yingjie Lan
Hi, 

I wonder if there is a simply way to print a sensitivity analysis table below 
with an LP in glpk? 

variable,   value,   allowed decrease, allowed increase
x[1] ,5.0, 2.0,   4.0
x[2], 



row,shadow, allowed decrease, allowed increase
r[0], 3.0, 1.0,   infty
r[1], ...



And what if you want to only look at a subset of variables?

Thanks!

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: Re: [Help-glpk] Need help on interval planning constraint - Basic Bar and Line Graphs (GNU Plot)

2009-12-21 Thread Yingjie Lan
 Have considered integrating pymathprog as
 part of the Sage environment?  Seems to me that would a very
 interesting way to build, document, and deploy models,
 especially for educational uses.

This is a very interesting suggestion. PyMathProg is free, if the Sage 
environment would like to integrate it, I can do nothing to stop it.

;)

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Need help on interval planning constraint

2009-12-20 Thread Yingjie Lan
Jeff,

I like the graph (2d and 3d) features in enthought, and the traits thing. Hope 
somebody could help integrate pyglpk into enthought -- this is the magic of 
open source after all. 

Yingjie

--- On Sun, 12/20/09, Jeffrey Kantor kanto...@nd.edu wrote:

 From: Jeffrey Kantor kanto...@nd.edu
 Subject: Re: [Help-glpk] Need help on interval planning constraint
 To: Yingjie Lan lany...@yahoo.com
 Date: Sunday, December 20, 2009, 8:23 PM
 Yingjie,
 Actually that helped a lot.  I have an
 installation of the Enthought python distribution.  If I
 leave that off the path, then it compiles fine.  Wish this
 would compile under the Enthought distribution which
 includes so many other useful tools!
 
 Jeff
 
 On Sat, Dec 19, 2009 at 10:35 PM,
 Yingjie Lan lany...@yahoo.com
 wrote:
 
 Hi Jeff,
 
 
 
 I used the same gcc version as yours, but with python 2.6.1
 on snow leopard, and had auccess. The gcc comes with the
 xcode package. I am new to mac, sorry I can't give you
 more info than what worked for me.
 
 
 
 Regards,
 
 
 
 Yingjie
 
 
 
 --- On Sat, 12/19/09, Jeffrey Kantor kanto...@nd.edu
 wrote:
 
 
 
  From: Jeffrey Kantor kanto...@nd.edu
 
  Subject: Re: [Help-glpk] Need help on interval
 planning constraint
 
  To: Yingjie Lan lany...@yahoo.com
 
  Date: Saturday, December 19, 2009, 9:43 PM
 
  Hi --
 
  I've been trying to install pymathprog on my
 
  Mac, but so far without success.  When setup.py
 install
 
  step I got 
 
  cc1: error: unrecognized command line
 
  option -Wno-long-double
 
  error: command 'gcc' failed with exit status
 
  1
 
  which appears due to use of the deprecated
 
  -Wno-long-double flag which has been deleted from
 gcc.
 
   I'm using Python 2.5.4,
 
  and i686-apple-darwin10-gcc-4.2.1   
 
 
 
  Any advice or fix?
 
  Thanks,
 
  Jeff
 
  On Sat, Dec 19, 2009 at 6:53 AM,
 
  Yingjie Lan lany...@yahoo.com
 
  wrote:
 
 
 
 
 
 
 
 
 
 
 
   I have a interval planning problem:
 
 
 
  
 
 
 
   n intervals, begin and end of each interval needs
 to
 
  be
 
 
 
   determined
 
 
 
   duration of interval is given
 
 
 
   minimum begin and maximum end of each interval
 are
 
  given
 
 
 
   (bounds)
 
 
 
  
 
 
 
 
 
 
 
  This sounds like the single machine scheduling
 
  problem.
 
 
 
  See here for a formulation with
 
 
 
  PyMathProg (http://pymprog.sf.net).
 
 
 
 
 
 
 
  http://pymprog.sf.net/advanced.html#machine-scheduling
 
 
 
 
 
 
 
  Hope this helps.
 
 
 
 
 
 
 
  Yingjie
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  ___
 
 
 
  Help-glpk mailing list
 
 
 
  Help-glpk@gnu.org
 
 
 
  http://lists.gnu.org/mailman/listinfo/help-glpk
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Need help on interval planning constraint - Basic Bar and Line Graphs (GNU Plot) in GLPK/MathProg

2009-12-20 Thread Yingjie Lan

  I think it would be better to
 implement basic bar and line graphs
  similar to GNU Plot syntax or better in
 GLPK/MathProg.
 
 In mathprog models one can redirect printf output to a file
 (i.e.
 printf foo  filename, where filename is a
 symbolic expression).
 This allows writing GNU plot data to files and then drawing
 graphs.

You can do similar things in PyMathProg too.
There is a csv module you can use to write as a csv file,
or you can write to a database if you like.
Obviously, you could plot the data without saving it first by any plotting 
module to your like.


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] glpk 4.40 benchmarks for netlib lp collection

2009-11-15 Thread Yingjie Lan
Thanks and congrats on the boost!

yingjie

--- On Sun, 11/15/09, Andrew Makhorin m...@gnu.org wrote:

 From: Andrew Makhorin m...@gnu.org
 Subject: [Help-glpk] glpk 4.40 benchmarks for netlib lp collection
 To: help-glpk@gnu.org
 Date: Sunday, November 15, 2009, 2:54 AM
 Below here are glpk 4.40 benchmarks
 for Netlib LP collection.
 
 
 
 Solver:   GLPSOL 4.40 (default options
 used)
 Computer: Intel Pentium 4, 3.0 GHz
 Platform: Cygwin 1.5.25
 Compiler: GCC 3.4.4 (options used: -O3)
 Test set: Netlib LP collection ftp://ftp.netlib.org/lp/data/
 
 Problem   
 Rows   Cols   Nonz 
      Optimum       
 Iters  Time,s  Mem,MB
   -  -  -- 
   --  --  --
 25fv47     
 822   1571   11127 
 +5.501845888e+03    1651 
     1     2.1
 80bau3b   
 2263   9799   29063 
 +9.872241924e+05    5358   
    3     6.4
 adlittle     57 
    97     465 
 +2.254949632e+05      71 
     1 
    0.1   
 afiro        28 
    32      88 
 -4.647531429e+02      10 
     1     0.1
 agg         489   
 163    2541  -3.599176729e+07 
    100      1 
    0.5
 agg2        517    302 
   4515  -2.023925236e+07 
    178      1 
    0.8
 agg3        517    302 
   4531  +1.031211594e+07 
    182      1 
    0.8
 bandm       306   
 472    2659  -1.586280185e+02 
    252      1 
    0.6
 beaconfd    174    262   
 3476  +3.359248581e+04      61 
     1     0.4
 blend        75 
    83     521 
 -3.081214985e+01      41 
     1     0.1
 bnl1       
 644   1175    6129 
 +1.977629562e+03     581 
     1     1.4
 bnl2   
    2325   3489   16124 
 +1.811236540e+03    1730   
    1     3.7
 boeing1     351    384 
   3865  -3.352135675e+02 
    419      1 
    0.7
 boeing2     167    143 
   1339  -3.150187280e+02 
    161      1 
    0.3
 bore3d      234    315 
   1525  +1.373080394e+03     
 38      1 
    0.3
 brandy      221    249 
   2150  +1.518509896e+03 
    191      1 
    0.5
 capri       272   
 353    1786  +2.690012914e+03 
    203      1 
    0.4
 cycle     
 1904   2857   21322 
 -5.226393025e+00     953 
     1     3.5
 czprob     
 930   3523   14173 
 +2.185196699e+06     754 
     1     2.6
 d2q06c 
    2172   5167   35674 
 +1.227842108e+05    5368   
    7     6.2
 d6cube     
 416   6184   43888 
 +3.154916667e+02    6596   
    6     6.0
 degen2      445    534 
   4449  -1.435178000e+03 
    506      1 
    1.0
 degen3 
    1504   1818   26230 
 -9.87294e+02    2205   
    2     4.1
 dfl001     6072 
 12230   41873 
 +1.126639605e+07   39863 
    117    11.0
 e226        224    282 
   2767  -2.586492907e+01 
    206      1 
    0.5
 etamacro    401    688   
 2489  -7.557152333e+02 
    444      1 
    0.7
 f800    525    854   
 6235  +5.556795648e+05 
    167      1 
    1.0
 finnis      498    614 
   2714  +1.727910656e+05 
    338      1 
    0.6
 fit1d       
 25   1026   14430 
 -9.146378092e+03     488 
     1     1.7
 fit1p   
    628   1677   10894 
 +9.146378092e+03    1379 
     1     1.9
 fit2d        26  10500 
 138018  -6.846429329e+04    5751   
   16    15.8
 fit2p      3001 
 13525   60784 
 +6.846429329e+04   11960     
 17    11.3
 forplan     162    421 
   4916  -6.642189613e+02 
    170      1 
    0.7
 ganges 
    1310   1681   
 7021  -1.095857361e+05 
    724      1 
    1.9
 gfrd-pnc    617   1092 
   3467  +6.902236000e+06 
    416      1 
    1.0
 greenbea   2393   5405   31499 
 -7.255524813e+07    3012   
    3     5.8
 greenbeb   2393   5405   31499 
 -4.302260261e+06    2153   
    2     5.8
 grow15      301    645 
   5665  -1.068709413e+08 
    358      1 
    1.1
 grow22      441    946 
   8318  -1.608343365e+08 
    606      1 
    1.6
 grow7       141   
 301    2633  -4.778781181e+07 
    159      1 
    0.5
 israel      175    142 
   2358  -8.966448219e+05 
    123      1 
    0.4
 kb2          44 
    41     291 
 -1.749900130e+03      38 
     1     0.1
 lotfi       154   
 308    1086  -2.526470606e+01 
    104      1 
    0.3
 maros   
    847   1443   10006 
 -5.806374370e+04     703 
     1     1.8
 maros-r7   3137   9408 
 151120  +1.497185166e+06    2340   
    5    16.7
 modszk1 
    688   1620   
 4158  +3.206197291e+02 
    705      1 
    1.4
 nesm       
 663   2923   13988 
 +1.407603649e+07    2240   
    1     2.4
 perold      626   1376 
   6026  -9.380755278e+03    1103 
     1     1.5
 pilot     
 1442   3652   43220 
 -5.574831533e+02    5726     
 11     7.8
 pilot-ja   
 941   1988   14706 
 -6.113136466e+03    1697   
    1     2.5
 pilot-we    723   2789 
   9218  -2.720107533e+06    1382 
      1     2.3
 pilot4      411   1000 
   5145  -2.581139259e+03 
    532      1 
    1.3
 pilot87   
 2031   4883   73804 
 +3.017103744e+02    7573     
 28    12.2
 pilotnov   
 976   2172   13129 
 -4.497276188e+03     988   
    1     2.5
 recipe       92   
 180     752  -2.66616e+02 
     17      1 
    0.2
 sc105       106   
 103     281  -5.220206121e+01 
     51      1 
    0.2
 sc205       206   

Re: [Help-glpk] Error:unable to factorize basis matrix

2009-11-11 Thread Yingjie Lan
Hi Alex,

All I can say given the information you provided is that this seems to be a 
problem with the GLPK solver, not the pymathprog, because the model is already 
committed to the GLPK solver. Exactly why this message pops out from GLPK I 
don't know for sure.

Yingjie

--- On Wed, 10/28/09, Alexander Schnell le...@web.de wrote:

 From: Alexander Schnell le...@web.de
 Subject: [Help-glpk] Error:unable to factorize basis matrix
 To: help-glpk@gnu.org
 Date: Wednesday, October 28, 2009, 3:22 PM
 Hello,
 
 i`m using pymathprog 0.3 and when trying to solve a big
 Binary Integer Program, i get the following error message
 and the evaluation stops:
 
 : obj =  2.719712443e+007  infeas = 9.756e+001
 (1409)
   80200: obj =  2.719712443e+007  infeas =
 9.756e+001 (1409)
   80400: obj =  2.719712443e+007  infeas =
 9.756e+001 (1409)
   80600: obj =  2.719712443e+007  infeas =
 9.756e+001 (1409)
   80800: obj =  2.719712443e+007  infeas =
 9.756e+001 (1400)
   81000: obj =  2.723652533e+007  infeas =
 8.235e+001 (1376)
   81200: obj =  2.723652533e+007  infeas =
 8.235e+001 (1369)
 Warning: numerical instability (primal simplex, phase I)
   81259: obj =  2.723652533e+007  infeas =
 8.235e+001 (1368)
 Warning: numerical instability (primal simplex, phase I)
   81299: obj =  2.723652533e+007  infeas =
 8.235e+001 (1368)
   81400: obj =  2.723810723e+007  infeas =
 7.967e+001 (1361)
 Error: unable to factorize the basis matrix (1)
 Sorry, basis recovery procedure not implemented yet
 ios_driver: unable to solve current LP relaxation;
 glp_simplex returned 5
 + 81411: mip =     not found yet
 =  2.618187908e+007       
 (341; 1)
 glp_intopt: cannot solve current LP relaxation 
 
 What does this mean? Has it something to do with the
 numerical instability warning?
 
 Best Regards,
 Alex
 ___
 Neu: WEB.DE DSL bis 50.000 kBit/s und 200,- Euro
 Startguthaben!
 http://produkte.web.de/go/02/
 
 
 
 
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] GLPK MingW build files and PyGLPK

2009-11-11 Thread Yingjie Lan
Hi Luiz,

I don't use Gusek, not sure how to help with that, sorry. I have a question for 
you, thought you might know the answer: why the PyGLPK compiles with mingw but 
not with the MS visual studio C++ compiler? Is there anyway to fix this 
problem? Please drop me a line if you have a clue. Thanks!

Yingjie



--- On Thu, 11/5/09, Luiz Bettoni bett...@cpgei.ct.utfpr.edu.br wrote:

 From: Luiz Bettoni bett...@cpgei.ct.utfpr.edu.br
 Subject: [Help-glpk] GLPK MingW build files and PyGLPK
 To: Andrew Makhorin m...@gnu.org
 Cc: help-glpk help-glpk@gnu.org
 Date: Thursday, November 5, 2009, 10:25 PM
 Hi, Andrew, xypron!
 
 You do not intend to include MingW w32
 build files in GLPK package anymore?
 
 On every GLPK launch i've patched them and
 sent to the list, but if no-one uses mingw
 to build GLPK (I'm alone? Ü), it's wast effort.
 
 If MingW build files isn't util anymore, I'm
 planning replace Gusek glpsol binaries by
 winglpk pre-build ones.
 
 
 
 Hi, all!
 
 Noli has suggested patch Gusek to allow python
 editing (based ond SciTE original capabilities).
 I think that is a good idea, but I did'nt use PyGLPK
 and PyMathProg to test it. Someone interested?
 
 
 Thanks,
 Luiz
 
 
 Andrew Makhorin wrote:
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1
 
  GLPK 4.40 -- Release Information
  
 
  Release date: Nov 03, 2009
 
  GLPK (GNU Linear Programming Kit) is intended for
 solving large-scale
  linear programming (LP), mixed integer linear
 programming (MIP), and
  other related problems. It is a set of routines
 written in ANSI C and
  organized as a callable library.
 
  In this release:
 
          The following
 new API routines were added:
 
      
    glp_del_vertices     
 remove vertices from graph
      
    glp_del_arc       
    remove arc from graph
      
    glp_wclique_exact 
    find maximum weight clique with the exact
                
            
    algorithm developed by Prof. P. Ostergard
      
    glp_read_ccdata   
    read graph in DIMACS clique/coloring
                
            
    format
      
    glp_write_ccdata      write
 graph in DIMACS clique/coloring
                
            
    format
 
          For description
 of these new routines see a new edition of the
          reference manual
 included in the distribution.
 
          The hybrid
 pseudocost branching heuristic was included in the
          MIP solver. It
 is available on API level (iocp.br_tech should
          be set to
 GLP_BR_PCH) and in the stand-alone solver glpsol
          (via the
 command-line option --pcost). This heuristic may be
          useful on
 solving hard MIP instances.
 
          The branching
 heuristic by Driebeck and Tomlin (used in the
          MIP solver by
 default) was changed to switch to branching on
          most fractional
 variable if an lower bound of degradation of
          the objective is
 close to zero for all branching candidates.
 
          A bug was fixed
 in the LP preprocessor (routine npp_empty_col).
          Thanks to Stefan
 Vigerske ste...@math.hu-berlin.de
 for the
          bug report.
 
          A bug was fixed
 and some improvements were made in the FPUMP
          heuristic
 module. Thanks to Xypron xypron.g...@gmx.de.
 
          A bug was fixed
 in the API routine glp_warm_up (dual
          feasibility test
 was incorrect in maximization case). Thanks to
          Uday Venkatadri
 uday.venkata...@dal.ca
 for the bug report.
 
  See GLPK web page at http://www.gnu.org/software/glpk/glpk.html.
 
  GLPK distribution can be ftp'ed from ftp://ftp.gnu.org/gnu/glpk/ or
  from some mirror ftp sites; see http://www.gnu.org/order/ftp.html.
 
  MD5 check-sum is the following:
 
  73821dae9c52905f012ce1b501f59b66 *glpk-4.40.tar.gz
 
  GLPK is also available as a Debian GNU/Linux package.
 See its web page
  at http://packages.debian.org/etch/glpk.
  -BEGIN PGP SIGNATURE-
  Version: GnuPG v1.2.1 (MingW32)
 
 
 iD8DBQFK8Czg0XvyMFmB6BgRAjWaAJ9mfLTKvulhbjDwbwNUK20HEOHuFwCgmgkL
  HJKfn16RXqGMEQXmLSS9gVk=
  =OQJm
  -END PGP SIGNATURE-
 
    
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk
 


   


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] PyMathProg 0.3.1 released

2009-09-25 Thread Yingjie Lan
Hi,

PyMathProg 0.3.1 is released.

What's New?
-

1. Now support Mac OS X, Linux, and Windows.


What's PyMathProg?

yMathProg is a Python reincarnation of AMPL and GNU MathProg modeling language, 
implemented in pure Python, connecting to GLPK via PyGLPK. Create, optimize, 
report, change and re-optimize your model with Python, which offers numerous 
handy goodies. Being embedded in Python, you can take advantage of the other 
good things available in python: such as easy database access, graphical 
presentation of your solution, statistical analysis, or use pymprog for 
artificial intelligence in games, etc.

For more details, please visit http://pymprog.sf.net/


Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] PyMathProg 0.3 released

2009-09-17 Thread Yingjie Lan
Hi, 

PyMathProg 0.3 is released. 

What's New?
-

1. check KKT optimality conditions
2. access to solver environment to set environment variables.
3. integrated installation with pyglpk (no need to install pyglpk separately).

What's PyMathProg?

yMathProg is a Python reincarnation of AMPL and GNU MathProg modeling language, 
implemented in pure Python, connecting to GLPK via PyGLPK. Create, optimize, 
report, change and re-optimize your model with Python, which offers numerous 
handy goodies. Being embedded in Python, you can take advantage of the other 
good things available in python: such as easy database access, graphical 
presentation of your solution, statistical analysis, or use pymprog for 
artificial intelligence in games, etc.

For more details, please visit http://pymprog.sf.net/


Yingjie



  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] How important is backward compatibility?

2009-09-09 Thread Yingjie Lan
Hi,

When developing an open source software such as PyMathProg that depends on GLPK 
api, I wonder how important is backward compatibility with older versions of 
GLPK? Any feed back that helps me make this decision is appreciated. You know, 
to have backward compatibility really complicates up the code.

Thanks,

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] How important is backward compatibility?

2009-09-09 Thread Yingjie Lan
--- On Wed, 9/9/09, Jeffrey Kantor kanto...@nd.edu wrote:

 From: Jeffrey Kantor kanto...@nd.edu
 Subject: Re: [Help-glpk] How important is backward compatibility?
 To: Yingjie Lan lany...@yahoo.com
 Cc: help-glpk@gnu.org
 Date: Wednesday, September 9, 2009, 6:52 PM
 Hi,
 Has anyone tried PyMathProg (and, of course,
 pyGLPK) on a macintosh?  I'm a little unsure how to go
 about installing these on a mac.

Hi, I'd love to see this happen with Mac too, but I don't 
have a mac to play with. Suppose you have 

1. Python 2.5 with distutil, 
2. GLPK, 

installed, try to download the source code of pyglpk from 
pymprog.sf.net resource, and run the setup.py there:

python setup.py build

If that compiles, then you should run

python setup.py install

to have pyglpk installed. Installing pymprog
should be no problem, as it is pure python.

Hope this works, if you did try it, I'd appreciate
if you could let me know how it goes.

regards,

Yingjie


 
 
 
 On Wed, Sep 9, 2009 at 10:43 AM,
 Yingjie Lan lany...@yahoo.com
 wrote:
 
 
 Hi,
 
 
 
 When developing an open source software such as PyMathProg
 that depends on GLPK api, I wonder how important is backward
 compatibility with older versions of GLPK? Any feed back
 that helps me make this decision is appreciated. You know,
 to have backward compatibility really complicates up the
 code.
 
 
 
 
 
 Thanks,
 
 
 
 Yingjie
 
 
 
 
 
 
 
 
 
 
 
 ___
 
 Help-glpk mailing list
 
 Help-glpk@gnu.org
 
 http://lists.gnu.org/mailman/listinfo/help-glpk
 
 
 
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


RE: [Help-glpk] How important is backward compatibility?

2009-09-09 Thread Yingjie Lan
--- On Wed, 9/9/09, D'Agostino, Larry - TX Larry.D'agost...@gmacrescap.com 
wrote:

 From: D'Agostino, Larry - TX Larry.D'agost...@gmacrescap.com
 Subject: RE: [Help-glpk] How important is backward compatibility?
 To: Yingjie Lan lany...@yahoo.com, help-glpk@gnu.org help-glpk@gnu.org
 Date: Wednesday, September 9, 2009, 7:01 PM
 This might just be a workaround but
 as long as you have all versions of your code available then
 a user can just download the code that matches the version
 of GLPK they are using.

Thanks for the suggestion. I guess you are right, maybe I can just start with 
the newest stable version of GLPK (which is supposed to be the best :)), then 
see how people demand of compatible versions. A nice way, isn't it?

Yingjie

 
 -Original Message-
 From: help-glpk-bounces+larry.d'agostino=gmacrescap@gnu.org
 [mailto:help-glpk-bounces+larry.d'agostino=gmacrescap@gnu.org]
 On Behalf Of Yingjie Lan
 Sent: Wednesday, September 09, 2009 9:43 AM
 To: help-glpk@gnu.org
 Subject: [Help-glpk] How important is backward
 compatibility?
 
 Hi,
 
 When developing an open source software such as PyMathProg
 that depends on GLPK api, I wonder how important is backward
 compatibility with older versions of GLPK? Any feed back
 that helps me make this decision is appreciated. You know,
 to have backward compatibility really complicates up the
 code.
 
 Thanks,
 
 Yingjie
 
 
       
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] PyMathProg

2009-09-06 Thread Yingjie Lan
Hello,

With pymprog0.2.3, you can now add time limits to simplex and integer methods 
(for more details, please refer to http://pymprog.sourceforge.net/solvopt.html 
, you might need to refresh you browser to get the new version of this 
document).

For example, to set a time limit, use: 

solveopt(tm_lim=3)

the time limit is then set to 30 seconds.

Regards,

Yingjie

--- On Fri, 9/4/09, Alexander Schnell le...@web.de wrote:

 From: Alexander Schnell le...@web.de
 Subject: [Help-glpk] PyMathProg
 To: help-glpk@gnu.org
 Date: Friday, September 4, 2009, 3:00 PM
 Hello,
 
 i`m using PyMathProg tu solve a MIP with the simplex method
 for the LP- relaxation and the advanced branch and bound to
 find the mixed integer solution and i`m very happy with it.
 but is it possible to set a time limit or a mip gap to
 return a solution after this gap or limit is reached?
 
 Thanks for your help.
 __
 GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
 Jetzt freischalten unter http://movieflat.web.de
 
 
 
 
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Announcement: PyMathProg 0.2.2 released!

2009-08-27 Thread Yingjie Lan
This is an improvement release, completed and demonstrated the access of the 
name, primal and dual values of constraints.

http://pymprog.sf.net/

What is PyMathProg?
===

PyMathProg: easy GLPK in Python!

PyMathProg is a Python reincarnation of AMPL and GNU MathProg modeling 
language, implemented in pure Python, connecting to GLPK via PyGLPK. Create, 
optimize, report, change and re-optimize your model with Python, which offers 
numerous handy goodies.

Regards,

Yingjie



  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Announcement: PyMathProg 0.2.1 released!

2009-06-17 Thread Yingjie Lan

 From: Yingjie Lan lany...@yahoo.com
 Subject: [Help-glpk] Announcement: PyMathProg 0.2.1 released!
 To: glpk help help-glpk@gnu.org
 Date: Wednesday, June 17, 2009, 6:10 AM
 
 Python is addictive, GLPK is very cute, and PyMathProg is
 both :).

Documentation is online at: http://pymprog.sf.net/

 
 See, that's why I am rolling out another revision in just
 one day. Well, sort of. This revision is mainly for
 maintenance: documentation is relatively complete now
 (comments and questions are welcome), one small bug fix,
 that's all.
 
 
 What is PyMathProg?
 ===
 
 PyMathProg: easy GLPK in Python!
 
 PyMathProg is a Python reincarnation of AMPL and GNU
 MathProg modeling language, implemented in pure Python,
 connecting to GLPK via PyGLPK. Create, optimize, report,
 change and re-optimize your model with Python, which offers
 numerous handy goodies.
 
 Regards,
 
 Yingjie
 
 
       
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Announcement: PyMathProg 0.2.1 released!

2009-06-17 Thread Yingjie Lan

 From: Yingjie Lan lany...@yahoo.com
 Subject: [Help-glpk] Announcement: PyMathProg 0.2.1 released!
 To: glpk help help-glpk@gnu.org
 Date: Wednesday, June 17, 2009, 6:10 AM
 
 Python is addictive, GLPK is very cute, and PyMathProg is
 both :).

The mailing list for PyMathProg is now open:

https://lists.sourceforge.net/lists/listinfo/pymprog-help

Regards,

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Announcement: PyMathProg 0.2.1 released!

2009-06-16 Thread Yingjie Lan

Python is addictive, GLPK is very cute, and PyMathProg is both :).

See, that's why I am rolling out another revision in just one day. Well, sort 
of. This revision is mainly for maintenance: documentation is relatively 
complete now (comments and questions are welcome), one small bug fix, that's 
all.


What is PyMathProg?
===

PyMathProg: easy GLPK in Python!

PyMathProg is a Python reincarnation of AMPL and GNU MathProg modeling 
language, implemented in pure Python, connecting to GLPK via PyGLPK. Create, 
optimize, report, change and re-optimize your model with Python, which offers 
numerous handy goodies.

Regards,

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Announcement: PyMathProg 2.0 released!

2009-06-15 Thread Yingjie Lan

With more than 80% of code rewritten, this release is much better and mature 
now. New features are also added, such as parameterized bounds with automatic 
updates, access to primal/dual values of constraints. Please find more at 

http://pymprog.sf.net/

What is PyMathProg?
===

PyMathProg: easy GLPK in Python!

PyMathProg is a Python reincarnation of AMPL and GNU MathProg modeling 
language, implemented in pure Python, connecting to GLPK via PyGLPK. Create, 
optimize, report, change and re-optimize your model with Python, which offers 
numerous handy goodies.

Regards,
Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] Announcement: PyMathProg 0.2 released!

2009-06-15 Thread Yingjie Lan

With more than 80% of code rewritten, this release is much better and mature 
now. New features are also added, such as parameterized bounds with automatic 
updates, access to primal/dual values of constraints. Please find more at 

http://pymprog.sf.net/

What is PyMathProg?
===

PyMathProg: easy GLPK in Python!

PyMathProg is a Python reincarnation of AMPL and GNU MathProg modeling 
language, implemented in pure Python, connecting to GLPK via PyGLPK. Create, 
optimize, report, change and re-optimize your model with Python, which offers 
numerous handy goodies.

Regards,

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Announcement: PyMathProg 2.0 released!

2009-06-15 Thread Yingjie Lan

 From: Yingjie Lan lany...@yahoo.com
 Subject: [Help-glpk] Announcement: PyMathProg 2.0 released!

Oops, should be PyMathProg 0.2 released, sorry about that.

 To: glpk help help-glpk@gnu.org
 Date: Monday, June 15, 2009, 7:25 PM
 
 With more than 80% of code rewritten, this release is much
 better and mature now. New features are also added, such as
 parameterized bounds with automatic updates, access to
 primal/dual values of constraints. Please find more at 
 
 http://pymprog.sf.net/
 
 What is PyMathProg?
 ===
 
 PyMathProg: easy GLPK in Python!
 
 PyMathProg is a Python reincarnation of AMPL and GNU
 MathProg modeling language, implemented in pure Python,
 connecting to GLPK via PyGLPK. Create, optimize, report,
 change and re-optimize your model with Python, which offers
 numerous handy goodies.
 
 Regards,
 Yingjie
 
 
       
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk
 





___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


[Help-glpk] PyMathProg 0.1.3 released

2009-05-23 Thread Yingjie Lan

Hi there, 

A kind announcement: PyMathProg 0.1.3 released
==

Improved API, new parameter definition. new examples are available. 
Documentation includes how to setup, a dive-in tutorial, and many advanced 
examples to show the features of PyMathProg. 

Documentations are also online at:

http://pymprog.sf.net/


Thanks!

Yingjie


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk


Re: [Help-glpk] Announcement: release of PyMathProg 0.1

2009-04-17 Thread Yingjie Lan

Assume you have python 2.5 and GLPK (4.4 or later) and PyGLPK (version 0.3) in 
place, just unzip the zip file into a folder and issue command: 
 
python dynaqueens.py 
 
to play with that example. 
 
Help in the following ways are more than welcome: 
1. tutorials and samples. 
2. bug reports 
3. feature request 
4. code contribution 
 
Hope you like this project.

Yingjie

--- On Fri, 4/17/09, Yingjie Lan lany...@yahoo.com wrote:

 From: Yingjie Lan lany...@yahoo.com
 Subject: Re: [Help-glpk] Announcement: release of PyMathProg 0.1
 To: help-glpk@gnu.org
 Date: Friday, April 17, 2009, 5:43 PM
 You need the following packages to give PyMathProg a taste:
 
 1. Python
 2. GLPK
 3. PyGLPK
 
 For 1 and 2, I assume most people know how to install that.
 For 3, here is an excellent document:
 
 http://www.cs.cornell.edu/~tomf/pyglpk/building.html 
 
 Cheers,
 
 Yingjie
 
 --- On Fri, 4/17/09, Yingjie Lan lany...@yahoo.com
 wrote:
 
  From: Yingjie Lan lany...@yahoo.com
  Subject: [Help-glpk] Announcement: release of
 PyMathProg 0.1
  To: help-glpk@gnu.org
  Date: Friday, April 17, 2009, 5:53 AM
  For those who are interested in doing GLPK with
 Python:
  
  I have just released the PyMathProg 0.1 at sf.net,
 together
  with many examples.
  
  What is PyMathProg?
  
  It is a Python reincarnation of AMPL and GNU MathProg
  modeling language, implemented in pure Python,
 connecting to
  GLPK via PyGLPK. Create, optimize, report, change and
  re-optimize your model with Python, which offers
 numerous
  handy goodies.
  
  http://sourceforge.net/projects/pymprog/
  
  
  Thanks!
  
  Yingjie
  
  
  

  
  
  ___
  Help-glpk mailing list
  Help-glpk@gnu.org
  http://lists.gnu.org/mailman/listinfo/help-glpk
 
 
   
 
 
 ___
 Help-glpk mailing list
 Help-glpk@gnu.org
 http://lists.gnu.org/mailman/listinfo/help-glpk


  


___
Help-glpk mailing list
Help-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/help-glpk