Adaptive Simulated Annealing (ASA) for octave?

classic Classic list List threaded Threaded
16 messages Options
grg
Reply | Threaded
Open this post in threaded view
|

Adaptive Simulated Annealing (ASA) for octave?

grg
Hi there,

I was wondering if anyone has ever though of compiling the Adaptive
Simulated Annealing routine (http://www.ingber.com/#ASA) so that it can
be used from octave.

I've used before a version of the ASA code (called "asamin") that had
been compiled for Matlab
(http://faculty.arts.ubc.ca/ssakata/public_html/cgi-bin/export_file.cgi?dir=SOFTWAREARC&file=asamin_1.36.tar.gz).
  I am sending this link, because it may help to create a similar thing
for octave.

As you may understand I have practically zero knowledge of how to
implement this and that's why I am knocking on your door.

Any help/suggestion will be greatly appreciated.

Thanks a lot.

Cheers,
Giorgio

--------------------------------------------------------------------------------
Plymouth Marine Laboratory
 
Registered Office:
Prospect Place
The Hoe
Plymouth  PL1 3DH
 
Website: www.pml.ac.uk
Registered Charity No. 1091222
PML is a company limited by guarantee
registered in England & Wales
company number 4178503

--------------------------------------------------------------------------------
This e-mail, its content and any file attachments are confidential.

If you have received this e-mail in error please do not copy, disclose it to any third party or use the contents or attachments in any way. Please notify the sender by replying to this e-mail or e-mail [hidden email] and then delete the email without making any copies or using it in any other way.

The content of this message may contain personal views which are not the views of Plymouth Marine Laboratory unless specifically stated.

You are reminded that e-mail communications are not secure and may contain viruses. Plymouth Marine Laboratory accepts no liability for any loss or damage which may be caused by viruses.
--------------------------------------------------------------------------------

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Søren Hauberg
tor, 26 08 2010 kl. 12:10 +0100, skrev Giorgio Dall'Olmo:
> I was wondering if anyone has ever though of compiling the Adaptive
> Simulated Annealing routine (http://www.ingber.com/#ASA) so that it can
> be used from octave.

Well, the license seems to be incompatible with the GPL, so I doubt
anybody will do this.

> I've used before a version of the ASA code (called "asamin") that had
> been compiled for Matlab
> (http://faculty.arts.ubc.ca/ssakata/public_html/cgi-bin/export_file.cgi?dir=SOFTWAREARC&file=asamin_1.36.tar.gz).
>   I am sending this link, because it may help to create a similar thing
> for octave.

Since this uses MEX you can probably just compile it for Octave and use
it. My guess would be that you have to change the Makefile to call
'mkoctfile --mex' instead of 'mex', but otherwise it probably just
works.

Søren

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

John W. Eaton
Administrator
On 26-Aug-2010, Søren Hauberg wrote:

| tor, 26 08 2010 kl. 12:10 +0100, skrev Giorgio Dall'Olmo:
| > I was wondering if anyone has ever though of compiling the Adaptive
| > Simulated Annealing routine (http://www.ingber.com/#ASA) so that it can
| > be used from octave.
|
| Well, the license seems to be incompatible with the GPL, so I doubt
| anybody will do this.

Among other conflicts with the GPL, there is the following statement:

  In general, I have retained all rights such as copyrights to these
  codes and files, but they may be freely used by any person or group
  independent of affiliations, e.g., independent of academic or
  commercial affiliation.

Huh?  Is there anyone who is allowed to freely use this code?  How many
of us are actually independent of academic or commercial affiliation?
Or am I completely misunderstanding the intent here?

jwe


_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Jordi Gutiérrez Hermoso
On 26 August 2010 08:27, John W. Eaton <[hidden email]> wrote:

> On 26-Aug-2010, Søren Hauberg wrote:
>
> | tor, 26 08 2010 kl. 12:10 +0100, skrev Giorgio Dall'Olmo:
> | > I was wondering if anyone has ever though of compiling the Adaptive
> | > Simulated Annealing routine (http://www.ingber.com/#ASA) so that it can
> | > be used from octave.
> |
> | Well, the license seems to be incompatible with the GPL, so I doubt
> | anybody will do this.
>
> Among other conflicts with the GPL, there is the following statement:
>
>  In general, I have retained all rights such as copyrights to these
>  codes and files, but they may be freely used by any person or group
>  independent of affiliations, e.g., independent of academic or
>  commercial affiliation.
>
> Huh?  Is there anyone who is allowed to freely use this code?  How many
> of us are actually independent of academic or commercial affiliation?
> Or am I completely misunderstanding the intent here?

Sounds like contradictory informations about these codes.

It seems like very old work, though. Perhaps the author has lost
interest in it and would be amenable to a relicensing or
clarification? Although using names like "Lester Ingher Research"
smacks of Wolframism, so that may not happen.

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
grg
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

grg
The author of the code posts on his website the link to the asamin
function, so I guess that he would be ok if there was also an octave
version of it...


On 08/26/2010 02:33 PM, Jordi Gutiérrez Hermoso wrote:

> On 26 August 2010 08:27, John W. Eaton<[hidden email]>  wrote:
>> On 26-Aug-2010, Søren Hauberg wrote:
>>
>> | tor, 26 08 2010 kl. 12:10 +0100, skrev Giorgio Dall'Olmo:
>> |>  I was wondering if anyone has ever though of compiling the Adaptive
>> |>  Simulated Annealing routine (http://www.ingber.com/#ASA) so that it can
>> |>  be used from octave.
>> |
>> | Well, the license seems to be incompatible with the GPL, so I doubt
>> | anybody will do this.
>>
>> Among other conflicts with the GPL, there is the following statement:
>>
>>   In general, I have retained all rights such as copyrights to these
>>   codes and files, but they may be freely used by any person or group
>>   independent of affiliations, e.g., independent of academic or
>>   commercial affiliation.
>>
>> Huh?  Is there anyone who is allowed to freely use this code?  How many
>> of us are actually independent of academic or commercial affiliation?
>> Or am I completely misunderstanding the intent here?
>
> Sounds like contradictory informations about these codes.
>
> It seems like very old work, though. Perhaps the author has lost
> interest in it and would be amenable to a relicensing or
> clarification? Although using names like "Lester Ingher Research"
> smacks of Wolframism, so that may not happen.
>
> _______________________________________________
> Help-octave mailing list
> [hidden email]
> https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

--------------------------------------------------------------------------------
Plymouth Marine Laboratory
 
Registered Office:
Prospect Place
The Hoe
Plymouth  PL1 3DH
 
Website: www.pml.ac.uk
Registered Charity No. 1091222
PML is a company limited by guarantee
registered in England & Wales
company number 4178503

--------------------------------------------------------------------------------
This e-mail, its content and any file attachments are confidential.

If you have received this e-mail in error please do not copy, disclose it to any third party or use the contents or attachments in any way. Please notify the sender by replying to this e-mail or e-mail [hidden email] and then delete the email without making any copies or using it in any other way.

The content of this message may contain personal views which are not the views of Plymouth Marine Laboratory unless specifically stated.

You are reminded that e-mail communications are not secure and may contain viruses. Plymouth Marine Laboratory accepts no liability for any loss or damage which may be caused by viruses.
--------------------------------------------------------------------------------

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Judd Storrs-2
In reply to this post by John W. Eaton
On Thu, Aug 26, 2010 at 9:27 AM, John W. Eaton <[hidden email]> wrote:
 In general, I have retained all rights such as copyrights to these
 codes and files, but they may be freely used by any person or group
 independent of affiliations, e.g., independent of academic or
 commercial affiliation.

Huh?  Is there anyone who is allowed to freely use this code?  How many
of us are actually independent of academic or commercial affiliation?
Or am I completely misunderstanding the intent here?

Maybe "independent" is meant in the "notwithstanding" sense here. In any case, that passage doesn't seem to be part of the conditions for using the source code.
I see the license file in two parts: the first seems to specifically apply to use of the source code, and the second seems to be a general license for all material (e.g. documentation).


--judd

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Jordi Gutiérrez Hermoso
In reply to this post by grg
On 26 August 2010 08:41, Giorgio Dall'Olmo <[hidden email]> wrote:
> The author of the code posts on his website the link to the asamin
> function, so I guess that he would be ok if there was also an octave
> version of it...

Maybe he would be, but his licensing terms say otherwise. The
advertising clauses in the license terms adds an additional
restriction that the GPL doesn't have. Perhaps he would be willing to
change or clarify his licensing terms. As you are no doubt aware,
Octave is distributed under the GPL and this means that any code that
gets distributed as part of Octave needs to be GPL compatible.
Octave-forge *might* be able to distribute the
problematically-licensed code, but I don't think we should encourage
distribution of GPL-incompatible code along with Octave.

If that fails, he does seem gracious enough to describe his algorithm
in full detail in his published papers, so a full independent
implementation could be possible for someone industrious enough.
Kindly asking the author for a clarification or a relicensing should
be first, though. Dropping clauses 4 and 5 should be enough. The
disclaimer also has to be prominent for legal matters, and the usual
way of doing this is SHOUTY CAPS, so that should probably also be
changed. I think this isn't a concern for Octave, though.

In the author's defense, he seems to have mimicked the original
4-clause BSD license that was in vogue when he first wrote the
software, but even BSD dropped the advertising clauses in 1999. We
could suggest to the author that his licensing terms just need an
update.

- Jordi G. H.
_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Jordi Gutiérrez Hermoso
2010/8/26 Jordi Gutiérrez Hermoso <[hidden email]>:

> On 26 August 2010 08:41, Giorgio Dall'Olmo <[hidden email]> wrote:
>> The author of the code posts on his website the link to the asamin
>> function, so I guess that he would be ok if there was also an octave
>> version of it...
>
> Maybe he would be, but his licensing terms say otherwise. The
> advertising clauses in the license terms adds an additional
> restriction that the GPL doesn't have. Perhaps he would be willing to
> change or clarify his licensing terms. As you are no doubt aware,
> Octave is distributed under the GPL and this means that any code that
> gets distributed as part of Octave needs to be GPL compatible.
> Octave-forge *might* be able to distribute the
> problematically-licensed code, but I don't think we should encourage
> distribution of GPL-incompatible code along with Octave.
>
> If that fails, he does seem gracious enough to describe his algorithm
> in full detail in his published papers, so a full independent
> implementation could be possible for someone industrious enough.
> Kindly asking the author for a clarification or a relicensing should
> be first, though. Dropping clauses 4 and 5 should be enough. The
> disclaimer also has to be prominent for legal matters, and the usual
> way of doing this is SHOUTY CAPS, so that should probably also be
> changed. I think this isn't a concern for Octave, though.
>
> In the author's defense, he seems to have mimicked the original
> 4-clause BSD license that was in vogue when he first wrote the
> software, but even BSD dropped the advertising clauses in 1999. We
> could suggest to the author that his licensing terms just need an
> update.

Oh, I forgot to say a few things: I am not a lawyer, this is not legal
advice, everything I said above could be wrong, please don't sue me if
you followed my advice and something bad happened to you. :-)

- Jordi G. H.

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Judd Storrs-2
In reply to this post by Jordi Gutiérrez Hermoso
2010/8/26 Jordi Gutiérrez Hermoso <[hidden email]>
On 26 August 2010 08:41, Giorgio Dall'Olmo <[hidden email]> wrote:
> The author of the code posts on his website the link to the asamin
> function, so I guess that he would be ok if there was also an octave
> version of it...

Maybe he would be, but his licensing terms say otherwise. The
advertising clauses in the license terms adds an additional
restriction that the GPL doesn't have. Perhaps he would be willing to
change or clarify his licensing terms. As you are no doubt aware,
Octave is distributed under the GPL and this means that any code that
gets distributed as part of Octave needs to be GPL compatible.

On a related note, if we're going after the pitchforks and torches, why hasn't octave-gpc been culled from octave-forge?  The GPC issue is a greater offence because GPC is not even free software.  4-clause BSD is free software, it's just not GPL compatible. If we're going to allow octave-gpc to be distributed, don't we have to allow this, too?


_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Søren Hauberg
tor, 26 08 2010 kl. 10:59 -0400, skrev Judd Storrs:

> On a related note, if we're going after the pitchforks and torches,
> why hasn't octave-gpc been culled from octave-forge?  The GPC issue is
> a greater offence because GPC is not even free software.  4-clause BSD
> is free software, it's just not GPL compatible. If we're going to
> allow octave-gpc to be distributed, don't we have to allow this, too?

Currently we have two non-free packages in Octave-Forge: 'gpc' and
'spline-gsvspl'. These have been part of Octave-Forge from before I
started using Octave, so I am unsure about the motivation for making
them part of Octave-Forge.

Today we do not accept new GPL incompatible packages at Octave-Forge.

I am willing to discuss removing incompatible packages from
Octave-Forge, but I think such a discussion should happen in a different
thread on the Octave-Forge list. It is, however, important to me that
the maintainers of these packages take part in such a discussion.

Søren


_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

David Bateman-2
In reply to this post by Jordi Gutiérrez Hermoso
Jordi Gutiérrez Hermoso wrote:
> In the author's defense, he seems to have mimicked the original
> 4-clause BSD license that was in vogue when he first wrote the
> software, but even BSD dropped the advertising clauses in 1999. We
> could suggest to the author that his licensing terms just need an
> update.
>  
No he didn't.. If you read the page

http://knol.google.com/k/adaptive-simulated-annealing-asa#

you'll see that ASA was GPLed upto version 5.13 and then changed to this
ASA license because it was "simpler". I'd suggest approaching the author
and just asking him if he considers his license to be GPL compatible and
then maybe point out the inconsistencies of his new license wrt the gpl.

D.




--
David Bateman                                [hidden email]
35 rue Gambetta                              +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE            +33 6 72 01 06 33 (Mob)

_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

c.-2
In reply to this post by John W. Eaton

On 26 Aug 2010, at 15:27, John W. Eaton wrote:

> Among other conflicts with the GPL, there is the following statement:
>
>  In general, I have retained all rights such as copyrights to these
>  codes and files, but they may be freely used by any person or group
>  independent of affiliations, e.g., independent of academic or
>  commercial affiliation.
>
> Huh?  Is there anyone who is allowed to freely use this code?  How  
> many
> of us are actually independent of academic or commercial affiliation?
> Or am I completely misunderstanding the intent here?

It sounds like that statement is just badly phrased,
I believe the author meant something like

"I retain the copyright for this code, but it can be freely used by  
anyone"

the rest of the text is most likely just intended to specify that no  
restrictions to commercial use apply,
anyway, I would ask the author to clarify this statement before  
spending any time trying to port the code to Octave.

> jwe

c.
_______________________________________________
Help-octave mailing list
[hidden email]
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Michael Creel
In reply to this post by grg
It's not the same code, but there is a simulated annealing routine in the optim package.


octave:1> samin_example

================================================
SAMIN results

==> Normal convergence <==

Convergence tolerances:
Function: 1.000000e-10
Parameters: 1.000000e-03

Objective function value at minimum: 0.000000

           parameter        search width
           -0.000001            0.000009
           -0.000001            0.000005
           -0.000001            0.000002
            0.000000            0.000008
            0.000000            0.000003
================================================
Elapsed time = 1.280080
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

ingber
Wow!  How rumors spread.  Does anyone here care about facts :)?

(1)  The full ASA code (with all OPTIONS, not typically available in adaptations of ASA) can be simply used with just about any other platform.  ASA can be called as a (compiled) function, making it accessible to other systems.

(2) The License is freer than GPL.  It is short and simple.  Here it is:


/***********************************************************************
* Adaptive Simulated Annealing (ASA)
* Lester Ingber <ingber@ingber.com>
* Copyright (c) 1987-2012 Lester Ingber.  All Rights Reserved.
* This ASA-LICENSE file must be included with ASA code.
***********************************************************************/


Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

                        CONDITIONS

1. Redistributions of ASA source code must retain the above copyright notice, this list of conditions, and the following disclaimer.

2. Redistributions in binary form must contain the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All modifications to the source code must be clearly marked as such.  Binary redistributions based on modified source code must be clearly marked as modified versions in the documentation and/or other materials provided with the distribution.

4. Notice must be given of the location of the availability of the unmodified current source code, e.g.,
        http://www.ingber.com/
in the documentation and/or other materials provided with the distribution or publication.  ASA also is listed at
        http://alumni.caltech.edu/~ingber
        http://asa-caltech.sourceforge.net
        https://code.google.com/p/adaptive-simulated-annealing     

5. The name of Lester Ingber may not be used to endorse or promote products derived from this software without specific prior written permission.

                        DISCLAIMER

This software is provided by Lester Ingber and contributors "as is" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed.  In no event shall Lester Ingber or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
http://www.ingber.com
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Jordi Gutiérrez Hermoso-2
On 4 February 2012 13:32, ingber <[hidden email]> wrote:
> (1)  The full ASA code (with all OPTIONS, not typically available in
> adaptations of ASA) can be simply used with just about any other platform.
> ASA can be called as a (compiled) function, making it accessible to other
> systems.
>
> (2) The License is freer than GPL.  It is short and simple.  Here it is:

No... There is a problem.

> 4. Notice must be given of the location of the availability of the
> unmodified current source code, e.g.,
>        http://www.ingber.com/
> in the documentation and/or other materials provided with the distribution
> or publication.  ASA also is listed at
>        http://alumni.caltech.edu/~ingber
>        http://asa-caltech.sourceforge.net
>        https://code.google.com/p/adaptive-simulated-annealing

This is a restriction that the GPL doesn't have. Any restriction in
addition to any provisions in the GPL make the software
GPL-incompatible. What this means is that a work derived from the
combination of ASA and Octave cannot be legally distributed.

Please don't make up your own licenses. You may think it's simple, but
the legalities are complicated and you might be creating problems you
haven't thought of. Pick the simpler path. If you like copyleft, use
the GPL. It may look complicated to you, but the complications are
there for a reason and have a long history and a raison d'être.

     http://www.dwheeler.com/essays/gpl-compatible.html

If you don't like copyleft, use a permissive free license like the
3-clause BSD license. Don't add another clause, no matter how simple
and free you think it is. Are you a lawyer? Have you consulted one?
Have you thought more than everyone else of all the implications of
your extra clause?

The problem of license proliferation is well-documented:

    http://en.wikipedia.org/wiki/License_proliferation

Please don't add to the problem. You have created what looks like a
vanity license. This isn't a good thing.

- Jordi G. H.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Adaptive Simulated Annealing (ASA) for octave?

Judd Storrs-2
2012/2/4 Jordi Gutiérrez Hermoso <[hidden email]>:
> This is a restriction that the GPL doesn't have. Any restriction in
> addition to any provisions in the GPL make the software
> GPL-incompatible. What this means is that a work derived from the
> combination of ASA and Octave cannot be legally distributed.

Except if it uses the MEX interface. Isn't the GPL fun for requiring
us to be helpful to Matlab users.


--judd
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave