Partial decision ordering for linear programs












1












$begingroup$


I'm very new to linear programming, so please bear with me:



I have a problem where I want to maximize the amount of money I can return for $d$ products to a group of members that are split into 3 groups arbitrarily per product. The amount I can give per product has an upper bound, $b in mathbb{R}^d$, and each grouping has an amount of money I'm wanting to return a percentage on. The formulation I have so far looks like this:



Maximize: $$c^Tx$$
Subject to:
$$
c_1x_1 + c_2x_2 + c_3x_3 le b_1 \
vdots \
c_{3d-2}x_{3d-2} + c_{3d-1}x_{3d-1} + c_{3d}x_{3d} le b_d \
$$



There are additional bounds on the $x$'s to define a range of values that they can take. Is there a way to constrain only some of the $x$'s such that:
$$
x_1 le x_2 le x_3 \
vdots \
x_{3d-2} le x_{3d-1} le x_{3d} \
$$

so that there's some kind of partial ordering due to the products? How would I go about formalizing this?










share|cite|improve this question











$endgroup$








  • 1




    $begingroup$
    Your constraint already look formal. You can rewrite them to $x_1-x_2 leq 0$, x_2-x_3leq 0$, etc
    $endgroup$
    – LinAlg
    Jan 6 at 19:59










  • $begingroup$
    This is exactly what I needed! My mental block had to do with putting it in terms of a number, thank you!
    $endgroup$
    – Brad Flynn
    Jan 6 at 22:14










  • $begingroup$
    Glad that's what you needed. I have added my comment as an answer for you to accept.
    $endgroup$
    – LinAlg
    Jan 6 at 23:41
















1












$begingroup$


I'm very new to linear programming, so please bear with me:



I have a problem where I want to maximize the amount of money I can return for $d$ products to a group of members that are split into 3 groups arbitrarily per product. The amount I can give per product has an upper bound, $b in mathbb{R}^d$, and each grouping has an amount of money I'm wanting to return a percentage on. The formulation I have so far looks like this:



Maximize: $$c^Tx$$
Subject to:
$$
c_1x_1 + c_2x_2 + c_3x_3 le b_1 \
vdots \
c_{3d-2}x_{3d-2} + c_{3d-1}x_{3d-1} + c_{3d}x_{3d} le b_d \
$$



There are additional bounds on the $x$'s to define a range of values that they can take. Is there a way to constrain only some of the $x$'s such that:
$$
x_1 le x_2 le x_3 \
vdots \
x_{3d-2} le x_{3d-1} le x_{3d} \
$$

so that there's some kind of partial ordering due to the products? How would I go about formalizing this?










share|cite|improve this question











$endgroup$








  • 1




    $begingroup$
    Your constraint already look formal. You can rewrite them to $x_1-x_2 leq 0$, x_2-x_3leq 0$, etc
    $endgroup$
    – LinAlg
    Jan 6 at 19:59










  • $begingroup$
    This is exactly what I needed! My mental block had to do with putting it in terms of a number, thank you!
    $endgroup$
    – Brad Flynn
    Jan 6 at 22:14










  • $begingroup$
    Glad that's what you needed. I have added my comment as an answer for you to accept.
    $endgroup$
    – LinAlg
    Jan 6 at 23:41














1












1








1





$begingroup$


I'm very new to linear programming, so please bear with me:



I have a problem where I want to maximize the amount of money I can return for $d$ products to a group of members that are split into 3 groups arbitrarily per product. The amount I can give per product has an upper bound, $b in mathbb{R}^d$, and each grouping has an amount of money I'm wanting to return a percentage on. The formulation I have so far looks like this:



Maximize: $$c^Tx$$
Subject to:
$$
c_1x_1 + c_2x_2 + c_3x_3 le b_1 \
vdots \
c_{3d-2}x_{3d-2} + c_{3d-1}x_{3d-1} + c_{3d}x_{3d} le b_d \
$$



There are additional bounds on the $x$'s to define a range of values that they can take. Is there a way to constrain only some of the $x$'s such that:
$$
x_1 le x_2 le x_3 \
vdots \
x_{3d-2} le x_{3d-1} le x_{3d} \
$$

so that there's some kind of partial ordering due to the products? How would I go about formalizing this?










share|cite|improve this question











$endgroup$




I'm very new to linear programming, so please bear with me:



I have a problem where I want to maximize the amount of money I can return for $d$ products to a group of members that are split into 3 groups arbitrarily per product. The amount I can give per product has an upper bound, $b in mathbb{R}^d$, and each grouping has an amount of money I'm wanting to return a percentage on. The formulation I have so far looks like this:



Maximize: $$c^Tx$$
Subject to:
$$
c_1x_1 + c_2x_2 + c_3x_3 le b_1 \
vdots \
c_{3d-2}x_{3d-2} + c_{3d-1}x_{3d-1} + c_{3d}x_{3d} le b_d \
$$



There are additional bounds on the $x$'s to define a range of values that they can take. Is there a way to constrain only some of the $x$'s such that:
$$
x_1 le x_2 le x_3 \
vdots \
x_{3d-2} le x_{3d-1} le x_{3d} \
$$

so that there's some kind of partial ordering due to the products? How would I go about formalizing this?







optimization linear-programming






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Jan 6 at 2:28







Brad Flynn

















asked Jan 5 at 11:36









Brad FlynnBrad Flynn

446




446








  • 1




    $begingroup$
    Your constraint already look formal. You can rewrite them to $x_1-x_2 leq 0$, x_2-x_3leq 0$, etc
    $endgroup$
    – LinAlg
    Jan 6 at 19:59










  • $begingroup$
    This is exactly what I needed! My mental block had to do with putting it in terms of a number, thank you!
    $endgroup$
    – Brad Flynn
    Jan 6 at 22:14










  • $begingroup$
    Glad that's what you needed. I have added my comment as an answer for you to accept.
    $endgroup$
    – LinAlg
    Jan 6 at 23:41














  • 1




    $begingroup$
    Your constraint already look formal. You can rewrite them to $x_1-x_2 leq 0$, x_2-x_3leq 0$, etc
    $endgroup$
    – LinAlg
    Jan 6 at 19:59










  • $begingroup$
    This is exactly what I needed! My mental block had to do with putting it in terms of a number, thank you!
    $endgroup$
    – Brad Flynn
    Jan 6 at 22:14










  • $begingroup$
    Glad that's what you needed. I have added my comment as an answer for you to accept.
    $endgroup$
    – LinAlg
    Jan 6 at 23:41








1




1




$begingroup$
Your constraint already look formal. You can rewrite them to $x_1-x_2 leq 0$, x_2-x_3leq 0$, etc
$endgroup$
– LinAlg
Jan 6 at 19:59




$begingroup$
Your constraint already look formal. You can rewrite them to $x_1-x_2 leq 0$, x_2-x_3leq 0$, etc
$endgroup$
– LinAlg
Jan 6 at 19:59












$begingroup$
This is exactly what I needed! My mental block had to do with putting it in terms of a number, thank you!
$endgroup$
– Brad Flynn
Jan 6 at 22:14




$begingroup$
This is exactly what I needed! My mental block had to do with putting it in terms of a number, thank you!
$endgroup$
– Brad Flynn
Jan 6 at 22:14












$begingroup$
Glad that's what you needed. I have added my comment as an answer for you to accept.
$endgroup$
– LinAlg
Jan 6 at 23:41




$begingroup$
Glad that's what you needed. I have added my comment as an answer for you to accept.
$endgroup$
– LinAlg
Jan 6 at 23:41










1 Answer
1






active

oldest

votes


















1












$begingroup$

Your constraint already look formal. You can rewrite them to $x_1−x_2leq 0$, $x_2-x_3leq 0$, etc. Or, more formally:
$$x_i - x_j leq 0 quad forall (i,j)in S$$
where $S$ is the set of pairs $(i,j)$ such that $x_i leq x_j$.






share|cite|improve this answer









$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3062632%2fpartial-decision-ordering-for-linear-programs%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1












    $begingroup$

    Your constraint already look formal. You can rewrite them to $x_1−x_2leq 0$, $x_2-x_3leq 0$, etc. Or, more formally:
    $$x_i - x_j leq 0 quad forall (i,j)in S$$
    where $S$ is the set of pairs $(i,j)$ such that $x_i leq x_j$.






    share|cite|improve this answer









    $endgroup$


















      1












      $begingroup$

      Your constraint already look formal. You can rewrite them to $x_1−x_2leq 0$, $x_2-x_3leq 0$, etc. Or, more formally:
      $$x_i - x_j leq 0 quad forall (i,j)in S$$
      where $S$ is the set of pairs $(i,j)$ such that $x_i leq x_j$.






      share|cite|improve this answer









      $endgroup$
















        1












        1








        1





        $begingroup$

        Your constraint already look formal. You can rewrite them to $x_1−x_2leq 0$, $x_2-x_3leq 0$, etc. Or, more formally:
        $$x_i - x_j leq 0 quad forall (i,j)in S$$
        where $S$ is the set of pairs $(i,j)$ such that $x_i leq x_j$.






        share|cite|improve this answer









        $endgroup$



        Your constraint already look formal. You can rewrite them to $x_1−x_2leq 0$, $x_2-x_3leq 0$, etc. Or, more formally:
        $$x_i - x_j leq 0 quad forall (i,j)in S$$
        where $S$ is the set of pairs $(i,j)$ such that $x_i leq x_j$.







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered Jan 6 at 23:41









        LinAlgLinAlg

        10k1521




        10k1521






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3062632%2fpartial-decision-ordering-for-linear-programs%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Quarter-circle Tiles

            build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

            Mont Emei