Newsgroup: it.scienza.informatica
Titolo: Problema di ricerca operativa

Lungi da me l'idea di trovare la pappa fatta, semplicemente ho un
problema del mondo reale, di cui ne ho fatto il modello matematico,
ora dovrei risolvere questo problema:
Dati T intero, Ni intero positivo, i=1..n, trovare A1..An interi tc:
1) La sommatoria, per i=1..n, di (Ai x Ni) , sia = 100T
2) La sommatoria, per i=1..n, di |Ai| sia minima.
Se avete qualche suggerimento sulla strada che devo prendere, o anche
link ad applicazioni in rete che risolvano gia` questi problemi...
TIA, Andrea


E' un normale problema di ricerca operativa.
Quanto e` N? (in ordine di grandezza?)
parti da qui.
http://ee.tamu.edu/~xuxj/power/optim.htm
Se vuoi un programma che ti faccia queste cose lindo (
www.lindo.com
) dovrebbe 
andare bene. Ti avverto che come di giri ti giri in questo campo ti chiedono 
soldi.
Giorgio

 
http://ee.tamu.edu/~xuxj/power/optim.htm
non proprio normale... hai notato A1..An interi?
 
-- 
"difficilmente riusciremo ad arginare la diffusione dei virus finche' 
 esisteranno programmi come  u(z1...zn)=sel1(u z1...zn)=u" - Kleene

 non proprio normale... hai notato A1..An interi?
Si, forse hai ragione. Si chiama piu` propriamente Ottimizzazione 
Combinatoria. Ma ogni distinzione di questo tipo e` frutto di una 
interpretazione personale. (Comunque basta aggiungere una I ai problemi LP 
diventa ILP o MILP e via dicendo)

 ha scritto nel messaggio
news:mnumuu8ksrlcuc36b...@4ax.com...

Se ho ben capito si tratta di un "sistema" in n variabili, ma una sola
equazione??
Federico.

, 
ab...@aritaly.com
 says...

http://www.mozart-oz.org/
IMHO questo ambiente di sviluppo fa al caso tuo. E' un 
software libero (open source) e gratuito.
Dal sito:
Feature Overview
The Mozart system provides state-of-the-art support in 
two areas: open distributed computing and constraint-
based inference. Mozart implements Oz, a concurrent 
object-oriented language with dataflow synchronization. 
Oz combines concurrent and distributed programming with 
logical constraint-based inference, making it a unique 
choice for developing multi-agent systems. Mozart is an 
ideal platform for both general-purpose distributed 
applications as well as for hard problems requiring 
sophisticated optimization and inferencing abilities. We 
have developed applications in scheduling and time-
tabling, in placement and configuration, in natural 
language and knowledge representation, multi-agent 
systems and sophisticated collaborative tools.
Programming
Object-oriented Programming
    Oz is a concurrent object-oriented language. In a 
first approach, Oz can be programmed in a very similar 
way to other such languages, like Java. With experience 
gained, programs tend to become simpler, for example, as 
they use the powerful concepts of dataflow execution and 
first-class procedures. 
Concurrent Programming
    Oz is an eminently concurrent language. The Mozart 
system implements ultralightweight threads with 
preemptive fair scheduling. It easily supports 
applications with many thousands of threads. Dataflow 
synchronization is achieved transparently through logic 
variables. 
Multi-Paradigm Programming
    Unlike most other programming languages which lock 
you into a single programming paradigm, Oz unifies into 
one simple and coherent framework the functional, 
object-oriented, and logic flavors of programming. This 
is possible due to the very general and powerful 
underlying paradigm of concurrent constraint 
programming. 
Inferencing
Constraint Programming
    Oz is a powerful constraint language with logic 
variables, finite domains, finite sets, rational trees 
and record constraints. The system is competitive in 
performance with state-of-the-art commercial solutions, 
but is much more expressive and flexible, providing 
first-class computation spaces, programmable search 
strategies, a GUI for the interactive exploration of 
search trees, parallel search engines exploiting 
computer networks, and a programming interface to 
implement new and efficient constraint systems. 
Logic Programming
    Oz goes beyond Horn-clauses to provide a unique and 
flexible approach to logic programming. Oz distinguishes 
between directed and undirected styles of declarative 
logic programming. For both, Oz lets you specify a 
program's logical semantics separately from its 
resolution strategy. Powerful tools and libraries are 
provided built on the concepts of first-class 
computation spaces and determinacy-driven disjunctions. 
Together with distribution, this makes Mozart an ideal 
platform for both intelligent multi-agent systems and 
parallel search. 
Distribution
Open Distributed Computing
    The Mozart system is an ideal platform for open 
distributed computing: it makes the network completely 
transparent. The illusion of a common store is extended 
across multiple sites and automatically supported by 
very efficient protocols. In addition, full control is 
retained over network communication patterns, permitting 
very efficient use of network resources. Furthermore, 
reliable, fault tolerant applications can easily be 
developed.
Distributed Component-Based Programming
    Mozart provides first-class software component 
specifications (called functors) and software components 
(called modules). The module system facilitates 
application development and deployment. Both component 
specifications and components can be transparently 
referenced through URLs, absolute and relative, and 
loaded by need. Flexible security policies are 
implemented by module managers. 
Mobile Agents
    With its dynamic component technology, open 
computing support, and full-featured implementation, 
Mozart is an ideal platform for serious programming with 
mobile agents. A computation can create new computations 
dynamically. Computations can roam the shared Mozart 
space at will. Each site has full control over what 
resources it makes available to incoming computations. 
Separation of Concerns (Aspects)
    The Mozart system separates the concerns of 
application functionality, distribution structure, fault 
tolerance, and openness (application connectivity). The 
separation is almost perfect for the first two concerns 
and quite good for the last two. In the context of 
aspect-oriented programming, this can be seen as a 
``vertical'' approach, where a few aspects are treated 
in depth, versus the ``horizontal'' approach of tools 
like AspectJ, which provide primitives for handling many 
aspects. 
Platform Issues
Cross-Platform Compatibility
    Like Java, Oz is `write once, run everywhere' and 
provides automatic local and distributed garbage 
collection. The Oz virtual machine is portable and known 
to run on most flavors of Unix as well as on Windows.
GUI Programming
    The Mozart system comes with an object-oriented 
library that provides a high-level well integrated 
interface to Tcl/Tk. This is supplemented with QTk, a 
tool that supports a mixed declarative/procedural 
approach to user interface design. This needs only a 
fraction of the code of standard procedural approaches 
and is particularly well-suited for building context-
sensitive interfaces. 
Native Extension Modules
    The Mozart system was designed to be easily extended 
with new native functionality packaged as DLLs. 
Comprehensive support is provided for the convenient 
creation of DLLs. Thus, the Mozart system is not only 
aggressively open, but also an ideal very high-level 
glue language.
-- 
Roberto Lupi