Archive for the ‘Software’ Category
GLPK 4.44 released
It has been a while since my last post… sorry ’bout that. I am already feeling like just announcing new glpk releases etc. It is not that there are not enough issues that deserve attention but it seems to me like each one of them has such a political or controversial component that I am not sure that I want to touch them (e.g., editors forcing citations of their journal, ethical misconduct to sustain growth). Some of them have been lurking in my drafts folder for a while now and still haven’t made up my mind. I hope I will find some more time soon to write more elaborate posts more frequently.
Anyways, a new version of glpk has been released. The new version now allows for explicit querying of dual values within the GMPL language.
GLPK 4.44 Release Information
*****************************Release date: Jun 03, 2010
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.The following suffixes for variables and constraints were
implemented in the MathProg language:.lb (lower bound),
.ub (upper bound),
.status (status in the solution),
.val (primal value), and
.dual (dual value).Thanks to Xypron <xypron.glpk@gmx.de> for draft implementation
and testing.Now the MathProg language allows comment records (marked by
‘#’ in the very first position) in CSV data files read with the
table statements. Note that the comment records may appear only
in the beginning of a CSV data file.The API routine glp_cpp to solve the Critical Path Problem was
added and documented.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:
f2ac7013bc0420d730d052e7ba24bdb1 *glpk-4.44.tar.gz
GLPK is also available as a Debian GNU/Linux package. See its web page
at <http://packages.debian.org/etch/glpk>.Precompiled GLPK binaries (lib, dll, exe) for 32- and 64-bit MS Windows
can be found at <http://winglpk.sourceforge.net/>. Thanks to Xypron
<xypron.glpk@gmx.de>.For MS Windows users there is also available GLPK Lab, a set of free
software tools and libraries based on the GLPK package. Its web page
can be found at <http://glpklabw.sourceforge.net/>. Thanks to Xypron
<xypron.glpk@gmx.de> and Luiz Bettoni <bettoni@cpgei.ct.utfpr.edu.br>
for development.
GLPK Lab for Windows released
Yesterday the first version of GLPK Lab for Windows, a new modeling GUI for GLPK has been released. Maintainers of the package are Luiz Bettoni, Andrew Makhorin, and Heinrich Schuchardt. I have not tried it out yet as I am not a Windows user. So any feedback is welcome. From the release notes:
We are pleased to announce the very first release of GLPK Lab for
Windows.GLPK Lab is a set of software tools and libraries based on the GLPK
(GNU Linear Programming Kit) package and intended for solving
large-scale linear programming (LP), mixed integer programming (MIP),
and other related problems.Currently GLPK Lab includes the following main components:
* GLPK Lab Editor, which is the SciTE editor adapted to be used along
with GLPK Lab (based on the Gusek project)* Stand-alone GLPK LP/MIP solver
* GLPK API library compiled with Microsoft Visual C++ 2008 and
intended for developing GLPK-based applications in C or C++* Java binding to GLPK API library (from GLPK-Java) intended for
developing GLPK-based applications in JavaGLPK Lab is free, public-domain software hosted on SourceForge. Its
webpage is here: <http://glpklabw.sourceforge.net/>. (Please note that
GLPK Lab is *not* a GNU package.)Happy Modeling,
The GLPK Lab Development Team
More information on GLPK including tutorials, examples, and tools can be found here.
CPLEX free for academic use
Probably I am not the first one to report this but CPLEX is now available for free for academics as part of IBM’s academic initiative (see here):
Full-version CPLEX now available free-of-charge to academics
Posted: Feb 18, 2010 08:30:03 PM
Effective February 15, 2010, IBM is offering no-charge full-version ILOG Optimization products via IBM’s Academic Initiative program (http://www.ibm.com/academicinitiative). This move builds on the availability of limited Teaching Editions available since August 2009, and now provides registered members with renewable one-year access to IBM ILOG OPL-CPLEX, CPLEX, CP Optimizer and CP for both teaching and research use. Registered members can access ILOG Optimization software at: https://www.ibm.com/developerworks/university/software/get_software.html, where they can search for ILOG Optimization or individual solvers by name. Depending on the search criteria, electronic assemblies will be retrieved for IBM ILOG OPL Development Studio, CPLEX, CP Optimizer or CP on all commercially available platforms. To run the software, members will also need to download a key from: https://www.ibm.com/developerworks/university/support/ilog.html, but are no longer required to install ILM. Note that as part of Academic Initiative, IBM also makes its professionally-developed training materials available for use in classrooms and labs at: https://www14.software.ibm.com/webapp/devtool/scholar/web/coursewarePickPage.do?source=ai-course-websphere.
The application is pretty forward and the verification of eligibility is supposed to take “3-5 business days”. But it seems that the accounts are approved much faster (at least in my case).
The GNU Linear Programming Kit (GLPK) : Resources, Tutorials…
I just put together some more resources, tutorials, and information about the GNU Linear Programming Kit (GLPK). The page can be found here.
If you have some information, links, etc., that you would like to see there, just drop me a line.
GLPK 4.41 released
A new version of the GNU Linear Programming Kit (GLPK) has been released – see here for GLPK tutorials. An updated version of the GUSEK windows GUI will follow probably soon. From the release notes:
GLPK 4.41 — Release Information
********************************Release date: Dec 21, 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_transform_row transform explicitly specified row
glp_transform_col transform explicitly specified column
glp_prim_rtest perform primal ratio test
glp_dual_rtest perform dual ratio testFor description of these new routines see a new edition of the
reference manual included in the distribution.The following API routines are deprecated: lpx_transform_row,
lpx_transform_col, lpx_prim_ratio_test, lpx_dual_ratio_test.Some improvements were made in the MIP solver (glp_intopt).
The SQL table driver used to read/write data in MathProg models
was changed to allow multiple arguments separated by semicolon
in SQL statements. Thanks to Xypron <xypron.glpk@gmx.de>.Two new options were added to the glpsol stand-alone solver:
–seed value (to initialize the pseudo-random number generator
used in MathProg models with specified value), and
–ini filename (to use a basis previously saved with -w option
as an initial basis on solving similar LP’s).Two new MathProg example models were included. Thanks to
Nigel Galloway <nigel_galloway@operamail.com> and Noli Sicad
<nsicad@gmail.com> for contribution.Scripts to build GLPK with Microsoft Visual Studio 2010 for
both 32-bit and 64-bit Windows were included. Thanks to Xypron
<xypron.glpk@gmx.de> for contribution and testing.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>.
UPDATE (01.01.2010): New version of GUSEK is also available:
I’ve updated the Gusek project on SourceForge:
http://gusek.sourceforge.netRelease 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).Best Regards (and happy new year!),
Luiz Bettoni
GLPK 4.39 released / Gusek update available
A new version of the GNU Linear Programming Kit (GLPK) has been released yesterday. From the release notes:
GLPK 4.39 — Release Information
********************************Release date: Jul 26, 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_warm_up “warm up” LP basis
glp_set_vertex_name assign (change) vertex name
glp_create_v_index create vertex name index
glp_find_vertex find vertex by its name
glp_delete_v_index delete vertex name index
glp_read_asnprob read assignment problem data in DIMACS
format
glp_write_asnprob write assignment problem data in DIMACS
format
glp_check_asnprob check correctness of assignment problem
data
glp_asnprob_lp convert assignment problem to LP
glp_asnprob_okalg solve assignment problem with the
out-of-kilter algorithm
glp_asnprob_hall find bipartite matching of maxumum
cardinality with Hall’s algorithmAlso were added some API routines to read plain data files.
The API routines glp_read_lp and glp_write_lp to read/write
files in CPLEX LP format were re-implemented. Now glp_write_lp
correctly writes double-bounded (ranged) rows by introducing
slack variables rather than by duplicating the rows.
Also a new version of Gusek including GLPK 4.39 has been released.
Mendeley revisited
As promised roughly half a year ago, here is my opinion on Mendeley. I was reminded of writing my review two days ago after I downloaded the latest version of Mendeley. After the update I fired up Mendeley and I was shocked (at first) – ALL MY DATA WAS GONE. Although I started out to test Mendeley only, I got so used to it that I couldn’t believe that my data was gone. The desktop client just asked me to log in but all the categories, groups etc were gone. More or less out of desperation I logged in (again) and the software immediately synchronized with the web service which has a backup of all the references (I chose to just save the references and not the pdfs). After less than a minute all the references were transferred back to my machine and even the links to the files on my hard drive worked. I was quite impressed with this backup/synchronization feature so that I decided that it was time to keep my promise and write a few lines about it.
So first of all, what is Mendeley? From the FAQ:
Mendeley is a combination of a desktop application and a website which helps you manage, share and discover both content and contacts in research.
Our software, Mendeley Desktop, offers you:
- Automatic extraction of document details (authors, title, journal etc.) from academic papers into a library database, which saves you a lot of manual typing! As more people use Mendeley, the quality of the data extraction improves.
- Super-efficient management of your papers: “Live” full-text search across all your papers – the results start to appear as you type! Mendeley Desktop also lets you filter your library by authors, journals or keywords. You can also use document groups, notes and tags to organize your knowledge, and export the document details in different citation styles.
- Sharing and synchronisation of your library (or parts of it) with selected colleagues. This is perfect for jointly managing all the papers in your lab!
- More great features: A plug-in for citing your articles in Microsoft Word, OCR (image-to-text conversion, so you can full-text search all your scanned PDFs) and lots more new features being worked upon.
Our website, Mendeley Web, complements Mendeley Desktop by offering you these features:
- An online back up of your library: Store your documents in your account and access them from anywhere through your browser.
- Detailed statistics of all things interesting: You can upload your own publications to your research profiles, then track the evolution of your readership. How often are your papers downloaded? How often are they read? From which academic disciplines and geographic regions do your readers come from? Additionally, there are detailed statistics for each academic discipline and research topic. Who are the up-and-coming authors in your discipline? Is the interest in a research topic growing or declining? What are the most widely read papers on a specific subject?
- A research network that allows you to keep track of your colleagues’ publications, conference participations, awards etc., and helps you discover people with research interests similar to yours.
- A recommendation engine for papers that might interest you, but are not yet in your library! Based on what you know already, what should you read next? Coming soon
To be honest, in the beginning when I first started to use Mendeley in Jan 2009 it did not quite convince me. The interface of the desktop software was slow, the meta-data extraction was quite crappy, etc. For short, I just didn’t like the user experience. I knew Papers from before but it didn’t convince me either and so I stuck with the one that was free – Mendeley. Then, over time more and more updates for Mendeley were released. The user interface got better and also the meta-data extraction improved significantly – nobody wants to enter all the meta-data by hand… The current version of Mendeley is 0.9.xx. It is still beta but the latest version is really a great piece of software. Some of the features:
- Grouping and categorizing of your papers – you can slice and dice it in almost any way.
- Shared groups – you are collaborating with somebody and you want to share your papers. Mendeley can do that for you. One guy adds a new paper, the other guy gets it automatically the next time (s)he uses Mendeley.
- Full text search – search within all your papers. fast.
- Integrated pdf viewer that allows annotation, notes, etc.
- DOI / arxiv support – Add the corresponding references and Mendeley updates meta-data automatically. No need to enter anything.
- Statistics functions (via the web service) – you can get detailed statistics about the papers in your library. Most-read journals, more-read authors, etc.
- Every entry can have one or more pdfs (or other formats) attached to it – One click opens the paper in the built-in pdf viewer.
- It is free – according to the faq, the current service level will remain free. There might be some premium features coming up at some point that will be charged for extra.
- Backup/synchronization with the online service – all our references and notes are synchronized with the web service so that you can use your library on different machines and you always have a backup.
- You can log-in to your Mendeley account from all over the world and access your references on the web (part of the synchronization feature).
- Meta-data extraction – The extraction works quite well, conditional on the pdfs being somewhat reasonably tagged.
So if you are still looking for a great software for organizing your papers with a great overall concept then you should definitely give it a try!!
Man vs. machine: protein folding
Protein structure prediction is an important problem in order to develop new treatments against diseases. The structure determines how the protein works to a large extent and thus being able to predict the structure is essential in order to develop new drugs (see fold.it):
Protein structure prediction: As described above, knowing the structure of a protein is key to understanding how it works and to targeting it with drugs. A small proteins can consist of 100 amino acids, while some human proteins can be huge (1000 amino acids). The number of different ways even a small protein can fold is astronomical because there are so many degrees of freedom. Figuring out which of the many, many possible structures is the best one is regarded as one of the hardest problems in biology today and current methods take a lot of money and time, even for computers. Foldit attempts to predict the structure of a protein by taking advantage of humans’ puzzle-solving intuitions and having people play competitively to fold the best proteins.
Unfortunately, from a computational point of view, structure prediction is a tough problem. The problem has a significant 3D geometrical component which makes it accessible for humans though. Exploiting this fact is what fold.it aims for. It is a game that has humans fold proteins presented as puzzles. The goals of fold.it are:
For protein structure prediction, the eventual goal is to have human folders work on proteins that do not have a known structure. This would require first attracting the attention of scientists and biotech companies and convincing them that the process is effective. Another goal is to take folding strategies that human players have come up with while playing the game, and automate these strategies to make protein-prediction software more effective. These two goals are more or less independent and either or both may happen.
The more interesting goal for Foldit, perhaps, is not in protein prediction but protein design. Designing new proteins may be more directly practical than protein prediction, as the problem you must solve as a protein designer is basically an engineering problem (protein engineering), whether you are trying to disable a virus or scrub carbon dioxide from the atmosphere. It’s also a relatively new field compared to protein prediction. There aren’t a lot of automated approaches to protein design, so Foldit’s human folders will have less competition from the machines.
Wired run an interesting article a few weeks ago about fold.it and its performance in the CASP (Critical Assessment of Techniques for Protein Structure Prediction) competition where the rankings of the human folded proteins were pretty competitive. Exploiting human intelligence for certain computations is not completely new. Captchas were probably one of the first applications that exploited the human pattern recognition capabilities in order to differentiate between humans and machines. Amazon is running a whole service “MTurk” which provides an infrastructure to utilize “idling Internet users”. The new aspect here might be the design problem mentioned above which aims for constructing proteins with specific properties by leveraging not only human pattern recognition capabilities but also creativity.
Wolfram|Alpha is online now
Wolfram|Alpha, the computational search engine, is online now. Check it out yourself – it is definitely worth it.
A few examples that I tried:
- 3-cross polytope or the n-cross polytope
- another polytope example
- you can also solve equation
- or calculate recurrence relations
More examples are available here.