eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › [programowanie matematyczne]
Ilość wypowiedzi w tym wątku: 16

  • 1. Data: 2010-05-07 17:35:31
    Temat: [programowanie matematyczne]
    Od: "Karol_tom" <K...@w...pl>

    Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
    Mosel),
    to na pewno siedzą tu ścisłe mózgi i może podpowiedzą mi, gdzie ten cholerny
    błąd siedzi, bo
    już z dwie godziny próbuję coś zmieniać w kodzie i nic nie wychodzi (ciągle
    dostaje komunikat, że typy zmiennych są niekompatybilne):


    model ModelName
    uses "mmxprs";
    parameters
    !liczba oczyszczalni N
    N=3
    M=3
    ! liczba wariantów
    v=6
    end-parameters

    declarations
    oczyszczalnie=1..N
    przekroje=1..M
    warianty=1..v
    ! czy w danej oczyszczalni używamy danego wariantu?
    y:array(oczyszczalnie, warianty) of mpvar
    BZT:array(przekroje) of linctr
    x:array(oczyszczalnie) of real
    xwar:array(warianty) of real
    q:array(oczyszczalnie) of real
    Q:array(przekroje) of real
    p:array(przekroje) of real
    B:array(przekroje) of real
    u:array(oczyszczalnie) of real
    k:array(przekroje,przekroje) of real
    kb:array(przekroje,przekroje) of real
    c:array(oczyszczalnie) of real
    cwar:array(warianty) of real
    sumy:array(oczyszczalnie) of integer
    t:array(przekroje,przekroje) of real
    end-declarations
    !
    !
    Q::[15, 18, 25]
    q::[0.8, 0.7, 0.5]
    p::[220, 250, 265]
    B::[4, 4, 3]
    xwar::[0.6, 0.7, 0.75, 0.8, 0.9, 0.95]
    cwar::[10, 12, 13, 16, 22, 30]
    !u to xmax
    u::[0.85, 0.9, 0.9]
    t::[0, 1, 3,
    0, 0, 2,
    0, 0, 0]
    kb::[0, 0.25, 0.25,
    0, 0, 0.27,
    0, 0, 0]
    forall (j in oczyszczalnie, z in warianty)
    y(j,z)=0 or y(j,z)=1
    !tylko w jednym miejscu dla danej oczyszczalnie jedynka, dlatego:
    forall (j in oczyszczalnie) do
    b(j):=(sum(z in warianty) y(j,z))
    b(j)=1
    end-do
    j:=1
    while j<=v do
    x(j):=(sum(z in warianty) y(j,z)*xwar(z))
    !wartości C
    c(j):=(sum(z in warianty) y(j,z)*cwar(z))
    end-do
    forall (i in przekroje, j in przekroje)
    k(i,j):=exp(-kb(i,j)*t(i,j))

    !ograniczenia
    forall (i in przekroje) do
    BZT(i):=(sum(j in 1..i) (1-x(j))*p(j)*q(j)*k(j,i))/(Q(i)+sum(j in 1..i)
    q(j))
    BZT(i)<=B(i)
    BZT(i)>=0
    end-do
    !ograniczenia dot. zakresu stopnia redukcji zanieczyszczen
    forall (j in oczyszczalnie) do
    x(j)>=0
    x(j)<=u(j)
    end-do
    !Funkcja celu:
    z:=sum(j in oczyszczalnie) c(j)*x(j)
    minimize(z)

    writeln("Niezbędne środki wynoszą: ", getobjval)
    forall (i in przekroje) do
    writeln(" Stopień redukcji w oczyszczalni nr (",i,") wynosi
    ",getsol(x(i)))
    writeln(" BZT (",i,") wynosi ",getsol(BZT(i)))
    end-do
    end-model


  • 2. Data: 2010-05-07 18:58:22
    Temat: Re: [programowanie matematyczne]
    Od: "Karol_tom" <K...@w...pl>

    Już sobie zadeklarowałem c i x jako linctr.
    Kolejny problem, który się pojawił, że nie można dwóch tego typów zmiennych
    mnożyć przez siebie.
    Dodałem do uses kolejny element i ...niby działa, ale wychodzą głupoty


  • 3. Data: 2010-05-09 21:35:28
    Temat: Re: [programowanie matematyczne]
    Od: Mariusz Marszałkowski <m...@g...com>

    On 7 Maj, 19:35, "Karol_tom" <K...@w...pl> wrote:
    > Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
    > Mosel),
    Dobry i ambitny temat na tą grupę. Niestety nie pomogę, nie znam ani
    tego narzędzia,
    ani języka. Za to mam pytanie, jakie to ma możliwości przy bardzo
    dużej ilości
    danych (miliony rekordów) i parametrów (dziewiątki tysięcy) ?

    Pozdrawiam


  • 4. Data: 2010-05-10 09:42:45
    Temat: Re: [programowanie matematyczne]
    Od: p...@p...onet.pl

    > On 7 Maj, 19:35, "Karol_tom" <K...@w...pl> wrote:
    > > Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
    > > Mosel),
    > Dobry i ambitny temat na tą grupę. Niestety nie pomogę, nie znam ani
    > tego narzędzia,
    > ani języka. Za to mam pytanie, jakie to ma możliwości przy bardzo
    > dużej ilości
    > danych (miliony rekordów) i parametrów (dziewiątki tysięcy) ?
    > Pozdrawiam

    a ze spytam z ciekawosci czym ty sie zajmujesz? nie musisz mowic nazwy
    miasta firmy czy uczelni tylko ciekaw jestem co ty tam przetwazasz

    fir




    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 5. Data: 2010-05-10 15:32:32
    Temat: Re: [programowanie matematyczne]
    Od: Wit Jakuczun <w...@g...com>

    W dniu 2010-05-07 20:58, Karol_tom pisze:
    > Już sobie zadeklarowałem c i x jako linctr.
    > Kolejny problem, który się pojawił, że nie można dwóch tego typów
    > zmiennych mnożyć przez siebie.
    XPress Mosel służy do rozwiązywania problemów programowania liniowego
    lub całkowitoliczbowego oraz mieszanych. Jak sama nazwa wskazuje nie
    można mówić o iloczynach zmiennych (jakiegokolwiek typu). Iloczyny można
    modelować przy pomocy równań liniowych ale nie wszystkie i nie jest to
    bardzo proste.

    Wydaje mi się (piszę z panmięci), że jest też wersja do programowania
    kwadratowego i ta wersja obsługuje iloczyny zmiennych. Nie pamiętam
    tylko czy obsługuje iloczyny w ograniczeniach czy tylko w funkcji celu.

    > Dodałem do uses kolejny element i ...niby działa, ale wychodzą głupoty
    Co konkretnie dodałeś do uses? I co za głupoty wychodzą?


    Pozdrawiam,
    Wit Jakuczun


  • 6. Data: 2010-05-10 15:33:55
    Temat: Re: [programowanie matematyczne]
    Od: Wit Jakuczun <w...@g...com>

    W dniu 2010-05-09 23:35, Mariusz Marszałkowski pisze:
    > On 7 Maj, 19:35, "Karol_tom"<K...@w...pl> wrote:
    >> Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
    >> Mosel),
    > Dobry i ambitny temat na tą grupę. Niestety nie pomogę, nie znam ani
    > tego narzędzia,
    > ani języka. Za to mam pytanie, jakie to ma możliwości przy bardzo
    > dużej ilości
    > danych (miliony rekordów) i parametrów (dziewiątki tysięcy) ?
    >
    Żeby mówić o możliwościach trzeba wiedzieć o co się pytasz? Co XPress
    miałby zrobić z tymi milionami rekordów?

    XPress to solver do programowania liniowego oraz całkowito-liczbowego.
    Jest bardzo w tym dobry.

    Pozdrawiam,
    Wit Jakuczun


  • 7. Data: 2010-05-10 18:55:30
    Temat: Re: [programowanie matematyczne]
    Od: Mariusz Marszałkowski <m...@g...com>

    On 10 Maj, 17:33, Wit Jakuczun <w...@g...com> wrote:
    > W dniu 2010-05-09 23:35, Mariusz Marszałkowski pisze:> On 7 Maj, 19:35,
    "Karol_tom"<K...@w...pl>  wrote:
    > >> Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
    > >> Mosel),
    > > Dobry i ambitny temat na tą grupę. Niestety nie pomogę, nie znam ani
    > > tego narzędzia,
    > > ani języka. Za to mam pytanie, jakie to ma możliwości przy bardzo
    > > dużej ilości
    > > danych (miliony rekordów) i parametrów (dziewiątki tysięcy) ?
    >
    > Żeby mówić o możliwościach trzeba wiedzieć o co się pytasz? Co XPress
    > miałby zrobić z tymi milionami rekordów?
    >
    > XPress to solver do programowania liniowego oraz całkowito-liczbowego.
    > Jest bardzo w tym dobry.

    Właśnie takiej ogólnej rekomendacji potrzebowałem.
    Dziękuję



  • 8. Data: 2010-05-10 19:15:28
    Temat: Re: [programowanie matematyczne]
    Od: Mariusz Marszałkowski <m...@g...com>

    On 10 Maj, 11:42, p...@p...onet.pl wrote:
    > > On 7 Maj, 19:35, "Karol_tom" <K...@w...pl> wrote:
    > > > Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
    > > > Mosel),
    > > Dobry i ambitny temat na tą grupę. Niestety nie pomogę, nie znam ani
    > > tego narzędzia,
    > > ani języka. Za to mam pytanie, jakie to ma możliwości przy bardzo
    > > dużej ilości
    > > danych (miliony rekordów) i parametrów (dziewiątki tysięcy) ?
    > > Pozdrawiam
    >
    > a ze spytam z ciekawosci czym ty sie zajmujesz? nie musisz mowic nazwy
    > miasta firmy czy uczelni tylko ciekaw jestem co ty tam przetwazasz

    Różne rzeczy... czasami rozpoznawanie obrazu, czasami przewidywanie
    zapotrzebowania na produkty, czasami uogólnienia/kompresję końcówek
    szachowych, a ostatnio klient nie zdradził mi co reprezentują dane i
    nie
    wiem za bardzo co liczyłem, jakieś heurystyki do przyspieszenia
    algorytmów.

    Pozdrawiam


  • 9. Data: 2010-05-11 07:29:47
    Temat: Re: [programowanie matematyczne]
    Od: Wit Jakuczun <w...@g...com>

    W dniu 2010-05-10 20:55, Mariusz Marszałkowski pisze:

    >> Żeby mówić o możliwościach trzeba wiedzieć o co się pytasz? Co XPress
    >> miałby zrobić z tymi milionami rekordów?
    >>
    >> XPress to solver do programowania liniowego oraz całkowito-liczbowego.
    >> Jest bardzo w tym dobry.
    >
    > Właśnie takiej ogólnej rekomendacji potrzebowałem.
    > Dziękuję
    Są jeszcze inne produkty: Gurobi oraz Cplex. Gurobi aktualnei wydaje się
    być najlepszy i ma dość ciekawą licencję (płaci się za czas używania
    solvera).

    Pozdrawiam,
    Wit Jakuczun


  • 10. Data: 2010-05-11 14:29:18
    Temat: Re: [programowanie matematyczne]
    Od: Mariusz Marszałkowski <m...@g...com>

    On 11 Maj, 09:29, Wit Jakuczun <w...@g...com> wrote:
    > W dniu 2010-05-10 20:55, Mariusz Marszałkowski pisze:
    >
    > >> Żeby mówić o możliwościach trzeba wiedzieć o co się pytasz? Co XPress
    > >> miałby zrobić z tymi milionami rekordów?
    >
    > >> XPress to solver do programowania liniowego oraz całkowito-liczbowego.
    > >> Jest bardzo w tym dobry.
    >
    > > Właśnie takiej ogólnej rekomendacji potrzebowałem.
    > > Dziękuję
    >
    > Są jeszcze inne produkty: Gurobi oraz Cplex. Gurobi aktualnei wydaje się
    > być najlepszy i ma dość ciekawą licencję (płaci się za czas używania
    > solvera).

    Dziękuję, będę musiał się w zainteresować tymi pakietami.
    Pozdrawiam


strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: